11---
2- title : APIs and packages
3- description : Entry points for the A3S Code Rust, Node.js, and Python APIs and their shared runtime contract .
2+ title : SDKs and APIs
3+ description : Install the A3S Code Rust, Node.js, and Python SDKs and find their API documentation .
44---
55
6- # APIs and packages
6+ # SDKs and APIs
77
8- The four A3S Code product surfaces share one runtime kernel while serving
9- different integration needs . Treat each registry and
8+ A3S Code provides Rust, Node.js, and Python SDKs. Install the ` a3s ` CLI when you
9+ want the terminal application . Treat each registry and
1010[ GitHub Releases] ( https://github.com/A3S-Lab/Code/releases ) as the source of
1111truth for package versions and release status.
1212
13- | Surface | Package or command | API entry | Use it for |
14- | -------- | ------------------ | -------------------------------------------------- | --------------------------------------------- |
15- | Terminal | ` a3s code ` | [ A3S CLI] ( https://github.com/A3S-Lab/CLI ) | Run the interactive coding product |
16- | Rust | ` a3s-code-core ` | [ docs.rs] ( https://docs.rs/a3s-code-core ) | Complete runtime API and extension traits |
17- | Node.js | ` @a3s-lab/code ` | [ npm] ( https://www.npmjs.com/package/@a3s-lab/code ) | Native N-API bindings and async event streams |
18- | Python | ` a3s-code ` | [ PyPI] ( https://pypi.org/project/a3s-code/ ) | Synchronous and asynchronous PyO3 APIs |
13+ | Entry | Package or command | Documentation | Use it for |
14+ | -------- | ------------------ | -------------------------------------------------- | -------------------------------------------------- |
15+ | Terminal | ` a3s code ` | [ A3S CLI] ( https://github.com/A3S-Lab/CLI ) | Run a coding agent directly in your terminal |
16+ | Rust | ` a3s-code-core ` | [ docs.rs] ( https://docs.rs/a3s-code-core ) | Use the complete runtime API or extension traits |
17+ | Node.js | ` @a3s-lab/code ` | [ npm] ( https://www.npmjs.com/package/@a3s-lab/code ) | Subscribe to async events in a Node.js application |
18+ | Python | ` a3s-code ` | [ PyPI] ( https://pypi.org/project/a3s-code/ ) | Use synchronous or asynchronous Python APIs |
1919
2020## Install
2121
@@ -30,15 +30,19 @@ npm install @a3s-lab/code
3030python -m pip install a3s-code
3131```
3232
33- ## Cross-language contract
33+ ## What the SDKs share
3434
35- Versioned events, durable snapshots, and explicit lifecycle methods form the
36- cross-language product boundary. Start with the
37- [ API contract] ( /guide/api-contract ) , then continue to
35+ All three SDKs use the same session lifecycle, event format, and snapshots. A UI
36+ can subscribe to the same ` AgentEvent ` / ` EventEnvelopeV1 ` stream and resume
37+ saved work by session ID.
38+
39+ Start with the [ API contract] ( /guide/api-contract ) , then continue to
3840[ sessions] ( /guide/sessions ) , [ tools] ( /guide/tools ) ,
3941[ workspace backends] ( /guide/workspace-backends ) , and
4042[ persistence] ( /guide/persistence ) .
4143
42- Replaceable host extension boundaries include ` LlmClient ` , ` ContextProvider ` ,
43- ` MemoryStore ` , ` SessionStore ` , workspace services, tools, permissions,
44- confirmations, hooks, security providers, MCP transports, and graph stores.
44+ When connecting your own infrastructure, you can replace ` LlmClient ` ,
45+ ` ContextProvider ` , ` MemoryStore ` , ` SessionStore ` , Workspace services, tools,
46+ permission confirmation, hooks, MCP transports, and graph stores. To see how
47+ events reach a UI first, open the
48+ [ A3S TUI and Web Playground] ( /guide/playground/ ) .
0 commit comments