Orca v0.2.47
Orca v0.2.47
Orca v0.2.47 adds an Agent Client Protocol (ACP) adapter layer, enabling code
editors and ACP-compliant clients to communicate with Orca over the standard
JSON-RPC wire format via stdio.
What Changed
- New
--mode=acpentry point runs Orca as an ACP-compliant agent on stdio,
parallel to the existing--mode=server(internal JSONL protocol). - ACP sessions map to runtime threads; ACP prompts map to hosted turns; runtime
EventEnvelopes are projected tosession/updatenotifications. - Supported ACP methods:
initialize,authenticate(no-op),
session/new,session/load,session/prompt,session/cancel. - Streaming
session/updatenotifications include:AgentMessageChunk,
AgentThoughtChunk,ToolCall,ToolCallUpdate, andPlan. - Uses
agent-client-protocolv0.10.4 with theunstablefeature. - The internal JSONL protocol (
--mode=server) is unchanged. HostedTurnRequest::event_observer()is now public to support custom
ThreadOperationExecutorimplementations in integration tests.
Architecture
The ACP adapter is intentionally thin:
| ACP concept | Projected onto |
|---|---|
session/new / session/load |
RuntimeHost::start_thread |
session/prompt |
RuntimeThreadHandle::start_turn_with_config + EventObserver |
session/update |
EventEnvelope -> event_map::event_to_session_update |
session/cancel |
OperationHandle::interrupt() |
| Completion | OperationHandle::completion().wait() -> StopReason |
Three execution contexts bridge async(?Send) ACP to blocking RuntimeHost:
- RuntimeHost internal thread (owns turns, synchronously callbacks observer)
- ACP LocalSet thread (drives JSON-RPC connection + notification drain)
- tokio blocking pool (
spawn_blockingfor all RuntimeHost calls)
Compatibility
Tool names, JSON schemas, slash commands, TUI keys, server methods, history
records, npm package names, and native archive layout are unchanged. The ACP
entry point is additive.
Verification
- 11 unit tests for event mapping (
event_map::tests) - 4 integration tests (
tests/acp_agent.rs): initialize, new_session+prompt,
cancel, and unknown-session error handling - Full workspace build (no warnings in ACP code)
Install
npm install -g @blade-ai/orca@0.2.47Or install a native release asset:
curl -fsSL https://orcaagent.dev/install.sh | \
INSTALL_DIR=/usr/local/bin ORCA_VERSION=0.2.47 shFull Changelog: v0.2.46...v0.2.47