Skip to content

Orca v0.2.47

Choose a tag to compare

@echoVic echoVic released this 18 Jul 10:44

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=acp entry 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 to session/update notifications.
  • Supported ACP methods: initialize, authenticate (no-op),
    session/new, session/load, session/prompt, session/cancel.
  • Streaming session/update notifications include: AgentMessageChunk,
    AgentThoughtChunk, ToolCall, ToolCallUpdate, and Plan.
  • Uses agent-client-protocol v0.10.4 with the unstable feature.
  • The internal JSONL protocol (--mode=server) is unchanged.
  • HostedTurnRequest::event_observer() is now public to support custom
    ThreadOperationExecutor implementations 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:

  1. RuntimeHost internal thread (owns turns, synchronously callbacks observer)
  2. ACP LocalSet thread (drives JSON-RPC connection + notification drain)
  3. tokio blocking pool (spawn_blocking for 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.47

Or install a native release asset:

curl -fsSL https://orcaagent.dev/install.sh | \
  INSTALL_DIR=/usr/local/bin ORCA_VERSION=0.2.47 sh

Full Changelog: v0.2.46...v0.2.47