code
Clone this repository
https://tangled.org/gdiazlo.tngl.sh/atproto
git@tangled.org:gdiazlo.tngl.sh/atproto
For self-hosted knots, clone URLs may differ based on your setup.
All core functionality implemented:
- 11 packages (syntax, crypto, multibase, ipld, mst, repo, identity, xrpc, sync, lexicon, api)
- 272 passing tests covering all 42 interop fixtures
- Effects-based I/O for runtime-agnostic code
- Firehose demo example
Documentation task remains open for future work.
Shows how to use the firehose module with OCaml 5 effects for
subscribing to AT Protocol real-time events (commits, identity
changes, etc.).
Implement comprehensive AT Protocol support in OCaml with 11 packages:
- atproto-syntax: Identifier parsing (handle, DID, NSID, TID, AT-URI, etc.)
- atproto-crypto: P-256/K-256 cryptography, did:key, JWT
- atproto-multibase: Base32, Base58btc encoding
- atproto-ipld: DAG-CBOR, CIDs, CAR files, blobs
- atproto-mst: Merkle Search Tree implementation
- atproto-repo: Repository operations and commits
- atproto-identity: DID and handle resolution
- atproto-xrpc: HTTP API client/server, OAuth
- atproto-sync: Firehose and repository synchronization
- atproto-lexicon: Schema language parser, validator, codegen
- atproto-api: High-level client API with rich text
All 272 tests pass, covering all 42 fixture files from atproto-interop-tests.
Uses OCaml 5.4 effects for I/O abstraction.