{
"$type": "site.standard.document",
"canonicalUrl": "https://docs.ewancroft.uk/projects/atpkt",
"description": "A professional-grade, modular ATProtocol SDK for Kotlin.",
"path": "/projects/atpkt",
"publishedAt": "2026-05-30T00:00:00.000Z",
"site": "at://did:plc:ofrbh253gwicbkc5nktqepol/site.standard.publication/3mfyq5mpohw25",
"tags": [
"kotlin",
"atprotocol",
"sdk"
],
"textContent": "atpkt\n\nA professional-grade, modular ATProtocol SDK for Kotlin.\n\nOverview\natpkt provides the foundational building blocks for interacting with the Authenticated Transfer Protocol (AT Protocol). Designed with a library-first architecture, it decouples core networking, authentication, and repository management logic from specific service implementations.\n\nArchitecture\natpkt follows the official ATProtocol \"Agent\" design:\n- Core Library: Networking, XRPC client, and Session management.\n- Namespaced API: Hierarchical access to protocol endpoints (e.g., agent.com.atproto., agent.app.bsky.).\n- Lexicon Registry: Auto-generation of type-safe Kotlin models from official schema definitions (using KotlinPoet).\n- Repository Foundations: Content-addressed storage and Merkle Search Tree (MST) structures.\n- Streaming: Reactive, authenticated WebSocket subscription client.\n\nRoadmap\n- [x] Core extraction (Tid, AtProtoClient, SessionManager, RecordManager)\n- [x] Namespaced API structure\n- [x] AST-driven Lexicon generation (KotlinPoet)\n- [x] MST & CID foundations\n- [x] WebSocket Subscription (Firehose) support\n- [x] DID/PLC Identity resolution\n- [x] OAuth2 / DPoP compliance",
"title": "atpkt"
}