agentproto 0.4.0 — durable supervision surface
agentproto 0.4.0
Released 2026-07-03. Tagged on npm as @agentproto/cli@0.4.0,
@agentproto/runtime@0.4.0, with downstream bumps to
@agentproto/driver-agent-cli@0.3.0 and @agentproto/acp@0.3.0.
Upgrade:
npm i -g @agentproto/cli
Theme
This release turns the daemon into a real supervision surface: durable
scheduling, scriptable wait, structured transcripts, a workflow runner, and the
first in-process proprietary-protocol adapter. The CLI also gains the verbs you
need to wire agentproto into a coding-CLI session from one command
(install-mcp, install skill, onboard).
Highlights
- Durable cron scheduler (
agentproto cron). Scheduled agent runs live on
the daemon, exposed through MCP tools, REST routes, and a CLI verb. A cron job
can run an allowlisted command, spawn a fresh agent session, or re-prompt a
live session in place (prompt-sessionaction). - Scriptable session/policy wait. Block until a session (or a fan-in group of
sessions) reaches turn-end, or until a completion policy resolves — available
as both REST endpoints and a CLI subcommand. Removes the N-way polling loop
from orchestration code. - WorkflowRunner primitive. Ordered stages of concurrent steps, explicit
barriers between stages, step-levelsessionRefreuse of earlier sessions,
outputSchema/maxRetrieswith validate-and-retry, a run-level cost ceiling
(maxTotalCostUsd), and an opt-in journal cache that replays unchanged step
outputs on re-invocation.WorkflowRunner.startFromFile+ the
workflow_run_fileMCP tool load aWORKFLOW.mdat call time. - Structured per-session transcripts. Conversation export and a daemon-events
export source;GET /sessions/:id/eventsfor incremental polling. - MCP tool-verb rename to a family-first taxonomy. Tools are now grouped
agent_*,session_*,terminal_*,command_*,file_*,directory_*,
browser_*,policy_*,routine_*,tunnel_*. Agent tools split into a
dedicatedagent-tools.tsmodule. - In-process proprietary protocol arm (AIP-45).
createProprietaryProtocolArm
dynamic-loads an adapter'screateAgentCliClientandcreateAgentCliRuntime
skips the subprocess spawn. Ships@agentproto/adapter-mastracode-inprocess,
driving Mastra Code in-process via its SDK (createMastraCode+runMC)
instead of spawning the CLI; the compositeresourceId:threadIdsession id
survives a process restart. - REST parity for routines, workflows, and policies. Spawn logic shared
between the MCP tool and the HTTP route viaspawnAgentSession. - Reliability fixes for the ACP client. Per-turn silence watchdog fixes the
hermes "hang without turn-end" failure;agent_outputstays visible during
tool-busy turns; tool calls/results render informatively instead of the
generic[tool] viewline. - Session liveness on the descriptor.
pid,lastActivityAt,
processAlive; the sessions dashboard surfaces busy/idle and stale-running
(dead pid) state.session_restartMCP tool + shared resume decision tree. - Chat TUI rewrite off Ink/React onto
@earendil-works/pi-tui, with inline
code rendering and prompt-echo fixes. - Onboarding surface.
agentproto onboardregisters the MCP server and
installs the skill pack in one run;install skill/<slug>targets hermes,
claude-code, and claude-desktop;install-mcpdoes surgicalconfig.yaml
upsert/remove for hermes and manifest upsert for claude-desktop.
Patch-level fixes worth calling out
f89be1f: daemon MCP gateway default-mounted for hermesagent_startspawns;
fixes the orchestrator merge-line bug.fb1e5f0: threaddaemonMcpUrlinto the scoped orchestrator gateway, fixing
hermes zero-tool spawns.71c52eb:policy_attachgates no longer throw "cwd escapes workspace" for
worktree sessions.8ce517b: silent prompt-delivery failures for dead and busy sessions fixed.837967a: transcript-writer no longer strips newlines from text-delta /
thought events.
Notes
chat-tuirenderer migrated; users with custom Ink themes should re-check
their rendering against the new pi-tui renderer.- The
WorkflowRunnerandroutine_*primitives are separate: routines are a
flatRoutineStep[]with per-step fan-in; workflows add staged concurrency
with explicit barriers. Use workflows for new orchestration code.
Full generated changelog (@agentproto/cli)
Minor Changes
- 096e8b3: Migrate chat-tui renderer from Ink/React to @earendil-works/pi-tui
- 1759ffc: Add install-mcp command for one-shot MCP registration with coding-CLI agents
- 17aff95: Add durable cron scheduler with MCP tools, REST routes, and CLI verb
- 5c207ca: Add scriptable session/policy wait — REST endpoints and CLI subcommand
- 1d78a32: sessions start: add --orchestrator, --orchestrator-json, --mcp-servers-json flags
- 1d8d9b4: Add
agentproto install skill/<slug>command with hermes and claude-code targets - 79a209a: Add structured per-session transcript capture and daemon-events export source
- 75ffe74: Add claude-desktop target to
install skillwith manifest upsert and backup - be164fe: Add hermes target to install-mcp (surgical config.yaml upsert/remove)
- c61093f: feat(cli): add
agentproto onboardfirst-run umbrella (register MCP + install skill pack)
Patch Changes
-
06132bc: Implement the AIP-45
protocol: "proprietary"arm end to end:createProprietaryProtocolArmnow dynamic-loads an adapter'screateAgentCliClientfactory andcreateAgentCliRuntimeskips the subprocess spawn for it. Ship@agentproto/adapter-mastracode-inprocess, a new adapter driving Mastra Code in-process via its SDK (createMastraCode+runMC) instead of spawning the CLI, with a compositeresourceId:threadIdsession id that verifiably survives a process restart. Register the newmastracode-inprocessslug in the CLI's adapter catalog.Fix
resolveAdapterto rewrite aprotocol: "proprietary"handle'sadapterfield to a fully-resolved absolute path before handing it off —createProprietaryProtocolArmre-imports that field a second time from@agentproto/driver-agent-cli's own module location (which deliberately depends on no specific adapter), so a bare package-name specifier that resolved fine during discovery could fail to resolve at session-start. Applies to every proprietary adapter, not just this one. -
b6887aa: Fix chat-tui inline code rendering, prompt-echo regex, and cast consolidation
-
f25d0ab: render inline code without backticks and fix prompt-echo dash match
-
2d1434a: Add mastra-jsonl print-arm schema, AgentCliPrintConfig, and adapter-mastracode
-
16d52cd: Add WorkflowRunner primitive, deferred tool gateway, structured awaiting-input, and agent_start mode wiring
-
83aa850: Add session liveness tracking: pid, lastActivityAt, processAlive on SessionDescriptor
-
872226b: Add per-turn silence watchdog to ACP client to fix hermes hang-without-turn-end
-
f28c925: Surface busy/idle and stale-running (dead pid) state in sessions dashboard
-
5616041: Add session_restart MCP tool and extract shared resume decision tree
-
111a599: Add prompt-session cron action to re-prompt a live session
-
06132bc: Implement AIP-45 proprietary protocol arm; ship adapter-mastracode-inprocess
-
3ab696d: Render tool calls/results informatively instead of the generic
[tool] viewline -
3635eb8: fix(cli): skill install no longer crashes overwriting a file/symlink dest
-
Updated dependencies [06132bc]
-
Updated dependencies [2d1434a]
-
Updated dependencies [1bf295b]
-
Updated dependencies [83aa850]
-
Updated dependencies [872226b]
-
Updated dependencies [78d09e6]
-
Updated dependencies [559cff3]
-
Updated dependencies [06132bc]
-
Updated dependencies [c2b6779]
-
Updated dependencies [3ab696d]
-
Updated dependencies [79a209a]
-
Updated dependencies [e27fc94]
-
Updated dependencies [837967a]
- @agentproto/driver-agent-cli@0.3.0
- @agentproto/acp@0.3.0