pub(crate) const GET_AGENT_TRANSCRIPT_TOOL: &str = r#"{
"name": "GetAgentTranscript",
"description": "Read the tail of a registered agent's session transcript by name, plus whether it currently has a turn in flight (turn_active). Resolves agents on this host first, then falls back to other channels on this same host (cross-channel) — does NOT reach LAN or WAN agents (use ListConversations to see those, but note they're liveness-only for now). For a Warden Supervisor watcher agent polling other agents on its own interval to decide whether to nudge a stalled one to continue, or any agent wanting to check what another agent on this host is doing. Returns JSON: {agent, block_id, tier, turn_active, lines: [...], truncated}. Read-only, best-effort — does not deliver anything to the target.",
"inputSchema": {
"type": "object",
"properties": {
"agent": { "type": "string", "description": "Name of the target agent (its AGENTMUX_AGENT_ID value)" },
"max_lines": { "type": "integer", "description": "Max number of recent transcript lines to return (default 100, server-capped at 500)" }
},
"required": ["agent"]
}
}"#;