| 1 | export interface RecoveryCall { |
| 2 | identity: { session_id?: string; turn_id?: string; call_id?: string; attempt_id?: string; canonical_tool?: string; argument_digest?: string; resource_scope?: string }; |
| 3 | state: string; |
| 4 | read_only: boolean; |
| 5 | arguments?: unknown; |
| 6 | inspection_id?: string; |
| 7 | inspection_state?: string; |
| 8 | resolution?: string; |
| 9 | } |
| 10 | export interface ToolRecoverySnapshot { |
| 11 | silent?: boolean; |
| 12 | sessionPath: string; |
| 13 | runtimeEpoch: string; |
| 14 | revision: string; |
| 15 | calls: RecoveryCall[]; |
| 16 | retryEnabled: boolean; |
| 17 | retired?: boolean; |
| 18 | } |
| 19 | export interface ToolRecoveryRequest { |
| 20 | sessionPath: string; runtimeEpoch: string; revision: string; |
| 21 | attemptId: string; inspectionId: string; |
| 22 | action: "inspect" | "confirm" | "reject" | "retry"; |
| 23 | } |
| 24 | export interface ToolRecoveryBindings { |
| 25 | GetToolRecoveryForTab?(tabId: string): Promise<ToolRecoverySnapshot>; |
| 26 | ResolveToolRecoveryForTab?(tabId: string, request: ToolRecoveryRequest): Promise<ToolRecoverySnapshot>; |
| 27 | } |
| 28 |