// Generated by scripts/generate-cluster-types.js from the checked-in Cluster Protocol v1 artifacts. // Do not edit this file by hand. Run npm run protocol:generate. export const JSON_RPC_VERSION = "2.0" as const; export const PROTOCOL_VERSION = "openengine.cluster/v1" as const; export const SUBSCRIPTION_QUEUE_CAPACITY = 1024 as const; export const MAX_FRAME_BYTES = 1048576 as const; export const CLUSTER_METHODS = ["initialize","plan","apply","update","stop","retry","resubmit","delete","get","watch","logs","agent/attach","run/submit","run/list","run/status","run/watch","run/logs","run/attach","run/force"] as const; export type ClusterMethod = (typeof CLUSTER_METHODS)[number]; export const UNARY_METHODS = ["initialize","plan","apply","update","stop","retry","resubmit","delete","get","run/submit","run/list","run/status","run/force"] as const; export type UnaryClusterMethod = (typeof UNARY_METHODS)[number]; export const SUBSCRIPTION_METHODS = ["watch","logs","agent/attach","run/watch","run/logs","run/attach"] as const; export type SubscriptionMethod = (typeof SUBSCRIPTION_METHODS)[number]; export const METHOD_RESULT_DEFINITIONS = {"initialize":"InitializeResult","plan":"PlanResult","apply":"ApplyResult","update":"UpdateResult","stop":"StopResult","retry":"RetryResult","resubmit":"ResubmitResult","delete":"DeleteResult","get":"GetResult","watch":"WatchResult","logs":"LogsResult","agent/attach":"AgentAttachResult","run/submit":"RunSubmitResult","run/list":"RunListResult","run/status":"RunStatusResult","run/watch":"RunWatchResult","run/logs":"RunLogsResult","run/attach":"RunAttachResult","run/force":"RunForceResult"} as const; export const JSON_RPC_ERROR_CODES = { PARSE_ERROR: -32700, INVALID_REQUEST: -32600, METHOD_NOT_FOUND: -32601, INVALID_PARAMS: -32602, INTERNAL_ERROR: -32603, APPLICATION_ERROR: -32000, } as const; export const DOMAIN_ERROR_CODES = ["NOT_FOUND","GONE","SLOW_CONSUMER","UNSUPPORTED_PROTOCOL_VERSION","INTERNAL_ERROR"] as const; export type ActiveExecution = { readonly "execution": string; readonly "node": string; }; export type AdmissionTransition = { readonly "runId": string; readonly "seedInput": unknown; readonly "spec": GraphSpec; }; export type AgentAttachClosedNotification = { readonly "reason": SubscriptionCloseReason; readonly "subscriptionId": string; }; export type AgentAttachEvent = { readonly "type": "working"; } | { readonly "text": string; readonly "type": "output"; } | { readonly "type": "settled"; }; export type AgentAttachEventNotification = AgentAttachEventNotificationWire; export type AgentAttachEventNotificationWire = { readonly "event": AgentAttachEvent; readonly "subscriptionId": string; }; export type AgentAttachParams = { readonly "execution": string; }; export type AgentAttachResult = { readonly "subscriptionId": string; }; export type ApplyParams = { readonly "dryRun"?: boolean; readonly "graph": GraphSpec; readonly "idempotencyKey"?: string; readonly "ifGeneration"?: number; readonly "input"?: unknown; }; export type ApplyResult = { readonly "deduped": boolean; readonly "diff"?: GraphDiff | null; readonly "generation"?: number | null; readonly "phase": Phase; readonly "runId"?: string | null; }; export type ArtifactLineage = { readonly "attempt": number; readonly "generation": number; readonly "runId": string; }; export type ArtifactProducer = { readonly "node": string; readonly "worker": string; }; export type ArtifactRef = { readonly "artifactId": string; readonly "byteLength": number; readonly "lineage": ArtifactLineage; readonly "mediaType": string; readonly "producer": ArtifactProducer; readonly "redaction": RedactionClass; readonly "sha256": string; readonly "typeId": string; }; export type BackendFault = BackendFaultWire; export type BackendFaultWire = { readonly "action": FaultAction; readonly "code": FaultCode; readonly "consequence": FaultConsequence; readonly "eventId": string; readonly "executionRef"?: string | null; readonly "retry": FaultRetryDisposition; readonly "severity": FaultSeverity; readonly "source": ReadonlyArray; readonly "summary": string; }; export type CancelRequestParams = { readonly "id": RequestId; }; export type ChoiceBranch = { readonly "node": GraphNode; readonly "when": Guard; }; export type ClaudeProvider = "anthropic" | "openrouter"; export type ClusterStatus = { readonly "atCursor"?: string | null; readonly "currentRunId"?: string | null; readonly "observedGeneration"?: number | null; readonly "operational"?: OperationalStatus | null; readonly "phase": Phase; }; export type CodexProvider = "openai" | "openrouter"; export type ControlSelector = { readonly "field"?: string | null; readonly "name": string; readonly "source": ControlSource; }; export type ControlSource = "signal" | "error" | "group"; export type DataSelector = { readonly "path": ReadonlyArray; readonly "source": "state"; } | { readonly "path": ReadonlyArray; readonly "source": "item"; }; export type DeclaredEnvironment = ReadonlyArray; export type DeleteParams = { readonly "idempotencyKey": string; readonly "ifGeneration": number; readonly "ifRunId"?: string | null; }; export type DeleteResult = { readonly "atCursor"?: string | null; readonly "deduped": boolean; readonly "deleted": boolean; readonly "generation"?: number | null; readonly "phase": Phase; readonly "runId"?: string | null; }; export type DiagnosticPathSegment = { readonly "kind": "field"; readonly "name": string; } | { readonly "index": number; readonly "kind": "index"; } | { readonly "kind": "node"; readonly "name": string; }; export type DiagnosticSeverity = "error" | "warning" | "info"; export type DispatchState = "active" | "suspended" | "draining" | "force_stopping" | "stopped"; export type DomainErrorData = { readonly "code": string; readonly "details"?: unknown; }; export type EventNotification = { readonly "cursor": string; readonly "event": WatchEvent; readonly "runId": string; readonly "subscriptionId": string; }; export type FaultAction = "none" | "retry" | "wait" | "escalate" | "abort"; export type FaultCode = "unavailable" | "resource_exhausted" | "deadline_exceeded" | "permission_denied" | "failed_precondition" | "not_found" | "aborted" | "internal" | "unknown"; export type FaultConsequence = "turn_failed" | "run_failed" | "run_degraded" | "no_observable_effect"; export type FaultRetryDisposition = "retryable" | "retryable_after_backoff" | "not_retryable" | "indeterminate"; export type FaultSeverity = "info" | "warning" | "error" | "critical"; export type FaultSourceFrame = { readonly "component": string; }; export type GetParams = { readonly "atCursor"?: string | null; }; export type GetResult = { readonly "atCursor"?: string | null; readonly "spec"?: GraphSpec | null; readonly "status": ClusterStatus; readonly "terminalResult"?: TerminalResult | null; }; export type GraphDiagnostic = { readonly "code": GraphDiagnosticCode; readonly "message": string; readonly "path": ReadonlyArray; readonly "relatedNodes": ReadonlyArray; readonly "severity": DiagnosticSeverity; }; export type GraphDiagnosticCode = "schema_safety" | "reachability" | "choice_exhaustiveness" | "loop_exit_satisfiability" | "missing_bound" | "write_conflict" | "ceiling_exceeded" | "cyclic_reference" | "undefined_read" | "invalid_graph_shape"; export type GraphDiff = { readonly "added": ReadonlyArray; readonly "changed": ReadonlyArray; readonly "removed": ReadonlyArray; }; export type GraphNode = ({ readonly "attempts": number; readonly "input": PayloadType; readonly "inputBindings": ReadonlyArray; readonly "instructions"?: NodeInstructions | null; readonly "kind": "step"; readonly "name": string; readonly "output": PayloadType; readonly "timeoutMs": number; readonly "worker": string; readonly "writeBindings": ReadonlyArray; }) | ({ readonly "attempts": number; readonly "diagnostic": PayloadType; readonly "input": PayloadType; readonly "inputBindings": ReadonlyArray; readonly "instructions"?: NodeInstructions | null; readonly "kind": "verifier"; readonly "name": string; readonly "output": PayloadType; readonly "signals": { readonly [key: string]: ReadonlyArray }; readonly "timeoutMs": number; readonly "worker": string; readonly "writeBindings": ReadonlyArray; }) | { readonly "children": NonEmptyVec_of_GraphNode; readonly "kind": "seq"; readonly "name": string; readonly "promotedStatePaths": ReadonlyArray>; readonly "state": PayloadType; } | ({ readonly "branches": NonEmptyVec_of_ChoiceBranch; readonly "kind": "choice"; readonly "name": string; readonly "otherwise"?: GraphNode | null; readonly "promotedStatePaths": ReadonlyArray>; readonly "state": PayloadType; }) | { readonly "branches": NonEmptyVec_of_GraphNode; readonly "join": Join; readonly "kind": "par"; readonly "name": string; readonly "promotedStatePaths": ReadonlyArray>; readonly "state": PayloadType; } | ({ readonly "body": GraphNode; readonly "kind": "loop"; readonly "maxIterations": number; readonly "name": string; readonly "promotedStatePaths": ReadonlyArray>; readonly "state": PayloadType; readonly "until"?: Guard | null; }) | { readonly "body": GraphNode; readonly "kind": "map"; readonly "maxItems": number; readonly "name": string; readonly "over": DataSelector; readonly "promotedStatePaths": ReadonlyArray>; readonly "state": PayloadType; } | { readonly "bindings": ReadonlyArray; readonly "kind": "succeed"; readonly "name": string; readonly "output": PayloadType; } | { readonly "kind": "fail"; readonly "name": string; readonly "reason": string; }; export type GraphProfile = "openengine.graph.full/v1" | "openengine.graph.single-worker/v1"; export type GraphSpec = { readonly "initialInput": PayloadType; readonly "policy": PolicyBinding; readonly "profile": GraphProfile; readonly "root": GraphNode; }; export type Guard = { readonly "kind": "in"; readonly "labels": ReadonlyArray; readonly "value": ControlSelector; } | { readonly "guards": NonEmptyVec_of_Guard; readonly "kind": "all"; } | { readonly "guards": NonEmptyVec_of_Guard; readonly "kind": "any"; } | { readonly "guard": Guard; readonly "kind": "not"; } | { readonly "count": number; readonly "kind": "k_of_n"; readonly "labels": ReadonlyArray; readonly "values": NonEmptyVec_of_ControlSelector; } | { readonly "count": number; readonly "kind": "k_of_map"; readonly "labels": ReadonlyArray; readonly "value": ControlSelector; }; export type InitializeParams = { readonly "protocolVersion": "openengine.cluster/v1"; }; export type InitializeResult = { readonly "capabilities": ServerCapabilities; readonly "protocolVersion": "openengine.cluster/v1"; readonly "status": ClusterStatus; }; export type InputBinding = { readonly "target": ReadonlyArray; readonly "value": DataSelector; }; export type Join = { readonly "kind": "all"; } | { readonly "kind": "any"; } | { readonly "count": number; readonly "kind": "quorum"; } | { readonly "kind": "first"; readonly "when": Guard; }; export type JsonRpcError = { readonly "code": number; readonly "data"?: DomainErrorData | null; readonly "message": string; }; export type JsonRpcErrorResponse = { readonly "error": JsonRpcError; readonly "id"?: RequestId | null; readonly "jsonrpc": string; }; export type JsonRpcNotification = { readonly "jsonrpc": string; readonly "method": string; readonly "params": EventNotification; }; export type JsonRpcNotification10 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": RunLogEventNotification; }; export type JsonRpcNotification11 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": RunAttachEventNotification; }; export type JsonRpcNotification2 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": SubscriptionCancelParams; }; export type JsonRpcNotification3 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": SubscriptionClosedNotification; }; export type JsonRpcNotification4 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": CancelRequestParams; }; export type JsonRpcNotification5 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": LogEventNotification; }; export type JsonRpcNotification6 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": LogsClosedNotification; }; export type JsonRpcNotification7 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": AgentAttachEventNotification; }; export type JsonRpcNotification8 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": AgentAttachClosedNotification; }; export type JsonRpcNotification9 = { readonly "jsonrpc": string; readonly "method": string; readonly "params": RunWatchEventNotification; }; export type JsonRpcRequest = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": InitializeParams; }; export type JsonRpcRequest10 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": WatchParams; }; export type JsonRpcRequest11 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": LogsParams; }; export type JsonRpcRequest12 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": AgentAttachParams; }; export type JsonRpcRequest13 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunSubmitParams; }; export type JsonRpcRequest14 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunListParams; }; export type JsonRpcRequest15 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunStatusParams; }; export type JsonRpcRequest16 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunWatchParams; }; export type JsonRpcRequest17 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunLogsParams; }; export type JsonRpcRequest18 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunAttachParams; }; export type JsonRpcRequest19 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RunForceParams; }; export type JsonRpcRequest2 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": PlanParams; }; export type JsonRpcRequest3 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": ApplyParams; }; export type JsonRpcRequest4 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": GetParams; }; export type JsonRpcRequest5 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": UpdateParams; }; export type JsonRpcRequest6 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": StopParams; }; export type JsonRpcRequest7 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": RetryParams; }; export type JsonRpcRequest8 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": ResubmitParams; }; export type JsonRpcRequest9 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "method": string; readonly "params": DeleteParams; }; export type JsonRpcResponse = JsonRpcSuccess | JsonRpcErrorResponse; export type JsonRpcResponse10 = JsonRpcSuccess10 | JsonRpcErrorResponse; export type JsonRpcResponse11 = JsonRpcSuccess11 | JsonRpcErrorResponse; export type JsonRpcResponse12 = JsonRpcSuccess12 | JsonRpcErrorResponse; export type JsonRpcResponse13 = JsonRpcSuccess13 | JsonRpcErrorResponse; export type JsonRpcResponse14 = JsonRpcSuccess14 | JsonRpcErrorResponse; export type JsonRpcResponse15 = JsonRpcSuccess15 | JsonRpcErrorResponse; export type JsonRpcResponse16 = JsonRpcSuccess16 | JsonRpcErrorResponse; export type JsonRpcResponse17 = JsonRpcSuccess17 | JsonRpcErrorResponse; export type JsonRpcResponse18 = JsonRpcSuccess18 | JsonRpcErrorResponse; export type JsonRpcResponse19 = JsonRpcSuccess19 | JsonRpcErrorResponse; export type JsonRpcResponse2 = JsonRpcSuccess2 | JsonRpcErrorResponse; export type JsonRpcResponse3 = JsonRpcSuccess3 | JsonRpcErrorResponse; export type JsonRpcResponse4 = JsonRpcSuccess4 | JsonRpcErrorResponse; export type JsonRpcResponse5 = JsonRpcSuccess5 | JsonRpcErrorResponse; export type JsonRpcResponse6 = JsonRpcSuccess6 | JsonRpcErrorResponse; export type JsonRpcResponse7 = JsonRpcSuccess7 | JsonRpcErrorResponse; export type JsonRpcResponse8 = JsonRpcSuccess8 | JsonRpcErrorResponse; export type JsonRpcResponse9 = JsonRpcSuccess9 | JsonRpcErrorResponse; export type JsonRpcSuccess = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": InitializeResult; }; export type JsonRpcSuccess10 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": WatchResult; }; export type JsonRpcSuccess11 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": LogsResult; }; export type JsonRpcSuccess12 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": AgentAttachResult; }; export type JsonRpcSuccess13 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunSubmitResult; }; export type JsonRpcSuccess14 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunListResult; }; export type JsonRpcSuccess15 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunStatusResult; }; export type JsonRpcSuccess16 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunWatchResult; }; export type JsonRpcSuccess17 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunLogsResult; }; export type JsonRpcSuccess18 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunAttachResult; }; export type JsonRpcSuccess19 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RunForceResult; }; export type JsonRpcSuccess2 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": PlanResult; }; export type JsonRpcSuccess3 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": ApplyResult; }; export type JsonRpcSuccess4 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": GetResult; }; export type JsonRpcSuccess5 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": UpdateResult; }; export type JsonRpcSuccess6 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": StopResult; }; export type JsonRpcSuccess7 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": RetryResult; }; export type JsonRpcSuccess8 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": ResubmitResult; }; export type JsonRpcSuccess9 = { readonly "id": RequestId; readonly "jsonrpc": string; readonly "result": DeleteResult; }; export type Labels = { readonly [key: string]: string }; export type LogEventNotification = LogEventNotificationWire; export type LogEventNotificationWire = { readonly "record": LogRecord; readonly "subscriptionId": string; }; export type LogLevel = "trace" | "debug" | "info" | "warn" | "error"; export type LogRecord = { readonly "level": LogLevel; readonly "message": string; readonly "target": string; }; export type LogsClosedNotification = { readonly "reason": SubscriptionCloseReason; readonly "subscriptionId": string; }; export type LogsParams = Record; export type LogsResult = { readonly "subscriptionId": string; }; export type NodeAddress = { readonly "attempt": number; readonly "node": string; }; export type NodeInstructions = string; export type NodeOutputChannel = "out" | "signal" | "diagnostic"; export type NodeOutputSelector = { readonly "channel": NodeOutputChannel; readonly "node": string; readonly "path": ReadonlyArray; }; export type NodeRuntimeBinding = ({ readonly "effort"?: ReasoningEffort | null; readonly "env"?: DeclaredEnvironment; readonly "kind": "agent"; readonly "model": string; readonly "sessionScope"?: SessionScope; }) | { readonly "env"?: DeclaredEnvironment; readonly "kind": "git_delivery"; }; export type NonEmptyVec_of_ChoiceBranch = ReadonlyArray; export type NonEmptyVec_of_ControlSelector = ReadonlyArray; export type NonEmptyVec_of_FieldPath = ReadonlyArray>; export type NonEmptyVec_of_GraphNode = ReadonlyArray; export type NonEmptyVec_of_Guard = ReadonlyArray; export type NonEmptyVec_of_NodeName = ReadonlyArray; export type OperationalStatus = { readonly "dispatchState": DispatchState; readonly "inFlight": number; readonly "labels": Labels; readonly "logLevel": LogLevel; readonly "stopMode"?: StopMode | null; }; export type PayloadType = { readonly "kind": "null"; } | { readonly "kind": "boolean"; } | { readonly "kind": "integer"; } | { readonly "kind": "number"; } | { readonly "kind": "string"; } | { readonly "fields": { readonly [key: string]: RecordField }; readonly "kind": "record"; } | { readonly "items": PayloadType; readonly "kind": "array"; } | { readonly "kind": "enum"; readonly "values": ReadonlyArray; }; export type Phase = "empty" | "admitting" | "running" | "finished" | "deleting"; export type PlanParams = { readonly "graph": GraphSpec; }; export type PlanResult = { readonly "bounds"?: StructuralBounds | null; readonly "diagnostics": ReadonlyArray; readonly "ok": boolean; }; export type PolicyBinding = { readonly "default": PolicyDefault; readonly "policy": string; }; export type PolicyDefault = "deny"; export type ReasoningEffort = "low" | "medium" | "high" | "xhigh" | "max"; export type RecordField = { readonly "required": boolean; readonly "type": PayloadType; }; export type RedactionClass = "public" | "internal" | "confidential" | "restricted"; export type RequestId = string | number; export type ResolvedSource = { readonly "branch": string; readonly "repository": string; readonly "revision": string; }; export type ResubmitParams = { readonly "idempotencyKey": string; readonly "ifGeneration": number; readonly "ifRunId": string; readonly "replacementInput"?: unknown; }; export type ResubmitResult = { readonly "atCursor": string; readonly "deduped": boolean; readonly "generation": number; readonly "operational": OperationalStatus; readonly "phase": Phase; readonly "priorRunId": string; readonly "runId": string; }; export type RetryParams = { readonly "idempotencyKey": string; readonly "ifGeneration": number; }; export type RetryResult = { readonly "atCursor": string; readonly "deduped": boolean; readonly "generation": number; readonly "operational": OperationalStatus; readonly "phase": Phase; readonly "retriedTurnId": string; readonly "retryTurnId": string; readonly "runId": string; }; export type RunAttachEventNotification = { readonly "event": AgentAttachEvent; readonly "execution": string; readonly "runId": string; readonly "subscriptionId": string; }; export type RunAttachParams = { readonly "execution": string; readonly "runId": string; }; export type RunAttachResult = { readonly "execution": string; readonly "runId": string; readonly "subscriptionId": string; }; export type RunForceParams = { readonly "runId": string; }; export type RunForceResult = { readonly "atCursor": string; readonly "runId": string; readonly "size": RunSize; readonly "source": ResolvedSource; readonly "status": RunStatus; readonly "title": string; }; export type RunListParams = Record; export type RunListResult = { readonly "runs": ReadonlyArray; }; export type RunLogEventNotification = { readonly "cursor": string; readonly "execution"?: string | null; readonly "record": LogRecord; readonly "runId": string; readonly "subscriptionId": string; }; export type RunLogsParams = { readonly "execution"?: string | null; readonly "fromCursor"?: string | null; readonly "runId": string; }; export type RunLogsResult = { readonly "atCursor": string; readonly "runId": string; readonly "subscriptionId": string; }; export type RunMetadata = { readonly "tokenUsage"?: TokenUsage | null; }; export type RunSize = "tiny" | "small" | "standard" | "large"; export type RunStatus = { readonly "phase": "admitted"; } | { readonly "activeExecutions": ReadonlyArray; readonly "phase": "running"; } | { readonly "activeExecutions": ReadonlyArray; readonly "phase": "stopping"; } | { readonly "metadata"?: RunMetadata; readonly "phase": "finished"; readonly "terminalResult": TerminalResult; }; export type RunStatusParams = { readonly "runId": string; }; export type RunStatusResult = { readonly "atCursor": string; readonly "runId": string; readonly "size": RunSize; readonly "source": ResolvedSource; readonly "status": RunStatus; readonly "title": string; }; export type RunSubmission = { readonly "graph": GraphSpec; readonly "initialInput": unknown; readonly "runtime": RuntimePlan; readonly "source": ResolvedSource; readonly "submissionKey": string; readonly "title": string; }; export type RunSubmitParams = { readonly "runId": string; readonly "submission": RunSubmission; }; export type RunSubmitResult = { readonly "runId": string; }; export type RunWatchEventNotification = { readonly "cursor": string; readonly "runId": string; readonly "size": RunSize; readonly "source": ResolvedSource; readonly "status": RunStatus; readonly "subscriptionId": string; readonly "title": string; }; export type RunWatchParams = { readonly "fromCursor"?: string | null; readonly "runId": string; }; export type RunWatchResult = { readonly "atCursor": string; readonly "runId": string; readonly "subscriptionId": string; }; export type RuntimePlan = { readonly "harness": "codex"; readonly "nodes": Record; readonly "provider": CodexProvider; readonly "size": RunSize; } | { readonly "harness": "claude"; readonly "nodes": Record; readonly "provider": ClaudeProvider; readonly "size": RunSize; }; export type ServerCapabilities = { readonly "agentAttach"?: boolean; readonly "graphProfiles"?: ReadonlyArray; readonly "logs"?: boolean; }; export type SessionScope = "execution" | "node_instance"; export type StopMode = "drain" | "force"; export type StopParams = { readonly "idempotencyKey": string; readonly "ifGeneration": number; readonly "mode": StopMode; }; export type StopResult = { readonly "acceptedMode": StopMode; readonly "atCursor": string; readonly "deduped": boolean; readonly "effectiveMode": StopMode; readonly "generation": number; readonly "operational": OperationalStatus; readonly "phase": Phase; readonly "runId": string; }; export type StructuralBounds = { readonly "attemptsPerNode": { readonly [key: string]: number }; readonly "maxNodeExecutions": number; readonly "peakConcurrency": number; readonly "termination": TerminationWitness; }; export type SubscriptionCancelParams = { readonly "subscriptionId": string; }; export type SubscriptionCloseReason = "done" | "SLOW_CONSUMER"; export type SubscriptionClosedNotification = { readonly "lastDeliveredCursor"?: string | null; readonly "reason": SubscriptionCloseReason; readonly "subscriptionId": string; }; export type TerminalResult = { readonly "output": unknown; readonly "status": "succeeded"; } | { readonly "reason": string; readonly "status": "failed"; }; export type TerminationWitness = { readonly "kind": "acyclic"; readonly "order": NonEmptyVec_of_NodeName; } | { readonly "kind": "bounded"; readonly "maxIterations": number; readonly "ranking": NonEmptyVec_of_FieldPath; }; export type TokenUsage = { readonly "cacheCreationInputTokens"?: number | null; readonly "cacheReadInputTokens"?: number | null; readonly "complete": boolean; readonly "inputTokens": number; readonly "outputTokens": number; }; export type UpdateParams = ({ readonly "idempotencyKey": string; readonly "ifGeneration": number; readonly "labels"?: Labels; readonly "logLevel"?: LogLevel; readonly "suspended"?: boolean; }) & ({ readonly "labels": unknown; } | { readonly "logLevel": unknown; } | { readonly "suspended": unknown; }); export type UpdateResult = { readonly "atCursor": string; readonly "deduped": boolean; readonly "generation": number; readonly "operational": OperationalStatus; readonly "phase": Phase; readonly "runId": string; }; export type WatchEvent = ({ readonly "admission"?: AdmissionTransition | null; readonly "status": ClusterStatus; readonly "type": "phase"; }) | { readonly "input": unknown; readonly "node": NodeAddress; readonly "type": "node_begin"; } | { readonly "node": NodeAddress; readonly "outcome": WorkerOutcome; readonly "type": "node_end"; } | { readonly "type": "bookmark"; } | { readonly "fault": BackendFault; readonly "type": "fault"; } | ({ readonly "final_status": ClusterStatus; readonly "stop_mode"?: StopMode | null; readonly "type": "finished"; }); export type WatchParams = { readonly "fromCursor"?: string | null; readonly "runId"?: string | null; }; export type WatchResult = { readonly "atCursor"?: string | null; readonly "runId"?: string | null; readonly "subscriptionId": string; }; export type WorkerErrorCode = "timeout" | "crash" | "malformed" | "refusal"; export type WorkerFailureReason = "declared_failure" | "policy_denied" | "interactive_input_required" | "authentication_required" | "malformed_result"; export type WorkerOutcome = WorkerOutcomeWire & unknown; export type WorkerOutcomeWire = { readonly "artifacts": ReadonlyArray; readonly "output": unknown; readonly "status": "verified"; } | { readonly "artifacts": ReadonlyArray; readonly "diagnostic": unknown; readonly "output": unknown; readonly "signals": { readonly [key: string]: string }; readonly "status": "verifier"; } | { readonly "code": WorkerErrorCode; readonly "reason": WorkerFailureReason; readonly "status": "error"; }; export type WriteBinding = { readonly "target": ReadonlyArray; readonly "value": NodeOutputSelector; }; export interface ClusterMethodParams { readonly initialize: InitializeParams; readonly plan: PlanParams; readonly apply: ApplyParams; readonly update: UpdateParams; readonly stop: StopParams; readonly retry: RetryParams; readonly resubmit: ResubmitParams; readonly delete: DeleteParams; readonly get: GetParams; readonly watch: WatchParams; readonly logs: LogsParams; readonly 'agent/attach': AgentAttachParams; readonly 'run/submit': RunSubmitParams; readonly 'run/list': RunListParams; readonly 'run/status': RunStatusParams; readonly 'run/watch': RunWatchParams; readonly 'run/logs': RunLogsParams; readonly 'run/attach': RunAttachParams; readonly 'run/force': RunForceParams; } export interface ClusterMethodResults { readonly initialize: InitializeResult; readonly plan: PlanResult; readonly apply: ApplyResult; readonly update: UpdateResult; readonly stop: StopResult; readonly retry: RetryResult; readonly resubmit: ResubmitResult; readonly delete: DeleteResult; readonly get: GetResult; readonly watch: WatchResult; readonly logs: LogsResult; readonly 'agent/attach': AgentAttachResult; readonly 'run/submit': RunSubmitResult; readonly 'run/list': RunListResult; readonly 'run/status': RunStatusResult; readonly 'run/watch': RunWatchResult; readonly 'run/logs': RunLogsResult; readonly 'run/attach': RunAttachResult; readonly 'run/force': RunForceResult; }