Agent Runtime Tools
This page is generated by pnpm docs:generate:pack-reference. Add any pack-specific notes outside the managed block below; reruns preserve them.
Tool Summary
Section titled “Tool Summary”| Tool | Permission | Required approvals | Required scopes |
| -------------------------------- | ---------- | ------------------------------ | ----------------------------------------------------------------- |
| agent-runtime:execute-turn | write | None | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:resume_workflow | write | None | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:pause_turn | write | agent-runtime:remote_control | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:abort_turn | write | agent-runtime:remote_control | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:elevate_autonomy | write | agent-runtime:remote_control | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:lower_autonomy | write | None | path read .agent-runtime/**path write .agent-runtime/** |
| agent-runtime:approve_inflight | write | None | path read .agent-runtime/**path write .agent-runtime/** |
Tool Details
Section titled “Tool Details”agent-runtime:execute-turn
Section titled “agent-runtime:execute-turn”- Permission:
write - Required approvals: None
- Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”agent-runtime:resume_workflow
Section titled “agent-runtime:resume_workflow”- Permission:
write - Required approvals: None
- Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
agent-runtime:pause_turn
Section titled “agent-runtime:pause_turn”- Permission:
write - Required approvals:
agent-runtime:remote_control - Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
agent-runtime:abort_turn
Section titled “agent-runtime:abort_turn”- Permission:
write - Required approvals:
agent-runtime:remote_control - Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
agent-runtime:elevate_autonomy
Section titled “agent-runtime:elevate_autonomy”- Permission:
write - Required approvals:
agent-runtime:remote_control - Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
agent-runtime:lower_autonomy
Section titled “agent-runtime:lower_autonomy”- Permission:
write - Required approvals: None
- Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
agent-runtime:approve_inflight
Section titled “agent-runtime:approve_inflight”- Permission:
write - Required approvals: None
- Required scopes:
path read .agent-runtime/**,path write .agent-runtime/**
Input schema
Section titled “Input schema”Output schema
Section titled “Output schema”Not declared in the pack manifest.
Provider Protocol Guarantees
Section titled “Provider Protocol Guarantees”agent-runtime:execute-turn treats requested_tools and ordered tool_call entries in content_blocks
as one exact contract. Call IDs must be present and unique, and each position must have the same
ID, name, and input object. The adapter rejects missing, duplicate, conflicting, or reordered calls
before the orchestration loop can execute a governed tool. Executable requests come only from
native OpenAI-compatible tool_calls or Messages-compatible tool_use blocks. There is no
singular execute-turn alias or text-shaped requested-tool fallback.
Canonical native tool-only responses remain executable without a synthetic text envelope. The
adapter derives tool_request from native calls and the matching provider reason, preserves
provider text when present, and never invents a call ID. Assistant text is untrusted ordinary
content and is never parsed as a JSON control channel. intent_catalog is accepted only as a
deprecated ignored compatibility input. Messages-compatible requests emit x-api-key, a pinned
anthropic-version, and a positive max_tokens budget required by the native API.
This OpenAI-compatible contract is Chat Completions-style; it does not claim Responses typed-item/SSE compatibility. Messages-compatible execution covers client-owned tool calls, not provider-owned/server tools or nested and programmatic tool graphs.
The host loop admits a multi-call batch atomically against max_tool_calls_per_session. If the
whole batch does not fit, no tool runs and every declared call receives a paired LIMIT_EXCEEDED
result. If a tool throws after the batch starts, that call receives a failure result and every
remaining call receives an explicit not-executed result, keeping provider history resumable.
Streaming Safety
Section titled “Streaming Safety”The provider safety limits bound non-stream response bytes, total stream bytes, event count, snapshot count, content blocks, tool calls, and tool-argument bytes. Stream snapshots contain only the latest delta rather than a growing copy of all prior text. Tool-argument byte accounting is incremental for fragmented calls.
After a provider terminal marker—OpenAI [DONE] or Messages-compatible message_stop—the adapter
drains until natural EOF or one absolute configured deadline, rejects every non-empty
post-terminal chunk observed before that deadline, and then cancels a reader that did not close.
Cancellation is best-effort and never blocks the bounded return path. Bytes sent only after the
deadline are not observable. Abort signals remain active during body reads and produce one
cancelled outcome; disconnected readers produce one client_disconnect outcome.
OpenAI [DONE] is accepted only after a finish reason. Messages message_stop is accepted only
after every started content block has stopped and message_delta supplied a stop reason. Tool
turns require OpenAI tool_calls or Messages-compatible tool_use. Truncation reasons such as
length and max_tokens map to incomplete; filtering or refusal maps to refused; all remain
non-runnable.
Messages-compatible thinking and redacted_thinking data is retained as provider-owned state so
the next tool-use request can return those blocks complete and unmodified. Indexed OpenAI
reasoning fragments retain their ordering and signatures. See Anthropic’s official
extended-thinking guidance.