{
  "$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"
}