* draft of account migration lexicons * format * clean up schemas * codegen * second pass on schemas * small fix * move around checkImportStatus * re-codegen * getServiceAuth * getServiceAuth impl * importRepo impl * handle uploadBlob for import * allow bringing your own did on createAccount * working on test flow * fleshing out flow * fix up sendPlcOP * small fixes * activate/deactivate account * full flow working! * schema tweaks * format * update schemas * moar codegen * match impl to new schemas * email flow for signed plc operation * add email flow for plc operations * impl plc op request email * proxy to entryway * tidy activate account * integrating account deactivated state * fix up tests * friendly parse on optional did auth * admin activate/deactivate routes * proxy relevant requests to entryway * remove admin activation routes * do not proxy acitvaition to entryway * cfg for disallowing imports * buff up test * refactor listMissingBlobs a bit * add validDid & activated to accoutn status * emit event on account activation * test creating a post after migrating * account deactivation tests * test name * tests on plc operations * fix recommended did creds * codegen * turn off accepting imports on createAccount * undo prev change * increment version * build branch * pr feedback * handle errs in p-queue * handle blob upload outside of txn * Clean old temp account migration lexicons (#2187) * clean old temp lexicons * rm old test * fix agent session test * fix bsky test * dont build branch
Packages
Applications
- PDS: The Personal Data Server (PDS). This is atproto's main server-side implementation.
- Dev Env: A command-line application for developers to construct and manage development environments.
- Lexicon CLI: A command-line application for generating code and documentation from Lexicon schemas.
Libraries
- API: A library for communicating with atproto servers.
- Common: A library containing code which is shared between atproto packages.
- Crypto: Atproto's common cryptographic operations.
- Syntax: A library for identifier syntax: NSID, AT URI, handles, etc.
- Lexicon: A library for validating data using atproto's schema system.
- Repo: The "atproto repository" core implementation (a Merkle Search Tree).
- XRPC: An XRPC client implementation.
- XRPC Server: An XRPC server implementation.
Benchmarking and profiling
Only applicable to packages which contain benchmarks(jest.bench.config.js
).
You can run benchmarks with pnpm bench
.
Attaching a profiler
Running pnpm bench:profile
will launch bench
with --inspect-brk
flag.
Execution will be paused until a debugger is attached, you can read more
about node debuggers here
An easy way to profile is:
- open
about://inspect
in chrome - select which process to connect to(there will probably only be one)
- go to performance tab
- press record, this will unpause execution
- wait for the benches to run
- finish recording