iiRecord
Agentic AI Atlas · HookRequestFrame (server→client)
shared-context-spec:adapters-gateway-frame-hook-requesta5c.ai
II.
SharedContextSpec JSON

shared-context-spec:adapters-gateway-frame-hook-request

Structured · live

HookRequestFrame (server→client) json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · extensions/shared-context-specs/adapters-gateway-protocol-frames.yamlCluster · extensions
Record JSON
{
  "id": "shared-context-spec:adapters-gateway-frame-hook-request",
  "_kind": "SharedContextSpec",
  "_file": "extensions/shared-context-specs/adapters-gateway-protocol-frames.yaml",
  "_cluster": "extensions",
  "attributes": {
    "displayName": "HookRequestFrame (server→client)",
    "contextKind": "websocket-frame-server",
    "typescriptInterface": "HookRequestFrame",
    "producerIface": "@a5c-ai/adapters-gateway RunManager (hook elevation path)",
    "consumerIfaces": [
      "@a5c-ai/adapters-gateway client (responds with HookDecisionFrame)"
    ],
    "fieldSchema": [
      "type:literal<hook.request>:required:Frame discriminator",
      "hookRequestId:string:required:Correlation id for the decision",
      "runId:string:required:Run that issued the hook elevation",
      "hookKind:string:required:Hook category (e.g. tool-approval, breakpoint)",
      "payload:record<string,unknown>:required:Hook-specific payload",
      "deadlineTs:int:required:Absolute deadline in ms (epoch); after this the gateway resolves with default policy"
    ],
    "sourceCitation": "packages/adapters/gateway/src/protocol/v1.ts:86-93; frames.ts:87-94"
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "package:a5c-ai-adapters-gateway",
      "to": "shared-context-spec:adapters-gateway-frame-hook-request",
      "kind": "has_payload_schema",
      "attributes": {}
    }
  ]
}