中文 | English
This layer owns Rust protocol or host-facing entrypoints that expose assembled
product behavior. UI apps and delivery hosts remain under src/apps,
src/web-ui, src/mobile-web, and BitFun-Installer with their nearest local
AGENTS.md.
| Crate | Responsibility | Local doc |
|---|---|---|
acp |
Agent Client Protocol interface over the assembled product runtime | AGENTS.md |
app-server-protocol |
Behavior-light App Server methods, wire DTOs, errors, events, and protocol roles | AGENTS.md |
app-server-client |
Transport-agnostic typed App Server client and event distribution | AGENTS.md |
app-server |
Production App Server handler registration, lifecycle, and owner-to-wire adapters | AGENTS.md |
sdk-host |
Versioned local Agent SDK Host protocol and connection use cases; process bootstrap and stdio framing remain in src/apps/sdk-host |
— |
- Put protocol entrypoints here when they depend on
assembly/coreor an assembled product profile. - Keep transport/protocol adapters in
adapters. - Keep reusable OS, filesystem, terminal, MCP, remote, and git implementations
in
services.
- Interface crates may depend on
assembly/coreto expose a selected delivery profile. - The portable
sdk-hostprotocol crate is narrower: it depends only on stable Runtime/contracts and must not depend onbitfun-core,terminal-core, concrete services, the SDK Host app, or CLI. Concrete Host assembly stays insrc/apps/sdk-host. - Interface crates must not own product policy, reusable services, protocol transport internals, or execution primitives.