query_receipts
Retrieve verifiable audit receipts for compliance reporting. Filter by time range, action, actor, or decision to generate regulatory documentation.
Instructions
Query the receipt ledger for audit or compliance reporting. Filter by time range, action, actor, or decision.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Filter by action type | |
| actor | No | Filter by actor/agent | |
| decision | No | Filter by decision | |
| limit | No | Max receipts to return (default: 20) |
Implementation Reference
- src/server.ts:223-259 (handler)Implementation of the `query_receipts` tool handler, which filters the ledger based on action, actor, or decision and returns a formatted JSON response.
case "query_receipts": { let results = [...ledger]; if (args?.action) results = results.filter((r) => r.action === args.action); if (args?.actor) results = results.filter((r) => r.actor === args.actor); if (args?.decision) results = results.filter((r) => r.decision === args.decision); const limit = (args?.limit as number) ?? 20; results = results.slice(-limit); return { content: [ { type: "text", text: JSON.stringify( { total: results.length, receipts: results.map((r) => ({ id: r.id, action: r.action, actor: r.actor, decision: r.decision, timestamp: r.timestamp_iso, compliance: r.dct.compliance_tags, risk_score: r.dct.risk_score, })), }, null, 2, ), }, ], }; } - src/server.ts:90-115 (schema)Input schema definition for `query_receipts`, specifying optional filters for action, actor, decision, and results limit.
name: "query_receipts", description: "Query the receipt ledger for audit or compliance reporting. " + "Filter by time range, action, actor, or decision.", inputSchema: { type: "object" as const, properties: { action: { type: "string", description: "Filter by action type", }, actor: { type: "string", description: "Filter by actor/agent", }, decision: { type: "string", enum: ["ALLOW", "DENY"], description: "Filter by decision", }, limit: { type: "number", description: "Max receipts to return (default: 20)", }, }, }, - src/server.ts:90-90 (registration)Registration point for the `query_receipts` tool.
name: "query_receipts",