mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 20:03:11 +00:00
99 lines
3.5 KiB
Text
99 lines
3.5 KiB
Text
---
|
|
title: "Universal Schema Support"
|
|
description: "Which agent features are exposed through the universal API."
|
|
icon: "table"
|
|
---
|
|
|
|
The universal API normalizes different coding agents into a consistent interface. All agents have full native capabilities; this page shows what's exposed via the sandbox-agent API.
|
|
|
|
## Feature Matrix
|
|
|
|
| Feature | Claude | Codex | OpenCode | Amp |
|
|
|--------------------|:------:|:-----:|:------------:|:------------:|
|
|
| Stability | Stable | Stable| Experimental | Experimental |
|
|
| Text Messages | ✓ | ✓ | ✓ | ✓ |
|
|
| Tool Calls | ✓ | ✓ | ✓ | ✓ |
|
|
| Tool Results | ✓ | ✓ | ✓ | ✓ |
|
|
| Questions (HITL) | ✓ | | ✓ | |
|
|
| Permissions (HITL) | ✓ | ✓ | ✓ | - |
|
|
| Images | - | ✓ | ✓ | - |
|
|
| File Attachments | - | ✓ | ✓ | - |
|
|
| Session Lifecycle | - | ✓ | ✓ | - |
|
|
| Error Events | - | ✓ | ✓ | ✓ |
|
|
| Reasoning/Thinking | - | ✓ | - | - |
|
|
| Command Execution | - | ✓ | - | - |
|
|
| File Changes | - | ✓ | - | - |
|
|
| MCP Tools | - | ✓ | - | - |
|
|
| Streaming Deltas | ✓ | ✓ | ✓ | - |
|
|
|
|
Agents: [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview) · [Codex](https://github.com/openai/codex) · [OpenCode](https://github.com/opencode-ai/opencode) · [Amp](https://ampcode.com)
|
|
|
|
- ✓ = Supported in universal schema
|
|
- \- = Schema support in progress
|
|
|
|
## Feature Descriptions
|
|
|
|
### Text Messages
|
|
|
|
Basic message exchange between user and assistant.
|
|
|
|
### Tool Calls & Results
|
|
|
|
Visibility into tool invocations (file reads, command execution, etc.) and their results. When not natively supported, tool activity is embedded in message content.
|
|
|
|
### Questions (HITL)
|
|
|
|
Interactive questions the agent asks the user. Emits `question.requested` and `question.resolved` events.
|
|
|
|
### Permissions (HITL)
|
|
|
|
Permission requests for sensitive operations. Emits `permission.requested` and `permission.resolved` events.
|
|
|
|
### Images
|
|
|
|
Support for image attachments in messages.
|
|
|
|
### File Attachments
|
|
|
|
Support for file attachments in messages.
|
|
|
|
### Session Lifecycle
|
|
|
|
Native `session.started` and `session.ended` events. When not supported, the daemon emits synthetic lifecycle events.
|
|
|
|
### Error Events
|
|
|
|
Structured error events for runtime failures.
|
|
|
|
### Reasoning/Thinking
|
|
|
|
Extended thinking or reasoning content with visibility controls.
|
|
|
|
### Command Execution
|
|
|
|
Detailed command execution events with stdout/stderr.
|
|
|
|
### File Changes
|
|
|
|
Structured file modification events with diffs.
|
|
|
|
### MCP Tools
|
|
|
|
Model Context Protocol tool support.
|
|
|
|
### Streaming Deltas
|
|
|
|
Native streaming of content deltas. When not supported, the daemon emits a single synthetic delta before `item.completed`.
|
|
|
|
## Synthetic Events
|
|
|
|
For features not natively supported, the daemon generates synthetic events to maintain a consistent event stream. Synthetic events have:
|
|
|
|
- `source: "daemon"`
|
|
- `synthetic: true`
|
|
|
|
This lets you build UIs that work with any agent without special-casing each provider.
|
|
|
|
## Request Support
|
|
|
|
Want support for another agent? [Open an issue](https://github.com/rivet-dev/sandbox-agent/issues/new) to request it.
|