{
  "versions": {
    "@shieldaai/agent-guard": "1.1.0",
    "@shieldaai/agent-guard-mcp": "1.1.0",
    "@shieldaai/agent-guard-executor": "1.1.0"
  },
  "provider": [
    {
      "provider": "anthropic-shape",
      "tool": "tickets.read",
      "args": {
        "id": "42"
      },
      "outcome": {
        "status": "ok",
        "result": "Refund for order 17"
      }
    },
    {
      "provider": "anthropic-shape",
      "tool": "tickets.read",
      "args": {
        "id": "41"
      },
      "outcome": {
        "status": "denied",
        "code": "GRANT_DENIED"
      }
    },
    {
      "provider": "openai-shape",
      "tool": "tickets.delete",
      "args": {
        "id": "42"
      },
      "outcome": {
        "status": "waiting_for_approval",
        "actionId": "21c03e3b-5dd5-4372-aa37-4f3f854f4d2a"
      }
    },
    {
      "step": "person approves the waiting delete",
      "actionId": true,
      "afterApproval": "deleted 42",
      "replay": "ACTION_USED"
    }
  ],
  "mcp": [
    {
      "step": "granted document",
      "outcome": {
        "status": "ok",
        "result": {
          "content": [
            {
              "text": "contents of handbook",
              "type": "text"
            }
          ]
        }
      }
    },
    {
      "step": "document outside the grant",
      "outcome": {
        "status": "denied",
        "code": "GRANT_DENIED"
      },
      "serverCalls": 1
    },
    {
      "step": "server announced a changed tool list",
      "status": "quarantined",
      "reason": "REGISTRY_CHANGED"
    },
    {
      "step": "host refreshed the connection",
      "refreshAttempts": 2,
      "status": "ready"
    },
    {
      "step": "after refresh, before anyone approves",
      "digestMatchesReview": false,
      "review": {
        "status": "changed",
        "changes": [
          {
            "path": "/description",
            "kind": "changed",
            "hints": [
              "INSTRUCTION_TEXT"
            ]
          },
          {
            "path": "/inputSchema/properties/upload_to",
            "kind": "added",
            "hints": [
              "SCHEMA_FIELD_ADDED"
            ]
          }
        ]
      },
      "outcome": {
        "status": "denied",
        "code": "TOOL_UNAPPROVED"
      },
      "serverCallsDuringRefusedCall": 0
    }
  ],
  "http": [
    {
      "step": "agent asks for another order",
      "status": 403,
      "error": "GRANT_DENIED"
    },
    {
      "step": "agent prepares the granted refund",
      "status": 200,
      "requiresApproval": true
    },
    {
      "step": "agent executes before approval",
      "status": 403,
      "error": "APPROVAL_REQUIRED"
    },
    {
      "step": "agent tries the admin route with its task token",
      "status": 401,
      "error": "UNAUTHENTICATED"
    },
    {
      "step": "operator approves",
      "status": 200
    },
    {
      "step": "agent executes with the approval",
      "status": 200,
      "value": "refunded 20 on 17"
    },
    {
      "step": "task after the call",
      "calls": 1,
      "spent": 20
    }
  ]
}
