xenia_calls
Identify which individual call produced a report row. Filter by tool, signature, status, or time, and use the returned action id to trace the full command.
Instructions
Individual calls, for the one question every xenia_report view raises and cannot answer: which call was that. A 'tools' row reporting a 33KB maximum does not say which call returned it, and one signature covering six journalctl runs is one row on purpose. Deliberately thin — action id, time, tool, status, duration, reply size and a short command, and nothing that repeats identically down the rows. Defaults to the heaviest replies first; pass the 'signature' or 'tool' from a report row to drill into it, and the 'action_id' it returns to xenia_trace. 'detail' is cut to 120 characters so a page of rows stays readable — xenia_trace on the same action id is where the whole command is, for any call and not only a failed one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| via | No | Which broker carried the call: an MCP server name, or 'direct' for the shell. Globs, so 'acme-*' covers every server at one site. | |
| kind | No | Restrict to one kind of action. | |
| repo | No | Limit to one repository by name. Agent work outside any checkout is filed under 'general'. | |
| tool | No | Tool name, exactly or as a glob: 'Bash', 'mcp__acme-ssh__shell', 'mcp__acme*'. | |
| agent | No | Which runtime: claude or codex. | |
| limit | No | Maximum rows (default 20, capped at 500). Small on purpose: this is a drill-down, not a timeline. Raising it is the wrong move on a reply that came back truncated — rows here are whole shell commands, so a few hundred of them hit the reply ceiling and get cut. Filter instead. | |
| order | No | Sort by reply size (default), time taken, or when it ran. Calls that never returned sort last either way. | |
| since | No | Window to look back over: '24h', '7d', '30m', or a date like '2026-07-01'. Omit for all time. | |
| status | No | Restrict to one outcome. | |
| session | No | One agent run, by session id. Worth using on a machine running several agents at once, where a timeline is otherwise several agents interleaved. | |
| signature | No | The normalised identity of the work, as returned by the failures, repeats and tools views. This is how you drill from one of those rows into the calls behind it. | |
| blocked_by | No | Restrict to calls the runtime refused, by who refused them: 'rule' for a hook or permission rule (the reason is on the row's error, and the fix is in a file), 'user' for a decline at the prompt. Calls that simply never completed carry neither. | |
| descending | No | Sort descending (default true). |