@h-rig/contracts 0.0.6-alpha.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,2374 @@
1
+ // @bun
2
+ // packages/contracts/src/rig.ts
3
+ import { Schema as Schema14 } from "effect";
4
+
5
+ // packages/contracts/src/artifact.ts
6
+ import { Schema as Schema2 } from "effect";
7
+
8
+ // packages/contracts/src/baseSchemas.ts
9
+ import { Schema } from "effect";
10
+ var TrimmedString = Schema.Trim;
11
+ var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
12
+ var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
13
+ var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
14
+ var IsoDateTime = Schema.String;
15
+ var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
16
+ var ThreadId = makeEntityId("ThreadId");
17
+ var ProjectId = makeEntityId("ProjectId");
18
+ var WorkspaceId = makeEntityId("WorkspaceId");
19
+ var GraphId = makeEntityId("GraphId");
20
+ var TaskId = makeEntityId("TaskId");
21
+ var RunId = makeEntityId("RunId");
22
+ var EngineRuntimeId = makeEntityId("EngineRuntimeId");
23
+ var ConversationId = makeEntityId("ConversationId");
24
+ var ActionId = makeEntityId("ActionId");
25
+ var ArtifactId = makeEntityId("ArtifactId");
26
+ var WorktreeId = makeEntityId("WorktreeId");
27
+ var ValidationResultId = makeEntityId("ValidationResultId");
28
+ var ReviewResultId = makeEntityId("ReviewResultId");
29
+ var CommandId = makeEntityId("CommandId");
30
+ var EventId = makeEntityId("EventId");
31
+ var MessageId = makeEntityId("MessageId");
32
+ var TurnId = makeEntityId("TurnId");
33
+ var ProviderItemId = makeEntityId("ProviderItemId");
34
+ var RuntimeSessionId = makeEntityId("RuntimeSessionId");
35
+ var RuntimeItemId = makeEntityId("RuntimeItemId");
36
+ var RuntimeRequestId = makeEntityId("RuntimeRequestId");
37
+ var RuntimeTaskId = makeEntityId("RuntimeTaskId");
38
+ var ApprovalRequestId = makeEntityId("ApprovalRequestId");
39
+ var CheckpointRef = makeEntityId("CheckpointRef");
40
+ var RemoteEndpointId = makeEntityId("RemoteEndpointId");
41
+
42
+ // packages/contracts/src/artifact.ts
43
+ var ArtifactSummary = Schema2.Struct({
44
+ id: ArtifactId,
45
+ runId: RunId,
46
+ taskId: Schema2.NullOr(TaskId),
47
+ kind: TrimmedNonEmptyString,
48
+ label: TrimmedNonEmptyString,
49
+ path: Schema2.NullOr(TrimmedNonEmptyString),
50
+ url: Schema2.NullOr(TrimmedNonEmptyString),
51
+ metadata: Schema2.Record(Schema2.String, Schema2.Unknown),
52
+ createdAt: IsoDateTime
53
+ });
54
+
55
+ // packages/contracts/src/engine.ts
56
+ import { Schema as Schema13 } from "effect";
57
+
58
+ // packages/contracts/src/conversation.ts
59
+ import { Schema as Schema3 } from "effect";
60
+ var EngineMessageRole = Schema3.Literals(["user", "assistant", "system"]);
61
+ var EngineMessageState = Schema3.Literals([
62
+ "streaming",
63
+ "completed",
64
+ "interrupted",
65
+ "errored"
66
+ ]);
67
+ var ConversationSummary = Schema3.Struct({
68
+ id: ConversationId,
69
+ runId: RunId,
70
+ title: TrimmedNonEmptyString,
71
+ createdAt: IsoDateTime,
72
+ updatedAt: IsoDateTime
73
+ });
74
+ var EngineMessage = Schema3.Struct({
75
+ id: MessageId,
76
+ conversationId: ConversationId,
77
+ role: EngineMessageRole,
78
+ text: Schema3.String,
79
+ attachments: Schema3.Array(Schema3.Unknown),
80
+ state: EngineMessageState,
81
+ createdAt: IsoDateTime,
82
+ completedAt: Schema3.NullOr(IsoDateTime)
83
+ });
84
+ var EngineAction = Schema3.Struct({
85
+ id: ActionId,
86
+ runId: RunId,
87
+ messageId: Schema3.NullOr(MessageId),
88
+ actionType: TrimmedNonEmptyString,
89
+ title: TrimmedNonEmptyString,
90
+ detail: Schema3.NullOr(Schema3.String),
91
+ state: TrimmedNonEmptyString,
92
+ payload: Schema3.Unknown,
93
+ startedAt: IsoDateTime,
94
+ completedAt: Schema3.NullOr(IsoDateTime)
95
+ });
96
+ var EngineLogTone = Schema3.Literals(["thinking", "tool", "info", "error"]);
97
+ var EngineRunLog = Schema3.Struct({
98
+ id: TrimmedNonEmptyString,
99
+ runId: RunId,
100
+ title: TrimmedNonEmptyString,
101
+ detail: Schema3.NullOr(Schema3.String),
102
+ tone: EngineLogTone,
103
+ status: Schema3.NullOr(TrimmedNonEmptyString),
104
+ payload: Schema3.Unknown,
105
+ createdAt: IsoDateTime
106
+ });
107
+
108
+ // packages/contracts/src/graph.ts
109
+ import { Schema as Schema4 } from "effect";
110
+ var TaskStatus = Schema4.Literals([
111
+ "draft",
112
+ "open",
113
+ "ready",
114
+ "queued",
115
+ "running",
116
+ "in_progress",
117
+ "under_review",
118
+ "blocked",
119
+ "unknown",
120
+ "completed",
121
+ "failed",
122
+ "cancelled",
123
+ "closed"
124
+ ]);
125
+ var GraphSummary = Schema4.Struct({
126
+ id: GraphId,
127
+ workspaceId: WorkspaceId,
128
+ title: TrimmedNonEmptyString,
129
+ description: Schema4.NullOr(Schema4.String),
130
+ createdAt: IsoDateTime,
131
+ updatedAt: IsoDateTime
132
+ });
133
+ var TaskSummary = Schema4.Struct({
134
+ id: TaskId,
135
+ workspaceId: WorkspaceId,
136
+ graphId: Schema4.NullOr(GraphId),
137
+ externalId: Schema4.NullOr(TrimmedNonEmptyString),
138
+ title: TrimmedNonEmptyString,
139
+ description: Schema4.String,
140
+ status: TaskStatus,
141
+ priority: Schema4.NullOr(PositiveInt),
142
+ role: Schema4.NullOr(TrimmedNonEmptyString),
143
+ scope: Schema4.Array(TrimmedNonEmptyString),
144
+ validationKeys: Schema4.Array(TrimmedNonEmptyString),
145
+ sourceIssueId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
146
+ dependencies: Schema4.optional(Schema4.Array(TrimmedNonEmptyString)),
147
+ parentChildDeps: Schema4.optional(Schema4.Array(TrimmedNonEmptyString)),
148
+ metadata: Schema4.Unknown,
149
+ createdAt: IsoDateTime,
150
+ updatedAt: IsoDateTime
151
+ });
152
+ var QueueEntry = Schema4.Struct({
153
+ taskId: TaskId,
154
+ score: NonNegativeInt,
155
+ unblockCount: NonNegativeInt,
156
+ position: NonNegativeInt
157
+ });
158
+
159
+ // packages/contracts/src/policy.ts
160
+ import { Schema as Schema5 } from "effect";
161
+ var PolicyDecision = Schema5.Literals(["allow", "warn", "block"]);
162
+ var PolicyMode = Schema5.Literals(["off", "observe", "enforce"]);
163
+ var PolicyDecisionSummary = Schema5.Struct({
164
+ id: TrimmedNonEmptyString,
165
+ runId: RunId,
166
+ actionId: Schema5.NullOr(ActionId),
167
+ decision: PolicyDecision,
168
+ mode: PolicyMode,
169
+ matchedRules: Schema5.Array(TrimmedNonEmptyString),
170
+ reason: Schema5.String,
171
+ createdAt: IsoDateTime
172
+ });
173
+
174
+ // packages/contracts/src/orchestration.ts
175
+ import { Option, Schema as Schema7, SchemaIssue, Struct } from "effect";
176
+
177
+ // packages/contracts/src/model.ts
178
+ import { Schema as Schema6 } from "effect";
179
+ var CODEX_REASONING_EFFORT_OPTIONS = ["xhigh", "high", "medium", "low"];
180
+ var CodexModelOptions = Schema6.Struct({
181
+ reasoningEffort: Schema6.optional(Schema6.Literals(CODEX_REASONING_EFFORT_OPTIONS)),
182
+ fastMode: Schema6.optional(Schema6.Boolean)
183
+ });
184
+ var ClaudeModelOptions = Schema6.Struct({});
185
+ var ProviderModelOptions = Schema6.Struct({
186
+ codex: Schema6.optional(CodexModelOptions),
187
+ claude: Schema6.optional(ClaudeModelOptions)
188
+ });
189
+
190
+ // packages/contracts/src/orchestration.ts
191
+ var ProviderKind = Schema7.Literals(["codex", "claude"]);
192
+ var ProviderApprovalPolicy = Schema7.Literals([
193
+ "untrusted",
194
+ "on-failure",
195
+ "on-request",
196
+ "never"
197
+ ]);
198
+ var ProviderSandboxMode = Schema7.Literals([
199
+ "read-only",
200
+ "workspace-write",
201
+ "danger-full-access"
202
+ ]);
203
+ var ProviderServiceTier = Schema7.Literals(["fast", "flex"]);
204
+ var RuntimeMode = Schema7.Literals(["approval-required", "full-access"]);
205
+ var DEFAULT_RUNTIME_MODE = "full-access";
206
+ var ProviderInteractionMode = Schema7.Literals(["default", "plan"]);
207
+ var DEFAULT_PROVIDER_INTERACTION_MODE = "default";
208
+ var ProviderRequestKind = Schema7.Literals(["command", "file-read", "file-change"]);
209
+ var AssistantDeliveryMode = Schema7.Literals(["buffered", "streaming"]);
210
+ var ProviderApprovalDecision = Schema7.Literals([
211
+ "accept",
212
+ "acceptForSession",
213
+ "decline",
214
+ "cancel"
215
+ ]);
216
+ var ProviderUserInputAnswers = Schema7.Record(Schema7.String, Schema7.Unknown);
217
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
218
+ var PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS = 14000000;
219
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
220
+ var ChatAttachmentId = TrimmedNonEmptyString.check(Schema7.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema7.isPattern(/^[a-z0-9_-]+$/i));
221
+ var ChatImageAttachment = Schema7.Struct({
222
+ type: Schema7.Literal("image"),
223
+ id: ChatAttachmentId,
224
+ name: TrimmedNonEmptyString.check(Schema7.isMaxLength(255)),
225
+ mimeType: TrimmedNonEmptyString.check(Schema7.isMaxLength(100), Schema7.isPattern(/^image\//i)),
226
+ sizeBytes: NonNegativeInt.check(Schema7.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
227
+ });
228
+ var UploadChatImageAttachment = Schema7.Struct({
229
+ type: Schema7.Literal("image"),
230
+ name: TrimmedNonEmptyString.check(Schema7.isMaxLength(255)),
231
+ mimeType: TrimmedNonEmptyString.check(Schema7.isMaxLength(100), Schema7.isPattern(/^image\//i)),
232
+ sizeBytes: NonNegativeInt.check(Schema7.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
233
+ dataUrl: TrimmedNonEmptyString.check(Schema7.isMaxLength(PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS))
234
+ });
235
+ var ChatAttachment = Schema7.Union([ChatImageAttachment]);
236
+ var UploadChatAttachment = Schema7.Union([UploadChatImageAttachment]);
237
+ var ProjectScriptIcon = Schema7.Literals([
238
+ "play",
239
+ "test",
240
+ "lint",
241
+ "configure",
242
+ "build",
243
+ "debug"
244
+ ]);
245
+ var ProjectScript = Schema7.Struct({
246
+ id: TrimmedNonEmptyString,
247
+ name: TrimmedNonEmptyString,
248
+ command: TrimmedNonEmptyString,
249
+ icon: ProjectScriptIcon,
250
+ runOnWorktreeCreate: Schema7.Boolean
251
+ });
252
+ var OrchestrationProject = Schema7.Struct({
253
+ id: ProjectId,
254
+ title: TrimmedNonEmptyString,
255
+ workspaceRoot: TrimmedNonEmptyString,
256
+ defaultModel: Schema7.NullOr(TrimmedNonEmptyString),
257
+ scripts: Schema7.Array(ProjectScript),
258
+ createdAt: IsoDateTime,
259
+ updatedAt: IsoDateTime,
260
+ deletedAt: Schema7.NullOr(IsoDateTime)
261
+ });
262
+ var OrchestrationMessageRole = Schema7.Literals(["user", "assistant", "system"]);
263
+ var OrchestrationMessage = Schema7.Struct({
264
+ id: MessageId,
265
+ role: OrchestrationMessageRole,
266
+ text: Schema7.String,
267
+ attachments: Schema7.optional(Schema7.Array(ChatAttachment)),
268
+ turnId: Schema7.NullOr(TurnId),
269
+ streaming: Schema7.Boolean,
270
+ createdAt: IsoDateTime,
271
+ updatedAt: IsoDateTime
272
+ });
273
+ var OrchestrationProposedPlanId = TrimmedNonEmptyString;
274
+ var OrchestrationProposedPlan = Schema7.Struct({
275
+ id: OrchestrationProposedPlanId,
276
+ turnId: Schema7.NullOr(TurnId),
277
+ planMarkdown: TrimmedNonEmptyString,
278
+ createdAt: IsoDateTime,
279
+ updatedAt: IsoDateTime
280
+ });
281
+ var OrchestrationSessionStatus = Schema7.Literals([
282
+ "idle",
283
+ "starting",
284
+ "running",
285
+ "ready",
286
+ "interrupted",
287
+ "stopped",
288
+ "error"
289
+ ]);
290
+ var OrchestrationSession = Schema7.Struct({
291
+ threadId: ThreadId,
292
+ status: OrchestrationSessionStatus,
293
+ providerName: Schema7.NullOr(TrimmedNonEmptyString),
294
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
295
+ activeTurnId: Schema7.NullOr(TurnId),
296
+ lastError: Schema7.NullOr(TrimmedNonEmptyString),
297
+ updatedAt: IsoDateTime
298
+ });
299
+ var OrchestrationCheckpointFile = Schema7.Struct({
300
+ path: TrimmedNonEmptyString,
301
+ kind: TrimmedNonEmptyString,
302
+ additions: NonNegativeInt,
303
+ deletions: NonNegativeInt
304
+ });
305
+ var OrchestrationCheckpointStatus = Schema7.Literals(["ready", "missing", "error"]);
306
+ var OrchestrationCheckpointSummary = Schema7.Struct({
307
+ turnId: TurnId,
308
+ checkpointTurnCount: NonNegativeInt,
309
+ checkpointRef: CheckpointRef,
310
+ status: OrchestrationCheckpointStatus,
311
+ files: Schema7.Array(OrchestrationCheckpointFile),
312
+ assistantMessageId: Schema7.NullOr(MessageId),
313
+ completedAt: IsoDateTime
314
+ });
315
+ var OrchestrationThreadActivityTone = Schema7.Literals([
316
+ "info",
317
+ "tool",
318
+ "approval",
319
+ "error"
320
+ ]);
321
+ var OrchestrationThreadActivity = Schema7.Struct({
322
+ id: EventId,
323
+ tone: OrchestrationThreadActivityTone,
324
+ kind: TrimmedNonEmptyString,
325
+ summary: TrimmedNonEmptyString,
326
+ payload: Schema7.Unknown,
327
+ turnId: Schema7.NullOr(TurnId),
328
+ sequence: Schema7.optional(NonNegativeInt),
329
+ createdAt: IsoDateTime
330
+ });
331
+ var OrchestrationLatestTurnState = Schema7.Literals([
332
+ "running",
333
+ "interrupted",
334
+ "completed",
335
+ "error"
336
+ ]);
337
+ var OrchestrationLatestTurn = Schema7.Struct({
338
+ turnId: TurnId,
339
+ state: OrchestrationLatestTurnState,
340
+ requestedAt: IsoDateTime,
341
+ startedAt: Schema7.NullOr(IsoDateTime),
342
+ completedAt: Schema7.NullOr(IsoDateTime),
343
+ assistantMessageId: Schema7.NullOr(MessageId)
344
+ });
345
+ var OrchestrationThread = Schema7.Struct({
346
+ id: ThreadId,
347
+ projectId: ProjectId,
348
+ title: TrimmedNonEmptyString,
349
+ model: TrimmedNonEmptyString,
350
+ runtimeMode: RuntimeMode,
351
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
352
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
353
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
354
+ latestTurn: Schema7.NullOr(OrchestrationLatestTurn),
355
+ createdAt: IsoDateTime,
356
+ updatedAt: IsoDateTime,
357
+ deletedAt: Schema7.NullOr(IsoDateTime),
358
+ messages: Schema7.Array(OrchestrationMessage),
359
+ proposedPlans: Schema7.Array(OrchestrationProposedPlan).pipe(Schema7.withDecodingDefault(() => [])),
360
+ activities: Schema7.Array(OrchestrationThreadActivity),
361
+ checkpoints: Schema7.Array(OrchestrationCheckpointSummary),
362
+ session: Schema7.NullOr(OrchestrationSession)
363
+ });
364
+ var OrchestrationReadModel = Schema7.Struct({
365
+ snapshotSequence: NonNegativeInt,
366
+ projects: Schema7.Array(OrchestrationProject),
367
+ threads: Schema7.Array(OrchestrationThread),
368
+ updatedAt: IsoDateTime
369
+ });
370
+ var ProjectCreateCommand = Schema7.Struct({
371
+ type: Schema7.Literal("project.create"),
372
+ commandId: CommandId,
373
+ projectId: ProjectId,
374
+ title: TrimmedNonEmptyString,
375
+ workspaceRoot: TrimmedNonEmptyString,
376
+ defaultModel: Schema7.optional(TrimmedNonEmptyString),
377
+ createdAt: IsoDateTime
378
+ });
379
+ var ProjectMetaUpdateCommand = Schema7.Struct({
380
+ type: Schema7.Literal("project.meta.update"),
381
+ commandId: CommandId,
382
+ projectId: ProjectId,
383
+ title: Schema7.optional(TrimmedNonEmptyString),
384
+ workspaceRoot: Schema7.optional(TrimmedNonEmptyString),
385
+ defaultModel: Schema7.optional(TrimmedNonEmptyString),
386
+ scripts: Schema7.optional(Schema7.Array(ProjectScript))
387
+ });
388
+ var ProjectDeleteCommand = Schema7.Struct({
389
+ type: Schema7.Literal("project.delete"),
390
+ commandId: CommandId,
391
+ projectId: ProjectId
392
+ });
393
+ var ThreadCreateCommand = Schema7.Struct({
394
+ type: Schema7.Literal("thread.create"),
395
+ commandId: CommandId,
396
+ threadId: ThreadId,
397
+ projectId: ProjectId,
398
+ title: TrimmedNonEmptyString,
399
+ model: TrimmedNonEmptyString,
400
+ runtimeMode: RuntimeMode,
401
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
402
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
403
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
404
+ createdAt: IsoDateTime
405
+ });
406
+ var ThreadDeleteCommand = Schema7.Struct({
407
+ type: Schema7.Literal("thread.delete"),
408
+ commandId: CommandId,
409
+ threadId: ThreadId
410
+ });
411
+ var ThreadMetaUpdateCommand = Schema7.Struct({
412
+ type: Schema7.Literal("thread.meta.update"),
413
+ commandId: CommandId,
414
+ threadId: ThreadId,
415
+ title: Schema7.optional(TrimmedNonEmptyString),
416
+ model: Schema7.optional(TrimmedNonEmptyString),
417
+ branch: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
418
+ worktreePath: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString))
419
+ });
420
+ var ThreadRuntimeModeSetCommand = Schema7.Struct({
421
+ type: Schema7.Literal("thread.runtime-mode.set"),
422
+ commandId: CommandId,
423
+ threadId: ThreadId,
424
+ runtimeMode: RuntimeMode,
425
+ createdAt: IsoDateTime
426
+ });
427
+ var ThreadInteractionModeSetCommand = Schema7.Struct({
428
+ type: Schema7.Literal("thread.interaction-mode.set"),
429
+ commandId: CommandId,
430
+ threadId: ThreadId,
431
+ interactionMode: ProviderInteractionMode,
432
+ createdAt: IsoDateTime
433
+ });
434
+ var ThreadTurnStartCommand = Schema7.Struct({
435
+ type: Schema7.Literal("thread.turn.start"),
436
+ commandId: CommandId,
437
+ threadId: ThreadId,
438
+ message: Schema7.Struct({
439
+ messageId: MessageId,
440
+ role: Schema7.Literal("user"),
441
+ text: Schema7.String,
442
+ attachments: Schema7.Array(ChatAttachment)
443
+ }),
444
+ provider: Schema7.optional(ProviderKind),
445
+ model: Schema7.optional(TrimmedNonEmptyString),
446
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
447
+ modelOptions: Schema7.optional(ProviderModelOptions),
448
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
449
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
450
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
451
+ createdAt: IsoDateTime
452
+ });
453
+ var ClientThreadTurnStartCommand = Schema7.Struct({
454
+ type: Schema7.Literal("thread.turn.start"),
455
+ commandId: CommandId,
456
+ threadId: ThreadId,
457
+ message: Schema7.Struct({
458
+ messageId: MessageId,
459
+ role: Schema7.Literal("user"),
460
+ text: Schema7.String,
461
+ attachments: Schema7.Array(UploadChatAttachment)
462
+ }),
463
+ provider: Schema7.optional(ProviderKind),
464
+ model: Schema7.optional(TrimmedNonEmptyString),
465
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
466
+ modelOptions: Schema7.optional(ProviderModelOptions),
467
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
468
+ runtimeMode: RuntimeMode,
469
+ interactionMode: ProviderInteractionMode,
470
+ createdAt: IsoDateTime
471
+ });
472
+ var ThreadTurnInterruptCommand = Schema7.Struct({
473
+ type: Schema7.Literal("thread.turn.interrupt"),
474
+ commandId: CommandId,
475
+ threadId: ThreadId,
476
+ turnId: Schema7.optional(TurnId),
477
+ createdAt: IsoDateTime
478
+ });
479
+ var ThreadApprovalRespondCommand = Schema7.Struct({
480
+ type: Schema7.Literal("thread.approval.respond"),
481
+ commandId: CommandId,
482
+ threadId: ThreadId,
483
+ requestId: ApprovalRequestId,
484
+ decision: ProviderApprovalDecision,
485
+ createdAt: IsoDateTime
486
+ });
487
+ var ThreadUserInputRespondCommand = Schema7.Struct({
488
+ type: Schema7.Literal("thread.user-input.respond"),
489
+ commandId: CommandId,
490
+ threadId: ThreadId,
491
+ requestId: ApprovalRequestId,
492
+ answers: ProviderUserInputAnswers,
493
+ createdAt: IsoDateTime
494
+ });
495
+ var ThreadCheckpointRevertCommand = Schema7.Struct({
496
+ type: Schema7.Literal("thread.checkpoint.revert"),
497
+ commandId: CommandId,
498
+ threadId: ThreadId,
499
+ turnCount: NonNegativeInt,
500
+ createdAt: IsoDateTime
501
+ });
502
+ var ThreadSessionStopCommand = Schema7.Struct({
503
+ type: Schema7.Literal("thread.session.stop"),
504
+ commandId: CommandId,
505
+ threadId: ThreadId,
506
+ createdAt: IsoDateTime
507
+ });
508
+ var DispatchableClientOrchestrationCommand = Schema7.Union([
509
+ ProjectCreateCommand,
510
+ ProjectMetaUpdateCommand,
511
+ ProjectDeleteCommand,
512
+ ThreadCreateCommand,
513
+ ThreadDeleteCommand,
514
+ ThreadMetaUpdateCommand,
515
+ ThreadRuntimeModeSetCommand,
516
+ ThreadInteractionModeSetCommand,
517
+ ThreadTurnStartCommand,
518
+ ThreadTurnInterruptCommand,
519
+ ThreadApprovalRespondCommand,
520
+ ThreadUserInputRespondCommand,
521
+ ThreadCheckpointRevertCommand,
522
+ ThreadSessionStopCommand
523
+ ]);
524
+ var ClientOrchestrationCommand = Schema7.Union([
525
+ ProjectCreateCommand,
526
+ ProjectMetaUpdateCommand,
527
+ ProjectDeleteCommand,
528
+ ThreadCreateCommand,
529
+ ThreadDeleteCommand,
530
+ ThreadMetaUpdateCommand,
531
+ ThreadRuntimeModeSetCommand,
532
+ ThreadInteractionModeSetCommand,
533
+ ClientThreadTurnStartCommand,
534
+ ThreadTurnInterruptCommand,
535
+ ThreadApprovalRespondCommand,
536
+ ThreadUserInputRespondCommand,
537
+ ThreadCheckpointRevertCommand,
538
+ ThreadSessionStopCommand
539
+ ]);
540
+ var ThreadSessionSetCommand = Schema7.Struct({
541
+ type: Schema7.Literal("thread.session.set"),
542
+ commandId: CommandId,
543
+ threadId: ThreadId,
544
+ session: OrchestrationSession,
545
+ createdAt: IsoDateTime
546
+ });
547
+ var ThreadMessageAssistantDeltaCommand = Schema7.Struct({
548
+ type: Schema7.Literal("thread.message.assistant.delta"),
549
+ commandId: CommandId,
550
+ threadId: ThreadId,
551
+ messageId: MessageId,
552
+ delta: Schema7.String,
553
+ turnId: Schema7.optional(TurnId),
554
+ createdAt: IsoDateTime
555
+ });
556
+ var ThreadMessageAssistantCompleteCommand = Schema7.Struct({
557
+ type: Schema7.Literal("thread.message.assistant.complete"),
558
+ commandId: CommandId,
559
+ threadId: ThreadId,
560
+ messageId: MessageId,
561
+ turnId: Schema7.optional(TurnId),
562
+ createdAt: IsoDateTime
563
+ });
564
+ var ThreadProposedPlanUpsertCommand = Schema7.Struct({
565
+ type: Schema7.Literal("thread.proposed-plan.upsert"),
566
+ commandId: CommandId,
567
+ threadId: ThreadId,
568
+ proposedPlan: OrchestrationProposedPlan,
569
+ createdAt: IsoDateTime
570
+ });
571
+ var ThreadTurnDiffCompleteCommand = Schema7.Struct({
572
+ type: Schema7.Literal("thread.turn.diff.complete"),
573
+ commandId: CommandId,
574
+ threadId: ThreadId,
575
+ turnId: TurnId,
576
+ completedAt: IsoDateTime,
577
+ checkpointRef: CheckpointRef,
578
+ status: OrchestrationCheckpointStatus,
579
+ files: Schema7.Array(OrchestrationCheckpointFile),
580
+ assistantMessageId: Schema7.optional(MessageId),
581
+ checkpointTurnCount: NonNegativeInt,
582
+ createdAt: IsoDateTime
583
+ });
584
+ var ThreadActivityAppendCommand = Schema7.Struct({
585
+ type: Schema7.Literal("thread.activity.append"),
586
+ commandId: CommandId,
587
+ threadId: ThreadId,
588
+ activity: OrchestrationThreadActivity,
589
+ createdAt: IsoDateTime
590
+ });
591
+ var ThreadRevertCompleteCommand = Schema7.Struct({
592
+ type: Schema7.Literal("thread.revert.complete"),
593
+ commandId: CommandId,
594
+ threadId: ThreadId,
595
+ turnCount: NonNegativeInt,
596
+ createdAt: IsoDateTime
597
+ });
598
+ var InternalOrchestrationCommand = Schema7.Union([
599
+ ThreadSessionSetCommand,
600
+ ThreadMessageAssistantDeltaCommand,
601
+ ThreadMessageAssistantCompleteCommand,
602
+ ThreadProposedPlanUpsertCommand,
603
+ ThreadTurnDiffCompleteCommand,
604
+ ThreadActivityAppendCommand,
605
+ ThreadRevertCompleteCommand
606
+ ]);
607
+ var OrchestrationCommand = Schema7.Union([
608
+ DispatchableClientOrchestrationCommand,
609
+ InternalOrchestrationCommand
610
+ ]);
611
+ var OrchestrationEventType = Schema7.Literals([
612
+ "project.created",
613
+ "project.meta-updated",
614
+ "project.deleted",
615
+ "thread.created",
616
+ "thread.deleted",
617
+ "thread.meta-updated",
618
+ "thread.runtime-mode-set",
619
+ "thread.interaction-mode-set",
620
+ "thread.message-sent",
621
+ "thread.turn-start-requested",
622
+ "thread.turn-interrupt-requested",
623
+ "thread.approval-response-requested",
624
+ "thread.user-input-response-requested",
625
+ "thread.checkpoint-revert-requested",
626
+ "thread.reverted",
627
+ "thread.session-stop-requested",
628
+ "thread.session-set",
629
+ "thread.proposed-plan-upserted",
630
+ "thread.turn-diff-completed",
631
+ "thread.activity-appended"
632
+ ]);
633
+ var OrchestrationAggregateKind = Schema7.Literals(["project", "thread"]);
634
+ var OrchestrationActorKind = Schema7.Literals(["client", "server", "provider"]);
635
+ var ProjectCreatedPayload = Schema7.Struct({
636
+ projectId: ProjectId,
637
+ title: TrimmedNonEmptyString,
638
+ workspaceRoot: TrimmedNonEmptyString,
639
+ defaultModel: Schema7.NullOr(TrimmedNonEmptyString),
640
+ scripts: Schema7.Array(ProjectScript),
641
+ createdAt: IsoDateTime,
642
+ updatedAt: IsoDateTime
643
+ });
644
+ var ProjectMetaUpdatedPayload = Schema7.Struct({
645
+ projectId: ProjectId,
646
+ title: Schema7.optional(TrimmedNonEmptyString),
647
+ workspaceRoot: Schema7.optional(TrimmedNonEmptyString),
648
+ defaultModel: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
649
+ scripts: Schema7.optional(Schema7.Array(ProjectScript)),
650
+ updatedAt: IsoDateTime
651
+ });
652
+ var ProjectDeletedPayload = Schema7.Struct({
653
+ projectId: ProjectId,
654
+ deletedAt: IsoDateTime
655
+ });
656
+ var ThreadCreatedPayload = Schema7.Struct({
657
+ threadId: ThreadId,
658
+ projectId: ProjectId,
659
+ title: TrimmedNonEmptyString,
660
+ model: TrimmedNonEmptyString,
661
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
662
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
663
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
664
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
665
+ createdAt: IsoDateTime,
666
+ updatedAt: IsoDateTime
667
+ });
668
+ var ThreadDeletedPayload = Schema7.Struct({
669
+ threadId: ThreadId,
670
+ deletedAt: IsoDateTime
671
+ });
672
+ var ThreadMetaUpdatedPayload = Schema7.Struct({
673
+ threadId: ThreadId,
674
+ title: Schema7.optional(TrimmedNonEmptyString),
675
+ model: Schema7.optional(TrimmedNonEmptyString),
676
+ branch: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
677
+ worktreePath: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
678
+ updatedAt: IsoDateTime
679
+ });
680
+ var ThreadRuntimeModeSetPayload = Schema7.Struct({
681
+ threadId: ThreadId,
682
+ runtimeMode: RuntimeMode,
683
+ updatedAt: IsoDateTime
684
+ });
685
+ var ThreadInteractionModeSetPayload = Schema7.Struct({
686
+ threadId: ThreadId,
687
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
688
+ updatedAt: IsoDateTime
689
+ });
690
+ var ThreadMessageSentPayload = Schema7.Struct({
691
+ threadId: ThreadId,
692
+ messageId: MessageId,
693
+ role: OrchestrationMessageRole,
694
+ text: Schema7.String,
695
+ attachments: Schema7.optional(Schema7.Array(ChatAttachment)),
696
+ turnId: Schema7.NullOr(TurnId),
697
+ streaming: Schema7.Boolean,
698
+ createdAt: IsoDateTime,
699
+ updatedAt: IsoDateTime
700
+ });
701
+ var ThreadTurnStartRequestedPayload = Schema7.Struct({
702
+ threadId: ThreadId,
703
+ messageId: MessageId,
704
+ provider: Schema7.optional(ProviderKind),
705
+ model: Schema7.optional(TrimmedNonEmptyString),
706
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
707
+ modelOptions: Schema7.optional(ProviderModelOptions),
708
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
709
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
710
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
711
+ createdAt: IsoDateTime
712
+ });
713
+ var ThreadTurnInterruptRequestedPayload = Schema7.Struct({
714
+ threadId: ThreadId,
715
+ turnId: Schema7.optional(TurnId),
716
+ createdAt: IsoDateTime
717
+ });
718
+ var ThreadApprovalResponseRequestedPayload = Schema7.Struct({
719
+ threadId: ThreadId,
720
+ requestId: ApprovalRequestId,
721
+ decision: ProviderApprovalDecision,
722
+ createdAt: IsoDateTime
723
+ });
724
+ var ThreadUserInputResponseRequestedPayload = Schema7.Struct({
725
+ threadId: ThreadId,
726
+ requestId: ApprovalRequestId,
727
+ answers: ProviderUserInputAnswers,
728
+ createdAt: IsoDateTime
729
+ });
730
+ var ThreadCheckpointRevertRequestedPayload = Schema7.Struct({
731
+ threadId: ThreadId,
732
+ turnCount: NonNegativeInt,
733
+ createdAt: IsoDateTime
734
+ });
735
+ var ThreadRevertedPayload = Schema7.Struct({
736
+ threadId: ThreadId,
737
+ turnCount: NonNegativeInt
738
+ });
739
+ var ThreadSessionStopRequestedPayload = Schema7.Struct({
740
+ threadId: ThreadId,
741
+ createdAt: IsoDateTime
742
+ });
743
+ var ThreadSessionSetPayload = Schema7.Struct({
744
+ threadId: ThreadId,
745
+ session: OrchestrationSession
746
+ });
747
+ var ThreadProposedPlanUpsertedPayload = Schema7.Struct({
748
+ threadId: ThreadId,
749
+ proposedPlan: OrchestrationProposedPlan
750
+ });
751
+ var ThreadTurnDiffCompletedPayload = Schema7.Struct({
752
+ threadId: ThreadId,
753
+ turnId: TurnId,
754
+ checkpointTurnCount: NonNegativeInt,
755
+ checkpointRef: CheckpointRef,
756
+ status: OrchestrationCheckpointStatus,
757
+ files: Schema7.Array(OrchestrationCheckpointFile),
758
+ assistantMessageId: Schema7.NullOr(MessageId),
759
+ completedAt: IsoDateTime
760
+ });
761
+ var ThreadActivityAppendedPayload = Schema7.Struct({
762
+ threadId: ThreadId,
763
+ activity: OrchestrationThreadActivity
764
+ });
765
+ var OrchestrationEventMetadata = Schema7.Struct({
766
+ providerTurnId: Schema7.optional(TrimmedNonEmptyString),
767
+ providerItemId: Schema7.optional(ProviderItemId),
768
+ adapterKey: Schema7.optional(TrimmedNonEmptyString),
769
+ requestId: Schema7.optional(ApprovalRequestId),
770
+ ingestedAt: Schema7.optional(IsoDateTime)
771
+ });
772
+ var EventBaseFields = {
773
+ sequence: NonNegativeInt,
774
+ eventId: EventId,
775
+ aggregateKind: OrchestrationAggregateKind,
776
+ aggregateId: Schema7.Union([ProjectId, ThreadId]),
777
+ occurredAt: IsoDateTime,
778
+ commandId: Schema7.NullOr(CommandId),
779
+ causationEventId: Schema7.NullOr(EventId),
780
+ correlationId: Schema7.NullOr(CommandId),
781
+ metadata: OrchestrationEventMetadata
782
+ };
783
+ var PersistedEventBaseFields = {
784
+ sequence: NonNegativeInt,
785
+ eventId: EventId,
786
+ aggregateKind: OrchestrationAggregateKind,
787
+ streamId: Schema7.Union([ProjectId, ThreadId]),
788
+ streamVersion: NonNegativeInt,
789
+ occurredAt: IsoDateTime,
790
+ commandId: Schema7.NullOr(CommandId),
791
+ causationEventId: Schema7.NullOr(EventId),
792
+ correlationId: Schema7.NullOr(CommandId),
793
+ actorKind: OrchestrationActorKind,
794
+ metadata: OrchestrationEventMetadata
795
+ };
796
+ var OrchestrationEvent = Schema7.Union([
797
+ Schema7.Struct({
798
+ ...EventBaseFields,
799
+ type: Schema7.Literal("project.created"),
800
+ payload: ProjectCreatedPayload
801
+ }),
802
+ Schema7.Struct({
803
+ ...EventBaseFields,
804
+ type: Schema7.Literal("project.meta-updated"),
805
+ payload: ProjectMetaUpdatedPayload
806
+ }),
807
+ Schema7.Struct({
808
+ ...EventBaseFields,
809
+ type: Schema7.Literal("project.deleted"),
810
+ payload: ProjectDeletedPayload
811
+ }),
812
+ Schema7.Struct({
813
+ ...EventBaseFields,
814
+ type: Schema7.Literal("thread.created"),
815
+ payload: ThreadCreatedPayload
816
+ }),
817
+ Schema7.Struct({
818
+ ...EventBaseFields,
819
+ type: Schema7.Literal("thread.deleted"),
820
+ payload: ThreadDeletedPayload
821
+ }),
822
+ Schema7.Struct({
823
+ ...EventBaseFields,
824
+ type: Schema7.Literal("thread.meta-updated"),
825
+ payload: ThreadMetaUpdatedPayload
826
+ }),
827
+ Schema7.Struct({
828
+ ...EventBaseFields,
829
+ type: Schema7.Literal("thread.runtime-mode-set"),
830
+ payload: ThreadRuntimeModeSetPayload
831
+ }),
832
+ Schema7.Struct({
833
+ ...EventBaseFields,
834
+ type: Schema7.Literal("thread.interaction-mode-set"),
835
+ payload: ThreadInteractionModeSetPayload
836
+ }),
837
+ Schema7.Struct({
838
+ ...EventBaseFields,
839
+ type: Schema7.Literal("thread.message-sent"),
840
+ payload: ThreadMessageSentPayload
841
+ }),
842
+ Schema7.Struct({
843
+ ...EventBaseFields,
844
+ type: Schema7.Literal("thread.turn-start-requested"),
845
+ payload: ThreadTurnStartRequestedPayload
846
+ }),
847
+ Schema7.Struct({
848
+ ...EventBaseFields,
849
+ type: Schema7.Literal("thread.turn-interrupt-requested"),
850
+ payload: ThreadTurnInterruptRequestedPayload
851
+ }),
852
+ Schema7.Struct({
853
+ ...EventBaseFields,
854
+ type: Schema7.Literal("thread.approval-response-requested"),
855
+ payload: ThreadApprovalResponseRequestedPayload
856
+ }),
857
+ Schema7.Struct({
858
+ ...EventBaseFields,
859
+ type: Schema7.Literal("thread.user-input-response-requested"),
860
+ payload: ThreadUserInputResponseRequestedPayload
861
+ }),
862
+ Schema7.Struct({
863
+ ...EventBaseFields,
864
+ type: Schema7.Literal("thread.checkpoint-revert-requested"),
865
+ payload: ThreadCheckpointRevertRequestedPayload
866
+ }),
867
+ Schema7.Struct({
868
+ ...EventBaseFields,
869
+ type: Schema7.Literal("thread.reverted"),
870
+ payload: ThreadRevertedPayload
871
+ }),
872
+ Schema7.Struct({
873
+ ...EventBaseFields,
874
+ type: Schema7.Literal("thread.session-stop-requested"),
875
+ payload: ThreadSessionStopRequestedPayload
876
+ }),
877
+ Schema7.Struct({
878
+ ...EventBaseFields,
879
+ type: Schema7.Literal("thread.session-set"),
880
+ payload: ThreadSessionSetPayload
881
+ }),
882
+ Schema7.Struct({
883
+ ...EventBaseFields,
884
+ type: Schema7.Literal("thread.proposed-plan-upserted"),
885
+ payload: ThreadProposedPlanUpsertedPayload
886
+ }),
887
+ Schema7.Struct({
888
+ ...EventBaseFields,
889
+ type: Schema7.Literal("thread.turn-diff-completed"),
890
+ payload: ThreadTurnDiffCompletedPayload
891
+ }),
892
+ Schema7.Struct({
893
+ ...EventBaseFields,
894
+ type: Schema7.Literal("thread.activity-appended"),
895
+ payload: ThreadActivityAppendedPayload
896
+ })
897
+ ]);
898
+ var OrchestrationPersistedEvent = Schema7.Union([
899
+ Schema7.Struct({
900
+ ...PersistedEventBaseFields,
901
+ eventType: Schema7.Literal("project.created"),
902
+ payload: ProjectCreatedPayload
903
+ }),
904
+ Schema7.Struct({
905
+ ...PersistedEventBaseFields,
906
+ eventType: Schema7.Literal("project.meta-updated"),
907
+ payload: ProjectMetaUpdatedPayload
908
+ }),
909
+ Schema7.Struct({
910
+ ...PersistedEventBaseFields,
911
+ eventType: Schema7.Literal("project.deleted"),
912
+ payload: ProjectDeletedPayload
913
+ }),
914
+ Schema7.Struct({
915
+ ...PersistedEventBaseFields,
916
+ eventType: Schema7.Literal("thread.created"),
917
+ payload: ThreadCreatedPayload
918
+ }),
919
+ Schema7.Struct({
920
+ ...PersistedEventBaseFields,
921
+ eventType: Schema7.Literal("thread.deleted"),
922
+ payload: ThreadDeletedPayload
923
+ }),
924
+ Schema7.Struct({
925
+ ...PersistedEventBaseFields,
926
+ eventType: Schema7.Literal("thread.meta-updated"),
927
+ payload: ThreadMetaUpdatedPayload
928
+ }),
929
+ Schema7.Struct({
930
+ ...PersistedEventBaseFields,
931
+ eventType: Schema7.Literal("thread.runtime-mode-set"),
932
+ payload: ThreadRuntimeModeSetPayload
933
+ }),
934
+ Schema7.Struct({
935
+ ...PersistedEventBaseFields,
936
+ eventType: Schema7.Literal("thread.interaction-mode-set"),
937
+ payload: ThreadInteractionModeSetPayload
938
+ }),
939
+ Schema7.Struct({
940
+ ...PersistedEventBaseFields,
941
+ eventType: Schema7.Literal("thread.message-sent"),
942
+ payload: ThreadMessageSentPayload
943
+ }),
944
+ Schema7.Struct({
945
+ ...PersistedEventBaseFields,
946
+ eventType: Schema7.Literal("thread.turn-start-requested"),
947
+ payload: ThreadTurnStartRequestedPayload
948
+ }),
949
+ Schema7.Struct({
950
+ ...PersistedEventBaseFields,
951
+ eventType: Schema7.Literal("thread.turn-interrupt-requested"),
952
+ payload: ThreadTurnInterruptRequestedPayload
953
+ }),
954
+ Schema7.Struct({
955
+ ...PersistedEventBaseFields,
956
+ eventType: Schema7.Literal("thread.approval-response-requested"),
957
+ payload: ThreadApprovalResponseRequestedPayload
958
+ }),
959
+ Schema7.Struct({
960
+ ...PersistedEventBaseFields,
961
+ eventType: Schema7.Literal("thread.user-input-response-requested"),
962
+ payload: ThreadUserInputResponseRequestedPayload
963
+ }),
964
+ Schema7.Struct({
965
+ ...PersistedEventBaseFields,
966
+ eventType: Schema7.Literal("thread.checkpoint-revert-requested"),
967
+ payload: ThreadCheckpointRevertRequestedPayload
968
+ }),
969
+ Schema7.Struct({
970
+ ...PersistedEventBaseFields,
971
+ eventType: Schema7.Literal("thread.reverted"),
972
+ payload: ThreadRevertedPayload
973
+ }),
974
+ Schema7.Struct({
975
+ ...PersistedEventBaseFields,
976
+ eventType: Schema7.Literal("thread.session-stop-requested"),
977
+ payload: ThreadSessionStopRequestedPayload
978
+ }),
979
+ Schema7.Struct({
980
+ ...PersistedEventBaseFields,
981
+ eventType: Schema7.Literal("thread.session-set"),
982
+ payload: ThreadSessionSetPayload
983
+ }),
984
+ Schema7.Struct({
985
+ ...PersistedEventBaseFields,
986
+ eventType: Schema7.Literal("thread.proposed-plan-upserted"),
987
+ payload: ThreadProposedPlanUpsertedPayload
988
+ }),
989
+ Schema7.Struct({
990
+ ...PersistedEventBaseFields,
991
+ eventType: Schema7.Literal("thread.turn-diff-completed"),
992
+ payload: ThreadTurnDiffCompletedPayload
993
+ }),
994
+ Schema7.Struct({
995
+ ...PersistedEventBaseFields,
996
+ eventType: Schema7.Literal("thread.activity-appended"),
997
+ payload: ThreadActivityAppendedPayload
998
+ })
999
+ ]);
1000
+ var OrchestrationCommandReceiptStatus = Schema7.Literals(["accepted", "rejected"]);
1001
+ var TurnCountRange = Schema7.Struct({
1002
+ fromTurnCount: NonNegativeInt,
1003
+ toTurnCount: NonNegativeInt
1004
+ }).check(Schema7.makeFilter((input) => input.fromTurnCount <= input.toTurnCount || new SchemaIssue.InvalidValue(Option.some(input.fromTurnCount), {
1005
+ message: "fromTurnCount must be less than or equal to toTurnCount"
1006
+ }), { identifier: "OrchestrationTurnDiffRange" }));
1007
+ var ThreadTurnDiff = TurnCountRange.mapFields(Struct.assign({
1008
+ threadId: ThreadId,
1009
+ diff: Schema7.String
1010
+ }), { unsafePreserveChecks: true });
1011
+ var ProviderSessionRuntimeStatus = Schema7.Literals([
1012
+ "starting",
1013
+ "running",
1014
+ "stopped",
1015
+ "error"
1016
+ ]);
1017
+ var ProjectionThreadTurnStatus = Schema7.Literals([
1018
+ "running",
1019
+ "completed",
1020
+ "interrupted",
1021
+ "error"
1022
+ ]);
1023
+ var ProjectionCheckpointRow = Schema7.Struct({
1024
+ threadId: ThreadId,
1025
+ turnId: TurnId,
1026
+ checkpointTurnCount: NonNegativeInt,
1027
+ checkpointRef: CheckpointRef,
1028
+ status: OrchestrationCheckpointStatus,
1029
+ files: Schema7.Array(OrchestrationCheckpointFile),
1030
+ assistantMessageId: Schema7.NullOr(MessageId),
1031
+ completedAt: IsoDateTime
1032
+ });
1033
+ var ProjectionPendingApprovalStatus = Schema7.Literals(["pending", "resolved"]);
1034
+ var ProjectionPendingApprovalDecision = Schema7.NullOr(ProviderApprovalDecision);
1035
+ var DispatchResult = Schema7.Struct({
1036
+ sequence: NonNegativeInt
1037
+ });
1038
+ var OrchestrationGetSnapshotInput = Schema7.Struct({});
1039
+ var OrchestrationGetTurnDiffInput = TurnCountRange.mapFields(Struct.assign({ threadId: ThreadId }), { unsafePreserveChecks: true });
1040
+ var OrchestrationGetFullThreadDiffInput = Schema7.Struct({
1041
+ threadId: ThreadId,
1042
+ toTurnCount: NonNegativeInt
1043
+ });
1044
+ var OrchestrationReplayEventsInput = Schema7.Struct({
1045
+ fromSequenceExclusive: NonNegativeInt
1046
+ });
1047
+ var OrchestrationReplayEventsResult = Schema7.Array(OrchestrationEvent);
1048
+
1049
+ // packages/contracts/src/review.ts
1050
+ import { Schema as Schema8 } from "effect";
1051
+ var ReviewMode = Schema8.Literals(["off", "advisory", "required"]);
1052
+ var ReviewStatus = Schema8.Literals(["pending", "running", "approved", "rejected", "error"]);
1053
+ var ReviewSummary = Schema8.Struct({
1054
+ id: ReviewResultId,
1055
+ runId: RunId,
1056
+ taskId: Schema8.NullOr(TaskId),
1057
+ provider: TrimmedNonEmptyString,
1058
+ mode: ReviewMode,
1059
+ status: ReviewStatus,
1060
+ summary: Schema8.NullOr(Schema8.String),
1061
+ output: Schema8.Unknown,
1062
+ createdAt: IsoDateTime,
1063
+ completedAt: Schema8.NullOr(IsoDateTime)
1064
+ });
1065
+
1066
+ // packages/contracts/src/runtime.ts
1067
+ import { Schema as Schema9 } from "effect";
1068
+ var RunKind = Schema9.Literals(["adhoc", "task", "batch", "validation", "review"]);
1069
+ var RunMode = Schema9.Literals(["interactive", "autonomous", "supervised"]);
1070
+ var RunStatus = Schema9.Literals([
1071
+ "created",
1072
+ "queued",
1073
+ "preparing",
1074
+ "running",
1075
+ "waiting-approval",
1076
+ "waiting-user-input",
1077
+ "validating",
1078
+ "reviewing",
1079
+ "completed",
1080
+ "failed",
1081
+ "cancelled",
1082
+ "paused"
1083
+ ]);
1084
+ var EngineSandboxMode = Schema9.Literals([
1085
+ "read-only",
1086
+ "workspace-write",
1087
+ "danger-full-access"
1088
+ ]);
1089
+ var IsolationMode = Schema9.Literals(["none", "env", "worktree"]);
1090
+ var RuntimeStatus = Schema9.Literals([
1091
+ "prepared",
1092
+ "starting",
1093
+ "running",
1094
+ "interrupted",
1095
+ "exited",
1096
+ "failed",
1097
+ "destroyed"
1098
+ ]);
1099
+ var RunExecutionTarget = Schema9.Literals(["local", "remote"]);
1100
+ var RunSummary = Schema9.Struct({
1101
+ id: RunId,
1102
+ workspaceId: WorkspaceId,
1103
+ taskId: Schema9.NullOr(TaskId),
1104
+ title: TrimmedNonEmptyString,
1105
+ runKind: RunKind,
1106
+ mode: RunMode,
1107
+ runtimeMode: RuntimeMode,
1108
+ interactionMode: ProviderInteractionMode,
1109
+ status: RunStatus,
1110
+ runtimeAdapter: TrimmedNonEmptyString,
1111
+ model: Schema9.NullOr(TrimmedNonEmptyString),
1112
+ initialPrompt: Schema9.NullOr(Schema9.String),
1113
+ executionTarget: Schema9.optional(RunExecutionTarget),
1114
+ remoteHostId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1115
+ remoteLeaseId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1116
+ remoteLeaseClaimedAt: Schema9.optional(Schema9.NullOr(IsoDateTime)),
1117
+ activeRuntimeId: Schema9.NullOr(EngineRuntimeId),
1118
+ latestMessageId: Schema9.NullOr(TrimmedNonEmptyString),
1119
+ pendingApprovalCount: NonNegativeInt,
1120
+ pendingUserInputCount: NonNegativeInt,
1121
+ branch: Schema9.NullOr(TrimmedNonEmptyString),
1122
+ worktreePath: Schema9.NullOr(TrimmedNonEmptyString),
1123
+ errorText: Schema9.NullOr(Schema9.String),
1124
+ createdAt: IsoDateTime,
1125
+ updatedAt: IsoDateTime,
1126
+ startedAt: Schema9.NullOr(IsoDateTime),
1127
+ completedAt: Schema9.NullOr(IsoDateTime)
1128
+ });
1129
+ var RuntimeSummary = Schema9.Struct({
1130
+ id: EngineRuntimeId,
1131
+ workspaceId: WorkspaceId,
1132
+ runId: RunId,
1133
+ adapterKind: TrimmedNonEmptyString,
1134
+ executionTarget: Schema9.optional(RunExecutionTarget),
1135
+ remoteHostId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1136
+ status: RuntimeStatus,
1137
+ sandboxMode: EngineSandboxMode,
1138
+ isolationMode: IsolationMode,
1139
+ workspaceDir: Schema9.NullOr(TrimmedNonEmptyString),
1140
+ homeDir: Schema9.NullOr(TrimmedNonEmptyString),
1141
+ tmpDir: Schema9.NullOr(TrimmedNonEmptyString),
1142
+ cacheDir: Schema9.NullOr(TrimmedNonEmptyString),
1143
+ logsDir: Schema9.NullOr(TrimmedNonEmptyString),
1144
+ stateDir: Schema9.NullOr(TrimmedNonEmptyString),
1145
+ sessionDir: Schema9.NullOr(TrimmedNonEmptyString),
1146
+ sessionLogPath: Schema9.NullOr(TrimmedNonEmptyString),
1147
+ pid: Schema9.NullOr(NonNegativeInt),
1148
+ startedAt: Schema9.NullOr(IsoDateTime),
1149
+ updatedAt: IsoDateTime,
1150
+ exitedAt: Schema9.NullOr(IsoDateTime)
1151
+ });
1152
+ var ApprovalStatus = Schema9.Literals(["pending", "resolved"]);
1153
+ var ApprovalSummary = Schema9.Struct({
1154
+ id: TrimmedNonEmptyString,
1155
+ runId: RunId,
1156
+ actionId: Schema9.NullOr(TrimmedNonEmptyString),
1157
+ requestKind: TrimmedNonEmptyString,
1158
+ status: ApprovalStatus,
1159
+ payload: Schema9.Unknown,
1160
+ createdAt: IsoDateTime,
1161
+ resolvedAt: Schema9.NullOr(IsoDateTime)
1162
+ });
1163
+ var UserInputRequestSummary = Schema9.Struct({
1164
+ id: TrimmedNonEmptyString,
1165
+ runId: RunId,
1166
+ status: ApprovalStatus,
1167
+ payload: Schema9.Unknown,
1168
+ createdAt: IsoDateTime,
1169
+ resolvedAt: Schema9.NullOr(IsoDateTime)
1170
+ });
1171
+ var WorktreeSummary = Schema9.Struct({
1172
+ id: WorktreeId,
1173
+ workspaceId: WorkspaceId,
1174
+ runId: RunId,
1175
+ taskId: Schema9.NullOr(TaskId),
1176
+ branchName: TrimmedNonEmptyString,
1177
+ path: TrimmedNonEmptyString,
1178
+ status: TrimmedNonEmptyString,
1179
+ createdAt: IsoDateTime,
1180
+ cleanedAt: Schema9.NullOr(IsoDateTime)
1181
+ });
1182
+
1183
+ // packages/contracts/src/validation.ts
1184
+ import { Schema as Schema10 } from "effect";
1185
+ var ValidationStatus = Schema10.Literals([
1186
+ "pending",
1187
+ "running",
1188
+ "passed",
1189
+ "failed",
1190
+ "skipped"
1191
+ ]);
1192
+ var ValidationSummary = Schema10.Struct({
1193
+ id: ValidationResultId,
1194
+ runId: RunId,
1195
+ taskId: Schema10.NullOr(TaskId),
1196
+ validatorKey: TrimmedNonEmptyString,
1197
+ status: ValidationStatus,
1198
+ output: Schema10.Unknown,
1199
+ startedAt: IsoDateTime,
1200
+ completedAt: Schema10.NullOr(IsoDateTime)
1201
+ });
1202
+
1203
+ // packages/contracts/src/remote.ts
1204
+ import { Schema as Schema12 } from "effect";
1205
+
1206
+ // packages/contracts/src/workspace.ts
1207
+ import { Schema as Schema11 } from "effect";
1208
+ var WorkspaceSourceKind = Schema11.Literals(["native", "rig-import", "manual", "remote"]);
1209
+ var WorkspaceTopologyStatus = Schema11.Literals(["empty", "ready", "degraded"]);
1210
+ var WorkspaceRemoteFleetStatus = Schema11.Literals(["empty", "ready", "degraded"]);
1211
+ var WorkspaceServiceFabricStatus = Schema11.Literals([
1212
+ "empty",
1213
+ "booting",
1214
+ "ready",
1215
+ "degraded",
1216
+ "stopped"
1217
+ ]);
1218
+ var WorkspaceRemoteHostStatus = Schema11.Literals([
1219
+ "registering",
1220
+ "ready",
1221
+ "busy",
1222
+ "degraded",
1223
+ "draining",
1224
+ "offline",
1225
+ "quarantined"
1226
+ ]);
1227
+ var WorkspaceTopologyServiceSummary = Schema11.Struct({
1228
+ name: TrimmedNonEmptyString,
1229
+ relativeRootPath: TrimmedNonEmptyString,
1230
+ runtime: TrimmedNonEmptyString,
1231
+ port: Schema11.NullOr(Schema11.Number),
1232
+ healthcheck: Schema11.NullOr(TrimmedNonEmptyString),
1233
+ sourceOfTruth: Schema11.Struct({
1234
+ code: Schema11.NullOr(TrimmedNonEmptyString),
1235
+ tests: Schema11.NullOr(TrimmedNonEmptyString),
1236
+ infra: Schema11.NullOr(TrimmedNonEmptyString),
1237
+ deploy: Schema11.NullOr(TrimmedNonEmptyString),
1238
+ dependencies: Schema11.NullOr(TrimmedNonEmptyString)
1239
+ }),
1240
+ splitReadyChecklist: Schema11.Array(TrimmedNonEmptyString)
1241
+ });
1242
+ var WorkspaceTopologySummary = Schema11.Struct({
1243
+ compiledAt: IsoDateTime,
1244
+ status: WorkspaceTopologyStatus,
1245
+ manifestCount: Schema11.Number,
1246
+ serviceCount: Schema11.Number,
1247
+ services: Schema11.Array(WorkspaceTopologyServiceSummary),
1248
+ warnings: Schema11.Array(Schema11.String)
1249
+ });
1250
+ var WorkspaceRemoteHostSummary = Schema11.Struct({
1251
+ id: TrimmedNonEmptyString,
1252
+ name: TrimmedNonEmptyString,
1253
+ baseUrl: TrimmedNonEmptyString,
1254
+ workspacePath: Schema11.NullOr(TrimmedNonEmptyString),
1255
+ transport: TrimmedNonEmptyString,
1256
+ hostname: Schema11.NullOr(TrimmedNonEmptyString),
1257
+ region: Schema11.NullOr(TrimmedNonEmptyString),
1258
+ labels: Schema11.Array(TrimmedNonEmptyString),
1259
+ capabilities: Schema11.Array(TrimmedNonEmptyString),
1260
+ runtimeAdapters: Schema11.Array(TrimmedNonEmptyString),
1261
+ status: WorkspaceRemoteHostStatus,
1262
+ currentLeaseCount: Schema11.Number,
1263
+ lastHeartbeatAt: Schema11.NullOr(IsoDateTime),
1264
+ registeredAt: IsoDateTime,
1265
+ manifestPath: TrimmedNonEmptyString
1266
+ });
1267
+ var WorkspaceRemoteFleetSummary = Schema11.Struct({
1268
+ updatedAt: IsoDateTime,
1269
+ status: WorkspaceRemoteFleetStatus,
1270
+ manifestCount: Schema11.Number,
1271
+ hostCount: Schema11.Number,
1272
+ onlineHostCount: Schema11.Number,
1273
+ hosts: Schema11.Array(WorkspaceRemoteHostSummary),
1274
+ warnings: Schema11.Array(Schema11.String)
1275
+ });
1276
+ var WorkspaceServiceFabricServiceSummary = Schema11.Struct({
1277
+ name: TrimmedNonEmptyString,
1278
+ relativeRootPath: TrimmedNonEmptyString,
1279
+ mode: Schema11.Literals(["stub", "process"]),
1280
+ port: Schema11.Number,
1281
+ healthcheck: TrimmedNonEmptyString,
1282
+ routePrefix: Schema11.NullOr(TrimmedNonEmptyString),
1283
+ status: Schema11.Literals(["planned", "booting", "healthy", "degraded", "failed", "stopped"]),
1284
+ pid: Schema11.NullOr(Schema11.Number),
1285
+ logPath: Schema11.NullOr(TrimmedNonEmptyString)
1286
+ });
1287
+ var WorkspaceServiceFabricSummary = Schema11.Struct({
1288
+ updatedAt: IsoDateTime,
1289
+ status: WorkspaceServiceFabricStatus,
1290
+ serviceCount: Schema11.Number,
1291
+ healthyServiceCount: Schema11.Number,
1292
+ stateDir: TrimmedNonEmptyString,
1293
+ services: Schema11.Array(WorkspaceServiceFabricServiceSummary),
1294
+ warnings: Schema11.Array(Schema11.String)
1295
+ });
1296
+ var WorkspaceSummary = Schema11.Struct({
1297
+ id: WorkspaceId,
1298
+ title: TrimmedNonEmptyString,
1299
+ rootPath: TrimmedNonEmptyString,
1300
+ sourceKind: WorkspaceSourceKind,
1301
+ defaultRuntimeAdapter: Schema11.optional(TrimmedNonEmptyString),
1302
+ defaultProvider: Schema11.optional(ProviderKind),
1303
+ defaultModel: Schema11.NullOr(TrimmedNonEmptyString),
1304
+ topology: Schema11.optional(WorkspaceTopologySummary),
1305
+ remoteFleet: Schema11.optional(WorkspaceRemoteFleetSummary),
1306
+ serviceFabric: Schema11.optional(WorkspaceServiceFabricSummary),
1307
+ createdAt: IsoDateTime,
1308
+ updatedAt: IsoDateTime
1309
+ });
1310
+
1311
+ // packages/contracts/src/remote.ts
1312
+ var RemoteEndpoint = Schema12.Struct({
1313
+ id: RemoteEndpointId,
1314
+ alias: TrimmedNonEmptyString,
1315
+ host: TrimmedNonEmptyString,
1316
+ port: Schema12.Int.check(Schema12.isGreaterThanOrEqualTo(1)).check(Schema12.isLessThanOrEqualTo(65535)),
1317
+ token: Schema12.String,
1318
+ tokenConfigured: Schema12.optional(Schema12.Boolean),
1319
+ autoConnect: Schema12.optional(Schema12.Boolean),
1320
+ addedAt: IsoDateTime,
1321
+ lastConnectedAt: Schema12.NullOr(IsoDateTime)
1322
+ });
1323
+ var RemoteConnectionStatus = Schema12.Literals([
1324
+ "disconnected",
1325
+ "connecting",
1326
+ "authenticating",
1327
+ "connected",
1328
+ "reconnecting",
1329
+ "error"
1330
+ ]);
1331
+ var RemoteConnectionSummary = Schema12.Struct({
1332
+ endpointId: RemoteEndpointId,
1333
+ status: RemoteConnectionStatus,
1334
+ error: Schema12.NullOr(Schema12.String),
1335
+ connectedAt: Schema12.NullOr(IsoDateTime),
1336
+ tokenExpiresAt: Schema12.NullOr(IsoDateTime),
1337
+ latencyMs: Schema12.NullOr(Schema12.Number),
1338
+ subscribedEvents: Schema12.Array(Schema12.String)
1339
+ });
1340
+ var RemoteConnectionStatusChanged = Schema12.Struct({
1341
+ endpointId: Schema12.String,
1342
+ endpointAlias: Schema12.String,
1343
+ status: RemoteConnectionStatus,
1344
+ previousStatus: RemoteConnectionStatus,
1345
+ error: Schema12.NullOr(Schema12.String),
1346
+ connectedAt: Schema12.NullOr(Schema12.String),
1347
+ latencyMs: Schema12.NullOr(Schema12.Number),
1348
+ timestamp: Schema12.String
1349
+ });
1350
+ var EnrichedRemoteEvent = Schema12.Struct({
1351
+ endpointId: Schema12.String,
1352
+ endpointAlias: Schema12.String,
1353
+ receivedAt: Schema12.String,
1354
+ originalTimestamp: Schema12.optional(Schema12.NullOr(Schema12.String)),
1355
+ event: Schema12.Unknown
1356
+ });
1357
+ var RemoteOrchestratorState = Schema12.Struct({
1358
+ activeTaskId: Schema12.NullOr(Schema12.String),
1359
+ activeIteration: Schema12.NullOr(Schema12.Number),
1360
+ maxIterations: Schema12.Number,
1361
+ isPaused: Schema12.Boolean,
1362
+ isRunning: Schema12.Boolean,
1363
+ totalCompleted: NonNegativeInt,
1364
+ totalFailed: NonNegativeInt,
1365
+ lastActivity: Schema12.NullOr(IsoDateTime)
1366
+ });
1367
+ var RemoteOrchestrationSummary = Schema12.Struct({
1368
+ orchestrationId: TrimmedNonEmptyString,
1369
+ endpointId: RemoteEndpointId,
1370
+ status: Schema12.Literals(["running", "paused", "stopped", "completed"]),
1371
+ totalTasks: NonNegativeInt,
1372
+ totalGroups: NonNegativeInt,
1373
+ maxParallelism: NonNegativeInt,
1374
+ startedAt: IsoDateTime
1375
+ });
1376
+ var RemoteIterationOutput = Schema12.Struct({
1377
+ taskId: Schema12.optional(Schema12.String),
1378
+ iteration: Schema12.optional(Schema12.Number),
1379
+ output: Schema12.optional(Schema12.String),
1380
+ startedAt: Schema12.optional(IsoDateTime),
1381
+ endedAt: Schema12.optional(IsoDateTime),
1382
+ durationMs: Schema12.optional(Schema12.Number),
1383
+ isRunning: Schema12.optional(Schema12.Boolean)
1384
+ });
1385
+ var RemoteRunnerRegisterInput = Schema12.Struct({
1386
+ workspaceId: WorkspaceId,
1387
+ hostId: TrimmedNonEmptyString,
1388
+ name: TrimmedNonEmptyString,
1389
+ baseUrl: TrimmedNonEmptyString,
1390
+ workspacePath: Schema12.optional(TrimmedNonEmptyString),
1391
+ transport: Schema12.optional(TrimmedNonEmptyString),
1392
+ hostname: Schema12.optional(TrimmedNonEmptyString),
1393
+ region: Schema12.optional(TrimmedNonEmptyString),
1394
+ labels: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1395
+ capabilities: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1396
+ runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1397
+ status: Schema12.optional(WorkspaceRemoteHostStatus),
1398
+ currentLeaseCount: Schema12.optional(Schema12.Number)
1399
+ });
1400
+ var RemoteRunnerHeartbeatInput = Schema12.Struct({
1401
+ workspaceId: WorkspaceId,
1402
+ hostId: TrimmedNonEmptyString,
1403
+ status: WorkspaceRemoteHostStatus,
1404
+ currentLeaseCount: Schema12.optional(Schema12.Number),
1405
+ observedAt: Schema12.optional(IsoDateTime)
1406
+ });
1407
+ var RemoteRunnerLifecycleResult = Schema12.Struct({
1408
+ ok: Schema12.Boolean,
1409
+ workspaceId: WorkspaceId,
1410
+ hostId: TrimmedNonEmptyString,
1411
+ acceptedAt: IsoDateTime,
1412
+ heartbeatIntervalMs: Schema12.Number
1413
+ });
1414
+ var RemoteRunClaimInput = Schema12.Struct({
1415
+ workspaceId: WorkspaceId,
1416
+ hostId: TrimmedNonEmptyString,
1417
+ runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString))
1418
+ });
1419
+ var RemoteRunLeaseSummary = Schema12.Struct({
1420
+ leaseId: TrimmedNonEmptyString,
1421
+ runId: TrimmedNonEmptyString,
1422
+ workspaceId: WorkspaceId,
1423
+ title: TrimmedNonEmptyString,
1424
+ runtimeAdapter: TrimmedNonEmptyString,
1425
+ model: Schema12.NullOr(TrimmedNonEmptyString),
1426
+ runtimeMode: RuntimeMode,
1427
+ interactionMode: ProviderInteractionMode,
1428
+ executionTarget: RunExecutionTarget,
1429
+ remoteHostId: Schema12.NullOr(TrimmedNonEmptyString),
1430
+ claimedAt: IsoDateTime
1431
+ });
1432
+ var RemoteRunConversationEntry = Schema12.Struct({
1433
+ role: Schema12.Literals(["user", "assistant", "system"]),
1434
+ text: Schema12.String,
1435
+ createdAt: IsoDateTime
1436
+ });
1437
+ var RemoteRunExecutionBundle = Schema12.Struct({
1438
+ workspaceId: WorkspaceId,
1439
+ runId: TrimmedNonEmptyString,
1440
+ leaseId: TrimmedNonEmptyString,
1441
+ workspacePath: Schema12.NullOr(TrimmedNonEmptyString),
1442
+ runtimeAdapter: TrimmedNonEmptyString,
1443
+ model: Schema12.NullOr(TrimmedNonEmptyString),
1444
+ runtimeMode: RuntimeMode,
1445
+ interactionMode: ProviderInteractionMode,
1446
+ prompt: Schema12.String,
1447
+ conversation: Schema12.Array(RemoteRunConversationEntry),
1448
+ taskId: Schema12.NullOr(TrimmedNonEmptyString),
1449
+ taskTitle: Schema12.NullOr(TrimmedNonEmptyString)
1450
+ });
1451
+ var RemoteRunClaimResult = Schema12.Struct({
1452
+ ok: Schema12.Boolean,
1453
+ workspaceId: WorkspaceId,
1454
+ hostId: TrimmedNonEmptyString,
1455
+ acceptedAt: IsoDateTime,
1456
+ lease: Schema12.NullOr(RemoteRunLeaseSummary),
1457
+ bundle: Schema12.NullOr(RemoteRunExecutionBundle)
1458
+ });
1459
+ var RemoteRunReleaseInput = Schema12.Struct({
1460
+ workspaceId: WorkspaceId,
1461
+ hostId: TrimmedNonEmptyString,
1462
+ runId: TrimmedNonEmptyString,
1463
+ leaseId: TrimmedNonEmptyString,
1464
+ status: Schema12.optional(WorkspaceRemoteHostStatus)
1465
+ });
1466
+ var RemoteRunReleaseResult = Schema12.Struct({
1467
+ ok: Schema12.Boolean,
1468
+ workspaceId: WorkspaceId,
1469
+ hostId: TrimmedNonEmptyString,
1470
+ runId: TrimmedNonEmptyString,
1471
+ leaseId: TrimmedNonEmptyString,
1472
+ acceptedAt: IsoDateTime
1473
+ });
1474
+ var RemoteRunStartInput = Schema12.Struct({
1475
+ workspaceId: WorkspaceId,
1476
+ hostId: TrimmedNonEmptyString,
1477
+ runId: TrimmedNonEmptyString,
1478
+ leaseId: TrimmedNonEmptyString
1479
+ });
1480
+ var RemoteRunStartResult = Schema12.Struct({
1481
+ ok: Schema12.Boolean,
1482
+ workspaceId: WorkspaceId,
1483
+ hostId: TrimmedNonEmptyString,
1484
+ runId: TrimmedNonEmptyString,
1485
+ leaseId: TrimmedNonEmptyString,
1486
+ runtimeId: TrimmedNonEmptyString,
1487
+ acceptedAt: IsoDateTime
1488
+ });
1489
+ var RemoteRunLogInput = Schema12.Struct({
1490
+ workspaceId: WorkspaceId,
1491
+ hostId: TrimmedNonEmptyString,
1492
+ runId: TrimmedNonEmptyString,
1493
+ leaseId: TrimmedNonEmptyString,
1494
+ title: TrimmedNonEmptyString,
1495
+ detail: Schema12.optional(Schema12.String),
1496
+ tone: Schema12.optional(EngineLogTone),
1497
+ status: Schema12.optional(TrimmedNonEmptyString),
1498
+ payload: Schema12.optional(Schema12.Unknown)
1499
+ });
1500
+ var RemoteRunMessageInput = Schema12.Struct({
1501
+ workspaceId: WorkspaceId,
1502
+ hostId: TrimmedNonEmptyString,
1503
+ runId: TrimmedNonEmptyString,
1504
+ leaseId: TrimmedNonEmptyString,
1505
+ messageId: Schema12.optional(TrimmedNonEmptyString),
1506
+ text: Schema12.String,
1507
+ state: Schema12.optional(Schema12.Literals(["streaming", "completed"]))
1508
+ });
1509
+ var RemoteRunMutationResult = Schema12.Struct({
1510
+ ok: Schema12.Boolean,
1511
+ workspaceId: WorkspaceId,
1512
+ hostId: TrimmedNonEmptyString,
1513
+ runId: TrimmedNonEmptyString,
1514
+ leaseId: TrimmedNonEmptyString,
1515
+ acceptedAt: IsoDateTime
1516
+ });
1517
+ var RemoteRunCompleteInput = Schema12.Struct({
1518
+ workspaceId: WorkspaceId,
1519
+ hostId: TrimmedNonEmptyString,
1520
+ runId: TrimmedNonEmptyString,
1521
+ leaseId: TrimmedNonEmptyString
1522
+ });
1523
+ var RemoteRunFailInput = Schema12.Struct({
1524
+ workspaceId: WorkspaceId,
1525
+ hostId: TrimmedNonEmptyString,
1526
+ runId: TrimmedNonEmptyString,
1527
+ leaseId: TrimmedNonEmptyString,
1528
+ errorText: Schema12.optional(Schema12.String)
1529
+ });
1530
+ var RemoteRunArtifactInput = Schema12.Struct({
1531
+ workspaceId: WorkspaceId,
1532
+ hostId: TrimmedNonEmptyString,
1533
+ runId: TrimmedNonEmptyString,
1534
+ leaseId: TrimmedNonEmptyString,
1535
+ kind: TrimmedNonEmptyString,
1536
+ label: TrimmedNonEmptyString,
1537
+ filename: TrimmedNonEmptyString,
1538
+ contentType: TrimmedNonEmptyString,
1539
+ contentBase64: TrimmedNonEmptyString
1540
+ });
1541
+ var RemoteRunArtifactResult = Schema12.Struct({
1542
+ ok: Schema12.Boolean,
1543
+ workspaceId: WorkspaceId,
1544
+ hostId: TrimmedNonEmptyString,
1545
+ runId: TrimmedNonEmptyString,
1546
+ leaseId: TrimmedNonEmptyString,
1547
+ acceptedAt: IsoDateTime,
1548
+ artifactPath: TrimmedNonEmptyString
1549
+ });
1550
+ var RemoteRunArtifactSummary = Schema12.Struct({
1551
+ workspaceId: WorkspaceId,
1552
+ runId: TrimmedNonEmptyString,
1553
+ hostId: TrimmedNonEmptyString,
1554
+ leaseId: TrimmedNonEmptyString,
1555
+ kind: TrimmedNonEmptyString,
1556
+ label: TrimmedNonEmptyString,
1557
+ filename: TrimmedNonEmptyString,
1558
+ contentType: TrimmedNonEmptyString,
1559
+ uploadedAt: IsoDateTime,
1560
+ byteSize: Schema12.Number,
1561
+ artifactPath: TrimmedNonEmptyString,
1562
+ downloadPath: TrimmedNonEmptyString
1563
+ });
1564
+ var RemoteRunArtifactsResult = Schema12.Struct({
1565
+ workspaceId: WorkspaceId,
1566
+ runId: TrimmedNonEmptyString,
1567
+ artifacts: Schema12.Array(RemoteRunArtifactSummary)
1568
+ });
1569
+
1570
+ // packages/contracts/src/engine.ts
1571
+ var EngineEvent = Schema13.Struct({
1572
+ id: EventId,
1573
+ sequence: NonNegativeInt,
1574
+ createdAt: IsoDateTime,
1575
+ type: TrimmedNonEmptyString,
1576
+ aggregateId: TrimmedNonEmptyString,
1577
+ payload: Schema13.Unknown
1578
+ });
1579
+ var EngineReadModel = Schema13.Struct({
1580
+ snapshotSequence: NonNegativeInt,
1581
+ workspaces: Schema13.Array(WorkspaceSummary),
1582
+ graphs: Schema13.Array(GraphSummary),
1583
+ tasks: Schema13.Array(TaskSummary),
1584
+ runs: Schema13.Array(RunSummary),
1585
+ runtimes: Schema13.Array(RuntimeSummary),
1586
+ conversations: Schema13.Array(ConversationSummary),
1587
+ messages: Schema13.Array(EngineMessage),
1588
+ actions: Schema13.Array(EngineAction),
1589
+ logs: Schema13.Array(EngineRunLog),
1590
+ approvals: Schema13.Array(ApprovalSummary),
1591
+ userInputs: Schema13.optional(Schema13.Array(UserInputRequestSummary)),
1592
+ validations: Schema13.Array(ValidationSummary),
1593
+ reviews: Schema13.Array(ReviewSummary),
1594
+ artifacts: Schema13.Array(ArtifactSummary),
1595
+ policyDecisions: Schema13.Array(PolicyDecisionSummary),
1596
+ queue: Schema13.Array(QueueEntry),
1597
+ worktrees: Schema13.Array(WorktreeSummary),
1598
+ remoteEndpoints: Schema13.Array(RemoteEndpoint),
1599
+ remoteConnections: Schema13.Array(RemoteConnectionSummary),
1600
+ remoteOrchestrations: Schema13.Array(RemoteOrchestrationSummary),
1601
+ updatedAt: IsoDateTime
1602
+ });
1603
+ var RuntimeAdapterKind = Schema13.Literals(["codex", "claude-code", "pi"]);
1604
+ var WorkspaceRegisterCommand = Schema13.Struct({
1605
+ type: Schema13.Literal("workspace.register"),
1606
+ commandId: CommandId,
1607
+ workspaceId: WorkspaceId,
1608
+ title: TrimmedNonEmptyString,
1609
+ rootPath: TrimmedNonEmptyString,
1610
+ defaultModel: Schema13.optional(TrimmedNonEmptyString),
1611
+ createdAt: IsoDateTime
1612
+ });
1613
+ var WorkspaceImportRigCommand = Schema13.Struct({
1614
+ type: Schema13.Literal("workspace.importRig"),
1615
+ commandId: CommandId,
1616
+ workspaceId: WorkspaceId,
1617
+ rootPath: TrimmedNonEmptyString,
1618
+ title: Schema13.optional(TrimmedNonEmptyString),
1619
+ createdAt: IsoDateTime
1620
+ });
1621
+ var RunCreateAdhocCommand = Schema13.Struct({
1622
+ type: Schema13.Literal("run.createAdhoc"),
1623
+ commandId: CommandId,
1624
+ runId: RunId,
1625
+ workspaceId: WorkspaceId,
1626
+ title: TrimmedNonEmptyString,
1627
+ runtimeAdapter: Schema13.optional(RuntimeAdapterKind),
1628
+ model: Schema13.optional(TrimmedNonEmptyString),
1629
+ executionTarget: Schema13.optional(RunExecutionTarget),
1630
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1631
+ runtimeMode: RuntimeMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
1632
+ interactionMode: ProviderInteractionMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
1633
+ initialPrompt: Schema13.optional(Schema13.String),
1634
+ createdAt: IsoDateTime
1635
+ });
1636
+ var RunCreateForTaskCommand = Schema13.Struct({
1637
+ type: Schema13.Literal("run.createForTask"),
1638
+ commandId: CommandId,
1639
+ runId: RunId,
1640
+ workspaceId: WorkspaceId,
1641
+ taskId: TaskId,
1642
+ runtimeAdapter: Schema13.optional(RuntimeAdapterKind),
1643
+ model: Schema13.optional(TrimmedNonEmptyString),
1644
+ executionTarget: Schema13.optional(RunExecutionTarget),
1645
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1646
+ runtimeMode: RuntimeMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
1647
+ interactionMode: ProviderInteractionMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
1648
+ createdAt: IsoDateTime
1649
+ });
1650
+ var RunSubmitUserMessageCommand = Schema13.Struct({
1651
+ type: Schema13.Literal("run.submitUserMessage"),
1652
+ commandId: CommandId,
1653
+ runId: RunId,
1654
+ messageId: MessageId,
1655
+ text: Schema13.String,
1656
+ attachments: Schema13.optional(Schema13.Array(Schema13.Unknown)),
1657
+ createdAt: IsoDateTime
1658
+ });
1659
+ var RunInterruptCommand = Schema13.Struct({
1660
+ type: Schema13.Literal("run.interrupt"),
1661
+ commandId: CommandId,
1662
+ runId: RunId,
1663
+ createdAt: IsoDateTime
1664
+ });
1665
+ var RunStopCommand = Schema13.Struct({
1666
+ type: Schema13.Literal("run.stop"),
1667
+ commandId: CommandId,
1668
+ runId: RunId,
1669
+ createdAt: IsoDateTime
1670
+ });
1671
+ var RunSetRuntimeModeCommand = Schema13.Struct({
1672
+ type: Schema13.Literal("run.setRuntimeMode"),
1673
+ commandId: CommandId,
1674
+ runId: RunId,
1675
+ runtimeMode: RuntimeMode,
1676
+ createdAt: IsoDateTime
1677
+ });
1678
+ var RunSetInteractionModeCommand = Schema13.Struct({
1679
+ type: Schema13.Literal("run.setInteractionMode"),
1680
+ commandId: CommandId,
1681
+ runId: RunId,
1682
+ interactionMode: ProviderInteractionMode,
1683
+ createdAt: IsoDateTime
1684
+ });
1685
+ var RunRespondApprovalCommand = Schema13.Struct({
1686
+ type: Schema13.Literal("run.respondApproval"),
1687
+ commandId: CommandId,
1688
+ runId: RunId,
1689
+ requestId: ApprovalRequestId,
1690
+ decision: ProviderApprovalDecision,
1691
+ createdAt: IsoDateTime
1692
+ });
1693
+ var RunRespondUserInputCommand = Schema13.Struct({
1694
+ type: Schema13.Literal("run.respondUserInput"),
1695
+ commandId: CommandId,
1696
+ runId: RunId,
1697
+ requestId: ApprovalRequestId,
1698
+ answers: ProviderUserInputAnswers,
1699
+ createdAt: IsoDateTime
1700
+ });
1701
+ var RuntimePrepareCommand = Schema13.Struct({
1702
+ type: Schema13.Literal("runtime.prepare"),
1703
+ commandId: CommandId,
1704
+ runId: RunId,
1705
+ workspaceId: WorkspaceId,
1706
+ adapter: RuntimeAdapterKind,
1707
+ executionTarget: Schema13.optional(RunExecutionTarget),
1708
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1709
+ model: Schema13.optional(TrimmedNonEmptyString),
1710
+ createdAt: IsoDateTime
1711
+ });
1712
+ var RuntimeAttachCommand = Schema13.Struct({
1713
+ type: Schema13.Literal("runtime.attach"),
1714
+ commandId: CommandId,
1715
+ runId: RunId,
1716
+ runtimeId: EngineRuntimeId,
1717
+ createdAt: IsoDateTime
1718
+ });
1719
+ var RuntimeDetachCommand = Schema13.Struct({
1720
+ type: Schema13.Literal("runtime.detach"),
1721
+ commandId: CommandId,
1722
+ runId: RunId,
1723
+ reason: TrimmedNonEmptyString,
1724
+ createdAt: IsoDateTime
1725
+ });
1726
+ var GraphUpdateTaskStatusCommand = Schema13.Struct({
1727
+ type: Schema13.Literal("graph.updateTaskStatus"),
1728
+ commandId: CommandId,
1729
+ taskId: TaskId,
1730
+ status: TaskStatus,
1731
+ createdAt: IsoDateTime
1732
+ });
1733
+ var TaskEnqueueCommand = Schema13.Struct({
1734
+ type: Schema13.Literal("task.enqueue"),
1735
+ commandId: CommandId,
1736
+ taskId: TaskId,
1737
+ score: NonNegativeInt,
1738
+ createdAt: IsoDateTime
1739
+ });
1740
+ var WorkspaceHydrateImportedStateCommand = Schema13.Struct({
1741
+ type: Schema13.Literal("workspace.hydrateImportedState"),
1742
+ commandId: CommandId,
1743
+ workspaceId: WorkspaceId,
1744
+ rootPath: Schema13.optional(Schema13.String),
1745
+ graph: GraphSummary,
1746
+ tasks: Schema13.Array(TaskSummary),
1747
+ runs: Schema13.Array(RunSummary),
1748
+ runtimes: Schema13.Array(RuntimeSummary),
1749
+ actions: Schema13.Array(EngineAction),
1750
+ logs: Schema13.optional(Schema13.Array(EngineRunLog)),
1751
+ validations: Schema13.Array(ValidationSummary),
1752
+ reviews: Schema13.Array(ReviewSummary),
1753
+ artifacts: Schema13.Array(ArtifactSummary),
1754
+ policyDecisions: Schema13.Array(PolicyDecisionSummary),
1755
+ queue: Schema13.Array(QueueEntry),
1756
+ createdAt: IsoDateTime
1757
+ });
1758
+ var WorkspaceCompileTopologyCommand = Schema13.Struct({
1759
+ type: Schema13.Literal("workspace.compileTopology"),
1760
+ commandId: CommandId,
1761
+ workspaceId: WorkspaceId,
1762
+ rootPath: TrimmedNonEmptyString,
1763
+ topology: WorkspaceTopologySummary,
1764
+ createdAt: IsoDateTime
1765
+ });
1766
+ var WorkspaceSyncRemoteFleetCommand = Schema13.Struct({
1767
+ type: Schema13.Literal("workspace.syncRemoteFleet"),
1768
+ commandId: CommandId,
1769
+ workspaceId: WorkspaceId,
1770
+ rootPath: TrimmedNonEmptyString,
1771
+ remoteFleet: WorkspaceRemoteFleetSummary,
1772
+ createdAt: IsoDateTime
1773
+ });
1774
+ var WorkspaceSyncServiceFabricCommand = Schema13.Struct({
1775
+ type: Schema13.Literal("workspace.syncServiceFabric"),
1776
+ commandId: CommandId,
1777
+ workspaceId: WorkspaceId,
1778
+ rootPath: TrimmedNonEmptyString,
1779
+ serviceFabric: WorkspaceServiceFabricSummary,
1780
+ createdAt: IsoDateTime
1781
+ });
1782
+ var WorkspaceRegisterRemoteHostCommand = Schema13.Struct({
1783
+ type: Schema13.Literal("workspace.registerRemoteHost"),
1784
+ commandId: CommandId,
1785
+ workspaceId: WorkspaceId,
1786
+ host: Schema13.Struct({
1787
+ id: TrimmedNonEmptyString,
1788
+ name: TrimmedNonEmptyString,
1789
+ baseUrl: TrimmedNonEmptyString,
1790
+ workspacePath: Schema13.NullOr(TrimmedNonEmptyString),
1791
+ transport: TrimmedNonEmptyString,
1792
+ hostname: Schema13.NullOr(TrimmedNonEmptyString),
1793
+ region: Schema13.NullOr(TrimmedNonEmptyString),
1794
+ labels: Schema13.Array(TrimmedNonEmptyString),
1795
+ capabilities: Schema13.Array(TrimmedNonEmptyString),
1796
+ runtimeAdapters: Schema13.Array(TrimmedNonEmptyString),
1797
+ status: Schema13.Literals([
1798
+ "registering",
1799
+ "ready",
1800
+ "busy",
1801
+ "degraded",
1802
+ "draining",
1803
+ "offline",
1804
+ "quarantined"
1805
+ ]),
1806
+ currentLeaseCount: Schema13.Number,
1807
+ lastHeartbeatAt: Schema13.NullOr(IsoDateTime),
1808
+ registeredAt: IsoDateTime,
1809
+ manifestPath: TrimmedNonEmptyString
1810
+ }),
1811
+ createdAt: IsoDateTime
1812
+ });
1813
+ var WorkspaceUpdateRemoteHostStatusCommand = Schema13.Struct({
1814
+ type: Schema13.Literal("workspace.updateRemoteHostStatus"),
1815
+ commandId: CommandId,
1816
+ workspaceId: WorkspaceId,
1817
+ hostId: TrimmedNonEmptyString,
1818
+ status: Schema13.Literals([
1819
+ "registering",
1820
+ "ready",
1821
+ "busy",
1822
+ "degraded",
1823
+ "draining",
1824
+ "offline",
1825
+ "quarantined"
1826
+ ]),
1827
+ currentLeaseCount: Schema13.optional(Schema13.Number),
1828
+ lastHeartbeatAt: Schema13.optional(IsoDateTime),
1829
+ createdAt: IsoDateTime
1830
+ });
1831
+ var RunClaimRemoteLeaseCommand = Schema13.Struct({
1832
+ type: Schema13.Literal("run.claimRemoteLease"),
1833
+ commandId: CommandId,
1834
+ runId: RunId,
1835
+ hostId: TrimmedNonEmptyString,
1836
+ leaseId: TrimmedNonEmptyString,
1837
+ createdAt: IsoDateTime
1838
+ });
1839
+ var RunReleaseRemoteLeaseCommand = Schema13.Struct({
1840
+ type: Schema13.Literal("run.releaseRemoteLease"),
1841
+ commandId: CommandId,
1842
+ runId: RunId,
1843
+ leaseId: TrimmedNonEmptyString,
1844
+ createdAt: IsoDateTime
1845
+ });
1846
+ var RuntimeRecordMessageCommand = Schema13.Struct({
1847
+ type: Schema13.Literal("runtime.recordMessage"),
1848
+ commandId: CommandId,
1849
+ runId: RunId,
1850
+ messageId: MessageId,
1851
+ role: EngineMessageRole,
1852
+ text: Schema13.String,
1853
+ state: EngineMessageState,
1854
+ attachments: Schema13.optional(Schema13.Array(Schema13.Unknown)),
1855
+ createdAt: IsoDateTime,
1856
+ completedAt: Schema13.optional(IsoDateTime)
1857
+ });
1858
+ var RuntimeStartActionCommand = Schema13.Struct({
1859
+ type: Schema13.Literal("runtime.startAction"),
1860
+ commandId: CommandId,
1861
+ runId: RunId,
1862
+ actionId: ActionId,
1863
+ messageId: Schema13.optional(MessageId),
1864
+ actionType: TrimmedNonEmptyString,
1865
+ title: TrimmedNonEmptyString,
1866
+ detail: Schema13.optional(Schema13.String),
1867
+ payload: Schema13.Unknown,
1868
+ createdAt: IsoDateTime
1869
+ });
1870
+ var RuntimeCompleteActionCommand = Schema13.Struct({
1871
+ type: Schema13.Literal("runtime.completeAction"),
1872
+ commandId: CommandId,
1873
+ runId: RunId,
1874
+ actionId: ActionId,
1875
+ state: TrimmedNonEmptyString,
1876
+ detail: Schema13.optional(Schema13.String),
1877
+ payload: Schema13.Unknown,
1878
+ createdAt: IsoDateTime
1879
+ });
1880
+ var RuntimeRecordLogCommand = Schema13.Struct({
1881
+ type: Schema13.Literal("runtime.recordLog"),
1882
+ commandId: CommandId,
1883
+ runId: RunId,
1884
+ logId: TrimmedNonEmptyString,
1885
+ title: TrimmedNonEmptyString,
1886
+ detail: Schema13.optional(Schema13.String),
1887
+ tone: EngineLogTone,
1888
+ status: Schema13.optional(TrimmedNonEmptyString),
1889
+ payload: Schema13.optional(Schema13.Unknown),
1890
+ createdAt: IsoDateTime
1891
+ });
1892
+ var RuntimeUpdateMetadataCommand = Schema13.Struct({
1893
+ type: Schema13.Literal("runtime.updateMetadata"),
1894
+ commandId: CommandId,
1895
+ runId: RunId,
1896
+ runtimeId: EngineRuntimeId,
1897
+ sandboxMode: Schema13.optional(EngineSandboxMode),
1898
+ isolationMode: Schema13.optional(IsolationMode),
1899
+ workspaceDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1900
+ homeDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1901
+ tmpDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1902
+ cacheDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1903
+ logsDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1904
+ stateDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1905
+ sessionDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1906
+ sessionLogPath: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1907
+ pid: Schema13.optional(NonNegativeInt),
1908
+ worktreePath: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1909
+ branch: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1910
+ createdAt: IsoDateTime
1911
+ });
1912
+ var RuntimeRequestApprovalCommand = Schema13.Struct({
1913
+ type: Schema13.Literal("runtime.requestApproval"),
1914
+ commandId: CommandId,
1915
+ runId: RunId,
1916
+ requestId: ApprovalRequestId,
1917
+ requestKind: TrimmedNonEmptyString,
1918
+ actionId: Schema13.optional(ActionId),
1919
+ payload: Schema13.Unknown,
1920
+ createdAt: IsoDateTime
1921
+ });
1922
+ var RuntimeRequestUserInputCommand = Schema13.Struct({
1923
+ type: Schema13.Literal("runtime.requestUserInput"),
1924
+ commandId: CommandId,
1925
+ runId: RunId,
1926
+ requestId: ApprovalRequestId,
1927
+ payload: Schema13.Unknown,
1928
+ createdAt: IsoDateTime
1929
+ });
1930
+ var RunMarkCompletedCommand = Schema13.Struct({
1931
+ type: Schema13.Literal("run.markCompleted"),
1932
+ commandId: CommandId,
1933
+ runId: RunId,
1934
+ createdAt: IsoDateTime
1935
+ });
1936
+ var RunMarkFailedCommand = Schema13.Struct({
1937
+ type: Schema13.Literal("run.markFailed"),
1938
+ commandId: CommandId,
1939
+ runId: RunId,
1940
+ errorText: Schema13.optional(Schema13.String),
1941
+ createdAt: IsoDateTime
1942
+ });
1943
+ var RunSetStatusCommand = Schema13.Struct({
1944
+ type: Schema13.Literal("run.setStatus"),
1945
+ commandId: CommandId,
1946
+ runId: RunId,
1947
+ status: Schema13.Literals(["created", "queued", "preparing", "running", "validating", "reviewing", "paused"]),
1948
+ createdAt: IsoDateTime
1949
+ });
1950
+ var RuntimeRecordValidationCommand = Schema13.Struct({
1951
+ type: Schema13.Literal("runtime.recordValidation"),
1952
+ commandId: CommandId,
1953
+ runId: RunId,
1954
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1955
+ validationId: ValidationResultId,
1956
+ validatorKey: TrimmedNonEmptyString,
1957
+ status: Schema13.Literals(["pending", "running", "passed", "failed", "skipped"]),
1958
+ output: Schema13.Unknown,
1959
+ startedAt: IsoDateTime,
1960
+ completedAt: Schema13.optional(Schema13.NullOr(IsoDateTime)),
1961
+ createdAt: IsoDateTime
1962
+ });
1963
+ var RuntimeRecordReviewCommand = Schema13.Struct({
1964
+ type: Schema13.Literal("runtime.recordReview"),
1965
+ commandId: CommandId,
1966
+ runId: RunId,
1967
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1968
+ reviewId: ReviewResultId,
1969
+ provider: TrimmedNonEmptyString,
1970
+ mode: Schema13.Literals(["off", "advisory", "required"]),
1971
+ status: Schema13.Literals(["pending", "running", "approved", "rejected", "error"]),
1972
+ summary: Schema13.optional(Schema13.NullOr(Schema13.String)),
1973
+ output: Schema13.Unknown,
1974
+ createdAt: IsoDateTime,
1975
+ completedAt: Schema13.optional(Schema13.NullOr(IsoDateTime))
1976
+ });
1977
+ var RuntimeRegisterArtifactCommand = Schema13.Struct({
1978
+ type: Schema13.Literal("runtime.registerArtifact"),
1979
+ commandId: CommandId,
1980
+ runId: RunId,
1981
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1982
+ artifactId: ArtifactId,
1983
+ kind: TrimmedNonEmptyString,
1984
+ label: TrimmedNonEmptyString,
1985
+ path: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1986
+ url: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1987
+ metadata: Schema13.optional(Schema13.Record(Schema13.String, Schema13.Unknown)),
1988
+ createdAt: IsoDateTime
1989
+ });
1990
+ var RemoteRegisterEndpointCommand = Schema13.Struct({
1991
+ type: Schema13.Literal("remote.registerEndpoint"),
1992
+ commandId: CommandId,
1993
+ endpoint: RemoteEndpoint,
1994
+ createdAt: IsoDateTime
1995
+ });
1996
+ var RemoteRemoveEndpointCommand = Schema13.Struct({
1997
+ type: Schema13.Literal("remote.removeEndpoint"),
1998
+ commandId: CommandId,
1999
+ endpointId: RemoteEndpointId,
2000
+ createdAt: IsoDateTime
2001
+ });
2002
+ var RemoteUpdateEndpointCommand = Schema13.Struct({
2003
+ type: Schema13.Literal("remote.updateEndpoint"),
2004
+ commandId: CommandId,
2005
+ endpointId: RemoteEndpointId,
2006
+ updates: Schema13.Unknown,
2007
+ createdAt: IsoDateTime
2008
+ });
2009
+ var RemoteConnectCommand = Schema13.Struct({
2010
+ type: Schema13.Literal("remote.connect"),
2011
+ commandId: CommandId,
2012
+ endpointId: RemoteEndpointId,
2013
+ createdAt: IsoDateTime
2014
+ });
2015
+ var RemoteDisconnectCommand = Schema13.Struct({
2016
+ type: Schema13.Literal("remote.disconnect"),
2017
+ commandId: CommandId,
2018
+ endpointId: RemoteEndpointId,
2019
+ createdAt: IsoDateTime
2020
+ });
2021
+ var RemotePauseCommand = Schema13.Struct({
2022
+ type: Schema13.Literal("remote.pause"),
2023
+ commandId: CommandId,
2024
+ endpointId: RemoteEndpointId,
2025
+ createdAt: IsoDateTime
2026
+ });
2027
+ var RemoteResumeCommand = Schema13.Struct({
2028
+ type: Schema13.Literal("remote.resume"),
2029
+ commandId: CommandId,
2030
+ endpointId: RemoteEndpointId,
2031
+ createdAt: IsoDateTime
2032
+ });
2033
+ var RemoteStopCommand = Schema13.Struct({
2034
+ type: Schema13.Literal("remote.stop"),
2035
+ commandId: CommandId,
2036
+ endpointId: RemoteEndpointId,
2037
+ createdAt: IsoDateTime
2038
+ });
2039
+ var RemoteContinueCommand = Schema13.Struct({
2040
+ type: Schema13.Literal("remote.continue"),
2041
+ commandId: CommandId,
2042
+ endpointId: RemoteEndpointId,
2043
+ createdAt: IsoDateTime
2044
+ });
2045
+ var RemoteCreateRunForTaskCommand = Schema13.Struct({
2046
+ type: Schema13.Literal("remote.createRunForTask"),
2047
+ commandId: CommandId,
2048
+ endpointId: RemoteEndpointId,
2049
+ taskId: TrimmedNonEmptyString,
2050
+ runId: TrimmedNonEmptyString,
2051
+ workspaceId: TrimmedNonEmptyString,
2052
+ runtimeMode: Schema13.optional(Schema13.String),
2053
+ interactionMode: Schema13.optional(Schema13.String),
2054
+ createdAt: IsoDateTime
2055
+ });
2056
+ var RemoteRefreshTasksCommand = Schema13.Struct({
2057
+ type: Schema13.Literal("remote.refreshTasks"),
2058
+ commandId: CommandId,
2059
+ endpointId: RemoteEndpointId,
2060
+ createdAt: IsoDateTime
2061
+ });
2062
+ var RemoteAddIterationsCommand = Schema13.Struct({
2063
+ type: Schema13.Literal("remote.addIterations"),
2064
+ commandId: CommandId,
2065
+ endpointId: RemoteEndpointId,
2066
+ count: Schema13.Int.check(Schema13.isGreaterThanOrEqualTo(1)),
2067
+ createdAt: IsoDateTime
2068
+ });
2069
+ var RemoteRemoveIterationsCommand = Schema13.Struct({
2070
+ type: Schema13.Literal("remote.removeIterations"),
2071
+ commandId: CommandId,
2072
+ endpointId: RemoteEndpointId,
2073
+ count: Schema13.Int.check(Schema13.isGreaterThanOrEqualTo(1)),
2074
+ createdAt: IsoDateTime
2075
+ });
2076
+ var RemoteOrchestrateStartCommand = Schema13.Struct({
2077
+ type: Schema13.Literal("remote.orchestrate.start"),
2078
+ commandId: CommandId,
2079
+ endpointId: RemoteEndpointId,
2080
+ maxWorkers: Schema13.optional(Schema13.Int),
2081
+ maxIterations: Schema13.optional(Schema13.Int),
2082
+ directMerge: Schema13.optional(Schema13.Boolean),
2083
+ createdAt: IsoDateTime
2084
+ });
2085
+ var RemoteOrchestratePauseCommand = Schema13.Struct({
2086
+ type: Schema13.Literal("remote.orchestrate.pause"),
2087
+ commandId: CommandId,
2088
+ endpointId: RemoteEndpointId,
2089
+ orchestrationId: TrimmedNonEmptyString,
2090
+ createdAt: IsoDateTime
2091
+ });
2092
+ var RemoteOrchestrateResumeCommand = Schema13.Struct({
2093
+ type: Schema13.Literal("remote.orchestrate.resume"),
2094
+ commandId: CommandId,
2095
+ endpointId: RemoteEndpointId,
2096
+ orchestrationId: TrimmedNonEmptyString,
2097
+ createdAt: IsoDateTime
2098
+ });
2099
+ var RemoteOrchestrateStopCommand = Schema13.Struct({
2100
+ type: Schema13.Literal("remote.orchestrate.stop"),
2101
+ commandId: CommandId,
2102
+ endpointId: RemoteEndpointId,
2103
+ orchestrationId: TrimmedNonEmptyString,
2104
+ createdAt: IsoDateTime
2105
+ });
2106
+ var RemoteGetPromptPreviewCommand = Schema13.Struct({
2107
+ type: Schema13.Literal("remote.getPromptPreview"),
2108
+ commandId: CommandId,
2109
+ endpointId: RemoteEndpointId,
2110
+ taskId: TrimmedNonEmptyString,
2111
+ createdAt: IsoDateTime
2112
+ });
2113
+ var RemoteGetIterationOutputCommand = Schema13.Struct({
2114
+ type: Schema13.Literal("remote.getIterationOutput"),
2115
+ commandId: CommandId,
2116
+ endpointId: RemoteEndpointId,
2117
+ taskId: TrimmedNonEmptyString,
2118
+ createdAt: IsoDateTime
2119
+ });
2120
+ var EngineCommand = Schema13.Union([
2121
+ WorkspaceRegisterCommand,
2122
+ WorkspaceImportRigCommand,
2123
+ WorkspaceHydrateImportedStateCommand,
2124
+ WorkspaceCompileTopologyCommand,
2125
+ WorkspaceSyncRemoteFleetCommand,
2126
+ WorkspaceSyncServiceFabricCommand,
2127
+ WorkspaceRegisterRemoteHostCommand,
2128
+ WorkspaceUpdateRemoteHostStatusCommand,
2129
+ RunClaimRemoteLeaseCommand,
2130
+ RunReleaseRemoteLeaseCommand,
2131
+ RunCreateAdhocCommand,
2132
+ RunCreateForTaskCommand,
2133
+ RunMarkCompletedCommand,
2134
+ RunMarkFailedCommand,
2135
+ RunSetStatusCommand,
2136
+ RunSubmitUserMessageCommand,
2137
+ RunInterruptCommand,
2138
+ RunStopCommand,
2139
+ RunSetRuntimeModeCommand,
2140
+ RunSetInteractionModeCommand,
2141
+ RunRespondApprovalCommand,
2142
+ RunRespondUserInputCommand,
2143
+ RuntimePrepareCommand,
2144
+ RuntimeAttachCommand,
2145
+ RuntimeDetachCommand,
2146
+ RuntimeRecordMessageCommand,
2147
+ RuntimeStartActionCommand,
2148
+ RuntimeCompleteActionCommand,
2149
+ RuntimeRecordLogCommand,
2150
+ RuntimeUpdateMetadataCommand,
2151
+ RuntimeRequestApprovalCommand,
2152
+ RuntimeRequestUserInputCommand,
2153
+ RuntimeRecordValidationCommand,
2154
+ RuntimeRecordReviewCommand,
2155
+ RuntimeRegisterArtifactCommand,
2156
+ GraphUpdateTaskStatusCommand,
2157
+ TaskEnqueueCommand,
2158
+ RemoteRegisterEndpointCommand,
2159
+ RemoteRemoveEndpointCommand,
2160
+ RemoteUpdateEndpointCommand,
2161
+ RemoteConnectCommand,
2162
+ RemoteDisconnectCommand,
2163
+ RemotePauseCommand,
2164
+ RemoteResumeCommand,
2165
+ RemoteStopCommand,
2166
+ RemoteContinueCommand,
2167
+ RemoteCreateRunForTaskCommand,
2168
+ RemoteRefreshTasksCommand,
2169
+ RemoteAddIterationsCommand,
2170
+ RemoteRemoveIterationsCommand,
2171
+ RemoteOrchestrateStartCommand,
2172
+ RemoteOrchestratePauseCommand,
2173
+ RemoteOrchestrateResumeCommand,
2174
+ RemoteOrchestrateStopCommand,
2175
+ RemoteGetPromptPreviewCommand,
2176
+ RemoteGetIterationOutputCommand
2177
+ ]);
2178
+ var EngineDispatchResult = Schema13.Struct({
2179
+ sequence: NonNegativeInt
2180
+ });
2181
+ var EngineGetSnapshotInput = Schema13.Struct({});
2182
+ var EngineReplayEventsInput = Schema13.Struct({
2183
+ fromSequenceExclusive: NonNegativeInt
2184
+ });
2185
+ var EngineReplayEventsResult = Schema13.Array(EngineEvent);
2186
+ var EngineGetTaskArtifactsInput = Schema13.Struct({
2187
+ taskId: TaskId
2188
+ });
2189
+ var EngineGetTaskArtifactsResult = Schema13.Array(ArtifactSummary);
2190
+ var EngineRuntimeDefaults = Schema13.Struct({
2191
+ runtimeAdapter: TrimmedNonEmptyString,
2192
+ runMode: RunMode,
2193
+ sandboxMode: EngineSandboxMode,
2194
+ isolationMode: IsolationMode
2195
+ });
2196
+
2197
+ // packages/contracts/src/rig.ts
2198
+ var RIG_WS_METHODS = {
2199
+ getSnapshot: "rig.getSnapshot",
2200
+ replayEvents: "rig.replayEvents",
2201
+ listWorkspaces: "rig.listWorkspaces",
2202
+ getWorkspace: "rig.getWorkspace",
2203
+ getRunLogs: "rig.getRunLogs",
2204
+ createAdhocRun: "rig.createAdhocRun",
2205
+ createTaskRun: "rig.createTaskRun",
2206
+ deleteRun: "rig.deleteRun",
2207
+ enqueueTask: "rig.enqueueTask",
2208
+ resumeRun: "rig.resumeRun",
2209
+ submitRunMessage: "rig.submitRunMessage",
2210
+ interruptRun: "rig.interruptRun",
2211
+ stopRun: "rig.stopRun",
2212
+ resolveApproval: "rig.resolveApproval",
2213
+ resolveUserInput: "rig.resolveUserInput",
2214
+ getTaskArtifacts: "rig.getTaskArtifacts"
2215
+ };
2216
+ var RIG_WS_CHANNELS = {
2217
+ snapshotInvalidated: "rig.snapshotInvalidated",
2218
+ event: "rig.event",
2219
+ runLogAppended: "rig.runLogAppended"
2220
+ };
2221
+ var RigSnapshotInvalidatedPayload = Schema14.Struct({
2222
+ sequence: NonNegativeInt,
2223
+ updatedAt: IsoDateTime,
2224
+ reason: Schema14.optional(TrimmedNonEmptyString)
2225
+ });
2226
+ var RigSnapshot = EngineReadModel;
2227
+ var RigGetSnapshotInput = Schema14.Struct({});
2228
+ var RigReplayEventsInput = Schema14.Struct({
2229
+ fromSequenceExclusive: NonNegativeInt
2230
+ });
2231
+ var RigReplayEventsResult = Schema14.Array(EngineEvent);
2232
+ var RigListWorkspacesInput = Schema14.Struct({});
2233
+ var RigListWorkspacesResult = Schema14.Array(WorkspaceSummary);
2234
+ var RigGetWorkspaceInput = Schema14.Struct({
2235
+ workspaceId: WorkspaceId
2236
+ });
2237
+ var RigGetWorkspaceResult = Schema14.Struct({
2238
+ workspace: Schema14.NullOr(WorkspaceSummary),
2239
+ tasks: Schema14.Array(TaskSummary),
2240
+ runs: Schema14.Array(RunSummary),
2241
+ approvals: Schema14.Array(ApprovalSummary),
2242
+ userInputs: Schema14.Array(UserInputRequestSummary),
2243
+ artifacts: Schema14.Array(ArtifactSummary),
2244
+ updatedAt: IsoDateTime
2245
+ });
2246
+ var RigRawRunLogEntry = Schema14.Record(Schema14.String, Schema14.Unknown);
2247
+ var RigGetRunLogsInput = Schema14.Struct({
2248
+ runId: RunId,
2249
+ limit: Schema14.optional(PositiveInt.check(Schema14.isLessThanOrEqualTo(500))),
2250
+ cursor: Schema14.optional(Schema14.String)
2251
+ });
2252
+ var RigGetRunLogsResult = Schema14.Struct({
2253
+ entries: Schema14.Array(RigRawRunLogEntry),
2254
+ nextCursor: Schema14.NullOr(Schema14.String),
2255
+ hasMore: Schema14.Boolean
2256
+ });
2257
+ var RigRunLogAppendedPayload = Schema14.Struct({
2258
+ runId: RunId,
2259
+ entry: RigRawRunLogEntry
2260
+ });
2261
+ var RigCreateAdhocRunInput = Schema14.Struct({
2262
+ commandId: CommandId,
2263
+ runId: RunId,
2264
+ workspaceId: WorkspaceId,
2265
+ title: Schema14.String,
2266
+ runtimeAdapter: Schema14.optional(RuntimeAdapterKind),
2267
+ model: Schema14.optional(Schema14.String),
2268
+ runtimeMode: RuntimeMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
2269
+ interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2270
+ executionTarget: Schema14.optional(RunExecutionTarget),
2271
+ remoteHostId: Schema14.optional(Schema14.String),
2272
+ initialPrompt: Schema14.optional(Schema14.String),
2273
+ createdAt: IsoDateTime
2274
+ });
2275
+ var RigCreateTaskRunInput = Schema14.Struct({
2276
+ commandId: CommandId,
2277
+ runId: RunId,
2278
+ workspaceId: WorkspaceId,
2279
+ taskId: TaskId,
2280
+ runtimeAdapter: Schema14.optional(RuntimeAdapterKind),
2281
+ model: Schema14.optional(Schema14.String),
2282
+ runtimeMode: RuntimeMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
2283
+ interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2284
+ executionTarget: Schema14.optional(RunExecutionTarget),
2285
+ remoteHostId: Schema14.optional(Schema14.String),
2286
+ createdAt: IsoDateTime
2287
+ });
2288
+ var RigEnqueueTaskInput = Schema14.Struct({
2289
+ commandId: CommandId,
2290
+ taskId: TaskId,
2291
+ score: Schema14.optional(Schema14.Number),
2292
+ createdAt: IsoDateTime
2293
+ });
2294
+ var RigDeleteRunInput = Schema14.Struct({
2295
+ commandId: CommandId,
2296
+ runId: RunId,
2297
+ purgeTaskArtifacts: Schema14.optional(Schema14.Boolean),
2298
+ createdAt: IsoDateTime
2299
+ });
2300
+ var RigResumeRunInput = Schema14.Struct({
2301
+ commandId: CommandId,
2302
+ runId: RunId,
2303
+ promptOverride: Schema14.optional(Schema14.String),
2304
+ createdAt: IsoDateTime
2305
+ });
2306
+ var RigSubmitRunMessageInput = Schema14.Struct({
2307
+ commandId: CommandId,
2308
+ runId: RunId,
2309
+ messageId: MessageId,
2310
+ text: Schema14.String,
2311
+ attachments: Schema14.optional(Schema14.Array(Schema14.Unknown)),
2312
+ createdAt: IsoDateTime
2313
+ });
2314
+ var RigInterruptRunInput = Schema14.Struct({
2315
+ commandId: CommandId,
2316
+ runId: RunId,
2317
+ createdAt: IsoDateTime
2318
+ });
2319
+ var RigStopRunInput = Schema14.Struct({
2320
+ commandId: CommandId,
2321
+ runId: RunId,
2322
+ createdAt: IsoDateTime
2323
+ });
2324
+ var RigResolveApprovalInput = Schema14.Struct({
2325
+ commandId: CommandId,
2326
+ runId: RunId,
2327
+ requestId: ApprovalRequestId,
2328
+ decision: ProviderApprovalDecision,
2329
+ createdAt: IsoDateTime
2330
+ });
2331
+ var RigResolveUserInputInput = Schema14.Struct({
2332
+ commandId: CommandId,
2333
+ runId: RunId,
2334
+ requestId: ApprovalRequestId,
2335
+ answers: ProviderUserInputAnswers,
2336
+ createdAt: IsoDateTime
2337
+ });
2338
+ var RigGetTaskArtifactsInput = Schema14.Struct({
2339
+ taskId: TaskId
2340
+ });
2341
+ var RigGetTaskArtifactsResult = Schema14.Array(ArtifactSummary);
2342
+ var RigMutationResult = Schema14.Struct({
2343
+ sequence: NonNegativeInt
2344
+ });
2345
+ export {
2346
+ RigSubmitRunMessageInput,
2347
+ RigStopRunInput,
2348
+ RigSnapshotInvalidatedPayload,
2349
+ RigSnapshot,
2350
+ RigRunLogAppendedPayload,
2351
+ RigResumeRunInput,
2352
+ RigResolveUserInputInput,
2353
+ RigResolveApprovalInput,
2354
+ RigReplayEventsResult,
2355
+ RigReplayEventsInput,
2356
+ RigRawRunLogEntry,
2357
+ RigMutationResult,
2358
+ RigListWorkspacesResult,
2359
+ RigListWorkspacesInput,
2360
+ RigInterruptRunInput,
2361
+ RigGetWorkspaceResult,
2362
+ RigGetWorkspaceInput,
2363
+ RigGetTaskArtifactsResult,
2364
+ RigGetTaskArtifactsInput,
2365
+ RigGetSnapshotInput,
2366
+ RigGetRunLogsResult,
2367
+ RigGetRunLogsInput,
2368
+ RigEnqueueTaskInput,
2369
+ RigDeleteRunInput,
2370
+ RigCreateTaskRunInput,
2371
+ RigCreateAdhocRunInput,
2372
+ RIG_WS_METHODS,
2373
+ RIG_WS_CHANNELS
2374
+ };