@drisp/protocol 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3188 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The protocol version this package speaks. Carried on every `hello` frame so
5
+ * a runner and the hub can detect a mismatch before exchanging anything else.
6
+ *
7
+ * Bump when a frame changes shape incompatibly (a required field added or
8
+ * removed, a discriminator value renamed). Adding an optional field or a new
9
+ * frame name is backward compatible and does not bump it (see
10
+ * docs/protocol/runtime-dashboard-protocol.md §15).
11
+ */
12
+ declare const PROTOCOL_VERSION: 1;
13
+ type ProtocolVersion = typeof PROTOCOL_VERSION;
14
+
15
+ /**
16
+ * Workflow-execution domain shapes as the domain docs define them
17
+ * (UBIQUITOUS_LANGUAGE.md, ADR 0014-0016): the Workflow Run, the Turn, and the
18
+ * Interruption a Run parks on when it needs a human. These are the values the
19
+ * frames in `frames.ts` carry; nothing here knows about the wire.
20
+ */
21
+
22
+ /**
23
+ * The outcome of a Workflow Run. Terminal: `completed`, `failed`, `cancelled`.
24
+ * Non-terminal: `running`, and `awaiting_attention` — suspended until a human
25
+ * replies. `blocked` and `exhausted` are no longer emitted (both route to
26
+ * `awaiting_attention`) but stay valid on historical rows.
27
+ */
28
+ declare const RunStatusSchema: z.ZodEnum<{
29
+ running: "running";
30
+ awaiting_attention: "awaiting_attention";
31
+ completed: "completed";
32
+ blocked: "blocked";
33
+ exhausted: "exhausted";
34
+ failed: "failed";
35
+ cancelled: "cancelled";
36
+ }>;
37
+ type RunStatus = z.infer<typeof RunStatusSchema>;
38
+ /**
39
+ * One execution of a whole Workflow — the loop spanning every Turn from start
40
+ * to a terminal Run Status. Many per Athena Session.
41
+ */
42
+ declare const RunSchema: z.ZodObject<{
43
+ runId: z.ZodString;
44
+ athenaSessionId: z.ZodString;
45
+ workflowName: z.ZodOptional<z.ZodString>;
46
+ goal: z.ZodOptional<z.ZodString>;
47
+ iteration: z.ZodInt;
48
+ maxIterations: z.ZodOptional<z.ZodInt>;
49
+ status: z.ZodEnum<{
50
+ running: "running";
51
+ awaiting_attention: "awaiting_attention";
52
+ completed: "completed";
53
+ blocked: "blocked";
54
+ exhausted: "exhausted";
55
+ failed: "failed";
56
+ cancelled: "cancelled";
57
+ }>;
58
+ stopReason: z.ZodOptional<z.ZodString>;
59
+ adapterSessionId: z.ZodOptional<z.ZodString>;
60
+ startedAt: z.ZodNumber;
61
+ endedAt: z.ZodOptional<z.ZodNumber>;
62
+ }, z.core.$strip>;
63
+ type Run = z.infer<typeof RunSchema>;
64
+ /**
65
+ * How a Turn relates to the Agent Session before it: a fresh spawn, a resume
66
+ * of the prior Agent Session (Nudge / Retry / human reply), or reuse of the
67
+ * one already running.
68
+ */
69
+ declare const TurnContinuationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
70
+ mode: z.ZodLiteral<"fresh">;
71
+ }, z.core.$strip>, z.ZodObject<{
72
+ mode: z.ZodLiteral<"resume">;
73
+ handle: z.ZodString;
74
+ }, z.core.$strip>, z.ZodObject<{
75
+ mode: z.ZodLiteral<"reuse-current">;
76
+ }, z.core.$strip>], "mode">;
77
+ type TurnContinuation = z.infer<typeof TurnContinuationSchema>;
78
+ /**
79
+ * The Terminal Outcome after a Turn: continue looping, stop with a terminal
80
+ * Run Status, or suspend in `awaiting_attention` (ADR 0004, ADR 0014 §7).
81
+ */
82
+ declare const TurnOutcomeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
83
+ kind: z.ZodLiteral<"continue">;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ kind: z.ZodLiteral<"stop">;
86
+ status: z.ZodEnum<{
87
+ running: "running";
88
+ awaiting_attention: "awaiting_attention";
89
+ completed: "completed";
90
+ blocked: "blocked";
91
+ exhausted: "exhausted";
92
+ failed: "failed";
93
+ cancelled: "cancelled";
94
+ }>;
95
+ stopReason: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ kind: z.ZodLiteral<"suspend">;
98
+ status: z.ZodEnum<{
99
+ running: "running";
100
+ awaiting_attention: "awaiting_attention";
101
+ completed: "completed";
102
+ blocked: "blocked";
103
+ exhausted: "exhausted";
104
+ failed: "failed";
105
+ cancelled: "cancelled";
106
+ }>;
107
+ stopReason: z.ZodString;
108
+ }, z.core.$strip>], "kind">;
109
+ type TurnOutcome = z.infer<typeof TurnOutcomeSchema>;
110
+ /**
111
+ * One agent execution — a single `claude -p` invocation / one Codex
112
+ * `thread.run` — numbered by its Iteration within the Run.
113
+ */
114
+ declare const TurnSchema: z.ZodObject<{
115
+ runId: z.ZodString;
116
+ iteration: z.ZodInt;
117
+ continuation: z.ZodDiscriminatedUnion<[z.ZodObject<{
118
+ mode: z.ZodLiteral<"fresh">;
119
+ }, z.core.$strip>, z.ZodObject<{
120
+ mode: z.ZodLiteral<"resume">;
121
+ handle: z.ZodString;
122
+ }, z.core.$strip>, z.ZodObject<{
123
+ mode: z.ZodLiteral<"reuse-current">;
124
+ }, z.core.$strip>], "mode">;
125
+ adapterSessionId: z.ZodOptional<z.ZodString>;
126
+ startedAt: z.ZodNumber;
127
+ endedAt: z.ZodOptional<z.ZodNumber>;
128
+ outcome: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
129
+ kind: z.ZodLiteral<"continue">;
130
+ }, z.core.$strip>, z.ZodObject<{
131
+ kind: z.ZodLiteral<"stop">;
132
+ status: z.ZodEnum<{
133
+ running: "running";
134
+ awaiting_attention: "awaiting_attention";
135
+ completed: "completed";
136
+ blocked: "blocked";
137
+ exhausted: "exhausted";
138
+ failed: "failed";
139
+ cancelled: "cancelled";
140
+ }>;
141
+ stopReason: z.ZodOptional<z.ZodString>;
142
+ }, z.core.$strip>, z.ZodObject<{
143
+ kind: z.ZodLiteral<"suspend">;
144
+ status: z.ZodEnum<{
145
+ running: "running";
146
+ awaiting_attention: "awaiting_attention";
147
+ completed: "completed";
148
+ blocked: "blocked";
149
+ exhausted: "exhausted";
150
+ failed: "failed";
151
+ cancelled: "cancelled";
152
+ }>;
153
+ stopReason: z.ZodString;
154
+ }, z.core.$strip>], "kind">>;
155
+ }, z.core.$strip>;
156
+ type Turn = z.infer<typeof TurnSchema>;
157
+ /** A hard (non-transient) Turn failure class — see `failureTaxonomy.ts`. */
158
+ declare const HardFailureCodeSchema: z.ZodEnum<{
159
+ auth: "auth";
160
+ billing: "billing";
161
+ invalid_request: "invalid_request";
162
+ model_not_found: "model_not_found";
163
+ unclassified: "unclassified";
164
+ }>;
165
+ type HardFailureCode = z.infer<typeof HardFailureCodeSchema>;
166
+ /**
167
+ * A Run budget that can be exhausted (ADR 0014 §3-§4, §7; ADR 0018 §2, §10):
168
+ * the Retry cap, the Nudge cap, `maxIterations`, the Handover cap — a streak
169
+ * of unproductive Handovers — and the opt-in cumulative token budget.
170
+ */
171
+ declare const ExhaustedCapSchema: z.ZodEnum<{
172
+ retry: "retry";
173
+ nudge: "nudge";
174
+ iterations: "iterations";
175
+ handover: "handover";
176
+ tokens: "tokens";
177
+ }>;
178
+ type ExhaustedCap = z.infer<typeof ExhaustedCapSchema>;
179
+ /**
180
+ * Why a Run parked in `awaiting_attention` — the payload of a Needs-attention
181
+ * escalation. One of: a declared `NEEDS_HUMAN` marker (spelled
182
+ * `WORKFLOW_BLOCKED` before 0.6), an elicitation the agent raised
183
+ * (`AskUserQuestion`), a hard failure, or an exhausted cap/ceiling.
184
+ * Resolved by a human reply (`answer` for a question, `steer` otherwise),
185
+ * which resumes the intact Agent Session.
186
+ */
187
+ declare const InterruptionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
188
+ kind: z.ZodLiteral<"blocked">;
189
+ reason: z.ZodOptional<z.ZodString>;
190
+ message: z.ZodString;
191
+ }, z.core.$strip>, z.ZodObject<{
192
+ kind: z.ZodLiteral<"question">;
193
+ requestId: z.ZodOptional<z.ZodString>;
194
+ question: z.ZodOptional<z.ZodString>;
195
+ message: z.ZodString;
196
+ }, z.core.$strip>, z.ZodObject<{
197
+ kind: z.ZodLiteral<"hard_failure">;
198
+ code: z.ZodEnum<{
199
+ auth: "auth";
200
+ billing: "billing";
201
+ invalid_request: "invalid_request";
202
+ model_not_found: "model_not_found";
203
+ unclassified: "unclassified";
204
+ }>;
205
+ message: z.ZodString;
206
+ }, z.core.$strip>, z.ZodObject<{
207
+ kind: z.ZodLiteral<"cap_exhausted">;
208
+ cap: z.ZodEnum<{
209
+ retry: "retry";
210
+ nudge: "nudge";
211
+ iterations: "iterations";
212
+ handover: "handover";
213
+ tokens: "tokens";
214
+ }>;
215
+ limit: z.ZodOptional<z.ZodInt>;
216
+ resource: z.ZodOptional<z.ZodObject<{
217
+ cause: z.ZodEnum<{
218
+ iterations: "iterations";
219
+ tokens: "tokens";
220
+ context: "context";
221
+ restart: "restart";
222
+ }>;
223
+ limit: z.ZodNumber;
224
+ used: z.ZodNumber;
225
+ detail: z.ZodOptional<z.ZodString>;
226
+ checkpointPath: z.ZodOptional<z.ZodString>;
227
+ fresh: z.ZodBoolean;
228
+ }, z.core.$strip>>;
229
+ message: z.ZodString;
230
+ }, z.core.$strip>], "kind">;
231
+ type Interruption = z.infer<typeof InterruptionSchema>;
232
+ /**
233
+ * The requested shape of a Run, owned by the hub; the runner owns its
234
+ * realization. Every field is optional *on the wire* and unknown fields are
235
+ * kept (protocol §15): the runner's admission gate — not frame parsing — is
236
+ * where a missing `prompt` becomes a first-class `malformed_assignment`
237
+ * rejection, and orthogonal readers (artifact capture) read the raw spec.
238
+ */
239
+ declare const RunSpecSchema: z.ZodObject<{
240
+ prompt: z.ZodOptional<z.ZodString>;
241
+ athenaSessionId: z.ZodOptional<z.ZodString>;
242
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
243
+ sessionId: z.ZodOptional<z.ZodString>;
244
+ projectDir: z.ZodOptional<z.ZodString>;
245
+ workflow: z.ZodOptional<z.ZodObject<{
246
+ source: z.ZodOptional<z.ZodString>;
247
+ ref: z.ZodOptional<z.ZodString>;
248
+ version: z.ZodOptional<z.ZodString>;
249
+ }, z.core.$loose>>;
250
+ harness: z.ZodOptional<z.ZodString>;
251
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
252
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
253
+ /** Per-run callback channel minted by the hub; both or neither. */
254
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
255
+ callbackToken: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$loose>;
257
+ type RunSpec = z.infer<typeof RunSpecSchema>;
258
+ /** Typed semantic intent of a decision — the adapter maps it to hook output. */
259
+ declare const RuntimeIntentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
260
+ kind: z.ZodLiteral<"permission_allow">;
261
+ }, z.core.$strip>, z.ZodObject<{
262
+ kind: z.ZodLiteral<"permission_deny">;
263
+ reason: z.ZodString;
264
+ }, z.core.$strip>, z.ZodObject<{
265
+ kind: z.ZodLiteral<"question_answer">;
266
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
267
+ }, z.core.$strip>, z.ZodObject<{
268
+ kind: z.ZodLiteral<"pre_tool_allow">;
269
+ }, z.core.$strip>, z.ZodObject<{
270
+ kind: z.ZodLiteral<"pre_tool_deny">;
271
+ reason: z.ZodString;
272
+ }, z.core.$strip>, z.ZodObject<{
273
+ kind: z.ZodLiteral<"stop_block">;
274
+ reason: z.ZodString;
275
+ }, z.core.$strip>, z.ZodObject<{
276
+ kind: z.ZodLiteral<"compact_block">;
277
+ reason: z.ZodString;
278
+ }, z.core.$strip>], "kind">;
279
+ type RuntimeIntent = z.infer<typeof RuntimeIntentSchema>;
280
+ /**
281
+ * A delayed answer that resolves a prior runtime event needing user input
282
+ * (a permission request, a question). Correlated by `requestId` on the frame.
283
+ */
284
+ declare const RuntimeDecisionSchema: z.ZodObject<{
285
+ type: z.ZodEnum<{
286
+ passthrough: "passthrough";
287
+ block: "block";
288
+ json: "json";
289
+ }>;
290
+ source: z.ZodEnum<{
291
+ user: "user";
292
+ timeout: "timeout";
293
+ rule: "rule";
294
+ }>;
295
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
296
+ kind: z.ZodLiteral<"permission_allow">;
297
+ }, z.core.$strip>, z.ZodObject<{
298
+ kind: z.ZodLiteral<"permission_deny">;
299
+ reason: z.ZodString;
300
+ }, z.core.$strip>, z.ZodObject<{
301
+ kind: z.ZodLiteral<"question_answer">;
302
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
303
+ }, z.core.$strip>, z.ZodObject<{
304
+ kind: z.ZodLiteral<"pre_tool_allow">;
305
+ }, z.core.$strip>, z.ZodObject<{
306
+ kind: z.ZodLiteral<"pre_tool_deny">;
307
+ reason: z.ZodString;
308
+ }, z.core.$strip>, z.ZodObject<{
309
+ kind: z.ZodLiteral<"stop_block">;
310
+ reason: z.ZodString;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ kind: z.ZodLiteral<"compact_block">;
313
+ reason: z.ZodString;
314
+ }, z.core.$strip>], "kind">>;
315
+ reason: z.ZodOptional<z.ZodString>;
316
+ data: z.ZodOptional<z.ZodUnknown>;
317
+ }, z.core.$strip>;
318
+ type RuntimeDecision = z.infer<typeof RuntimeDecisionSchema>;
319
+ /**
320
+ * The binding between a paired runner instance and one hub-side runner.
321
+ * Owned by the hub; the runner only mirrors it.
322
+ */
323
+ declare const AttachmentSchema: z.ZodObject<{
324
+ runnerId: z.ZodString;
325
+ name: z.ZodOptional<z.ZodString>;
326
+ slug: z.ZodOptional<z.ZodString>;
327
+ executionTarget: z.ZodOptional<z.ZodString>;
328
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
329
+ }, z.core.$strip>;
330
+ type Attachment = z.infer<typeof AttachmentSchema>;
331
+ /**
332
+ * Where an installed Workflow came from, as the runner's Workflow store
333
+ * records it: shipped with the CLI (`builtin`), installed from a remote
334
+ * marketplace (`marketplace-remote`, by ref), from a marketplace checkout on
335
+ * disk (`marketplace-local`), copied from a path (`filesystem`), or installed
336
+ * by a CLI that did not record a source (`unknown`).
337
+ */
338
+ declare const InstalledWorkflowSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
339
+ kind: z.ZodLiteral<"builtin">;
340
+ }, z.core.$strip>, z.ZodObject<{
341
+ kind: z.ZodLiteral<"marketplace-remote">;
342
+ ref: z.ZodString;
343
+ }, z.core.$strip>, z.ZodObject<{
344
+ kind: z.ZodLiteral<"marketplace-local">;
345
+ repoDir: z.ZodString;
346
+ workflowName: z.ZodString;
347
+ }, z.core.$strip>, z.ZodObject<{
348
+ kind: z.ZodLiteral<"filesystem">;
349
+ path: z.ZodString;
350
+ }, z.core.$strip>, z.ZodObject<{
351
+ kind: z.ZodLiteral<"unknown">;
352
+ }, z.core.$strip>], "kind">;
353
+ type InstalledWorkflowSource = z.infer<typeof InstalledWorkflowSourceSchema>;
354
+ /**
355
+ * One Workflow a runner can run: reported on the runner's `hello` and
356
+ * replaced wholesale by `workflows.changed` (protocol §17.4). `version` is
357
+ * absent when the Workflow declares none.
358
+ */
359
+ declare const InstalledWorkflowSchema: z.ZodObject<{
360
+ name: z.ZodString;
361
+ version: z.ZodOptional<z.ZodString>;
362
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
363
+ kind: z.ZodLiteral<"builtin">;
364
+ }, z.core.$strip>, z.ZodObject<{
365
+ kind: z.ZodLiteral<"marketplace-remote">;
366
+ ref: z.ZodString;
367
+ }, z.core.$strip>, z.ZodObject<{
368
+ kind: z.ZodLiteral<"marketplace-local">;
369
+ repoDir: z.ZodString;
370
+ workflowName: z.ZodString;
371
+ }, z.core.$strip>, z.ZodObject<{
372
+ kind: z.ZodLiteral<"filesystem">;
373
+ path: z.ZodString;
374
+ }, z.core.$strip>, z.ZodObject<{
375
+ kind: z.ZodLiteral<"unknown">;
376
+ }, z.core.$strip>], "kind">;
377
+ }, z.core.$strip>;
378
+ type InstalledWorkflow = z.infer<typeof InstalledWorkflowSchema>;
379
+ /** Why a runner declined a delivered assignment (protocol §10). */
380
+ declare const AssignmentRejectedReasonSchema: z.ZodEnum<{
381
+ local_capacity: "local_capacity";
382
+ duplicate: "duplicate";
383
+ malformed_assignment: "malformed_assignment";
384
+ workspace_unresolved: "workspace_unresolved";
385
+ workspace_invalid: "workspace_invalid";
386
+ }>;
387
+ type AssignmentRejectedReason = z.infer<typeof AssignmentRejectedReasonSchema>;
388
+
389
+ /**
390
+ * The event stream shapes (protocol §11): the canonical FeedEvent channel and
391
+ * the compatibility run-event channel. Both ride the `event` frame,
392
+ * discriminated by `stream`.
393
+ */
394
+
395
+ /**
396
+ * One event on the compatibility per-Run stream: `kind` is the runner's
397
+ * coarse progress vocabulary (`progress`, `warning`, `error`, `stderr`,
398
+ * `completion`, or a headless exec event type) and `payload` is free-form.
399
+ * Not the canonical session feed; see `FeedEnvelopeSchema`.
400
+ */
401
+ declare const RunStreamEventSchema: z.ZodObject<{
402
+ runId: z.ZodString;
403
+ seq: z.ZodInt;
404
+ ts: z.ZodNumber;
405
+ kind: z.ZodString;
406
+ payload: z.ZodOptional<z.ZodUnknown>;
407
+ }, z.core.$strip>;
408
+ type RunStreamEvent = z.infer<typeof RunStreamEventSchema>;
409
+ declare const FeedEventLevelSchema: z.ZodEnum<{
410
+ error: "error";
411
+ debug: "debug";
412
+ info: "info";
413
+ warn: "warn";
414
+ }>;
415
+ type FeedEventLevel = z.infer<typeof FeedEventLevelSchema>;
416
+ declare const FeedEventCauseSchema: z.ZodObject<{
417
+ parent_event_id: z.ZodOptional<z.ZodString>;
418
+ hook_request_id: z.ZodOptional<z.ZodString>;
419
+ tool_use_id: z.ZodOptional<z.ZodString>;
420
+ transcript_path: z.ZodOptional<z.ZodString>;
421
+ }, z.core.$strip>;
422
+ type FeedEventCause = z.infer<typeof FeedEventCauseSchema>;
423
+ /**
424
+ * A timeline-ready FeedEvent as the feed-pipeline context defines it
425
+ * (CONTEXT.md): stable `event_id`, canonical `seq`, a Feed Run `run_id`, an
426
+ * `actor_id`, a `kind`, and kind-specific `data`. The per-kind `data` shapes
427
+ * are owned by the feed pipeline and carried opaquely here; extra fields are
428
+ * kept so a newer runner's events survive an older hub's parse.
429
+ */
430
+ declare const FeedEventSchema: z.ZodObject<{
431
+ event_id: z.ZodString;
432
+ seq: z.ZodInt;
433
+ ts: z.ZodNumber;
434
+ session_id: z.ZodString;
435
+ /** A Feed Run id (`{session_id}:R{n}`) — unrelated to a Workflow Run id. */
436
+ run_id: z.ZodString;
437
+ prompt_id: z.ZodOptional<z.ZodString>;
438
+ effort_level: z.ZodOptional<z.ZodString>;
439
+ kind: z.ZodString;
440
+ level: z.ZodEnum<{
441
+ error: "error";
442
+ debug: "debug";
443
+ info: "info";
444
+ warn: "warn";
445
+ }>;
446
+ actor_id: z.ZodString;
447
+ cause: z.ZodOptional<z.ZodObject<{
448
+ parent_event_id: z.ZodOptional<z.ZodString>;
449
+ hook_request_id: z.ZodOptional<z.ZodString>;
450
+ tool_use_id: z.ZodOptional<z.ZodString>;
451
+ transcript_path: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strip>>;
453
+ title: z.ZodString;
454
+ body: z.ZodOptional<z.ZodString>;
455
+ ui: z.ZodOptional<z.ZodObject<{
456
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
457
+ pin: z.ZodOptional<z.ZodBoolean>;
458
+ badge: z.ZodOptional<z.ZodString>;
459
+ }, z.core.$strip>>;
460
+ display: z.ZodOptional<z.ZodObject<{
461
+ title: z.ZodOptional<z.ZodString>;
462
+ }, z.core.$strip>>;
463
+ data: z.ZodUnknown;
464
+ raw: z.ZodOptional<z.ZodUnknown>;
465
+ }, z.core.$loose>;
466
+ type FeedEvent = z.infer<typeof FeedEventSchema>;
467
+ /** The FeedEvent `kind` a phase event is published under. */
468
+ declare const PHASE_FEED_EVENT_KIND: "phase";
469
+ /**
470
+ * The step a Workflow Run is on, as the Turn Protocol block in the Journal
471
+ * names it (`<!-- TURN_PROTOCOL … -->`, ADR 0015 §7). The runner emits one
472
+ * per *change* of step — a Turn still on the same step emits none — so the
473
+ * stream reads as the Run's progress through its workflow, not as a
474
+ * per-Turn heartbeat. `stepIndex` / `stepTotal` are present only when the
475
+ * block declared them.
476
+ */
477
+ declare const PhaseEventSchema: z.ZodObject<{
478
+ runId: z.ZodString;
479
+ turn: z.ZodInt;
480
+ step: z.ZodString;
481
+ stepIndex: z.ZodOptional<z.ZodInt>;
482
+ stepTotal: z.ZodOptional<z.ZodInt>;
483
+ }, z.core.$strip>;
484
+ type PhaseEvent = z.infer<typeof PhaseEventSchema>;
485
+ /** A FeedEvent of kind `phase` whose `data` is a {@link PhaseEvent}. */
486
+ declare const PhaseFeedEventSchema: z.ZodObject<{
487
+ event_id: z.ZodString;
488
+ seq: z.ZodInt;
489
+ ts: z.ZodNumber;
490
+ session_id: z.ZodString;
491
+ run_id: z.ZodString;
492
+ prompt_id: z.ZodOptional<z.ZodString>;
493
+ effort_level: z.ZodOptional<z.ZodString>;
494
+ level: z.ZodEnum<{
495
+ error: "error";
496
+ debug: "debug";
497
+ info: "info";
498
+ warn: "warn";
499
+ }>;
500
+ actor_id: z.ZodString;
501
+ cause: z.ZodOptional<z.ZodObject<{
502
+ parent_event_id: z.ZodOptional<z.ZodString>;
503
+ hook_request_id: z.ZodOptional<z.ZodString>;
504
+ tool_use_id: z.ZodOptional<z.ZodString>;
505
+ transcript_path: z.ZodOptional<z.ZodString>;
506
+ }, z.core.$strip>>;
507
+ title: z.ZodString;
508
+ body: z.ZodOptional<z.ZodString>;
509
+ ui: z.ZodOptional<z.ZodObject<{
510
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
511
+ pin: z.ZodOptional<z.ZodBoolean>;
512
+ badge: z.ZodOptional<z.ZodString>;
513
+ }, z.core.$strip>>;
514
+ display: z.ZodOptional<z.ZodObject<{
515
+ title: z.ZodOptional<z.ZodString>;
516
+ }, z.core.$strip>>;
517
+ raw: z.ZodOptional<z.ZodUnknown>;
518
+ kind: z.ZodLiteral<"phase">;
519
+ data: z.ZodObject<{
520
+ runId: z.ZodString;
521
+ turn: z.ZodInt;
522
+ step: z.ZodString;
523
+ stepIndex: z.ZodOptional<z.ZodInt>;
524
+ stepTotal: z.ZodOptional<z.ZodInt>;
525
+ }, z.core.$strip>;
526
+ }, z.core.$loose>;
527
+ type PhaseFeedEvent = z.infer<typeof PhaseFeedEventSchema>;
528
+ declare const FeedOriginSchema: z.ZodEnum<{
529
+ local: "local";
530
+ dashboard: "dashboard";
531
+ }>;
532
+ type FeedOrigin = z.infer<typeof FeedOriginSchema>;
533
+ /**
534
+ * A FeedEvent addressed for the hub: who emitted it, which Athena Session and
535
+ * Workflow Run it belongs to, and the identity the hub dedupes on
536
+ * (`instanceId`, `eventId`). `feedSeq` is the canonical display order.
537
+ */
538
+ declare const FeedEnvelopeSchema: z.ZodObject<{
539
+ instanceId: z.ZodString;
540
+ athenaSessionId: z.ZodString;
541
+ runId: z.ZodString;
542
+ origin: z.ZodEnum<{
543
+ local: "local";
544
+ dashboard: "dashboard";
545
+ }>;
546
+ eventId: z.ZodString;
547
+ feedSeq: z.ZodInt;
548
+ emittedAt: z.ZodNumber;
549
+ feedEvent: z.ZodObject<{
550
+ event_id: z.ZodString;
551
+ seq: z.ZodInt;
552
+ ts: z.ZodNumber;
553
+ session_id: z.ZodString;
554
+ /** A Feed Run id (`{session_id}:R{n}`) — unrelated to a Workflow Run id. */
555
+ run_id: z.ZodString;
556
+ prompt_id: z.ZodOptional<z.ZodString>;
557
+ effort_level: z.ZodOptional<z.ZodString>;
558
+ kind: z.ZodString;
559
+ level: z.ZodEnum<{
560
+ error: "error";
561
+ debug: "debug";
562
+ info: "info";
563
+ warn: "warn";
564
+ }>;
565
+ actor_id: z.ZodString;
566
+ cause: z.ZodOptional<z.ZodObject<{
567
+ parent_event_id: z.ZodOptional<z.ZodString>;
568
+ hook_request_id: z.ZodOptional<z.ZodString>;
569
+ tool_use_id: z.ZodOptional<z.ZodString>;
570
+ transcript_path: z.ZodOptional<z.ZodString>;
571
+ }, z.core.$strip>>;
572
+ title: z.ZodString;
573
+ body: z.ZodOptional<z.ZodString>;
574
+ ui: z.ZodOptional<z.ZodObject<{
575
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
576
+ pin: z.ZodOptional<z.ZodBoolean>;
577
+ badge: z.ZodOptional<z.ZodString>;
578
+ }, z.core.$strip>>;
579
+ display: z.ZodOptional<z.ZodObject<{
580
+ title: z.ZodOptional<z.ZodString>;
581
+ }, z.core.$strip>>;
582
+ data: z.ZodUnknown;
583
+ raw: z.ZodOptional<z.ZodUnknown>;
584
+ }, z.core.$loose>;
585
+ }, z.core.$strip>;
586
+ type FeedEnvelope = z.infer<typeof FeedEnvelopeSchema>;
587
+
588
+ /**
589
+ * Instance-socket frames — the control plane between a runner and the hub.
590
+ *
591
+ * Two name sets are accepted side by side. The **legacy** names are what the
592
+ * CLI emits and consumes today; the **canonical** names are the target
593
+ * vocabulary of the one-protocol migration. A frame body is defined once and
594
+ * shared by both names, so the only difference between a legacy frame and its
595
+ * canonical twin is `type` (and, for `event`, the added `stream`
596
+ * discriminator). `normalize.ts` owns the mapping between them.
597
+ */
598
+
599
+ declare const PingFrameSchema: z.ZodObject<{
600
+ type: z.ZodLiteral<"ping">;
601
+ ts: z.ZodNumber;
602
+ }, z.core.$strip>;
603
+ declare const PongFrameSchema: z.ZodObject<{
604
+ type: z.ZodLiteral<"pong">;
605
+ ts: z.ZodNumber;
606
+ }, z.core.$strip>;
607
+ declare const AssignmentAcceptedFrameSchema: z.ZodObject<{
608
+ type: z.ZodLiteral<"assignment_accepted">;
609
+ runId: z.ZodString;
610
+ }, z.core.$strip>;
611
+ declare const AssignmentRejectedFrameSchema: z.ZodObject<{
612
+ type: z.ZodLiteral<"assignment_rejected">;
613
+ runId: z.ZodString;
614
+ reason: z.ZodEnum<{
615
+ local_capacity: "local_capacity";
616
+ duplicate: "duplicate";
617
+ malformed_assignment: "malformed_assignment";
618
+ workspace_unresolved: "workspace_unresolved";
619
+ workspace_invalid: "workspace_invalid";
620
+ }>;
621
+ message: z.ZodOptional<z.ZodString>;
622
+ }, z.core.$strip>;
623
+ declare const DecisionAckFrameSchema: z.ZodObject<{
624
+ type: z.ZodLiteral<"decision_ack">;
625
+ athenaSessionId: z.ZodString;
626
+ requestId: z.ZodString;
627
+ }, z.core.$strip>;
628
+ declare const FeedAckFrameSchema: z.ZodObject<{
629
+ type: z.ZodLiteral<"feed_ack">;
630
+ deliverySeq: z.ZodOptional<z.ZodInt>;
631
+ eventId: z.ZodOptional<z.ZodString>;
632
+ }, z.core.$strip>;
633
+ /** Full-list replace of the runner's Attachment mirror (protocol §7). */
634
+ declare const AttachmentsChangedFrameSchema: z.ZodObject<{
635
+ type: z.ZodLiteral<"attachments.changed">;
636
+ attachments: z.ZodArray<z.ZodObject<{
637
+ runnerId: z.ZodString;
638
+ name: z.ZodOptional<z.ZodString>;
639
+ slug: z.ZodOptional<z.ZodString>;
640
+ executionTarget: z.ZodOptional<z.ZodString>;
641
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
642
+ }, z.core.$strip>>;
643
+ }, z.core.$strip>;
644
+ declare const ErrorFrameSchema: z.ZodObject<{
645
+ type: z.ZodLiteral<"error">;
646
+ code: z.ZodString;
647
+ message: z.ZodOptional<z.ZodString>;
648
+ }, z.core.$strip>;
649
+ declare const JobAssignmentFrameSchema: z.ZodObject<{
650
+ runId: z.ZodString;
651
+ runSpec: z.ZodOptional<z.ZodObject<{
652
+ prompt: z.ZodOptional<z.ZodString>;
653
+ athenaSessionId: z.ZodOptional<z.ZodString>;
654
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
655
+ sessionId: z.ZodOptional<z.ZodString>;
656
+ projectDir: z.ZodOptional<z.ZodString>;
657
+ workflow: z.ZodOptional<z.ZodObject<{
658
+ source: z.ZodOptional<z.ZodString>;
659
+ ref: z.ZodOptional<z.ZodString>;
660
+ version: z.ZodOptional<z.ZodString>;
661
+ }, z.core.$loose>>;
662
+ harness: z.ZodOptional<z.ZodString>;
663
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
664
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
665
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
666
+ callbackToken: z.ZodOptional<z.ZodString>;
667
+ }, z.core.$loose>>;
668
+ runnerId: z.ZodOptional<z.ZodString>;
669
+ type: z.ZodLiteral<"job_assignment">;
670
+ }, z.core.$strip>;
671
+ declare const DashboardDecisionFrameSchema: z.ZodObject<{
672
+ athenaSessionId: z.ZodString;
673
+ requestId: z.ZodString;
674
+ decision: z.ZodObject<{
675
+ type: z.ZodEnum<{
676
+ passthrough: "passthrough";
677
+ block: "block";
678
+ json: "json";
679
+ }>;
680
+ source: z.ZodEnum<{
681
+ user: "user";
682
+ timeout: "timeout";
683
+ rule: "rule";
684
+ }>;
685
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
686
+ kind: z.ZodLiteral<"permission_allow">;
687
+ }, z.core.$strip>, z.ZodObject<{
688
+ kind: z.ZodLiteral<"permission_deny">;
689
+ reason: z.ZodString;
690
+ }, z.core.$strip>, z.ZodObject<{
691
+ kind: z.ZodLiteral<"question_answer">;
692
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
693
+ }, z.core.$strip>, z.ZodObject<{
694
+ kind: z.ZodLiteral<"pre_tool_allow">;
695
+ }, z.core.$strip>, z.ZodObject<{
696
+ kind: z.ZodLiteral<"pre_tool_deny">;
697
+ reason: z.ZodString;
698
+ }, z.core.$strip>, z.ZodObject<{
699
+ kind: z.ZodLiteral<"stop_block">;
700
+ reason: z.ZodString;
701
+ }, z.core.$strip>, z.ZodObject<{
702
+ kind: z.ZodLiteral<"compact_block">;
703
+ reason: z.ZodString;
704
+ }, z.core.$strip>], "kind">>;
705
+ reason: z.ZodOptional<z.ZodString>;
706
+ data: z.ZodOptional<z.ZodUnknown>;
707
+ }, z.core.$strip>;
708
+ type: z.ZodLiteral<"dashboard_decision">;
709
+ }, z.core.$strip>;
710
+ declare const CancelFrameSchema: z.ZodObject<{
711
+ runId: z.ZodString;
712
+ runnerId: z.ZodOptional<z.ZodString>;
713
+ type: z.ZodLiteral<"cancel">;
714
+ }, z.core.$strip>;
715
+ declare const RunEventFrameSchema: z.ZodObject<{
716
+ runId: z.ZodString;
717
+ seq: z.ZodInt;
718
+ ts: z.ZodNumber;
719
+ kind: z.ZodString;
720
+ payload: z.ZodOptional<z.ZodUnknown>;
721
+ type: z.ZodLiteral<"run_event">;
722
+ }, z.core.$strip>;
723
+ declare const FeedEventFrameSchema: z.ZodObject<{
724
+ type: z.ZodLiteral<"feed_event">;
725
+ deliverySeq: z.ZodInt;
726
+ envelope: z.ZodObject<{
727
+ instanceId: z.ZodString;
728
+ athenaSessionId: z.ZodString;
729
+ runId: z.ZodString;
730
+ origin: z.ZodEnum<{
731
+ local: "local";
732
+ dashboard: "dashboard";
733
+ }>;
734
+ eventId: z.ZodString;
735
+ feedSeq: z.ZodInt;
736
+ emittedAt: z.ZodNumber;
737
+ feedEvent: z.ZodObject<{
738
+ event_id: z.ZodString;
739
+ seq: z.ZodInt;
740
+ ts: z.ZodNumber;
741
+ session_id: z.ZodString;
742
+ run_id: z.ZodString;
743
+ prompt_id: z.ZodOptional<z.ZodString>;
744
+ effort_level: z.ZodOptional<z.ZodString>;
745
+ kind: z.ZodString;
746
+ level: z.ZodEnum<{
747
+ error: "error";
748
+ debug: "debug";
749
+ info: "info";
750
+ warn: "warn";
751
+ }>;
752
+ actor_id: z.ZodString;
753
+ cause: z.ZodOptional<z.ZodObject<{
754
+ parent_event_id: z.ZodOptional<z.ZodString>;
755
+ hook_request_id: z.ZodOptional<z.ZodString>;
756
+ tool_use_id: z.ZodOptional<z.ZodString>;
757
+ transcript_path: z.ZodOptional<z.ZodString>;
758
+ }, z.core.$strip>>;
759
+ title: z.ZodString;
760
+ body: z.ZodOptional<z.ZodString>;
761
+ ui: z.ZodOptional<z.ZodObject<{
762
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
763
+ pin: z.ZodOptional<z.ZodBoolean>;
764
+ badge: z.ZodOptional<z.ZodString>;
765
+ }, z.core.$strip>>;
766
+ display: z.ZodOptional<z.ZodObject<{
767
+ title: z.ZodOptional<z.ZodString>;
768
+ }, z.core.$strip>>;
769
+ data: z.ZodUnknown;
770
+ raw: z.ZodOptional<z.ZodUnknown>;
771
+ }, z.core.$loose>;
772
+ }, z.core.$strip>;
773
+ }, z.core.$strip>;
774
+ /**
775
+ * First frame either side sends: the protocol version it speaks, its role,
776
+ * and what it is. A receiver that sees a `protocolVersion` it does not speak
777
+ * replies with an `error` and closes.
778
+ *
779
+ * A runner's hello also carries `workflows`: every Workflow installed on that
780
+ * machine (protocol §17.4), so the hub knows what the runner can run. A hub's
781
+ * hello omits it.
782
+ */
783
+ declare const HelloFrameSchema: z.ZodObject<{
784
+ type: z.ZodLiteral<"hello">;
785
+ protocolVersion: z.ZodInt;
786
+ role: z.ZodOptional<z.ZodEnum<{
787
+ runner: "runner";
788
+ hub: "hub";
789
+ }>>;
790
+ instanceId: z.ZodOptional<z.ZodString>;
791
+ agent: z.ZodOptional<z.ZodObject<{
792
+ name: z.ZodString;
793
+ version: z.ZodOptional<z.ZodString>;
794
+ }, z.core.$strip>>;
795
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
796
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
797
+ name: z.ZodString;
798
+ version: z.ZodOptional<z.ZodString>;
799
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
800
+ kind: z.ZodLiteral<"builtin">;
801
+ }, z.core.$strip>, z.ZodObject<{
802
+ kind: z.ZodLiteral<"marketplace-remote">;
803
+ ref: z.ZodString;
804
+ }, z.core.$strip>, z.ZodObject<{
805
+ kind: z.ZodLiteral<"marketplace-local">;
806
+ repoDir: z.ZodString;
807
+ workflowName: z.ZodString;
808
+ }, z.core.$strip>, z.ZodObject<{
809
+ kind: z.ZodLiteral<"filesystem">;
810
+ path: z.ZodString;
811
+ }, z.core.$strip>, z.ZodObject<{
812
+ kind: z.ZodLiteral<"unknown">;
813
+ }, z.core.$strip>], "kind">;
814
+ }, z.core.$strip>>>;
815
+ }, z.core.$strip>;
816
+ /**
817
+ * Full-list replace of the runner's installed Workflows (protocol §17.4):
818
+ * sent by the runner whenever its Workflow store changes while connected.
819
+ * `hello` carries the list on connect; this frame keeps it current. Mirrors
820
+ * the semantics of `attachments.changed` in the other direction.
821
+ */
822
+ declare const WorkflowsChangedFrameSchema: z.ZodObject<{
823
+ type: z.ZodLiteral<"workflows.changed">;
824
+ workflows: z.ZodArray<z.ZodObject<{
825
+ name: z.ZodString;
826
+ version: z.ZodOptional<z.ZodString>;
827
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
828
+ kind: z.ZodLiteral<"builtin">;
829
+ }, z.core.$strip>, z.ZodObject<{
830
+ kind: z.ZodLiteral<"marketplace-remote">;
831
+ ref: z.ZodString;
832
+ }, z.core.$strip>, z.ZodObject<{
833
+ kind: z.ZodLiteral<"marketplace-local">;
834
+ repoDir: z.ZodString;
835
+ workflowName: z.ZodString;
836
+ }, z.core.$strip>, z.ZodObject<{
837
+ kind: z.ZodLiteral<"filesystem">;
838
+ path: z.ZodString;
839
+ }, z.core.$strip>, z.ZodObject<{
840
+ kind: z.ZodLiteral<"unknown">;
841
+ }, z.core.$strip>], "kind">;
842
+ }, z.core.$strip>>;
843
+ }, z.core.$strip>;
844
+ declare const RunStartFrameSchema: z.ZodObject<{
845
+ runId: z.ZodString;
846
+ runSpec: z.ZodOptional<z.ZodObject<{
847
+ prompt: z.ZodOptional<z.ZodString>;
848
+ athenaSessionId: z.ZodOptional<z.ZodString>;
849
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
850
+ sessionId: z.ZodOptional<z.ZodString>;
851
+ projectDir: z.ZodOptional<z.ZodString>;
852
+ workflow: z.ZodOptional<z.ZodObject<{
853
+ source: z.ZodOptional<z.ZodString>;
854
+ ref: z.ZodOptional<z.ZodString>;
855
+ version: z.ZodOptional<z.ZodString>;
856
+ }, z.core.$loose>>;
857
+ harness: z.ZodOptional<z.ZodString>;
858
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
859
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
860
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
861
+ callbackToken: z.ZodOptional<z.ZodString>;
862
+ }, z.core.$loose>>;
863
+ runnerId: z.ZodOptional<z.ZodString>;
864
+ type: z.ZodLiteral<"run.start">;
865
+ }, z.core.$strip>;
866
+ declare const AnswerFrameSchema: z.ZodObject<{
867
+ athenaSessionId: z.ZodString;
868
+ requestId: z.ZodString;
869
+ decision: z.ZodObject<{
870
+ type: z.ZodEnum<{
871
+ passthrough: "passthrough";
872
+ block: "block";
873
+ json: "json";
874
+ }>;
875
+ source: z.ZodEnum<{
876
+ user: "user";
877
+ timeout: "timeout";
878
+ rule: "rule";
879
+ }>;
880
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
881
+ kind: z.ZodLiteral<"permission_allow">;
882
+ }, z.core.$strip>, z.ZodObject<{
883
+ kind: z.ZodLiteral<"permission_deny">;
884
+ reason: z.ZodString;
885
+ }, z.core.$strip>, z.ZodObject<{
886
+ kind: z.ZodLiteral<"question_answer">;
887
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
888
+ }, z.core.$strip>, z.ZodObject<{
889
+ kind: z.ZodLiteral<"pre_tool_allow">;
890
+ }, z.core.$strip>, z.ZodObject<{
891
+ kind: z.ZodLiteral<"pre_tool_deny">;
892
+ reason: z.ZodString;
893
+ }, z.core.$strip>, z.ZodObject<{
894
+ kind: z.ZodLiteral<"stop_block">;
895
+ reason: z.ZodString;
896
+ }, z.core.$strip>, z.ZodObject<{
897
+ kind: z.ZodLiteral<"compact_block">;
898
+ reason: z.ZodString;
899
+ }, z.core.$strip>], "kind">>;
900
+ reason: z.ZodOptional<z.ZodString>;
901
+ data: z.ZodOptional<z.ZodUnknown>;
902
+ }, z.core.$strip>;
903
+ type: z.ZodLiteral<"answer">;
904
+ }, z.core.$strip>;
905
+ declare const StopFrameSchema: z.ZodObject<{
906
+ runId: z.ZodString;
907
+ runnerId: z.ZodOptional<z.ZodString>;
908
+ type: z.ZodLiteral<"stop">;
909
+ }, z.core.$strip>;
910
+ /**
911
+ * A human turn text sent into a Run: wakes a Run parked in
912
+ * `awaiting_attention` (resuming the intact Agent Session with the text) or
913
+ * is carried into the next Turn of a running one.
914
+ */
915
+ declare const SteerFrameSchema: z.ZodObject<{
916
+ type: z.ZodLiteral<"steer">;
917
+ runId: z.ZodString;
918
+ athenaSessionId: z.ZodOptional<z.ZodString>;
919
+ text: z.ZodString;
920
+ }, z.core.$strip>;
921
+ /** A Run parking in `awaiting_attention` with the Interruption that caused it. */
922
+ declare const NeedsHumanFrameSchema: z.ZodObject<{
923
+ type: z.ZodLiteral<"needs_human">;
924
+ runId: z.ZodString;
925
+ athenaSessionId: z.ZodOptional<z.ZodString>;
926
+ interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
927
+ kind: z.ZodLiteral<"blocked">;
928
+ reason: z.ZodOptional<z.ZodString>;
929
+ message: z.ZodString;
930
+ }, z.core.$strip>, z.ZodObject<{
931
+ kind: z.ZodLiteral<"question">;
932
+ requestId: z.ZodOptional<z.ZodString>;
933
+ question: z.ZodOptional<z.ZodString>;
934
+ message: z.ZodString;
935
+ }, z.core.$strip>, z.ZodObject<{
936
+ kind: z.ZodLiteral<"hard_failure">;
937
+ code: z.ZodEnum<{
938
+ auth: "auth";
939
+ billing: "billing";
940
+ invalid_request: "invalid_request";
941
+ model_not_found: "model_not_found";
942
+ unclassified: "unclassified";
943
+ }>;
944
+ message: z.ZodString;
945
+ }, z.core.$strip>, z.ZodObject<{
946
+ kind: z.ZodLiteral<"cap_exhausted">;
947
+ cap: z.ZodEnum<{
948
+ retry: "retry";
949
+ nudge: "nudge";
950
+ iterations: "iterations";
951
+ handover: "handover";
952
+ tokens: "tokens";
953
+ }>;
954
+ limit: z.ZodOptional<z.ZodInt>;
955
+ resource: z.ZodOptional<z.ZodObject<{
956
+ cause: z.ZodEnum<{
957
+ iterations: "iterations";
958
+ tokens: "tokens";
959
+ context: "context";
960
+ restart: "restart";
961
+ }>;
962
+ limit: z.ZodNumber;
963
+ used: z.ZodNumber;
964
+ detail: z.ZodOptional<z.ZodString>;
965
+ checkpointPath: z.ZodOptional<z.ZodString>;
966
+ fresh: z.ZodBoolean;
967
+ }, z.core.$strip>>;
968
+ message: z.ZodString;
969
+ }, z.core.$strip>], "kind">;
970
+ }, z.core.$strip>;
971
+ declare const RunStreamEventFrameSchema: z.ZodObject<{
972
+ runId: z.ZodString;
973
+ seq: z.ZodInt;
974
+ ts: z.ZodNumber;
975
+ kind: z.ZodString;
976
+ payload: z.ZodOptional<z.ZodUnknown>;
977
+ type: z.ZodLiteral<"event">;
978
+ stream: z.ZodLiteral<"run">;
979
+ }, z.core.$strip>;
980
+ declare const FeedStreamEventFrameSchema: z.ZodObject<{
981
+ type: z.ZodLiteral<"event">;
982
+ stream: z.ZodLiteral<"feed">;
983
+ deliverySeq: z.ZodInt;
984
+ envelope: z.ZodObject<{
985
+ instanceId: z.ZodString;
986
+ athenaSessionId: z.ZodString;
987
+ runId: z.ZodString;
988
+ origin: z.ZodEnum<{
989
+ local: "local";
990
+ dashboard: "dashboard";
991
+ }>;
992
+ eventId: z.ZodString;
993
+ feedSeq: z.ZodInt;
994
+ emittedAt: z.ZodNumber;
995
+ feedEvent: z.ZodObject<{
996
+ event_id: z.ZodString;
997
+ seq: z.ZodInt;
998
+ ts: z.ZodNumber;
999
+ session_id: z.ZodString;
1000
+ run_id: z.ZodString;
1001
+ prompt_id: z.ZodOptional<z.ZodString>;
1002
+ effort_level: z.ZodOptional<z.ZodString>;
1003
+ kind: z.ZodString;
1004
+ level: z.ZodEnum<{
1005
+ error: "error";
1006
+ debug: "debug";
1007
+ info: "info";
1008
+ warn: "warn";
1009
+ }>;
1010
+ actor_id: z.ZodString;
1011
+ cause: z.ZodOptional<z.ZodObject<{
1012
+ parent_event_id: z.ZodOptional<z.ZodString>;
1013
+ hook_request_id: z.ZodOptional<z.ZodString>;
1014
+ tool_use_id: z.ZodOptional<z.ZodString>;
1015
+ transcript_path: z.ZodOptional<z.ZodString>;
1016
+ }, z.core.$strip>>;
1017
+ title: z.ZodString;
1018
+ body: z.ZodOptional<z.ZodString>;
1019
+ ui: z.ZodOptional<z.ZodObject<{
1020
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1021
+ pin: z.ZodOptional<z.ZodBoolean>;
1022
+ badge: z.ZodOptional<z.ZodString>;
1023
+ }, z.core.$strip>>;
1024
+ display: z.ZodOptional<z.ZodObject<{
1025
+ title: z.ZodOptional<z.ZodString>;
1026
+ }, z.core.$strip>>;
1027
+ data: z.ZodUnknown;
1028
+ raw: z.ZodOptional<z.ZodUnknown>;
1029
+ }, z.core.$loose>;
1030
+ }, z.core.$strip>;
1031
+ }, z.core.$strip>;
1032
+ /** `run_event` and `feed_event` under one name, discriminated by `stream`. */
1033
+ declare const EventFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1034
+ runId: z.ZodString;
1035
+ seq: z.ZodInt;
1036
+ ts: z.ZodNumber;
1037
+ kind: z.ZodString;
1038
+ payload: z.ZodOptional<z.ZodUnknown>;
1039
+ type: z.ZodLiteral<"event">;
1040
+ stream: z.ZodLiteral<"run">;
1041
+ }, z.core.$strip>, z.ZodObject<{
1042
+ type: z.ZodLiteral<"event">;
1043
+ stream: z.ZodLiteral<"feed">;
1044
+ deliverySeq: z.ZodInt;
1045
+ envelope: z.ZodObject<{
1046
+ instanceId: z.ZodString;
1047
+ athenaSessionId: z.ZodString;
1048
+ runId: z.ZodString;
1049
+ origin: z.ZodEnum<{
1050
+ local: "local";
1051
+ dashboard: "dashboard";
1052
+ }>;
1053
+ eventId: z.ZodString;
1054
+ feedSeq: z.ZodInt;
1055
+ emittedAt: z.ZodNumber;
1056
+ feedEvent: z.ZodObject<{
1057
+ event_id: z.ZodString;
1058
+ seq: z.ZodInt;
1059
+ ts: z.ZodNumber;
1060
+ session_id: z.ZodString;
1061
+ run_id: z.ZodString;
1062
+ prompt_id: z.ZodOptional<z.ZodString>;
1063
+ effort_level: z.ZodOptional<z.ZodString>;
1064
+ kind: z.ZodString;
1065
+ level: z.ZodEnum<{
1066
+ error: "error";
1067
+ debug: "debug";
1068
+ info: "info";
1069
+ warn: "warn";
1070
+ }>;
1071
+ actor_id: z.ZodString;
1072
+ cause: z.ZodOptional<z.ZodObject<{
1073
+ parent_event_id: z.ZodOptional<z.ZodString>;
1074
+ hook_request_id: z.ZodOptional<z.ZodString>;
1075
+ tool_use_id: z.ZodOptional<z.ZodString>;
1076
+ transcript_path: z.ZodOptional<z.ZodString>;
1077
+ }, z.core.$strip>>;
1078
+ title: z.ZodString;
1079
+ body: z.ZodOptional<z.ZodString>;
1080
+ ui: z.ZodOptional<z.ZodObject<{
1081
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1082
+ pin: z.ZodOptional<z.ZodBoolean>;
1083
+ badge: z.ZodOptional<z.ZodString>;
1084
+ }, z.core.$strip>>;
1085
+ display: z.ZodOptional<z.ZodObject<{
1086
+ title: z.ZodOptional<z.ZodString>;
1087
+ }, z.core.$strip>>;
1088
+ data: z.ZodUnknown;
1089
+ raw: z.ZodOptional<z.ZodUnknown>;
1090
+ }, z.core.$loose>;
1091
+ }, z.core.$strip>;
1092
+ }, z.core.$strip>], "stream">;
1093
+ /** Every frame under its legacy name — what the CLI emits and consumes today. */
1094
+ declare const LegacyFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1095
+ runId: z.ZodString;
1096
+ runSpec: z.ZodOptional<z.ZodObject<{
1097
+ prompt: z.ZodOptional<z.ZodString>;
1098
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1099
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
1100
+ sessionId: z.ZodOptional<z.ZodString>;
1101
+ projectDir: z.ZodOptional<z.ZodString>;
1102
+ workflow: z.ZodOptional<z.ZodObject<{
1103
+ source: z.ZodOptional<z.ZodString>;
1104
+ ref: z.ZodOptional<z.ZodString>;
1105
+ version: z.ZodOptional<z.ZodString>;
1106
+ }, z.core.$loose>>;
1107
+ harness: z.ZodOptional<z.ZodString>;
1108
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1109
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
1110
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
1111
+ callbackToken: z.ZodOptional<z.ZodString>;
1112
+ }, z.core.$loose>>;
1113
+ runnerId: z.ZodOptional<z.ZodString>;
1114
+ type: z.ZodLiteral<"job_assignment">;
1115
+ }, z.core.$strip>, z.ZodObject<{
1116
+ athenaSessionId: z.ZodString;
1117
+ requestId: z.ZodString;
1118
+ decision: z.ZodObject<{
1119
+ type: z.ZodEnum<{
1120
+ passthrough: "passthrough";
1121
+ block: "block";
1122
+ json: "json";
1123
+ }>;
1124
+ source: z.ZodEnum<{
1125
+ user: "user";
1126
+ timeout: "timeout";
1127
+ rule: "rule";
1128
+ }>;
1129
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1130
+ kind: z.ZodLiteral<"permission_allow">;
1131
+ }, z.core.$strip>, z.ZodObject<{
1132
+ kind: z.ZodLiteral<"permission_deny">;
1133
+ reason: z.ZodString;
1134
+ }, z.core.$strip>, z.ZodObject<{
1135
+ kind: z.ZodLiteral<"question_answer">;
1136
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
1137
+ }, z.core.$strip>, z.ZodObject<{
1138
+ kind: z.ZodLiteral<"pre_tool_allow">;
1139
+ }, z.core.$strip>, z.ZodObject<{
1140
+ kind: z.ZodLiteral<"pre_tool_deny">;
1141
+ reason: z.ZodString;
1142
+ }, z.core.$strip>, z.ZodObject<{
1143
+ kind: z.ZodLiteral<"stop_block">;
1144
+ reason: z.ZodString;
1145
+ }, z.core.$strip>, z.ZodObject<{
1146
+ kind: z.ZodLiteral<"compact_block">;
1147
+ reason: z.ZodString;
1148
+ }, z.core.$strip>], "kind">>;
1149
+ reason: z.ZodOptional<z.ZodString>;
1150
+ data: z.ZodOptional<z.ZodUnknown>;
1151
+ }, z.core.$strip>;
1152
+ type: z.ZodLiteral<"dashboard_decision">;
1153
+ }, z.core.$strip>, z.ZodObject<{
1154
+ runId: z.ZodString;
1155
+ runnerId: z.ZodOptional<z.ZodString>;
1156
+ type: z.ZodLiteral<"cancel">;
1157
+ }, z.core.$strip>, z.ZodObject<{
1158
+ runId: z.ZodString;
1159
+ seq: z.ZodInt;
1160
+ ts: z.ZodNumber;
1161
+ kind: z.ZodString;
1162
+ payload: z.ZodOptional<z.ZodUnknown>;
1163
+ type: z.ZodLiteral<"run_event">;
1164
+ }, z.core.$strip>, z.ZodObject<{
1165
+ type: z.ZodLiteral<"feed_event">;
1166
+ deliverySeq: z.ZodInt;
1167
+ envelope: z.ZodObject<{
1168
+ instanceId: z.ZodString;
1169
+ athenaSessionId: z.ZodString;
1170
+ runId: z.ZodString;
1171
+ origin: z.ZodEnum<{
1172
+ local: "local";
1173
+ dashboard: "dashboard";
1174
+ }>;
1175
+ eventId: z.ZodString;
1176
+ feedSeq: z.ZodInt;
1177
+ emittedAt: z.ZodNumber;
1178
+ feedEvent: z.ZodObject<{
1179
+ event_id: z.ZodString;
1180
+ seq: z.ZodInt;
1181
+ ts: z.ZodNumber;
1182
+ session_id: z.ZodString;
1183
+ run_id: z.ZodString;
1184
+ prompt_id: z.ZodOptional<z.ZodString>;
1185
+ effort_level: z.ZodOptional<z.ZodString>;
1186
+ kind: z.ZodString;
1187
+ level: z.ZodEnum<{
1188
+ error: "error";
1189
+ debug: "debug";
1190
+ info: "info";
1191
+ warn: "warn";
1192
+ }>;
1193
+ actor_id: z.ZodString;
1194
+ cause: z.ZodOptional<z.ZodObject<{
1195
+ parent_event_id: z.ZodOptional<z.ZodString>;
1196
+ hook_request_id: z.ZodOptional<z.ZodString>;
1197
+ tool_use_id: z.ZodOptional<z.ZodString>;
1198
+ transcript_path: z.ZodOptional<z.ZodString>;
1199
+ }, z.core.$strip>>;
1200
+ title: z.ZodString;
1201
+ body: z.ZodOptional<z.ZodString>;
1202
+ ui: z.ZodOptional<z.ZodObject<{
1203
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1204
+ pin: z.ZodOptional<z.ZodBoolean>;
1205
+ badge: z.ZodOptional<z.ZodString>;
1206
+ }, z.core.$strip>>;
1207
+ display: z.ZodOptional<z.ZodObject<{
1208
+ title: z.ZodOptional<z.ZodString>;
1209
+ }, z.core.$strip>>;
1210
+ data: z.ZodUnknown;
1211
+ raw: z.ZodOptional<z.ZodUnknown>;
1212
+ }, z.core.$loose>;
1213
+ }, z.core.$strip>;
1214
+ }, z.core.$strip>, z.ZodObject<{
1215
+ type: z.ZodLiteral<"ping">;
1216
+ ts: z.ZodNumber;
1217
+ }, z.core.$strip>, z.ZodObject<{
1218
+ type: z.ZodLiteral<"pong">;
1219
+ ts: z.ZodNumber;
1220
+ }, z.core.$strip>, z.ZodObject<{
1221
+ type: z.ZodLiteral<"assignment_accepted">;
1222
+ runId: z.ZodString;
1223
+ }, z.core.$strip>, z.ZodObject<{
1224
+ type: z.ZodLiteral<"assignment_rejected">;
1225
+ runId: z.ZodString;
1226
+ reason: z.ZodEnum<{
1227
+ local_capacity: "local_capacity";
1228
+ duplicate: "duplicate";
1229
+ malformed_assignment: "malformed_assignment";
1230
+ workspace_unresolved: "workspace_unresolved";
1231
+ workspace_invalid: "workspace_invalid";
1232
+ }>;
1233
+ message: z.ZodOptional<z.ZodString>;
1234
+ }, z.core.$strip>, z.ZodObject<{
1235
+ type: z.ZodLiteral<"decision_ack">;
1236
+ athenaSessionId: z.ZodString;
1237
+ requestId: z.ZodString;
1238
+ }, z.core.$strip>, z.ZodObject<{
1239
+ type: z.ZodLiteral<"feed_ack">;
1240
+ deliverySeq: z.ZodOptional<z.ZodInt>;
1241
+ eventId: z.ZodOptional<z.ZodString>;
1242
+ }, z.core.$strip>, z.ZodObject<{
1243
+ type: z.ZodLiteral<"attachments.changed">;
1244
+ attachments: z.ZodArray<z.ZodObject<{
1245
+ runnerId: z.ZodString;
1246
+ name: z.ZodOptional<z.ZodString>;
1247
+ slug: z.ZodOptional<z.ZodString>;
1248
+ executionTarget: z.ZodOptional<z.ZodString>;
1249
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
1250
+ }, z.core.$strip>>;
1251
+ }, z.core.$strip>, z.ZodObject<{
1252
+ type: z.ZodLiteral<"error">;
1253
+ code: z.ZodString;
1254
+ message: z.ZodOptional<z.ZodString>;
1255
+ }, z.core.$strip>], "type">;
1256
+ type LegacyFrame = z.infer<typeof LegacyFrameSchema>;
1257
+ type LegacyFrameType = LegacyFrame['type'];
1258
+ /** Every frame under its canonical name — the one typed value both name sets normalise to. */
1259
+ declare const CanonicalFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1260
+ type: z.ZodLiteral<"hello">;
1261
+ protocolVersion: z.ZodInt;
1262
+ role: z.ZodOptional<z.ZodEnum<{
1263
+ runner: "runner";
1264
+ hub: "hub";
1265
+ }>>;
1266
+ instanceId: z.ZodOptional<z.ZodString>;
1267
+ agent: z.ZodOptional<z.ZodObject<{
1268
+ name: z.ZodString;
1269
+ version: z.ZodOptional<z.ZodString>;
1270
+ }, z.core.$strip>>;
1271
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1272
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
1273
+ name: z.ZodString;
1274
+ version: z.ZodOptional<z.ZodString>;
1275
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
1276
+ kind: z.ZodLiteral<"builtin">;
1277
+ }, z.core.$strip>, z.ZodObject<{
1278
+ kind: z.ZodLiteral<"marketplace-remote">;
1279
+ ref: z.ZodString;
1280
+ }, z.core.$strip>, z.ZodObject<{
1281
+ kind: z.ZodLiteral<"marketplace-local">;
1282
+ repoDir: z.ZodString;
1283
+ workflowName: z.ZodString;
1284
+ }, z.core.$strip>, z.ZodObject<{
1285
+ kind: z.ZodLiteral<"filesystem">;
1286
+ path: z.ZodString;
1287
+ }, z.core.$strip>, z.ZodObject<{
1288
+ kind: z.ZodLiteral<"unknown">;
1289
+ }, z.core.$strip>], "kind">;
1290
+ }, z.core.$strip>>>;
1291
+ }, z.core.$strip>, z.ZodObject<{
1292
+ runId: z.ZodString;
1293
+ runSpec: z.ZodOptional<z.ZodObject<{
1294
+ prompt: z.ZodOptional<z.ZodString>;
1295
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1296
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
1297
+ sessionId: z.ZodOptional<z.ZodString>;
1298
+ projectDir: z.ZodOptional<z.ZodString>;
1299
+ workflow: z.ZodOptional<z.ZodObject<{
1300
+ source: z.ZodOptional<z.ZodString>;
1301
+ ref: z.ZodOptional<z.ZodString>;
1302
+ version: z.ZodOptional<z.ZodString>;
1303
+ }, z.core.$loose>>;
1304
+ harness: z.ZodOptional<z.ZodString>;
1305
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1306
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
1307
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
1308
+ callbackToken: z.ZodOptional<z.ZodString>;
1309
+ }, z.core.$loose>>;
1310
+ runnerId: z.ZodOptional<z.ZodString>;
1311
+ type: z.ZodLiteral<"run.start">;
1312
+ }, z.core.$strip>, z.ZodObject<{
1313
+ athenaSessionId: z.ZodString;
1314
+ requestId: z.ZodString;
1315
+ decision: z.ZodObject<{
1316
+ type: z.ZodEnum<{
1317
+ passthrough: "passthrough";
1318
+ block: "block";
1319
+ json: "json";
1320
+ }>;
1321
+ source: z.ZodEnum<{
1322
+ user: "user";
1323
+ timeout: "timeout";
1324
+ rule: "rule";
1325
+ }>;
1326
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1327
+ kind: z.ZodLiteral<"permission_allow">;
1328
+ }, z.core.$strip>, z.ZodObject<{
1329
+ kind: z.ZodLiteral<"permission_deny">;
1330
+ reason: z.ZodString;
1331
+ }, z.core.$strip>, z.ZodObject<{
1332
+ kind: z.ZodLiteral<"question_answer">;
1333
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
1334
+ }, z.core.$strip>, z.ZodObject<{
1335
+ kind: z.ZodLiteral<"pre_tool_allow">;
1336
+ }, z.core.$strip>, z.ZodObject<{
1337
+ kind: z.ZodLiteral<"pre_tool_deny">;
1338
+ reason: z.ZodString;
1339
+ }, z.core.$strip>, z.ZodObject<{
1340
+ kind: z.ZodLiteral<"stop_block">;
1341
+ reason: z.ZodString;
1342
+ }, z.core.$strip>, z.ZodObject<{
1343
+ kind: z.ZodLiteral<"compact_block">;
1344
+ reason: z.ZodString;
1345
+ }, z.core.$strip>], "kind">>;
1346
+ reason: z.ZodOptional<z.ZodString>;
1347
+ data: z.ZodOptional<z.ZodUnknown>;
1348
+ }, z.core.$strip>;
1349
+ type: z.ZodLiteral<"answer">;
1350
+ }, z.core.$strip>, z.ZodObject<{
1351
+ runId: z.ZodString;
1352
+ runnerId: z.ZodOptional<z.ZodString>;
1353
+ type: z.ZodLiteral<"stop">;
1354
+ }, z.core.$strip>, z.ZodObject<{
1355
+ type: z.ZodLiteral<"steer">;
1356
+ runId: z.ZodString;
1357
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1358
+ text: z.ZodString;
1359
+ }, z.core.$strip>, z.ZodObject<{
1360
+ type: z.ZodLiteral<"needs_human">;
1361
+ runId: z.ZodString;
1362
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1363
+ interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
1364
+ kind: z.ZodLiteral<"blocked">;
1365
+ reason: z.ZodOptional<z.ZodString>;
1366
+ message: z.ZodString;
1367
+ }, z.core.$strip>, z.ZodObject<{
1368
+ kind: z.ZodLiteral<"question">;
1369
+ requestId: z.ZodOptional<z.ZodString>;
1370
+ question: z.ZodOptional<z.ZodString>;
1371
+ message: z.ZodString;
1372
+ }, z.core.$strip>, z.ZodObject<{
1373
+ kind: z.ZodLiteral<"hard_failure">;
1374
+ code: z.ZodEnum<{
1375
+ auth: "auth";
1376
+ billing: "billing";
1377
+ invalid_request: "invalid_request";
1378
+ model_not_found: "model_not_found";
1379
+ unclassified: "unclassified";
1380
+ }>;
1381
+ message: z.ZodString;
1382
+ }, z.core.$strip>, z.ZodObject<{
1383
+ kind: z.ZodLiteral<"cap_exhausted">;
1384
+ cap: z.ZodEnum<{
1385
+ retry: "retry";
1386
+ nudge: "nudge";
1387
+ iterations: "iterations";
1388
+ handover: "handover";
1389
+ tokens: "tokens";
1390
+ }>;
1391
+ limit: z.ZodOptional<z.ZodInt>;
1392
+ resource: z.ZodOptional<z.ZodObject<{
1393
+ cause: z.ZodEnum<{
1394
+ iterations: "iterations";
1395
+ tokens: "tokens";
1396
+ context: "context";
1397
+ restart: "restart";
1398
+ }>;
1399
+ limit: z.ZodNumber;
1400
+ used: z.ZodNumber;
1401
+ detail: z.ZodOptional<z.ZodString>;
1402
+ checkpointPath: z.ZodOptional<z.ZodString>;
1403
+ fresh: z.ZodBoolean;
1404
+ }, z.core.$strip>>;
1405
+ message: z.ZodString;
1406
+ }, z.core.$strip>], "kind">;
1407
+ }, z.core.$strip>, z.ZodObject<{
1408
+ type: z.ZodLiteral<"workflows.changed">;
1409
+ workflows: z.ZodArray<z.ZodObject<{
1410
+ name: z.ZodString;
1411
+ version: z.ZodOptional<z.ZodString>;
1412
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
1413
+ kind: z.ZodLiteral<"builtin">;
1414
+ }, z.core.$strip>, z.ZodObject<{
1415
+ kind: z.ZodLiteral<"marketplace-remote">;
1416
+ ref: z.ZodString;
1417
+ }, z.core.$strip>, z.ZodObject<{
1418
+ kind: z.ZodLiteral<"marketplace-local">;
1419
+ repoDir: z.ZodString;
1420
+ workflowName: z.ZodString;
1421
+ }, z.core.$strip>, z.ZodObject<{
1422
+ kind: z.ZodLiteral<"filesystem">;
1423
+ path: z.ZodString;
1424
+ }, z.core.$strip>, z.ZodObject<{
1425
+ kind: z.ZodLiteral<"unknown">;
1426
+ }, z.core.$strip>], "kind">;
1427
+ }, z.core.$strip>>;
1428
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
1429
+ runId: z.ZodString;
1430
+ seq: z.ZodInt;
1431
+ ts: z.ZodNumber;
1432
+ kind: z.ZodString;
1433
+ payload: z.ZodOptional<z.ZodUnknown>;
1434
+ type: z.ZodLiteral<"event">;
1435
+ stream: z.ZodLiteral<"run">;
1436
+ }, z.core.$strip>, z.ZodObject<{
1437
+ type: z.ZodLiteral<"event">;
1438
+ stream: z.ZodLiteral<"feed">;
1439
+ deliverySeq: z.ZodInt;
1440
+ envelope: z.ZodObject<{
1441
+ instanceId: z.ZodString;
1442
+ athenaSessionId: z.ZodString;
1443
+ runId: z.ZodString;
1444
+ origin: z.ZodEnum<{
1445
+ local: "local";
1446
+ dashboard: "dashboard";
1447
+ }>;
1448
+ eventId: z.ZodString;
1449
+ feedSeq: z.ZodInt;
1450
+ emittedAt: z.ZodNumber;
1451
+ feedEvent: z.ZodObject<{
1452
+ event_id: z.ZodString;
1453
+ seq: z.ZodInt;
1454
+ ts: z.ZodNumber;
1455
+ session_id: z.ZodString;
1456
+ run_id: z.ZodString;
1457
+ prompt_id: z.ZodOptional<z.ZodString>;
1458
+ effort_level: z.ZodOptional<z.ZodString>;
1459
+ kind: z.ZodString;
1460
+ level: z.ZodEnum<{
1461
+ error: "error";
1462
+ debug: "debug";
1463
+ info: "info";
1464
+ warn: "warn";
1465
+ }>;
1466
+ actor_id: z.ZodString;
1467
+ cause: z.ZodOptional<z.ZodObject<{
1468
+ parent_event_id: z.ZodOptional<z.ZodString>;
1469
+ hook_request_id: z.ZodOptional<z.ZodString>;
1470
+ tool_use_id: z.ZodOptional<z.ZodString>;
1471
+ transcript_path: z.ZodOptional<z.ZodString>;
1472
+ }, z.core.$strip>>;
1473
+ title: z.ZodString;
1474
+ body: z.ZodOptional<z.ZodString>;
1475
+ ui: z.ZodOptional<z.ZodObject<{
1476
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1477
+ pin: z.ZodOptional<z.ZodBoolean>;
1478
+ badge: z.ZodOptional<z.ZodString>;
1479
+ }, z.core.$strip>>;
1480
+ display: z.ZodOptional<z.ZodObject<{
1481
+ title: z.ZodOptional<z.ZodString>;
1482
+ }, z.core.$strip>>;
1483
+ data: z.ZodUnknown;
1484
+ raw: z.ZodOptional<z.ZodUnknown>;
1485
+ }, z.core.$loose>;
1486
+ }, z.core.$strip>;
1487
+ }, z.core.$strip>], "stream">, z.ZodObject<{
1488
+ type: z.ZodLiteral<"ping">;
1489
+ ts: z.ZodNumber;
1490
+ }, z.core.$strip>, z.ZodObject<{
1491
+ type: z.ZodLiteral<"pong">;
1492
+ ts: z.ZodNumber;
1493
+ }, z.core.$strip>, z.ZodObject<{
1494
+ type: z.ZodLiteral<"assignment_accepted">;
1495
+ runId: z.ZodString;
1496
+ }, z.core.$strip>, z.ZodObject<{
1497
+ type: z.ZodLiteral<"assignment_rejected">;
1498
+ runId: z.ZodString;
1499
+ reason: z.ZodEnum<{
1500
+ local_capacity: "local_capacity";
1501
+ duplicate: "duplicate";
1502
+ malformed_assignment: "malformed_assignment";
1503
+ workspace_unresolved: "workspace_unresolved";
1504
+ workspace_invalid: "workspace_invalid";
1505
+ }>;
1506
+ message: z.ZodOptional<z.ZodString>;
1507
+ }, z.core.$strip>, z.ZodObject<{
1508
+ type: z.ZodLiteral<"decision_ack">;
1509
+ athenaSessionId: z.ZodString;
1510
+ requestId: z.ZodString;
1511
+ }, z.core.$strip>, z.ZodObject<{
1512
+ type: z.ZodLiteral<"feed_ack">;
1513
+ deliverySeq: z.ZodOptional<z.ZodInt>;
1514
+ eventId: z.ZodOptional<z.ZodString>;
1515
+ }, z.core.$strip>, z.ZodObject<{
1516
+ type: z.ZodLiteral<"attachments.changed">;
1517
+ attachments: z.ZodArray<z.ZodObject<{
1518
+ runnerId: z.ZodString;
1519
+ name: z.ZodOptional<z.ZodString>;
1520
+ slug: z.ZodOptional<z.ZodString>;
1521
+ executionTarget: z.ZodOptional<z.ZodString>;
1522
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
1523
+ }, z.core.$strip>>;
1524
+ }, z.core.$strip>, z.ZodObject<{
1525
+ type: z.ZodLiteral<"error">;
1526
+ code: z.ZodString;
1527
+ message: z.ZodOptional<z.ZodString>;
1528
+ }, z.core.$strip>], "type">;
1529
+ type CanonicalFrame = z.infer<typeof CanonicalFrameSchema>;
1530
+ type CanonicalFrameType = CanonicalFrame['type'];
1531
+ /** Any frame, under either name set. */
1532
+ declare const FrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1533
+ runId: z.ZodString;
1534
+ runSpec: z.ZodOptional<z.ZodObject<{
1535
+ prompt: z.ZodOptional<z.ZodString>;
1536
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1537
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
1538
+ sessionId: z.ZodOptional<z.ZodString>;
1539
+ projectDir: z.ZodOptional<z.ZodString>;
1540
+ workflow: z.ZodOptional<z.ZodObject<{
1541
+ source: z.ZodOptional<z.ZodString>;
1542
+ ref: z.ZodOptional<z.ZodString>;
1543
+ version: z.ZodOptional<z.ZodString>;
1544
+ }, z.core.$loose>>;
1545
+ harness: z.ZodOptional<z.ZodString>;
1546
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1547
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
1548
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
1549
+ callbackToken: z.ZodOptional<z.ZodString>;
1550
+ }, z.core.$loose>>;
1551
+ runnerId: z.ZodOptional<z.ZodString>;
1552
+ type: z.ZodLiteral<"job_assignment">;
1553
+ }, z.core.$strip>, z.ZodObject<{
1554
+ athenaSessionId: z.ZodString;
1555
+ requestId: z.ZodString;
1556
+ decision: z.ZodObject<{
1557
+ type: z.ZodEnum<{
1558
+ passthrough: "passthrough";
1559
+ block: "block";
1560
+ json: "json";
1561
+ }>;
1562
+ source: z.ZodEnum<{
1563
+ user: "user";
1564
+ timeout: "timeout";
1565
+ rule: "rule";
1566
+ }>;
1567
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1568
+ kind: z.ZodLiteral<"permission_allow">;
1569
+ }, z.core.$strip>, z.ZodObject<{
1570
+ kind: z.ZodLiteral<"permission_deny">;
1571
+ reason: z.ZodString;
1572
+ }, z.core.$strip>, z.ZodObject<{
1573
+ kind: z.ZodLiteral<"question_answer">;
1574
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
1575
+ }, z.core.$strip>, z.ZodObject<{
1576
+ kind: z.ZodLiteral<"pre_tool_allow">;
1577
+ }, z.core.$strip>, z.ZodObject<{
1578
+ kind: z.ZodLiteral<"pre_tool_deny">;
1579
+ reason: z.ZodString;
1580
+ }, z.core.$strip>, z.ZodObject<{
1581
+ kind: z.ZodLiteral<"stop_block">;
1582
+ reason: z.ZodString;
1583
+ }, z.core.$strip>, z.ZodObject<{
1584
+ kind: z.ZodLiteral<"compact_block">;
1585
+ reason: z.ZodString;
1586
+ }, z.core.$strip>], "kind">>;
1587
+ reason: z.ZodOptional<z.ZodString>;
1588
+ data: z.ZodOptional<z.ZodUnknown>;
1589
+ }, z.core.$strip>;
1590
+ type: z.ZodLiteral<"dashboard_decision">;
1591
+ }, z.core.$strip>, z.ZodObject<{
1592
+ runId: z.ZodString;
1593
+ runnerId: z.ZodOptional<z.ZodString>;
1594
+ type: z.ZodLiteral<"cancel">;
1595
+ }, z.core.$strip>, z.ZodObject<{
1596
+ runId: z.ZodString;
1597
+ seq: z.ZodInt;
1598
+ ts: z.ZodNumber;
1599
+ kind: z.ZodString;
1600
+ payload: z.ZodOptional<z.ZodUnknown>;
1601
+ type: z.ZodLiteral<"run_event">;
1602
+ }, z.core.$strip>, z.ZodObject<{
1603
+ type: z.ZodLiteral<"feed_event">;
1604
+ deliverySeq: z.ZodInt;
1605
+ envelope: z.ZodObject<{
1606
+ instanceId: z.ZodString;
1607
+ athenaSessionId: z.ZodString;
1608
+ runId: z.ZodString;
1609
+ origin: z.ZodEnum<{
1610
+ local: "local";
1611
+ dashboard: "dashboard";
1612
+ }>;
1613
+ eventId: z.ZodString;
1614
+ feedSeq: z.ZodInt;
1615
+ emittedAt: z.ZodNumber;
1616
+ feedEvent: z.ZodObject<{
1617
+ event_id: z.ZodString;
1618
+ seq: z.ZodInt;
1619
+ ts: z.ZodNumber;
1620
+ session_id: z.ZodString;
1621
+ run_id: z.ZodString;
1622
+ prompt_id: z.ZodOptional<z.ZodString>;
1623
+ effort_level: z.ZodOptional<z.ZodString>;
1624
+ kind: z.ZodString;
1625
+ level: z.ZodEnum<{
1626
+ error: "error";
1627
+ debug: "debug";
1628
+ info: "info";
1629
+ warn: "warn";
1630
+ }>;
1631
+ actor_id: z.ZodString;
1632
+ cause: z.ZodOptional<z.ZodObject<{
1633
+ parent_event_id: z.ZodOptional<z.ZodString>;
1634
+ hook_request_id: z.ZodOptional<z.ZodString>;
1635
+ tool_use_id: z.ZodOptional<z.ZodString>;
1636
+ transcript_path: z.ZodOptional<z.ZodString>;
1637
+ }, z.core.$strip>>;
1638
+ title: z.ZodString;
1639
+ body: z.ZodOptional<z.ZodString>;
1640
+ ui: z.ZodOptional<z.ZodObject<{
1641
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1642
+ pin: z.ZodOptional<z.ZodBoolean>;
1643
+ badge: z.ZodOptional<z.ZodString>;
1644
+ }, z.core.$strip>>;
1645
+ display: z.ZodOptional<z.ZodObject<{
1646
+ title: z.ZodOptional<z.ZodString>;
1647
+ }, z.core.$strip>>;
1648
+ data: z.ZodUnknown;
1649
+ raw: z.ZodOptional<z.ZodUnknown>;
1650
+ }, z.core.$loose>;
1651
+ }, z.core.$strip>;
1652
+ }, z.core.$strip>, z.ZodObject<{
1653
+ type: z.ZodLiteral<"hello">;
1654
+ protocolVersion: z.ZodInt;
1655
+ role: z.ZodOptional<z.ZodEnum<{
1656
+ runner: "runner";
1657
+ hub: "hub";
1658
+ }>>;
1659
+ instanceId: z.ZodOptional<z.ZodString>;
1660
+ agent: z.ZodOptional<z.ZodObject<{
1661
+ name: z.ZodString;
1662
+ version: z.ZodOptional<z.ZodString>;
1663
+ }, z.core.$strip>>;
1664
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1665
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
1666
+ name: z.ZodString;
1667
+ version: z.ZodOptional<z.ZodString>;
1668
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
1669
+ kind: z.ZodLiteral<"builtin">;
1670
+ }, z.core.$strip>, z.ZodObject<{
1671
+ kind: z.ZodLiteral<"marketplace-remote">;
1672
+ ref: z.ZodString;
1673
+ }, z.core.$strip>, z.ZodObject<{
1674
+ kind: z.ZodLiteral<"marketplace-local">;
1675
+ repoDir: z.ZodString;
1676
+ workflowName: z.ZodString;
1677
+ }, z.core.$strip>, z.ZodObject<{
1678
+ kind: z.ZodLiteral<"filesystem">;
1679
+ path: z.ZodString;
1680
+ }, z.core.$strip>, z.ZodObject<{
1681
+ kind: z.ZodLiteral<"unknown">;
1682
+ }, z.core.$strip>], "kind">;
1683
+ }, z.core.$strip>>>;
1684
+ }, z.core.$strip>, z.ZodObject<{
1685
+ runId: z.ZodString;
1686
+ runSpec: z.ZodOptional<z.ZodObject<{
1687
+ prompt: z.ZodOptional<z.ZodString>;
1688
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1689
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
1690
+ sessionId: z.ZodOptional<z.ZodString>;
1691
+ projectDir: z.ZodOptional<z.ZodString>;
1692
+ workflow: z.ZodOptional<z.ZodObject<{
1693
+ source: z.ZodOptional<z.ZodString>;
1694
+ ref: z.ZodOptional<z.ZodString>;
1695
+ version: z.ZodOptional<z.ZodString>;
1696
+ }, z.core.$loose>>;
1697
+ harness: z.ZodOptional<z.ZodString>;
1698
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1699
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
1700
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
1701
+ callbackToken: z.ZodOptional<z.ZodString>;
1702
+ }, z.core.$loose>>;
1703
+ runnerId: z.ZodOptional<z.ZodString>;
1704
+ type: z.ZodLiteral<"run.start">;
1705
+ }, z.core.$strip>, z.ZodObject<{
1706
+ athenaSessionId: z.ZodString;
1707
+ requestId: z.ZodString;
1708
+ decision: z.ZodObject<{
1709
+ type: z.ZodEnum<{
1710
+ passthrough: "passthrough";
1711
+ block: "block";
1712
+ json: "json";
1713
+ }>;
1714
+ source: z.ZodEnum<{
1715
+ user: "user";
1716
+ timeout: "timeout";
1717
+ rule: "rule";
1718
+ }>;
1719
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1720
+ kind: z.ZodLiteral<"permission_allow">;
1721
+ }, z.core.$strip>, z.ZodObject<{
1722
+ kind: z.ZodLiteral<"permission_deny">;
1723
+ reason: z.ZodString;
1724
+ }, z.core.$strip>, z.ZodObject<{
1725
+ kind: z.ZodLiteral<"question_answer">;
1726
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
1727
+ }, z.core.$strip>, z.ZodObject<{
1728
+ kind: z.ZodLiteral<"pre_tool_allow">;
1729
+ }, z.core.$strip>, z.ZodObject<{
1730
+ kind: z.ZodLiteral<"pre_tool_deny">;
1731
+ reason: z.ZodString;
1732
+ }, z.core.$strip>, z.ZodObject<{
1733
+ kind: z.ZodLiteral<"stop_block">;
1734
+ reason: z.ZodString;
1735
+ }, z.core.$strip>, z.ZodObject<{
1736
+ kind: z.ZodLiteral<"compact_block">;
1737
+ reason: z.ZodString;
1738
+ }, z.core.$strip>], "kind">>;
1739
+ reason: z.ZodOptional<z.ZodString>;
1740
+ data: z.ZodOptional<z.ZodUnknown>;
1741
+ }, z.core.$strip>;
1742
+ type: z.ZodLiteral<"answer">;
1743
+ }, z.core.$strip>, z.ZodObject<{
1744
+ runId: z.ZodString;
1745
+ runnerId: z.ZodOptional<z.ZodString>;
1746
+ type: z.ZodLiteral<"stop">;
1747
+ }, z.core.$strip>, z.ZodObject<{
1748
+ type: z.ZodLiteral<"steer">;
1749
+ runId: z.ZodString;
1750
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1751
+ text: z.ZodString;
1752
+ }, z.core.$strip>, z.ZodObject<{
1753
+ type: z.ZodLiteral<"needs_human">;
1754
+ runId: z.ZodString;
1755
+ athenaSessionId: z.ZodOptional<z.ZodString>;
1756
+ interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
1757
+ kind: z.ZodLiteral<"blocked">;
1758
+ reason: z.ZodOptional<z.ZodString>;
1759
+ message: z.ZodString;
1760
+ }, z.core.$strip>, z.ZodObject<{
1761
+ kind: z.ZodLiteral<"question">;
1762
+ requestId: z.ZodOptional<z.ZodString>;
1763
+ question: z.ZodOptional<z.ZodString>;
1764
+ message: z.ZodString;
1765
+ }, z.core.$strip>, z.ZodObject<{
1766
+ kind: z.ZodLiteral<"hard_failure">;
1767
+ code: z.ZodEnum<{
1768
+ auth: "auth";
1769
+ billing: "billing";
1770
+ invalid_request: "invalid_request";
1771
+ model_not_found: "model_not_found";
1772
+ unclassified: "unclassified";
1773
+ }>;
1774
+ message: z.ZodString;
1775
+ }, z.core.$strip>, z.ZodObject<{
1776
+ kind: z.ZodLiteral<"cap_exhausted">;
1777
+ cap: z.ZodEnum<{
1778
+ retry: "retry";
1779
+ nudge: "nudge";
1780
+ iterations: "iterations";
1781
+ handover: "handover";
1782
+ tokens: "tokens";
1783
+ }>;
1784
+ limit: z.ZodOptional<z.ZodInt>;
1785
+ resource: z.ZodOptional<z.ZodObject<{
1786
+ cause: z.ZodEnum<{
1787
+ iterations: "iterations";
1788
+ tokens: "tokens";
1789
+ context: "context";
1790
+ restart: "restart";
1791
+ }>;
1792
+ limit: z.ZodNumber;
1793
+ used: z.ZodNumber;
1794
+ detail: z.ZodOptional<z.ZodString>;
1795
+ checkpointPath: z.ZodOptional<z.ZodString>;
1796
+ fresh: z.ZodBoolean;
1797
+ }, z.core.$strip>>;
1798
+ message: z.ZodString;
1799
+ }, z.core.$strip>], "kind">;
1800
+ }, z.core.$strip>, z.ZodObject<{
1801
+ type: z.ZodLiteral<"workflows.changed">;
1802
+ workflows: z.ZodArray<z.ZodObject<{
1803
+ name: z.ZodString;
1804
+ version: z.ZodOptional<z.ZodString>;
1805
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
1806
+ kind: z.ZodLiteral<"builtin">;
1807
+ }, z.core.$strip>, z.ZodObject<{
1808
+ kind: z.ZodLiteral<"marketplace-remote">;
1809
+ ref: z.ZodString;
1810
+ }, z.core.$strip>, z.ZodObject<{
1811
+ kind: z.ZodLiteral<"marketplace-local">;
1812
+ repoDir: z.ZodString;
1813
+ workflowName: z.ZodString;
1814
+ }, z.core.$strip>, z.ZodObject<{
1815
+ kind: z.ZodLiteral<"filesystem">;
1816
+ path: z.ZodString;
1817
+ }, z.core.$strip>, z.ZodObject<{
1818
+ kind: z.ZodLiteral<"unknown">;
1819
+ }, z.core.$strip>], "kind">;
1820
+ }, z.core.$strip>>;
1821
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
1822
+ runId: z.ZodString;
1823
+ seq: z.ZodInt;
1824
+ ts: z.ZodNumber;
1825
+ kind: z.ZodString;
1826
+ payload: z.ZodOptional<z.ZodUnknown>;
1827
+ type: z.ZodLiteral<"event">;
1828
+ stream: z.ZodLiteral<"run">;
1829
+ }, z.core.$strip>, z.ZodObject<{
1830
+ type: z.ZodLiteral<"event">;
1831
+ stream: z.ZodLiteral<"feed">;
1832
+ deliverySeq: z.ZodInt;
1833
+ envelope: z.ZodObject<{
1834
+ instanceId: z.ZodString;
1835
+ athenaSessionId: z.ZodString;
1836
+ runId: z.ZodString;
1837
+ origin: z.ZodEnum<{
1838
+ local: "local";
1839
+ dashboard: "dashboard";
1840
+ }>;
1841
+ eventId: z.ZodString;
1842
+ feedSeq: z.ZodInt;
1843
+ emittedAt: z.ZodNumber;
1844
+ feedEvent: z.ZodObject<{
1845
+ event_id: z.ZodString;
1846
+ seq: z.ZodInt;
1847
+ ts: z.ZodNumber;
1848
+ session_id: z.ZodString;
1849
+ run_id: z.ZodString;
1850
+ prompt_id: z.ZodOptional<z.ZodString>;
1851
+ effort_level: z.ZodOptional<z.ZodString>;
1852
+ kind: z.ZodString;
1853
+ level: z.ZodEnum<{
1854
+ error: "error";
1855
+ debug: "debug";
1856
+ info: "info";
1857
+ warn: "warn";
1858
+ }>;
1859
+ actor_id: z.ZodString;
1860
+ cause: z.ZodOptional<z.ZodObject<{
1861
+ parent_event_id: z.ZodOptional<z.ZodString>;
1862
+ hook_request_id: z.ZodOptional<z.ZodString>;
1863
+ tool_use_id: z.ZodOptional<z.ZodString>;
1864
+ transcript_path: z.ZodOptional<z.ZodString>;
1865
+ }, z.core.$strip>>;
1866
+ title: z.ZodString;
1867
+ body: z.ZodOptional<z.ZodString>;
1868
+ ui: z.ZodOptional<z.ZodObject<{
1869
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
1870
+ pin: z.ZodOptional<z.ZodBoolean>;
1871
+ badge: z.ZodOptional<z.ZodString>;
1872
+ }, z.core.$strip>>;
1873
+ display: z.ZodOptional<z.ZodObject<{
1874
+ title: z.ZodOptional<z.ZodString>;
1875
+ }, z.core.$strip>>;
1876
+ data: z.ZodUnknown;
1877
+ raw: z.ZodOptional<z.ZodUnknown>;
1878
+ }, z.core.$loose>;
1879
+ }, z.core.$strip>;
1880
+ }, z.core.$strip>], "stream">, z.ZodObject<{
1881
+ type: z.ZodLiteral<"ping">;
1882
+ ts: z.ZodNumber;
1883
+ }, z.core.$strip>, z.ZodObject<{
1884
+ type: z.ZodLiteral<"pong">;
1885
+ ts: z.ZodNumber;
1886
+ }, z.core.$strip>, z.ZodObject<{
1887
+ type: z.ZodLiteral<"assignment_accepted">;
1888
+ runId: z.ZodString;
1889
+ }, z.core.$strip>, z.ZodObject<{
1890
+ type: z.ZodLiteral<"assignment_rejected">;
1891
+ runId: z.ZodString;
1892
+ reason: z.ZodEnum<{
1893
+ local_capacity: "local_capacity";
1894
+ duplicate: "duplicate";
1895
+ malformed_assignment: "malformed_assignment";
1896
+ workspace_unresolved: "workspace_unresolved";
1897
+ workspace_invalid: "workspace_invalid";
1898
+ }>;
1899
+ message: z.ZodOptional<z.ZodString>;
1900
+ }, z.core.$strip>, z.ZodObject<{
1901
+ type: z.ZodLiteral<"decision_ack">;
1902
+ athenaSessionId: z.ZodString;
1903
+ requestId: z.ZodString;
1904
+ }, z.core.$strip>, z.ZodObject<{
1905
+ type: z.ZodLiteral<"feed_ack">;
1906
+ deliverySeq: z.ZodOptional<z.ZodInt>;
1907
+ eventId: z.ZodOptional<z.ZodString>;
1908
+ }, z.core.$strip>, z.ZodObject<{
1909
+ type: z.ZodLiteral<"attachments.changed">;
1910
+ attachments: z.ZodArray<z.ZodObject<{
1911
+ runnerId: z.ZodString;
1912
+ name: z.ZodOptional<z.ZodString>;
1913
+ slug: z.ZodOptional<z.ZodString>;
1914
+ executionTarget: z.ZodOptional<z.ZodString>;
1915
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
1916
+ }, z.core.$strip>>;
1917
+ }, z.core.$strip>, z.ZodObject<{
1918
+ type: z.ZodLiteral<"error">;
1919
+ code: z.ZodString;
1920
+ message: z.ZodOptional<z.ZodString>;
1921
+ }, z.core.$strip>], "type">;
1922
+ type Frame = z.infer<typeof FrameSchema>;
1923
+ type FrameType = Frame['type'];
1924
+ type HelloFrame = z.infer<typeof HelloFrameSchema>;
1925
+ type RunStartFrame = z.infer<typeof RunStartFrameSchema>;
1926
+ type AnswerFrame = z.infer<typeof AnswerFrameSchema>;
1927
+ type StopFrame = z.infer<typeof StopFrameSchema>;
1928
+ type SteerFrame = z.infer<typeof SteerFrameSchema>;
1929
+ type NeedsHumanFrame = z.infer<typeof NeedsHumanFrameSchema>;
1930
+ type WorkflowsChangedFrame = z.infer<typeof WorkflowsChangedFrameSchema>;
1931
+ type EventFrame = z.infer<typeof EventFrameSchema>;
1932
+ type RunStreamEventFrame = z.infer<typeof RunStreamEventFrameSchema>;
1933
+ type FeedStreamEventFrame = z.infer<typeof FeedStreamEventFrameSchema>;
1934
+ type JobAssignmentFrame = z.infer<typeof JobAssignmentFrameSchema>;
1935
+ type DashboardDecisionFrame = z.infer<typeof DashboardDecisionFrameSchema>;
1936
+ type CancelFrame = z.infer<typeof CancelFrameSchema>;
1937
+ type RunEventFrame = z.infer<typeof RunEventFrameSchema>;
1938
+ type FeedEventFrame = z.infer<typeof FeedEventFrameSchema>;
1939
+ type PingFrame = z.infer<typeof PingFrameSchema>;
1940
+ type PongFrame = z.infer<typeof PongFrameSchema>;
1941
+ type AssignmentAcceptedFrame = z.infer<typeof AssignmentAcceptedFrameSchema>;
1942
+ type AssignmentRejectedFrame = z.infer<typeof AssignmentRejectedFrameSchema>;
1943
+ type DecisionAckFrame = z.infer<typeof DecisionAckFrameSchema>;
1944
+ type FeedAckFrame = z.infer<typeof FeedAckFrameSchema>;
1945
+ type AttachmentsChangedFrame = z.infer<typeof AttachmentsChangedFrameSchema>;
1946
+ type ErrorFrame = z.infer<typeof ErrorFrameSchema>;
1947
+ /** Build the `hello` this package sends: it always speaks `PROTOCOL_VERSION`. */
1948
+ declare function hello(input?: Omit<HelloFrame, 'type' | 'protocolVersion'>): HelloFrame;
1949
+
1950
+ /**
1951
+ * The legacy ↔ canonical frame-name mapping, and the two functions that apply
1952
+ * it. Each legacy name maps to exactly one canonical name; a frame under
1953
+ * either name normalises to the same typed value.
1954
+ */
1955
+
1956
+ /**
1957
+ * Legacy frame name → canonical frame name. Names that did not change map to
1958
+ * themselves. Two legacy names (`run_event`, `feed_event`) fold into `event`,
1959
+ * told apart by its `stream` discriminator.
1960
+ */
1961
+ declare const FRAME_NAME_MAP: {
1962
+ readonly job_assignment: "run.start";
1963
+ readonly dashboard_decision: "answer";
1964
+ readonly cancel: "stop";
1965
+ readonly run_event: "event";
1966
+ readonly feed_event: "event";
1967
+ readonly ping: "ping";
1968
+ readonly pong: "pong";
1969
+ readonly assignment_accepted: "assignment_accepted";
1970
+ readonly assignment_rejected: "assignment_rejected";
1971
+ readonly decision_ack: "decision_ack";
1972
+ readonly feed_ack: "feed_ack";
1973
+ readonly 'attachments.changed': "attachments.changed";
1974
+ readonly error: "error";
1975
+ };
1976
+ type FrameNameMap = typeof FRAME_NAME_MAP;
1977
+ /** Canonical frames that exist only under the new name set. */
1978
+ type NewOnlyFrame = Extract<CanonicalFrame, {
1979
+ type: 'hello' | 'steer' | 'needs_human' | 'workflows.changed';
1980
+ }>;
1981
+ /** What `toLegacyFrame` yields: a legacy frame, or a new-only frame unchanged. */
1982
+ type EmittableLegacyFrame = LegacyFrame | NewOnlyFrame;
1983
+ /**
1984
+ * Parse an unknown value as a frame under either name set and return it under
1985
+ * its canonical name. Throws a `ZodError` when the value is not a frame.
1986
+ */
1987
+ declare function normalizeFrame(input: unknown): CanonicalFrame;
1988
+ /** `normalizeFrame` without the throw. */
1989
+ declare function safeNormalizeFrame(input: unknown): {
1990
+ success: true;
1991
+ frame: CanonicalFrame;
1992
+ } | {
1993
+ success: false;
1994
+ error: Error;
1995
+ };
1996
+ /**
1997
+ * The inverse of `normalizeFrame` for frames that have a legacy name: what a
1998
+ * runner still speaking the old names must put on the wire. Frames that exist
1999
+ * only under the new names (`hello`, `steer`, `needs_human`,
2000
+ * `workflows.changed`) come back unchanged.
2001
+ */
2002
+ declare function toLegacyFrame(frame: CanonicalFrame): EmittableLegacyFrame;
2003
+
2004
+ /**
2005
+ * JSON Schema export. `buildJsonSchemas()` is the single source the checked-in
2006
+ * `schema/*.json` files are generated from (`npm run schema:generate`) and
2007
+ * that `jsonSchema.test.ts` diffs them against, so they cannot drift.
2008
+ */
2009
+
2010
+ /** File stem → zod schema. One `schema/<stem>.json` per entry. */
2011
+ declare const JSON_SCHEMA_SOURCES: {
2012
+ readonly frame: z.ZodDiscriminatedUnion<[z.ZodObject<{
2013
+ runId: z.ZodString;
2014
+ runSpec: z.ZodOptional<z.ZodObject<{
2015
+ prompt: z.ZodOptional<z.ZodString>;
2016
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2017
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
2018
+ sessionId: z.ZodOptional<z.ZodString>;
2019
+ projectDir: z.ZodOptional<z.ZodString>;
2020
+ workflow: z.ZodOptional<z.ZodObject<{
2021
+ source: z.ZodOptional<z.ZodString>;
2022
+ ref: z.ZodOptional<z.ZodString>;
2023
+ version: z.ZodOptional<z.ZodString>;
2024
+ }, z.core.$loose>>;
2025
+ harness: z.ZodOptional<z.ZodString>;
2026
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2027
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
2028
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
2029
+ callbackToken: z.ZodOptional<z.ZodString>;
2030
+ }, z.core.$loose>>;
2031
+ runnerId: z.ZodOptional<z.ZodString>;
2032
+ type: z.ZodLiteral<"job_assignment">;
2033
+ }, z.core.$strip>, z.ZodObject<{
2034
+ athenaSessionId: z.ZodString;
2035
+ requestId: z.ZodString;
2036
+ decision: z.ZodObject<{
2037
+ type: z.ZodEnum<{
2038
+ passthrough: "passthrough";
2039
+ block: "block";
2040
+ json: "json";
2041
+ }>;
2042
+ source: z.ZodEnum<{
2043
+ user: "user";
2044
+ timeout: "timeout";
2045
+ rule: "rule";
2046
+ }>;
2047
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2048
+ kind: z.ZodLiteral<"permission_allow">;
2049
+ }, z.core.$strip>, z.ZodObject<{
2050
+ kind: z.ZodLiteral<"permission_deny">;
2051
+ reason: z.ZodString;
2052
+ }, z.core.$strip>, z.ZodObject<{
2053
+ kind: z.ZodLiteral<"question_answer">;
2054
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
2055
+ }, z.core.$strip>, z.ZodObject<{
2056
+ kind: z.ZodLiteral<"pre_tool_allow">;
2057
+ }, z.core.$strip>, z.ZodObject<{
2058
+ kind: z.ZodLiteral<"pre_tool_deny">;
2059
+ reason: z.ZodString;
2060
+ }, z.core.$strip>, z.ZodObject<{
2061
+ kind: z.ZodLiteral<"stop_block">;
2062
+ reason: z.ZodString;
2063
+ }, z.core.$strip>, z.ZodObject<{
2064
+ kind: z.ZodLiteral<"compact_block">;
2065
+ reason: z.ZodString;
2066
+ }, z.core.$strip>], "kind">>;
2067
+ reason: z.ZodOptional<z.ZodString>;
2068
+ data: z.ZodOptional<z.ZodUnknown>;
2069
+ }, z.core.$strip>;
2070
+ type: z.ZodLiteral<"dashboard_decision">;
2071
+ }, z.core.$strip>, z.ZodObject<{
2072
+ runId: z.ZodString;
2073
+ runnerId: z.ZodOptional<z.ZodString>;
2074
+ type: z.ZodLiteral<"cancel">;
2075
+ }, z.core.$strip>, z.ZodObject<{
2076
+ runId: z.ZodString;
2077
+ seq: z.ZodInt;
2078
+ ts: z.ZodNumber;
2079
+ kind: z.ZodString;
2080
+ payload: z.ZodOptional<z.ZodUnknown>;
2081
+ type: z.ZodLiteral<"run_event">;
2082
+ }, z.core.$strip>, z.ZodObject<{
2083
+ type: z.ZodLiteral<"feed_event">;
2084
+ deliverySeq: z.ZodInt;
2085
+ envelope: z.ZodObject<{
2086
+ instanceId: z.ZodString;
2087
+ athenaSessionId: z.ZodString;
2088
+ runId: z.ZodString;
2089
+ origin: z.ZodEnum<{
2090
+ local: "local";
2091
+ dashboard: "dashboard";
2092
+ }>;
2093
+ eventId: z.ZodString;
2094
+ feedSeq: z.ZodInt;
2095
+ emittedAt: z.ZodNumber;
2096
+ feedEvent: z.ZodObject<{
2097
+ event_id: z.ZodString;
2098
+ seq: z.ZodInt;
2099
+ ts: z.ZodNumber;
2100
+ session_id: z.ZodString;
2101
+ run_id: z.ZodString;
2102
+ prompt_id: z.ZodOptional<z.ZodString>;
2103
+ effort_level: z.ZodOptional<z.ZodString>;
2104
+ kind: z.ZodString;
2105
+ level: z.ZodEnum<{
2106
+ error: "error";
2107
+ debug: "debug";
2108
+ info: "info";
2109
+ warn: "warn";
2110
+ }>;
2111
+ actor_id: z.ZodString;
2112
+ cause: z.ZodOptional<z.ZodObject<{
2113
+ parent_event_id: z.ZodOptional<z.ZodString>;
2114
+ hook_request_id: z.ZodOptional<z.ZodString>;
2115
+ tool_use_id: z.ZodOptional<z.ZodString>;
2116
+ transcript_path: z.ZodOptional<z.ZodString>;
2117
+ }, z.core.$strip>>;
2118
+ title: z.ZodString;
2119
+ body: z.ZodOptional<z.ZodString>;
2120
+ ui: z.ZodOptional<z.ZodObject<{
2121
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
2122
+ pin: z.ZodOptional<z.ZodBoolean>;
2123
+ badge: z.ZodOptional<z.ZodString>;
2124
+ }, z.core.$strip>>;
2125
+ display: z.ZodOptional<z.ZodObject<{
2126
+ title: z.ZodOptional<z.ZodString>;
2127
+ }, z.core.$strip>>;
2128
+ data: z.ZodUnknown;
2129
+ raw: z.ZodOptional<z.ZodUnknown>;
2130
+ }, z.core.$loose>;
2131
+ }, z.core.$strip>;
2132
+ }, z.core.$strip>, z.ZodObject<{
2133
+ type: z.ZodLiteral<"hello">;
2134
+ protocolVersion: z.ZodInt;
2135
+ role: z.ZodOptional<z.ZodEnum<{
2136
+ runner: "runner";
2137
+ hub: "hub";
2138
+ }>>;
2139
+ instanceId: z.ZodOptional<z.ZodString>;
2140
+ agent: z.ZodOptional<z.ZodObject<{
2141
+ name: z.ZodString;
2142
+ version: z.ZodOptional<z.ZodString>;
2143
+ }, z.core.$strip>>;
2144
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
2145
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
2146
+ name: z.ZodString;
2147
+ version: z.ZodOptional<z.ZodString>;
2148
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2149
+ kind: z.ZodLiteral<"builtin">;
2150
+ }, z.core.$strip>, z.ZodObject<{
2151
+ kind: z.ZodLiteral<"marketplace-remote">;
2152
+ ref: z.ZodString;
2153
+ }, z.core.$strip>, z.ZodObject<{
2154
+ kind: z.ZodLiteral<"marketplace-local">;
2155
+ repoDir: z.ZodString;
2156
+ workflowName: z.ZodString;
2157
+ }, z.core.$strip>, z.ZodObject<{
2158
+ kind: z.ZodLiteral<"filesystem">;
2159
+ path: z.ZodString;
2160
+ }, z.core.$strip>, z.ZodObject<{
2161
+ kind: z.ZodLiteral<"unknown">;
2162
+ }, z.core.$strip>], "kind">;
2163
+ }, z.core.$strip>>>;
2164
+ }, z.core.$strip>, z.ZodObject<{
2165
+ runId: z.ZodString;
2166
+ runSpec: z.ZodOptional<z.ZodObject<{
2167
+ prompt: z.ZodOptional<z.ZodString>;
2168
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2169
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
2170
+ sessionId: z.ZodOptional<z.ZodString>;
2171
+ projectDir: z.ZodOptional<z.ZodString>;
2172
+ workflow: z.ZodOptional<z.ZodObject<{
2173
+ source: z.ZodOptional<z.ZodString>;
2174
+ ref: z.ZodOptional<z.ZodString>;
2175
+ version: z.ZodOptional<z.ZodString>;
2176
+ }, z.core.$loose>>;
2177
+ harness: z.ZodOptional<z.ZodString>;
2178
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2179
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
2180
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
2181
+ callbackToken: z.ZodOptional<z.ZodString>;
2182
+ }, z.core.$loose>>;
2183
+ runnerId: z.ZodOptional<z.ZodString>;
2184
+ type: z.ZodLiteral<"run.start">;
2185
+ }, z.core.$strip>, z.ZodObject<{
2186
+ athenaSessionId: z.ZodString;
2187
+ requestId: z.ZodString;
2188
+ decision: z.ZodObject<{
2189
+ type: z.ZodEnum<{
2190
+ passthrough: "passthrough";
2191
+ block: "block";
2192
+ json: "json";
2193
+ }>;
2194
+ source: z.ZodEnum<{
2195
+ user: "user";
2196
+ timeout: "timeout";
2197
+ rule: "rule";
2198
+ }>;
2199
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2200
+ kind: z.ZodLiteral<"permission_allow">;
2201
+ }, z.core.$strip>, z.ZodObject<{
2202
+ kind: z.ZodLiteral<"permission_deny">;
2203
+ reason: z.ZodString;
2204
+ }, z.core.$strip>, z.ZodObject<{
2205
+ kind: z.ZodLiteral<"question_answer">;
2206
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
2207
+ }, z.core.$strip>, z.ZodObject<{
2208
+ kind: z.ZodLiteral<"pre_tool_allow">;
2209
+ }, z.core.$strip>, z.ZodObject<{
2210
+ kind: z.ZodLiteral<"pre_tool_deny">;
2211
+ reason: z.ZodString;
2212
+ }, z.core.$strip>, z.ZodObject<{
2213
+ kind: z.ZodLiteral<"stop_block">;
2214
+ reason: z.ZodString;
2215
+ }, z.core.$strip>, z.ZodObject<{
2216
+ kind: z.ZodLiteral<"compact_block">;
2217
+ reason: z.ZodString;
2218
+ }, z.core.$strip>], "kind">>;
2219
+ reason: z.ZodOptional<z.ZodString>;
2220
+ data: z.ZodOptional<z.ZodUnknown>;
2221
+ }, z.core.$strip>;
2222
+ type: z.ZodLiteral<"answer">;
2223
+ }, z.core.$strip>, z.ZodObject<{
2224
+ runId: z.ZodString;
2225
+ runnerId: z.ZodOptional<z.ZodString>;
2226
+ type: z.ZodLiteral<"stop">;
2227
+ }, z.core.$strip>, z.ZodObject<{
2228
+ type: z.ZodLiteral<"steer">;
2229
+ runId: z.ZodString;
2230
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2231
+ text: z.ZodString;
2232
+ }, z.core.$strip>, z.ZodObject<{
2233
+ type: z.ZodLiteral<"needs_human">;
2234
+ runId: z.ZodString;
2235
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2236
+ interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
2237
+ kind: z.ZodLiteral<"blocked">;
2238
+ reason: z.ZodOptional<z.ZodString>;
2239
+ message: z.ZodString;
2240
+ }, z.core.$strip>, z.ZodObject<{
2241
+ kind: z.ZodLiteral<"question">;
2242
+ requestId: z.ZodOptional<z.ZodString>;
2243
+ question: z.ZodOptional<z.ZodString>;
2244
+ message: z.ZodString;
2245
+ }, z.core.$strip>, z.ZodObject<{
2246
+ kind: z.ZodLiteral<"hard_failure">;
2247
+ code: z.ZodEnum<{
2248
+ auth: "auth";
2249
+ billing: "billing";
2250
+ invalid_request: "invalid_request";
2251
+ model_not_found: "model_not_found";
2252
+ unclassified: "unclassified";
2253
+ }>;
2254
+ message: z.ZodString;
2255
+ }, z.core.$strip>, z.ZodObject<{
2256
+ kind: z.ZodLiteral<"cap_exhausted">;
2257
+ cap: z.ZodEnum<{
2258
+ retry: "retry";
2259
+ nudge: "nudge";
2260
+ iterations: "iterations";
2261
+ handover: "handover";
2262
+ tokens: "tokens";
2263
+ }>;
2264
+ limit: z.ZodOptional<z.ZodInt>;
2265
+ resource: z.ZodOptional<z.ZodObject<{
2266
+ cause: z.ZodEnum<{
2267
+ iterations: "iterations";
2268
+ tokens: "tokens";
2269
+ context: "context";
2270
+ restart: "restart";
2271
+ }>;
2272
+ limit: z.ZodNumber;
2273
+ used: z.ZodNumber;
2274
+ detail: z.ZodOptional<z.ZodString>;
2275
+ checkpointPath: z.ZodOptional<z.ZodString>;
2276
+ fresh: z.ZodBoolean;
2277
+ }, z.core.$strip>>;
2278
+ message: z.ZodString;
2279
+ }, z.core.$strip>], "kind">;
2280
+ }, z.core.$strip>, z.ZodObject<{
2281
+ type: z.ZodLiteral<"workflows.changed">;
2282
+ workflows: z.ZodArray<z.ZodObject<{
2283
+ name: z.ZodString;
2284
+ version: z.ZodOptional<z.ZodString>;
2285
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2286
+ kind: z.ZodLiteral<"builtin">;
2287
+ }, z.core.$strip>, z.ZodObject<{
2288
+ kind: z.ZodLiteral<"marketplace-remote">;
2289
+ ref: z.ZodString;
2290
+ }, z.core.$strip>, z.ZodObject<{
2291
+ kind: z.ZodLiteral<"marketplace-local">;
2292
+ repoDir: z.ZodString;
2293
+ workflowName: z.ZodString;
2294
+ }, z.core.$strip>, z.ZodObject<{
2295
+ kind: z.ZodLiteral<"filesystem">;
2296
+ path: z.ZodString;
2297
+ }, z.core.$strip>, z.ZodObject<{
2298
+ kind: z.ZodLiteral<"unknown">;
2299
+ }, z.core.$strip>], "kind">;
2300
+ }, z.core.$strip>>;
2301
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
2302
+ runId: z.ZodString;
2303
+ seq: z.ZodInt;
2304
+ ts: z.ZodNumber;
2305
+ kind: z.ZodString;
2306
+ payload: z.ZodOptional<z.ZodUnknown>;
2307
+ type: z.ZodLiteral<"event">;
2308
+ stream: z.ZodLiteral<"run">;
2309
+ }, z.core.$strip>, z.ZodObject<{
2310
+ type: z.ZodLiteral<"event">;
2311
+ stream: z.ZodLiteral<"feed">;
2312
+ deliverySeq: z.ZodInt;
2313
+ envelope: z.ZodObject<{
2314
+ instanceId: z.ZodString;
2315
+ athenaSessionId: z.ZodString;
2316
+ runId: z.ZodString;
2317
+ origin: z.ZodEnum<{
2318
+ local: "local";
2319
+ dashboard: "dashboard";
2320
+ }>;
2321
+ eventId: z.ZodString;
2322
+ feedSeq: z.ZodInt;
2323
+ emittedAt: z.ZodNumber;
2324
+ feedEvent: z.ZodObject<{
2325
+ event_id: z.ZodString;
2326
+ seq: z.ZodInt;
2327
+ ts: z.ZodNumber;
2328
+ session_id: z.ZodString;
2329
+ run_id: z.ZodString;
2330
+ prompt_id: z.ZodOptional<z.ZodString>;
2331
+ effort_level: z.ZodOptional<z.ZodString>;
2332
+ kind: z.ZodString;
2333
+ level: z.ZodEnum<{
2334
+ error: "error";
2335
+ debug: "debug";
2336
+ info: "info";
2337
+ warn: "warn";
2338
+ }>;
2339
+ actor_id: z.ZodString;
2340
+ cause: z.ZodOptional<z.ZodObject<{
2341
+ parent_event_id: z.ZodOptional<z.ZodString>;
2342
+ hook_request_id: z.ZodOptional<z.ZodString>;
2343
+ tool_use_id: z.ZodOptional<z.ZodString>;
2344
+ transcript_path: z.ZodOptional<z.ZodString>;
2345
+ }, z.core.$strip>>;
2346
+ title: z.ZodString;
2347
+ body: z.ZodOptional<z.ZodString>;
2348
+ ui: z.ZodOptional<z.ZodObject<{
2349
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
2350
+ pin: z.ZodOptional<z.ZodBoolean>;
2351
+ badge: z.ZodOptional<z.ZodString>;
2352
+ }, z.core.$strip>>;
2353
+ display: z.ZodOptional<z.ZodObject<{
2354
+ title: z.ZodOptional<z.ZodString>;
2355
+ }, z.core.$strip>>;
2356
+ data: z.ZodUnknown;
2357
+ raw: z.ZodOptional<z.ZodUnknown>;
2358
+ }, z.core.$loose>;
2359
+ }, z.core.$strip>;
2360
+ }, z.core.$strip>], "stream">, z.ZodObject<{
2361
+ type: z.ZodLiteral<"ping">;
2362
+ ts: z.ZodNumber;
2363
+ }, z.core.$strip>, z.ZodObject<{
2364
+ type: z.ZodLiteral<"pong">;
2365
+ ts: z.ZodNumber;
2366
+ }, z.core.$strip>, z.ZodObject<{
2367
+ type: z.ZodLiteral<"assignment_accepted">;
2368
+ runId: z.ZodString;
2369
+ }, z.core.$strip>, z.ZodObject<{
2370
+ type: z.ZodLiteral<"assignment_rejected">;
2371
+ runId: z.ZodString;
2372
+ reason: z.ZodEnum<{
2373
+ local_capacity: "local_capacity";
2374
+ duplicate: "duplicate";
2375
+ malformed_assignment: "malformed_assignment";
2376
+ workspace_unresolved: "workspace_unresolved";
2377
+ workspace_invalid: "workspace_invalid";
2378
+ }>;
2379
+ message: z.ZodOptional<z.ZodString>;
2380
+ }, z.core.$strip>, z.ZodObject<{
2381
+ type: z.ZodLiteral<"decision_ack">;
2382
+ athenaSessionId: z.ZodString;
2383
+ requestId: z.ZodString;
2384
+ }, z.core.$strip>, z.ZodObject<{
2385
+ type: z.ZodLiteral<"feed_ack">;
2386
+ deliverySeq: z.ZodOptional<z.ZodInt>;
2387
+ eventId: z.ZodOptional<z.ZodString>;
2388
+ }, z.core.$strip>, z.ZodObject<{
2389
+ type: z.ZodLiteral<"attachments.changed">;
2390
+ attachments: z.ZodArray<z.ZodObject<{
2391
+ runnerId: z.ZodString;
2392
+ name: z.ZodOptional<z.ZodString>;
2393
+ slug: z.ZodOptional<z.ZodString>;
2394
+ executionTarget: z.ZodOptional<z.ZodString>;
2395
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
2396
+ }, z.core.$strip>>;
2397
+ }, z.core.$strip>, z.ZodObject<{
2398
+ type: z.ZodLiteral<"error">;
2399
+ code: z.ZodString;
2400
+ message: z.ZodOptional<z.ZodString>;
2401
+ }, z.core.$strip>], "type">;
2402
+ readonly 'canonical-frame': z.ZodDiscriminatedUnion<[z.ZodObject<{
2403
+ type: z.ZodLiteral<"hello">;
2404
+ protocolVersion: z.ZodInt;
2405
+ role: z.ZodOptional<z.ZodEnum<{
2406
+ runner: "runner";
2407
+ hub: "hub";
2408
+ }>>;
2409
+ instanceId: z.ZodOptional<z.ZodString>;
2410
+ agent: z.ZodOptional<z.ZodObject<{
2411
+ name: z.ZodString;
2412
+ version: z.ZodOptional<z.ZodString>;
2413
+ }, z.core.$strip>>;
2414
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
2415
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
2416
+ name: z.ZodString;
2417
+ version: z.ZodOptional<z.ZodString>;
2418
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2419
+ kind: z.ZodLiteral<"builtin">;
2420
+ }, z.core.$strip>, z.ZodObject<{
2421
+ kind: z.ZodLiteral<"marketplace-remote">;
2422
+ ref: z.ZodString;
2423
+ }, z.core.$strip>, z.ZodObject<{
2424
+ kind: z.ZodLiteral<"marketplace-local">;
2425
+ repoDir: z.ZodString;
2426
+ workflowName: z.ZodString;
2427
+ }, z.core.$strip>, z.ZodObject<{
2428
+ kind: z.ZodLiteral<"filesystem">;
2429
+ path: z.ZodString;
2430
+ }, z.core.$strip>, z.ZodObject<{
2431
+ kind: z.ZodLiteral<"unknown">;
2432
+ }, z.core.$strip>], "kind">;
2433
+ }, z.core.$strip>>>;
2434
+ }, z.core.$strip>, z.ZodObject<{
2435
+ runId: z.ZodString;
2436
+ runSpec: z.ZodOptional<z.ZodObject<{
2437
+ prompt: z.ZodOptional<z.ZodString>;
2438
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2439
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
2440
+ sessionId: z.ZodOptional<z.ZodString>;
2441
+ projectDir: z.ZodOptional<z.ZodString>;
2442
+ workflow: z.ZodOptional<z.ZodObject<{
2443
+ source: z.ZodOptional<z.ZodString>;
2444
+ ref: z.ZodOptional<z.ZodString>;
2445
+ version: z.ZodOptional<z.ZodString>;
2446
+ }, z.core.$loose>>;
2447
+ harness: z.ZodOptional<z.ZodString>;
2448
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2449
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
2450
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
2451
+ callbackToken: z.ZodOptional<z.ZodString>;
2452
+ }, z.core.$loose>>;
2453
+ runnerId: z.ZodOptional<z.ZodString>;
2454
+ type: z.ZodLiteral<"run.start">;
2455
+ }, z.core.$strip>, z.ZodObject<{
2456
+ athenaSessionId: z.ZodString;
2457
+ requestId: z.ZodString;
2458
+ decision: z.ZodObject<{
2459
+ type: z.ZodEnum<{
2460
+ passthrough: "passthrough";
2461
+ block: "block";
2462
+ json: "json";
2463
+ }>;
2464
+ source: z.ZodEnum<{
2465
+ user: "user";
2466
+ timeout: "timeout";
2467
+ rule: "rule";
2468
+ }>;
2469
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2470
+ kind: z.ZodLiteral<"permission_allow">;
2471
+ }, z.core.$strip>, z.ZodObject<{
2472
+ kind: z.ZodLiteral<"permission_deny">;
2473
+ reason: z.ZodString;
2474
+ }, z.core.$strip>, z.ZodObject<{
2475
+ kind: z.ZodLiteral<"question_answer">;
2476
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
2477
+ }, z.core.$strip>, z.ZodObject<{
2478
+ kind: z.ZodLiteral<"pre_tool_allow">;
2479
+ }, z.core.$strip>, z.ZodObject<{
2480
+ kind: z.ZodLiteral<"pre_tool_deny">;
2481
+ reason: z.ZodString;
2482
+ }, z.core.$strip>, z.ZodObject<{
2483
+ kind: z.ZodLiteral<"stop_block">;
2484
+ reason: z.ZodString;
2485
+ }, z.core.$strip>, z.ZodObject<{
2486
+ kind: z.ZodLiteral<"compact_block">;
2487
+ reason: z.ZodString;
2488
+ }, z.core.$strip>], "kind">>;
2489
+ reason: z.ZodOptional<z.ZodString>;
2490
+ data: z.ZodOptional<z.ZodUnknown>;
2491
+ }, z.core.$strip>;
2492
+ type: z.ZodLiteral<"answer">;
2493
+ }, z.core.$strip>, z.ZodObject<{
2494
+ runId: z.ZodString;
2495
+ runnerId: z.ZodOptional<z.ZodString>;
2496
+ type: z.ZodLiteral<"stop">;
2497
+ }, z.core.$strip>, z.ZodObject<{
2498
+ type: z.ZodLiteral<"steer">;
2499
+ runId: z.ZodString;
2500
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2501
+ text: z.ZodString;
2502
+ }, z.core.$strip>, z.ZodObject<{
2503
+ type: z.ZodLiteral<"needs_human">;
2504
+ runId: z.ZodString;
2505
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2506
+ interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
2507
+ kind: z.ZodLiteral<"blocked">;
2508
+ reason: z.ZodOptional<z.ZodString>;
2509
+ message: z.ZodString;
2510
+ }, z.core.$strip>, z.ZodObject<{
2511
+ kind: z.ZodLiteral<"question">;
2512
+ requestId: z.ZodOptional<z.ZodString>;
2513
+ question: z.ZodOptional<z.ZodString>;
2514
+ message: z.ZodString;
2515
+ }, z.core.$strip>, z.ZodObject<{
2516
+ kind: z.ZodLiteral<"hard_failure">;
2517
+ code: z.ZodEnum<{
2518
+ auth: "auth";
2519
+ billing: "billing";
2520
+ invalid_request: "invalid_request";
2521
+ model_not_found: "model_not_found";
2522
+ unclassified: "unclassified";
2523
+ }>;
2524
+ message: z.ZodString;
2525
+ }, z.core.$strip>, z.ZodObject<{
2526
+ kind: z.ZodLiteral<"cap_exhausted">;
2527
+ cap: z.ZodEnum<{
2528
+ retry: "retry";
2529
+ nudge: "nudge";
2530
+ iterations: "iterations";
2531
+ handover: "handover";
2532
+ tokens: "tokens";
2533
+ }>;
2534
+ limit: z.ZodOptional<z.ZodInt>;
2535
+ resource: z.ZodOptional<z.ZodObject<{
2536
+ cause: z.ZodEnum<{
2537
+ iterations: "iterations";
2538
+ tokens: "tokens";
2539
+ context: "context";
2540
+ restart: "restart";
2541
+ }>;
2542
+ limit: z.ZodNumber;
2543
+ used: z.ZodNumber;
2544
+ detail: z.ZodOptional<z.ZodString>;
2545
+ checkpointPath: z.ZodOptional<z.ZodString>;
2546
+ fresh: z.ZodBoolean;
2547
+ }, z.core.$strip>>;
2548
+ message: z.ZodString;
2549
+ }, z.core.$strip>], "kind">;
2550
+ }, z.core.$strip>, z.ZodObject<{
2551
+ type: z.ZodLiteral<"workflows.changed">;
2552
+ workflows: z.ZodArray<z.ZodObject<{
2553
+ name: z.ZodString;
2554
+ version: z.ZodOptional<z.ZodString>;
2555
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2556
+ kind: z.ZodLiteral<"builtin">;
2557
+ }, z.core.$strip>, z.ZodObject<{
2558
+ kind: z.ZodLiteral<"marketplace-remote">;
2559
+ ref: z.ZodString;
2560
+ }, z.core.$strip>, z.ZodObject<{
2561
+ kind: z.ZodLiteral<"marketplace-local">;
2562
+ repoDir: z.ZodString;
2563
+ workflowName: z.ZodString;
2564
+ }, z.core.$strip>, z.ZodObject<{
2565
+ kind: z.ZodLiteral<"filesystem">;
2566
+ path: z.ZodString;
2567
+ }, z.core.$strip>, z.ZodObject<{
2568
+ kind: z.ZodLiteral<"unknown">;
2569
+ }, z.core.$strip>], "kind">;
2570
+ }, z.core.$strip>>;
2571
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
2572
+ runId: z.ZodString;
2573
+ seq: z.ZodInt;
2574
+ ts: z.ZodNumber;
2575
+ kind: z.ZodString;
2576
+ payload: z.ZodOptional<z.ZodUnknown>;
2577
+ type: z.ZodLiteral<"event">;
2578
+ stream: z.ZodLiteral<"run">;
2579
+ }, z.core.$strip>, z.ZodObject<{
2580
+ type: z.ZodLiteral<"event">;
2581
+ stream: z.ZodLiteral<"feed">;
2582
+ deliverySeq: z.ZodInt;
2583
+ envelope: z.ZodObject<{
2584
+ instanceId: z.ZodString;
2585
+ athenaSessionId: z.ZodString;
2586
+ runId: z.ZodString;
2587
+ origin: z.ZodEnum<{
2588
+ local: "local";
2589
+ dashboard: "dashboard";
2590
+ }>;
2591
+ eventId: z.ZodString;
2592
+ feedSeq: z.ZodInt;
2593
+ emittedAt: z.ZodNumber;
2594
+ feedEvent: z.ZodObject<{
2595
+ event_id: z.ZodString;
2596
+ seq: z.ZodInt;
2597
+ ts: z.ZodNumber;
2598
+ session_id: z.ZodString;
2599
+ run_id: z.ZodString;
2600
+ prompt_id: z.ZodOptional<z.ZodString>;
2601
+ effort_level: z.ZodOptional<z.ZodString>;
2602
+ kind: z.ZodString;
2603
+ level: z.ZodEnum<{
2604
+ error: "error";
2605
+ debug: "debug";
2606
+ info: "info";
2607
+ warn: "warn";
2608
+ }>;
2609
+ actor_id: z.ZodString;
2610
+ cause: z.ZodOptional<z.ZodObject<{
2611
+ parent_event_id: z.ZodOptional<z.ZodString>;
2612
+ hook_request_id: z.ZodOptional<z.ZodString>;
2613
+ tool_use_id: z.ZodOptional<z.ZodString>;
2614
+ transcript_path: z.ZodOptional<z.ZodString>;
2615
+ }, z.core.$strip>>;
2616
+ title: z.ZodString;
2617
+ body: z.ZodOptional<z.ZodString>;
2618
+ ui: z.ZodOptional<z.ZodObject<{
2619
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
2620
+ pin: z.ZodOptional<z.ZodBoolean>;
2621
+ badge: z.ZodOptional<z.ZodString>;
2622
+ }, z.core.$strip>>;
2623
+ display: z.ZodOptional<z.ZodObject<{
2624
+ title: z.ZodOptional<z.ZodString>;
2625
+ }, z.core.$strip>>;
2626
+ data: z.ZodUnknown;
2627
+ raw: z.ZodOptional<z.ZodUnknown>;
2628
+ }, z.core.$loose>;
2629
+ }, z.core.$strip>;
2630
+ }, z.core.$strip>], "stream">, z.ZodObject<{
2631
+ type: z.ZodLiteral<"ping">;
2632
+ ts: z.ZodNumber;
2633
+ }, z.core.$strip>, z.ZodObject<{
2634
+ type: z.ZodLiteral<"pong">;
2635
+ ts: z.ZodNumber;
2636
+ }, z.core.$strip>, z.ZodObject<{
2637
+ type: z.ZodLiteral<"assignment_accepted">;
2638
+ runId: z.ZodString;
2639
+ }, z.core.$strip>, z.ZodObject<{
2640
+ type: z.ZodLiteral<"assignment_rejected">;
2641
+ runId: z.ZodString;
2642
+ reason: z.ZodEnum<{
2643
+ local_capacity: "local_capacity";
2644
+ duplicate: "duplicate";
2645
+ malformed_assignment: "malformed_assignment";
2646
+ workspace_unresolved: "workspace_unresolved";
2647
+ workspace_invalid: "workspace_invalid";
2648
+ }>;
2649
+ message: z.ZodOptional<z.ZodString>;
2650
+ }, z.core.$strip>, z.ZodObject<{
2651
+ type: z.ZodLiteral<"decision_ack">;
2652
+ athenaSessionId: z.ZodString;
2653
+ requestId: z.ZodString;
2654
+ }, z.core.$strip>, z.ZodObject<{
2655
+ type: z.ZodLiteral<"feed_ack">;
2656
+ deliverySeq: z.ZodOptional<z.ZodInt>;
2657
+ eventId: z.ZodOptional<z.ZodString>;
2658
+ }, z.core.$strip>, z.ZodObject<{
2659
+ type: z.ZodLiteral<"attachments.changed">;
2660
+ attachments: z.ZodArray<z.ZodObject<{
2661
+ runnerId: z.ZodString;
2662
+ name: z.ZodOptional<z.ZodString>;
2663
+ slug: z.ZodOptional<z.ZodString>;
2664
+ executionTarget: z.ZodOptional<z.ZodString>;
2665
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
2666
+ }, z.core.$strip>>;
2667
+ }, z.core.$strip>, z.ZodObject<{
2668
+ type: z.ZodLiteral<"error">;
2669
+ code: z.ZodString;
2670
+ message: z.ZodOptional<z.ZodString>;
2671
+ }, z.core.$strip>], "type">;
2672
+ readonly 'legacy-frame': z.ZodDiscriminatedUnion<[z.ZodObject<{
2673
+ runId: z.ZodString;
2674
+ runSpec: z.ZodOptional<z.ZodObject<{
2675
+ prompt: z.ZodOptional<z.ZodString>;
2676
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2677
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
2678
+ sessionId: z.ZodOptional<z.ZodString>;
2679
+ projectDir: z.ZodOptional<z.ZodString>;
2680
+ workflow: z.ZodOptional<z.ZodObject<{
2681
+ source: z.ZodOptional<z.ZodString>;
2682
+ ref: z.ZodOptional<z.ZodString>;
2683
+ version: z.ZodOptional<z.ZodString>;
2684
+ }, z.core.$loose>>;
2685
+ harness: z.ZodOptional<z.ZodString>;
2686
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2687
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
2688
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
2689
+ callbackToken: z.ZodOptional<z.ZodString>;
2690
+ }, z.core.$loose>>;
2691
+ runnerId: z.ZodOptional<z.ZodString>;
2692
+ type: z.ZodLiteral<"job_assignment">;
2693
+ }, z.core.$strip>, z.ZodObject<{
2694
+ athenaSessionId: z.ZodString;
2695
+ requestId: z.ZodString;
2696
+ decision: z.ZodObject<{
2697
+ type: z.ZodEnum<{
2698
+ passthrough: "passthrough";
2699
+ block: "block";
2700
+ json: "json";
2701
+ }>;
2702
+ source: z.ZodEnum<{
2703
+ user: "user";
2704
+ timeout: "timeout";
2705
+ rule: "rule";
2706
+ }>;
2707
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2708
+ kind: z.ZodLiteral<"permission_allow">;
2709
+ }, z.core.$strip>, z.ZodObject<{
2710
+ kind: z.ZodLiteral<"permission_deny">;
2711
+ reason: z.ZodString;
2712
+ }, z.core.$strip>, z.ZodObject<{
2713
+ kind: z.ZodLiteral<"question_answer">;
2714
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
2715
+ }, z.core.$strip>, z.ZodObject<{
2716
+ kind: z.ZodLiteral<"pre_tool_allow">;
2717
+ }, z.core.$strip>, z.ZodObject<{
2718
+ kind: z.ZodLiteral<"pre_tool_deny">;
2719
+ reason: z.ZodString;
2720
+ }, z.core.$strip>, z.ZodObject<{
2721
+ kind: z.ZodLiteral<"stop_block">;
2722
+ reason: z.ZodString;
2723
+ }, z.core.$strip>, z.ZodObject<{
2724
+ kind: z.ZodLiteral<"compact_block">;
2725
+ reason: z.ZodString;
2726
+ }, z.core.$strip>], "kind">>;
2727
+ reason: z.ZodOptional<z.ZodString>;
2728
+ data: z.ZodOptional<z.ZodUnknown>;
2729
+ }, z.core.$strip>;
2730
+ type: z.ZodLiteral<"dashboard_decision">;
2731
+ }, z.core.$strip>, z.ZodObject<{
2732
+ runId: z.ZodString;
2733
+ runnerId: z.ZodOptional<z.ZodString>;
2734
+ type: z.ZodLiteral<"cancel">;
2735
+ }, z.core.$strip>, z.ZodObject<{
2736
+ runId: z.ZodString;
2737
+ seq: z.ZodInt;
2738
+ ts: z.ZodNumber;
2739
+ kind: z.ZodString;
2740
+ payload: z.ZodOptional<z.ZodUnknown>;
2741
+ type: z.ZodLiteral<"run_event">;
2742
+ }, z.core.$strip>, z.ZodObject<{
2743
+ type: z.ZodLiteral<"feed_event">;
2744
+ deliverySeq: z.ZodInt;
2745
+ envelope: z.ZodObject<{
2746
+ instanceId: z.ZodString;
2747
+ athenaSessionId: z.ZodString;
2748
+ runId: z.ZodString;
2749
+ origin: z.ZodEnum<{
2750
+ local: "local";
2751
+ dashboard: "dashboard";
2752
+ }>;
2753
+ eventId: z.ZodString;
2754
+ feedSeq: z.ZodInt;
2755
+ emittedAt: z.ZodNumber;
2756
+ feedEvent: z.ZodObject<{
2757
+ event_id: z.ZodString;
2758
+ seq: z.ZodInt;
2759
+ ts: z.ZodNumber;
2760
+ session_id: z.ZodString;
2761
+ run_id: z.ZodString;
2762
+ prompt_id: z.ZodOptional<z.ZodString>;
2763
+ effort_level: z.ZodOptional<z.ZodString>;
2764
+ kind: z.ZodString;
2765
+ level: z.ZodEnum<{
2766
+ error: "error";
2767
+ debug: "debug";
2768
+ info: "info";
2769
+ warn: "warn";
2770
+ }>;
2771
+ actor_id: z.ZodString;
2772
+ cause: z.ZodOptional<z.ZodObject<{
2773
+ parent_event_id: z.ZodOptional<z.ZodString>;
2774
+ hook_request_id: z.ZodOptional<z.ZodString>;
2775
+ tool_use_id: z.ZodOptional<z.ZodString>;
2776
+ transcript_path: z.ZodOptional<z.ZodString>;
2777
+ }, z.core.$strip>>;
2778
+ title: z.ZodString;
2779
+ body: z.ZodOptional<z.ZodString>;
2780
+ ui: z.ZodOptional<z.ZodObject<{
2781
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
2782
+ pin: z.ZodOptional<z.ZodBoolean>;
2783
+ badge: z.ZodOptional<z.ZodString>;
2784
+ }, z.core.$strip>>;
2785
+ display: z.ZodOptional<z.ZodObject<{
2786
+ title: z.ZodOptional<z.ZodString>;
2787
+ }, z.core.$strip>>;
2788
+ data: z.ZodUnknown;
2789
+ raw: z.ZodOptional<z.ZodUnknown>;
2790
+ }, z.core.$loose>;
2791
+ }, z.core.$strip>;
2792
+ }, z.core.$strip>, z.ZodObject<{
2793
+ type: z.ZodLiteral<"ping">;
2794
+ ts: z.ZodNumber;
2795
+ }, z.core.$strip>, z.ZodObject<{
2796
+ type: z.ZodLiteral<"pong">;
2797
+ ts: z.ZodNumber;
2798
+ }, z.core.$strip>, z.ZodObject<{
2799
+ type: z.ZodLiteral<"assignment_accepted">;
2800
+ runId: z.ZodString;
2801
+ }, z.core.$strip>, z.ZodObject<{
2802
+ type: z.ZodLiteral<"assignment_rejected">;
2803
+ runId: z.ZodString;
2804
+ reason: z.ZodEnum<{
2805
+ local_capacity: "local_capacity";
2806
+ duplicate: "duplicate";
2807
+ malformed_assignment: "malformed_assignment";
2808
+ workspace_unresolved: "workspace_unresolved";
2809
+ workspace_invalid: "workspace_invalid";
2810
+ }>;
2811
+ message: z.ZodOptional<z.ZodString>;
2812
+ }, z.core.$strip>, z.ZodObject<{
2813
+ type: z.ZodLiteral<"decision_ack">;
2814
+ athenaSessionId: z.ZodString;
2815
+ requestId: z.ZodString;
2816
+ }, z.core.$strip>, z.ZodObject<{
2817
+ type: z.ZodLiteral<"feed_ack">;
2818
+ deliverySeq: z.ZodOptional<z.ZodInt>;
2819
+ eventId: z.ZodOptional<z.ZodString>;
2820
+ }, z.core.$strip>, z.ZodObject<{
2821
+ type: z.ZodLiteral<"attachments.changed">;
2822
+ attachments: z.ZodArray<z.ZodObject<{
2823
+ runnerId: z.ZodString;
2824
+ name: z.ZodOptional<z.ZodString>;
2825
+ slug: z.ZodOptional<z.ZodString>;
2826
+ executionTarget: z.ZodOptional<z.ZodString>;
2827
+ remoteInstanceId: z.ZodOptional<z.ZodString>;
2828
+ }, z.core.$strip>>;
2829
+ }, z.core.$strip>, z.ZodObject<{
2830
+ type: z.ZodLiteral<"error">;
2831
+ code: z.ZodString;
2832
+ message: z.ZodOptional<z.ZodString>;
2833
+ }, z.core.$strip>], "type">;
2834
+ readonly hello: z.ZodObject<{
2835
+ type: z.ZodLiteral<"hello">;
2836
+ protocolVersion: z.ZodInt;
2837
+ role: z.ZodOptional<z.ZodEnum<{
2838
+ runner: "runner";
2839
+ hub: "hub";
2840
+ }>>;
2841
+ instanceId: z.ZodOptional<z.ZodString>;
2842
+ agent: z.ZodOptional<z.ZodObject<{
2843
+ name: z.ZodString;
2844
+ version: z.ZodOptional<z.ZodString>;
2845
+ }, z.core.$strip>>;
2846
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
2847
+ workflows: z.ZodOptional<z.ZodArray<z.ZodObject<{
2848
+ name: z.ZodString;
2849
+ version: z.ZodOptional<z.ZodString>;
2850
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2851
+ kind: z.ZodLiteral<"builtin">;
2852
+ }, z.core.$strip>, z.ZodObject<{
2853
+ kind: z.ZodLiteral<"marketplace-remote">;
2854
+ ref: z.ZodString;
2855
+ }, z.core.$strip>, z.ZodObject<{
2856
+ kind: z.ZodLiteral<"marketplace-local">;
2857
+ repoDir: z.ZodString;
2858
+ workflowName: z.ZodString;
2859
+ }, z.core.$strip>, z.ZodObject<{
2860
+ kind: z.ZodLiteral<"filesystem">;
2861
+ path: z.ZodString;
2862
+ }, z.core.$strip>, z.ZodObject<{
2863
+ kind: z.ZodLiteral<"unknown">;
2864
+ }, z.core.$strip>], "kind">;
2865
+ }, z.core.$strip>>>;
2866
+ }, z.core.$strip>;
2867
+ readonly run: z.ZodObject<{
2868
+ runId: z.ZodString;
2869
+ athenaSessionId: z.ZodString;
2870
+ workflowName: z.ZodOptional<z.ZodString>;
2871
+ goal: z.ZodOptional<z.ZodString>;
2872
+ iteration: z.ZodInt;
2873
+ maxIterations: z.ZodOptional<z.ZodInt>;
2874
+ status: z.ZodEnum<{
2875
+ running: "running";
2876
+ awaiting_attention: "awaiting_attention";
2877
+ completed: "completed";
2878
+ blocked: "blocked";
2879
+ exhausted: "exhausted";
2880
+ failed: "failed";
2881
+ cancelled: "cancelled";
2882
+ }>;
2883
+ stopReason: z.ZodOptional<z.ZodString>;
2884
+ adapterSessionId: z.ZodOptional<z.ZodString>;
2885
+ startedAt: z.ZodNumber;
2886
+ endedAt: z.ZodOptional<z.ZodNumber>;
2887
+ }, z.core.$strip>;
2888
+ readonly turn: z.ZodObject<{
2889
+ runId: z.ZodString;
2890
+ iteration: z.ZodInt;
2891
+ continuation: z.ZodDiscriminatedUnion<[z.ZodObject<{
2892
+ mode: z.ZodLiteral<"fresh">;
2893
+ }, z.core.$strip>, z.ZodObject<{
2894
+ mode: z.ZodLiteral<"resume">;
2895
+ handle: z.ZodString;
2896
+ }, z.core.$strip>, z.ZodObject<{
2897
+ mode: z.ZodLiteral<"reuse-current">;
2898
+ }, z.core.$strip>], "mode">;
2899
+ adapterSessionId: z.ZodOptional<z.ZodString>;
2900
+ startedAt: z.ZodNumber;
2901
+ endedAt: z.ZodOptional<z.ZodNumber>;
2902
+ outcome: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2903
+ kind: z.ZodLiteral<"continue">;
2904
+ }, z.core.$strip>, z.ZodObject<{
2905
+ kind: z.ZodLiteral<"stop">;
2906
+ status: z.ZodEnum<{
2907
+ running: "running";
2908
+ awaiting_attention: "awaiting_attention";
2909
+ completed: "completed";
2910
+ blocked: "blocked";
2911
+ exhausted: "exhausted";
2912
+ failed: "failed";
2913
+ cancelled: "cancelled";
2914
+ }>;
2915
+ stopReason: z.ZodOptional<z.ZodString>;
2916
+ }, z.core.$strip>, z.ZodObject<{
2917
+ kind: z.ZodLiteral<"suspend">;
2918
+ status: z.ZodEnum<{
2919
+ running: "running";
2920
+ awaiting_attention: "awaiting_attention";
2921
+ completed: "completed";
2922
+ blocked: "blocked";
2923
+ exhausted: "exhausted";
2924
+ failed: "failed";
2925
+ cancelled: "cancelled";
2926
+ }>;
2927
+ stopReason: z.ZodString;
2928
+ }, z.core.$strip>], "kind">>;
2929
+ }, z.core.$strip>;
2930
+ readonly interruption: z.ZodDiscriminatedUnion<[z.ZodObject<{
2931
+ kind: z.ZodLiteral<"blocked">;
2932
+ reason: z.ZodOptional<z.ZodString>;
2933
+ message: z.ZodString;
2934
+ }, z.core.$strip>, z.ZodObject<{
2935
+ kind: z.ZodLiteral<"question">;
2936
+ requestId: z.ZodOptional<z.ZodString>;
2937
+ question: z.ZodOptional<z.ZodString>;
2938
+ message: z.ZodString;
2939
+ }, z.core.$strip>, z.ZodObject<{
2940
+ kind: z.ZodLiteral<"hard_failure">;
2941
+ code: z.ZodEnum<{
2942
+ auth: "auth";
2943
+ billing: "billing";
2944
+ invalid_request: "invalid_request";
2945
+ model_not_found: "model_not_found";
2946
+ unclassified: "unclassified";
2947
+ }>;
2948
+ message: z.ZodString;
2949
+ }, z.core.$strip>, z.ZodObject<{
2950
+ kind: z.ZodLiteral<"cap_exhausted">;
2951
+ cap: z.ZodEnum<{
2952
+ retry: "retry";
2953
+ nudge: "nudge";
2954
+ iterations: "iterations";
2955
+ handover: "handover";
2956
+ tokens: "tokens";
2957
+ }>;
2958
+ limit: z.ZodOptional<z.ZodInt>;
2959
+ resource: z.ZodOptional<z.ZodObject<{
2960
+ cause: z.ZodEnum<{
2961
+ iterations: "iterations";
2962
+ tokens: "tokens";
2963
+ context: "context";
2964
+ restart: "restart";
2965
+ }>;
2966
+ limit: z.ZodNumber;
2967
+ used: z.ZodNumber;
2968
+ detail: z.ZodOptional<z.ZodString>;
2969
+ checkpointPath: z.ZodOptional<z.ZodString>;
2970
+ fresh: z.ZodBoolean;
2971
+ }, z.core.$strip>>;
2972
+ message: z.ZodString;
2973
+ }, z.core.$strip>], "kind">;
2974
+ readonly 'installed-workflow': z.ZodObject<{
2975
+ name: z.ZodString;
2976
+ version: z.ZodOptional<z.ZodString>;
2977
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
2978
+ kind: z.ZodLiteral<"builtin">;
2979
+ }, z.core.$strip>, z.ZodObject<{
2980
+ kind: z.ZodLiteral<"marketplace-remote">;
2981
+ ref: z.ZodString;
2982
+ }, z.core.$strip>, z.ZodObject<{
2983
+ kind: z.ZodLiteral<"marketplace-local">;
2984
+ repoDir: z.ZodString;
2985
+ workflowName: z.ZodString;
2986
+ }, z.core.$strip>, z.ZodObject<{
2987
+ kind: z.ZodLiteral<"filesystem">;
2988
+ path: z.ZodString;
2989
+ }, z.core.$strip>, z.ZodObject<{
2990
+ kind: z.ZodLiteral<"unknown">;
2991
+ }, z.core.$strip>], "kind">;
2992
+ }, z.core.$strip>;
2993
+ readonly 'run-spec': z.ZodObject<{
2994
+ prompt: z.ZodOptional<z.ZodString>;
2995
+ athenaSessionId: z.ZodOptional<z.ZodString>;
2996
+ adapterResumeSessionId: z.ZodOptional<z.ZodString>;
2997
+ sessionId: z.ZodOptional<z.ZodString>;
2998
+ projectDir: z.ZodOptional<z.ZodString>;
2999
+ workflow: z.ZodOptional<z.ZodObject<{
3000
+ source: z.ZodOptional<z.ZodString>;
3001
+ ref: z.ZodOptional<z.ZodString>;
3002
+ version: z.ZodOptional<z.ZodString>;
3003
+ }, z.core.$loose>>;
3004
+ harness: z.ZodOptional<z.ZodString>;
3005
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3006
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
3007
+ callbackWsUrl: z.ZodOptional<z.ZodString>;
3008
+ callbackToken: z.ZodOptional<z.ZodString>;
3009
+ }, z.core.$loose>;
3010
+ readonly 'runtime-decision': z.ZodObject<{
3011
+ type: z.ZodEnum<{
3012
+ passthrough: "passthrough";
3013
+ block: "block";
3014
+ json: "json";
3015
+ }>;
3016
+ source: z.ZodEnum<{
3017
+ user: "user";
3018
+ timeout: "timeout";
3019
+ rule: "rule";
3020
+ }>;
3021
+ intent: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
3022
+ kind: z.ZodLiteral<"permission_allow">;
3023
+ }, z.core.$strip>, z.ZodObject<{
3024
+ kind: z.ZodLiteral<"permission_deny">;
3025
+ reason: z.ZodString;
3026
+ }, z.core.$strip>, z.ZodObject<{
3027
+ kind: z.ZodLiteral<"question_answer">;
3028
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
3029
+ }, z.core.$strip>, z.ZodObject<{
3030
+ kind: z.ZodLiteral<"pre_tool_allow">;
3031
+ }, z.core.$strip>, z.ZodObject<{
3032
+ kind: z.ZodLiteral<"pre_tool_deny">;
3033
+ reason: z.ZodString;
3034
+ }, z.core.$strip>, z.ZodObject<{
3035
+ kind: z.ZodLiteral<"stop_block">;
3036
+ reason: z.ZodString;
3037
+ }, z.core.$strip>, z.ZodObject<{
3038
+ kind: z.ZodLiteral<"compact_block">;
3039
+ reason: z.ZodString;
3040
+ }, z.core.$strip>], "kind">>;
3041
+ reason: z.ZodOptional<z.ZodString>;
3042
+ data: z.ZodOptional<z.ZodUnknown>;
3043
+ }, z.core.$strip>;
3044
+ readonly 'run-stream-event': z.ZodObject<{
3045
+ runId: z.ZodString;
3046
+ seq: z.ZodInt;
3047
+ ts: z.ZodNumber;
3048
+ kind: z.ZodString;
3049
+ payload: z.ZodOptional<z.ZodUnknown>;
3050
+ }, z.core.$strip>;
3051
+ readonly 'feed-event': z.ZodObject<{
3052
+ event_id: z.ZodString;
3053
+ seq: z.ZodInt;
3054
+ ts: z.ZodNumber;
3055
+ session_id: z.ZodString;
3056
+ run_id: z.ZodString;
3057
+ prompt_id: z.ZodOptional<z.ZodString>;
3058
+ effort_level: z.ZodOptional<z.ZodString>;
3059
+ kind: z.ZodString;
3060
+ level: z.ZodEnum<{
3061
+ error: "error";
3062
+ debug: "debug";
3063
+ info: "info";
3064
+ warn: "warn";
3065
+ }>;
3066
+ actor_id: z.ZodString;
3067
+ cause: z.ZodOptional<z.ZodObject<{
3068
+ parent_event_id: z.ZodOptional<z.ZodString>;
3069
+ hook_request_id: z.ZodOptional<z.ZodString>;
3070
+ tool_use_id: z.ZodOptional<z.ZodString>;
3071
+ transcript_path: z.ZodOptional<z.ZodString>;
3072
+ }, z.core.$strip>>;
3073
+ title: z.ZodString;
3074
+ body: z.ZodOptional<z.ZodString>;
3075
+ ui: z.ZodOptional<z.ZodObject<{
3076
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
3077
+ pin: z.ZodOptional<z.ZodBoolean>;
3078
+ badge: z.ZodOptional<z.ZodString>;
3079
+ }, z.core.$strip>>;
3080
+ display: z.ZodOptional<z.ZodObject<{
3081
+ title: z.ZodOptional<z.ZodString>;
3082
+ }, z.core.$strip>>;
3083
+ data: z.ZodUnknown;
3084
+ raw: z.ZodOptional<z.ZodUnknown>;
3085
+ }, z.core.$loose>;
3086
+ readonly 'feed-envelope': z.ZodObject<{
3087
+ instanceId: z.ZodString;
3088
+ athenaSessionId: z.ZodString;
3089
+ runId: z.ZodString;
3090
+ origin: z.ZodEnum<{
3091
+ local: "local";
3092
+ dashboard: "dashboard";
3093
+ }>;
3094
+ eventId: z.ZodString;
3095
+ feedSeq: z.ZodInt;
3096
+ emittedAt: z.ZodNumber;
3097
+ feedEvent: z.ZodObject<{
3098
+ event_id: z.ZodString;
3099
+ seq: z.ZodInt;
3100
+ ts: z.ZodNumber;
3101
+ session_id: z.ZodString;
3102
+ run_id: z.ZodString;
3103
+ prompt_id: z.ZodOptional<z.ZodString>;
3104
+ effort_level: z.ZodOptional<z.ZodString>;
3105
+ kind: z.ZodString;
3106
+ level: z.ZodEnum<{
3107
+ error: "error";
3108
+ debug: "debug";
3109
+ info: "info";
3110
+ warn: "warn";
3111
+ }>;
3112
+ actor_id: z.ZodString;
3113
+ cause: z.ZodOptional<z.ZodObject<{
3114
+ parent_event_id: z.ZodOptional<z.ZodString>;
3115
+ hook_request_id: z.ZodOptional<z.ZodString>;
3116
+ tool_use_id: z.ZodOptional<z.ZodString>;
3117
+ transcript_path: z.ZodOptional<z.ZodString>;
3118
+ }, z.core.$strip>>;
3119
+ title: z.ZodString;
3120
+ body: z.ZodOptional<z.ZodString>;
3121
+ ui: z.ZodOptional<z.ZodObject<{
3122
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
3123
+ pin: z.ZodOptional<z.ZodBoolean>;
3124
+ badge: z.ZodOptional<z.ZodString>;
3125
+ }, z.core.$strip>>;
3126
+ display: z.ZodOptional<z.ZodObject<{
3127
+ title: z.ZodOptional<z.ZodString>;
3128
+ }, z.core.$strip>>;
3129
+ data: z.ZodUnknown;
3130
+ raw: z.ZodOptional<z.ZodUnknown>;
3131
+ }, z.core.$loose>;
3132
+ }, z.core.$strip>;
3133
+ readonly 'phase-event': z.ZodObject<{
3134
+ runId: z.ZodString;
3135
+ turn: z.ZodInt;
3136
+ step: z.ZodString;
3137
+ stepIndex: z.ZodOptional<z.ZodInt>;
3138
+ stepTotal: z.ZodOptional<z.ZodInt>;
3139
+ }, z.core.$strip>;
3140
+ readonly 'phase-feed-event': z.ZodObject<{
3141
+ event_id: z.ZodString;
3142
+ seq: z.ZodInt;
3143
+ ts: z.ZodNumber;
3144
+ session_id: z.ZodString;
3145
+ run_id: z.ZodString;
3146
+ prompt_id: z.ZodOptional<z.ZodString>;
3147
+ effort_level: z.ZodOptional<z.ZodString>;
3148
+ level: z.ZodEnum<{
3149
+ error: "error";
3150
+ debug: "debug";
3151
+ info: "info";
3152
+ warn: "warn";
3153
+ }>;
3154
+ actor_id: z.ZodString;
3155
+ cause: z.ZodOptional<z.ZodObject<{
3156
+ parent_event_id: z.ZodOptional<z.ZodString>;
3157
+ hook_request_id: z.ZodOptional<z.ZodString>;
3158
+ tool_use_id: z.ZodOptional<z.ZodString>;
3159
+ transcript_path: z.ZodOptional<z.ZodString>;
3160
+ }, z.core.$strip>>;
3161
+ title: z.ZodString;
3162
+ body: z.ZodOptional<z.ZodString>;
3163
+ ui: z.ZodOptional<z.ZodObject<{
3164
+ collapsed_default: z.ZodOptional<z.ZodBoolean>;
3165
+ pin: z.ZodOptional<z.ZodBoolean>;
3166
+ badge: z.ZodOptional<z.ZodString>;
3167
+ }, z.core.$strip>>;
3168
+ display: z.ZodOptional<z.ZodObject<{
3169
+ title: z.ZodOptional<z.ZodString>;
3170
+ }, z.core.$strip>>;
3171
+ raw: z.ZodOptional<z.ZodUnknown>;
3172
+ kind: z.ZodLiteral<"phase">;
3173
+ data: z.ZodObject<{
3174
+ runId: z.ZodString;
3175
+ turn: z.ZodInt;
3176
+ step: z.ZodString;
3177
+ stepIndex: z.ZodOptional<z.ZodInt>;
3178
+ stepTotal: z.ZodOptional<z.ZodInt>;
3179
+ }, z.core.$strip>;
3180
+ }, z.core.$loose>;
3181
+ };
3182
+ type JsonSchemaName = keyof typeof JSON_SCHEMA_SOURCES;
3183
+ type JsonSchemaDocument = Record<string, unknown>;
3184
+ declare function jsonSchemaId(name: JsonSchemaName): string;
3185
+ /** Generate every JSON Schema document, keyed by file stem. */
3186
+ declare function buildJsonSchemas(): Record<JsonSchemaName, JsonSchemaDocument>;
3187
+
3188
+ export { type AnswerFrame, AnswerFrameSchema, type AssignmentAcceptedFrame, AssignmentAcceptedFrameSchema, type AssignmentRejectedFrame, AssignmentRejectedFrameSchema, type AssignmentRejectedReason, AssignmentRejectedReasonSchema, type Attachment, AttachmentSchema, type AttachmentsChangedFrame, AttachmentsChangedFrameSchema, type CancelFrame, CancelFrameSchema, type CanonicalFrame, CanonicalFrameSchema, type CanonicalFrameType, type DashboardDecisionFrame, DashboardDecisionFrameSchema, type DecisionAckFrame, DecisionAckFrameSchema, type EmittableLegacyFrame, type ErrorFrame, ErrorFrameSchema, type EventFrame, EventFrameSchema, type ExhaustedCap, ExhaustedCapSchema, FRAME_NAME_MAP, type FeedAckFrame, FeedAckFrameSchema, type FeedEnvelope, FeedEnvelopeSchema, type FeedEvent, type FeedEventCause, FeedEventCauseSchema, type FeedEventFrame, FeedEventFrameSchema, type FeedEventLevel, FeedEventLevelSchema, FeedEventSchema, type FeedOrigin, FeedOriginSchema, type FeedStreamEventFrame, FeedStreamEventFrameSchema, type Frame, type FrameNameMap, FrameSchema, type FrameType, type HardFailureCode, HardFailureCodeSchema, type HelloFrame, HelloFrameSchema, type InstalledWorkflow, InstalledWorkflowSchema, type InstalledWorkflowSource, InstalledWorkflowSourceSchema, type Interruption, InterruptionSchema, JSON_SCHEMA_SOURCES, type JobAssignmentFrame, JobAssignmentFrameSchema, type JsonSchemaDocument, type JsonSchemaName, type LegacyFrame, LegacyFrameSchema, type LegacyFrameType, type NeedsHumanFrame, NeedsHumanFrameSchema, type NewOnlyFrame, PHASE_FEED_EVENT_KIND, PROTOCOL_VERSION, type PhaseEvent, PhaseEventSchema, type PhaseFeedEvent, PhaseFeedEventSchema, type PingFrame, PingFrameSchema, type PongFrame, PongFrameSchema, type ProtocolVersion, type Run, type RunEventFrame, RunEventFrameSchema, RunSchema, type RunSpec, RunSpecSchema, type RunStartFrame, RunStartFrameSchema, type RunStatus, RunStatusSchema, type RunStreamEvent, type RunStreamEventFrame, RunStreamEventFrameSchema, RunStreamEventSchema, type RuntimeDecision, RuntimeDecisionSchema, type RuntimeIntent, RuntimeIntentSchema, type SteerFrame, SteerFrameSchema, type StopFrame, StopFrameSchema, type Turn, type TurnContinuation, TurnContinuationSchema, type TurnOutcome, TurnOutcomeSchema, TurnSchema, type WorkflowsChangedFrame, WorkflowsChangedFrameSchema, buildJsonSchemas, hello, jsonSchemaId, normalizeFrame, safeNormalizeFrame, toLegacyFrame };