mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 06:04:43 +00:00
- Add --check, --publish-crates, --publish-npm-sdk, --publish-npm-cli flags to release script - Create CI workflow with pre-release checks (cargo fmt, clippy, test, tsc) - Update release workflow to run checks, build binaries, and publish packages - Add @sandbox-agent/cli npm package with platform-specific binaries (esbuild pattern) - Configure TypeScript SDK for npm publishing (exports, files, types) - Add crates.io metadata to Cargo.toml (repository, description) - Rename @sandbox-agent/web to @sandbox-agent/inspector
2.9 KiB
2.9 KiB
Instructions
SDK Modes
There are two ways to work with the SDKs:
- Embedded: Spawns the
sandbox-agentserver as a subprocess on a unique port and communicates with it locally. Useful for local development or when running the SDK and agent in the same environment. - Server: Connects to a remotely running
sandbox-agentserver. The server is typically running inside a sandbox (e.g., Docker, E2B, Daytona, Vercel Sandboxes) and the SDK connects to it over HTTP.
Agent Schemas
Agent schemas (Claude Code, Codex, OpenCode, Amp) are available for reference in resources/agent-schemas/dist/.
Research on how different agents operate (CLI flags, streaming formats, HITL patterns, etc.) is in research/agents/. When adding or making changes to agent docs, follow the same structure as existing files.
Universal schema guidance:
- The universal schema should cover the full feature set of all agents.
- Conversions must be best-effort overlap without being lossy; preserve raw payloads when needed.
Spec Tracking
- Update
todo.mdas work progresses; add new tasks as they arise. - Keep CLI subcommands in sync with every HTTP endpoint.
- Update
CLAUDE.mdto keep CLI endpoints in sync with HTTP API changes. - When changing the HTTP API, update the TypeScript SDK and CLI together.
- Do not make breaking changes to API endpoints.
CLI ⇄ HTTP endpoint map (keep in sync)
sandbox-agent agents list↔GET /v1/agentssandbox-agent agents install↔POST /v1/agents/{agent}/installsandbox-agent agents modes↔GET /v1/agents/{agent}/modessandbox-agent sessions list↔GET /v1/sessionssandbox-agent sessions create↔POST /v1/sessions/{sessionId}sandbox-agent sessions send-message↔POST /v1/sessions/{sessionId}/messagessandbox-agent sessions events/get-messages↔GET /v1/sessions/{sessionId}/eventssandbox-agent sessions events-sse↔GET /v1/sessions/{sessionId}/events/ssesandbox-agent sessions reply-question↔POST /v1/sessions/{sessionId}/questions/{questionId}/replysandbox-agent sessions reject-question↔POST /v1/sessions/{sessionId}/questions/{questionId}/rejectsandbox-agent sessions reply-permission↔POST /v1/sessions/{sessionId}/permissions/{permissionId}/reply
Default port references (update when CLI default changes)
frontend/packages/inspector/src/App.tsxREADME.mddocs/cli.mdxdocs/frontend.mdxdocs/index.mdxdocs/quickstart.mdxdocs/typescript-sdk.mdxdocs/deployments/cloudflare-sandboxes.mdxdocs/deployments/daytona.mdxdocs/deployments/docker.mdxdocs/deployments/e2b.mdxdocs/deployments/vercel-sandboxes.mdx
Git Commits
- Do not include any co-authors in commit messages (no
Co-Authored-Bylines) - Use conventional commits style (e.g.,
feat:,fix:,docs:,chore:,refactor:) - Keep commit messages to a single line