* sketching out label sequencer * refactor sequencer * sequencer tests * tests * add query labels endpoint & tests * add pagination * fix label formatting on temp * tidy * format labels * make use listen/notify for sequencer * ensure sig on all outgoing labels from ozone * fixing up tests * fix sequencer tests * fix hanging server test * add log on failure to update label * update description for sig * add expiration to labels * fix test * use bytes for label sigs * fix tests * add ver to labels * tidy up background queue * store signing keys as ids * fix sequencer teest
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