Skip to content

agentproto 0.4.0 — durable supervision surface

Choose a tag to compare

@github-actions github-actions released this 03 Jul 01:10
7e69213

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-session action).
  • 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-level sessionRef reuse of earlier sessions,
    outputSchema/maxRetries with 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_file MCP tool load a WORKFLOW.md at call time.
  • Structured per-session transcripts. Conversation export and a daemon-events
    export source; GET /sessions/:id/events for 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
    dedicated agent-tools.ts module.
  • In-process proprietary protocol arm (AIP-45). createProprietaryProtocolArm
    dynamic-loads an adapter's createAgentCliClient and createAgentCliRuntime
    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 composite resourceId:threadId session id
    survives a process restart.
  • REST parity for routines, workflows, and policies. Spawn logic shared
    between the MCP tool and the HTTP route via spawnAgentSession.
  • Reliability fixes for the ACP client. Per-turn silence watchdog fixes the
    hermes "hang without turn-end" failure; agent_output stays visible during
    tool-busy turns; tool calls/results render informatively instead of the
    generic [tool] view line.
  • Session liveness on the descriptor. pid, lastActivityAt,
    processAlive; the sessions dashboard surfaces busy/idle and stale-running
    (dead pid) state. session_restart MCP 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 onboard registers the MCP server and
    installs the skill pack in one run; install skill/<slug> targets hermes,
    claude-code, and claude-desktop; install-mcp does surgical config.yaml
    upsert/remove for hermes and manifest upsert for claude-desktop.

Patch-level fixes worth calling out

  • f89be1f: daemon MCP gateway default-mounted for hermes agent_start spawns;
    fixes the orchestrator merge-line bug.
  • fb1e5f0: thread daemonMcpUrl into the scoped orchestrator gateway, fixing
    hermes zero-tool spawns.
  • 71c52eb: policy_attach gates 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-tui renderer migrated; users with custom Ink themes should re-check
    their rendering against the new pi-tui renderer.
  • The WorkflowRunner and routine_* primitives are separate: routines are a
    flat RoutineStep[] 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 skill with manifest upsert and backup
  • be164fe: Add hermes target to install-mcp (surgical config.yaml upsert/remove)
  • c61093f: feat(cli): add agentproto onboard first-run umbrella (register MCP + install skill pack)

Patch Changes

  • 06132bc: Implement the AIP-45 protocol: "proprietary" arm end to end: createProprietaryProtocolArm now dynamic-loads an adapter's createAgentCliClient factory and createAgentCliRuntime skips 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 composite resourceId:threadId session id that verifiably survives a process restart. Register the new mastracode-inprocess slug in the CLI's adapter catalog.

    Fix resolveAdapter to rewrite a protocol: "proprietary" handle's adapter field to a fully-resolved absolute path before handing it off — createProprietaryProtocolArm re-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] view line

  • 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