Repository navigation
Orca v0.5.10
Orca v0.5.10
Changes since v0.5.9:
- A queued message leaves the queue above the input once it is sent: the
queue lists only the messages that still wait. Before, the sent message
stayed at the top, as if the queue had not moved. - A message sent as the command-line prompt's turn starts joins the queue
behind it, in view, instead of waiting unseen behind the whole turn. - A turn that ends without success says why when nothing more specific did,
also after an error you caused during the turn or the previous turn's
failure. An attached TUI whose daemon hangs up while it sits idle says the
connection was lost. - On Windows,
orca exectakes Ctrl+Break, a logoff and a shutdown as SIGTERM:
it stops its run, writes the terminal record and exits with 143. - The MCP transports and the
/mcppanel moved into modules of their own.
Nothing changes for users.
Changes
Terminal UI
The queue above the input:
- The runtime keeps a queued message it has sent in its queue until the
message's turn ends. The queue above the input went on listing it, at the
top, under "Running queued task · N pending", while the conversation
already showed it as your message. It now lists only the messages that
still wait, under "Queued N", and goes once none do. - Alt+Up, which takes back the latest queued message for editing, skips the
one already sent. - A prompt given on the command line for a new conversation started its turn
without the hold that v0.5.9 gave every message sent between turns. A
message sent in the moment that turn was starting waited behind the whole
turn, shown nowhere, and looked lost. It now waits for the turn to start
and then joins the queue, in order.
How a turn ended:
When a turn ends without success and the runtime gave no more specific
reason, the TUI adds a notice for how it ended: "Task interrupted", "Task
budget exhausted", "Connection lost", and so on. Any error shown before then
used to count as that reason, and it kept counting after the turn:
- An error the TUI shows for something you did, such as a mistyped command or
an image that would not paste, no longer stands in for how a turn ended.
Only what the runtime reported for the turn does. - The previous turn's failure no longer stands in for how the next one ended.
- A lost connection always says so. An attached TUI (
orca attach) whose
daemon hung up while it sat idle after a failed turn used to show nothing.
orca exec on Windows
orca exec handled only the console's Ctrl+C on Windows. Ctrl+Break, which a
job runner sends to stop a console process group, and a logoff or a shutdown
ended it at once: its task commands and MCP servers went with the process,
and the run had no terminal record. They are now handled as SIGTERM is
elsewhere: the run stops its task commands and MCP servers, writes its
terminal record (session.completed with status cancelled in JSONL) and
exits with 143. A second one within the cleanup exits at once, and Windows
itself ends the process a few seconds after a logoff or a shutdown.
The TUI is unchanged: it already quits on these events.
Development
crates/orca-mcp/src/transport.rsheld every MCP transport and their tests
in 6.8k lines. It keeps what they share: theMcpTransporttrait,
connecting by the configured transport, and the JSON-RPC message helpers.
The stdio transport moved totransport/stdio.rs, streamable HTTP with the
SSE fallback totransport/http.rs, each with its tests. The Windows
platform boundary baseline namesstdio.rsfor the stdio transport's unix
process calls.- The
/mcppanel's rendering and its tests moved fromui.rsto
mcp_panel.rs, next tomcp_dialog_actions.rs, which handles its keys. - A Windows test sends Ctrl+Break to a process group of its own and checks
that it asks the process to terminate. - Two PTY tests cover the queue: a sent message leaves it, and a message sent
as the command-line prompt's turn starts is listed in it. The SIGTSTP PTY
test marks its output beforefg, which it missed when the TUI redrew
quickly. - The
orca execdocumentation page describes the Windows console events.
Compatibility
- On Windows, an
orca execstopped with Ctrl+Break used to end with the
console's default exit code (0xC000013A). It now exits with 143.
Configurations and sessions from v0.5.9 remain readable.
Verification
cargo fmt --all -- --check
node --test scripts/test-validate-runtime-surface-contract.mjs
node scripts/validate-runtime-surface-contract.mjs
node --test scripts/test-validate-windows-platform-boundaries.mjs
node scripts/validate-windows-platform-boundaries.mjs
node --test scripts/test-validate-execution-broker-boundary.mjs
node scripts/validate-execution-broker-boundary.mjs
node --test scripts/test-validate-http-client-boundary.mjs
node scripts/validate-http-client-boundary.mjs
node scripts/release/verify-version-sync.mjs
node scripts/release/test-verify-version-sync.mjs
node scripts/release/test-stage-npm.mjs
node scripts/release/test-verify-published.mjs
node scripts/test-repository-hygiene.mjs
node --test tests/npm_launcher_contract.test.mjs tests/release_workflow_contract.test.mjs
python3 -m unittest discover -s terminal_bench -p 'test_*.py'
cargo nextest run --workspace --all-targets --locked --profile ci --no-fail-fast --retries 0
cargo nextest run -p orca-tui --lib --locked --profile ci-serial --retries 0
cargo nextest run --test tui_pty_contract --locked --profile ci-serial --retries 0
python3 scripts/eval/acp_param_probe.py --binary target/debug/orca
python3 scripts/eval/daemon_probe.py --binary target/debug/orca
npm --prefix site run build
npm --prefix site run check:seoUpgrade
npm install -g @blade-ai/orca@0.5.10
orca --version