mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 12:03:27 +00:00
1.7 KiB
1.7 KiB
Server Instructions
ACP v1 Architecture
- Public API routes are defined in
server/packages/sandbox-agent/src/router.rs. - ACP runtime/process bridge is in
server/packages/sandbox-agent/src/acp_runtime.rs. /v1is the only active API surface for sessions/prompts (/v1/acp/{server_id}).- Keep binary filesystem transfer endpoints as dedicated HTTP APIs:
GET /v1/fs/filePUT /v1/fs/filePOST /v1/fs/upload-batch- Rationale: host-owned cross-agent-consistent behavior and large binary transfer needs that ACP JSON-RPC is not suited to stream efficiently.
- Maintain ACP variants in parallel only when they share the same underlying filesystem implementation; SDK defaults should still prefer HTTP for large/binary transfers.
/v1/*must remain hard-removed (410) and/opencode/*stays disabled (503) until Phase 7.- Agent install logic (native + ACP agent process + lazy install) is handled by
server/packages/agent-management/.
API Contract Rules
- Every
#[utoipa::path(...)]handler needs a summary line + description lines in its doc comment. - Every
responses(...)entry must includedescription. - Regenerate
docs/openapi.jsonafter endpoint contract changes. - Keep CLI and HTTP endpoint behavior aligned (
docs/cli.mdx).
Tests
Primary v1 integration coverage:
server/packages/sandbox-agent/tests/v1_api.rsserver/packages/sandbox-agent/tests/v1_agent_process_matrix.rs
Run:
cargo test -p sandbox-agent --test v1_api
cargo test -p sandbox-agent --test v1_agent_process_matrix
Migration Docs Sync
- Keep
research/acp/spec.mdas the source spec. - Update
research/acp/todo.mdwhen scope/status changes. - Log blockers/decisions in
research/acp/friction.md.