@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.
package/dist/src/ws.js ADDED
@@ -0,0 +1,2968 @@
1
+ // @bun
2
+ // packages/contracts/src/ws.ts
3
+ import { Schema as Schema20, Struct as Struct2 } from "effect";
4
+
5
+ // packages/contracts/src/baseSchemas.ts
6
+ import { Schema } from "effect";
7
+ var TrimmedString = Schema.Trim;
8
+ var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
9
+ var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
10
+ var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
11
+ var IsoDateTime = Schema.String;
12
+ var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
13
+ var ThreadId = makeEntityId("ThreadId");
14
+ var ProjectId = makeEntityId("ProjectId");
15
+ var WorkspaceId = makeEntityId("WorkspaceId");
16
+ var GraphId = makeEntityId("GraphId");
17
+ var TaskId = makeEntityId("TaskId");
18
+ var RunId = makeEntityId("RunId");
19
+ var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
+ var ConversationId = makeEntityId("ConversationId");
21
+ var ActionId = makeEntityId("ActionId");
22
+ var ArtifactId = makeEntityId("ArtifactId");
23
+ var WorktreeId = makeEntityId("WorktreeId");
24
+ var ValidationResultId = makeEntityId("ValidationResultId");
25
+ var ReviewResultId = makeEntityId("ReviewResultId");
26
+ var CommandId = makeEntityId("CommandId");
27
+ var EventId = makeEntityId("EventId");
28
+ var MessageId = makeEntityId("MessageId");
29
+ var TurnId = makeEntityId("TurnId");
30
+ var ProviderItemId = makeEntityId("ProviderItemId");
31
+ var RuntimeSessionId = makeEntityId("RuntimeSessionId");
32
+ var RuntimeItemId = makeEntityId("RuntimeItemId");
33
+ var RuntimeRequestId = makeEntityId("RuntimeRequestId");
34
+ var RuntimeTaskId = makeEntityId("RuntimeTaskId");
35
+ var ApprovalRequestId = makeEntityId("ApprovalRequestId");
36
+ var CheckpointRef = makeEntityId("CheckpointRef");
37
+ var RemoteEndpointId = makeEntityId("RemoteEndpointId");
38
+
39
+ // packages/contracts/src/engine.ts
40
+ import { Schema as Schema13 } from "effect";
41
+
42
+ // packages/contracts/src/conversation.ts
43
+ import { Schema as Schema2 } from "effect";
44
+ var EngineMessageRole = Schema2.Literals(["user", "assistant", "system"]);
45
+ var EngineMessageState = Schema2.Literals([
46
+ "streaming",
47
+ "completed",
48
+ "interrupted",
49
+ "errored"
50
+ ]);
51
+ var ConversationSummary = Schema2.Struct({
52
+ id: ConversationId,
53
+ runId: RunId,
54
+ title: TrimmedNonEmptyString,
55
+ createdAt: IsoDateTime,
56
+ updatedAt: IsoDateTime
57
+ });
58
+ var EngineMessage = Schema2.Struct({
59
+ id: MessageId,
60
+ conversationId: ConversationId,
61
+ role: EngineMessageRole,
62
+ text: Schema2.String,
63
+ attachments: Schema2.Array(Schema2.Unknown),
64
+ state: EngineMessageState,
65
+ createdAt: IsoDateTime,
66
+ completedAt: Schema2.NullOr(IsoDateTime)
67
+ });
68
+ var EngineAction = Schema2.Struct({
69
+ id: ActionId,
70
+ runId: RunId,
71
+ messageId: Schema2.NullOr(MessageId),
72
+ actionType: TrimmedNonEmptyString,
73
+ title: TrimmedNonEmptyString,
74
+ detail: Schema2.NullOr(Schema2.String),
75
+ state: TrimmedNonEmptyString,
76
+ payload: Schema2.Unknown,
77
+ startedAt: IsoDateTime,
78
+ completedAt: Schema2.NullOr(IsoDateTime)
79
+ });
80
+ var EngineLogTone = Schema2.Literals(["thinking", "tool", "info", "error"]);
81
+ var EngineRunLog = Schema2.Struct({
82
+ id: TrimmedNonEmptyString,
83
+ runId: RunId,
84
+ title: TrimmedNonEmptyString,
85
+ detail: Schema2.NullOr(Schema2.String),
86
+ tone: EngineLogTone,
87
+ status: Schema2.NullOr(TrimmedNonEmptyString),
88
+ payload: Schema2.Unknown,
89
+ createdAt: IsoDateTime
90
+ });
91
+
92
+ // packages/contracts/src/graph.ts
93
+ import { Schema as Schema3 } from "effect";
94
+ var TaskStatus = Schema3.Literals([
95
+ "draft",
96
+ "open",
97
+ "ready",
98
+ "queued",
99
+ "running",
100
+ "in_progress",
101
+ "under_review",
102
+ "blocked",
103
+ "unknown",
104
+ "completed",
105
+ "failed",
106
+ "cancelled",
107
+ "closed"
108
+ ]);
109
+ var GraphSummary = Schema3.Struct({
110
+ id: GraphId,
111
+ workspaceId: WorkspaceId,
112
+ title: TrimmedNonEmptyString,
113
+ description: Schema3.NullOr(Schema3.String),
114
+ createdAt: IsoDateTime,
115
+ updatedAt: IsoDateTime
116
+ });
117
+ var TaskSummary = Schema3.Struct({
118
+ id: TaskId,
119
+ workspaceId: WorkspaceId,
120
+ graphId: Schema3.NullOr(GraphId),
121
+ externalId: Schema3.NullOr(TrimmedNonEmptyString),
122
+ title: TrimmedNonEmptyString,
123
+ description: Schema3.String,
124
+ status: TaskStatus,
125
+ priority: Schema3.NullOr(PositiveInt),
126
+ role: Schema3.NullOr(TrimmedNonEmptyString),
127
+ scope: Schema3.Array(TrimmedNonEmptyString),
128
+ validationKeys: Schema3.Array(TrimmedNonEmptyString),
129
+ sourceIssueId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
130
+ dependencies: Schema3.optional(Schema3.Array(TrimmedNonEmptyString)),
131
+ parentChildDeps: Schema3.optional(Schema3.Array(TrimmedNonEmptyString)),
132
+ metadata: Schema3.Unknown,
133
+ createdAt: IsoDateTime,
134
+ updatedAt: IsoDateTime
135
+ });
136
+ var QueueEntry = Schema3.Struct({
137
+ taskId: TaskId,
138
+ score: NonNegativeInt,
139
+ unblockCount: NonNegativeInt,
140
+ position: NonNegativeInt
141
+ });
142
+
143
+ // packages/contracts/src/policy.ts
144
+ import { Schema as Schema4 } from "effect";
145
+ var PolicyDecision = Schema4.Literals(["allow", "warn", "block"]);
146
+ var PolicyMode = Schema4.Literals(["off", "observe", "enforce"]);
147
+ var PolicyDecisionSummary = Schema4.Struct({
148
+ id: TrimmedNonEmptyString,
149
+ runId: RunId,
150
+ actionId: Schema4.NullOr(ActionId),
151
+ decision: PolicyDecision,
152
+ mode: PolicyMode,
153
+ matchedRules: Schema4.Array(TrimmedNonEmptyString),
154
+ reason: Schema4.String,
155
+ createdAt: IsoDateTime
156
+ });
157
+
158
+ // packages/contracts/src/artifact.ts
159
+ import { Schema as Schema5 } from "effect";
160
+ var ArtifactSummary = Schema5.Struct({
161
+ id: ArtifactId,
162
+ runId: RunId,
163
+ taskId: Schema5.NullOr(TaskId),
164
+ kind: TrimmedNonEmptyString,
165
+ label: TrimmedNonEmptyString,
166
+ path: Schema5.NullOr(TrimmedNonEmptyString),
167
+ url: Schema5.NullOr(TrimmedNonEmptyString),
168
+ metadata: Schema5.Record(Schema5.String, Schema5.Unknown),
169
+ createdAt: IsoDateTime
170
+ });
171
+
172
+ // packages/contracts/src/orchestration.ts
173
+ import { Option, Schema as Schema7, SchemaIssue, Struct } from "effect";
174
+
175
+ // packages/contracts/src/model.ts
176
+ import { Schema as Schema6 } from "effect";
177
+ var CODEX_REASONING_EFFORT_OPTIONS = ["xhigh", "high", "medium", "low"];
178
+ var CodexModelOptions = Schema6.Struct({
179
+ reasoningEffort: Schema6.optional(Schema6.Literals(CODEX_REASONING_EFFORT_OPTIONS)),
180
+ fastMode: Schema6.optional(Schema6.Boolean)
181
+ });
182
+ var ClaudeModelOptions = Schema6.Struct({});
183
+ var ProviderModelOptions = Schema6.Struct({
184
+ codex: Schema6.optional(CodexModelOptions),
185
+ claude: Schema6.optional(ClaudeModelOptions)
186
+ });
187
+
188
+ // packages/contracts/src/orchestration.ts
189
+ var ProviderKind = Schema7.Literals(["codex", "claude"]);
190
+ var ProviderApprovalPolicy = Schema7.Literals([
191
+ "untrusted",
192
+ "on-failure",
193
+ "on-request",
194
+ "never"
195
+ ]);
196
+ var ProviderSandboxMode = Schema7.Literals([
197
+ "read-only",
198
+ "workspace-write",
199
+ "danger-full-access"
200
+ ]);
201
+ var ProviderServiceTier = Schema7.Literals(["fast", "flex"]);
202
+ var RuntimeMode = Schema7.Literals(["approval-required", "full-access"]);
203
+ var DEFAULT_RUNTIME_MODE = "full-access";
204
+ var ProviderInteractionMode = Schema7.Literals(["default", "plan"]);
205
+ var DEFAULT_PROVIDER_INTERACTION_MODE = "default";
206
+ var ProviderRequestKind = Schema7.Literals(["command", "file-read", "file-change"]);
207
+ var AssistantDeliveryMode = Schema7.Literals(["buffered", "streaming"]);
208
+ var ProviderApprovalDecision = Schema7.Literals([
209
+ "accept",
210
+ "acceptForSession",
211
+ "decline",
212
+ "cancel"
213
+ ]);
214
+ var ProviderUserInputAnswers = Schema7.Record(Schema7.String, Schema7.Unknown);
215
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
216
+ var PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS = 14000000;
217
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
218
+ var ChatAttachmentId = TrimmedNonEmptyString.check(Schema7.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema7.isPattern(/^[a-z0-9_-]+$/i));
219
+ var ChatImageAttachment = Schema7.Struct({
220
+ type: Schema7.Literal("image"),
221
+ id: ChatAttachmentId,
222
+ name: TrimmedNonEmptyString.check(Schema7.isMaxLength(255)),
223
+ mimeType: TrimmedNonEmptyString.check(Schema7.isMaxLength(100), Schema7.isPattern(/^image\//i)),
224
+ sizeBytes: NonNegativeInt.check(Schema7.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
225
+ });
226
+ var UploadChatImageAttachment = Schema7.Struct({
227
+ type: Schema7.Literal("image"),
228
+ name: TrimmedNonEmptyString.check(Schema7.isMaxLength(255)),
229
+ mimeType: TrimmedNonEmptyString.check(Schema7.isMaxLength(100), Schema7.isPattern(/^image\//i)),
230
+ sizeBytes: NonNegativeInt.check(Schema7.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
231
+ dataUrl: TrimmedNonEmptyString.check(Schema7.isMaxLength(PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS))
232
+ });
233
+ var ChatAttachment = Schema7.Union([ChatImageAttachment]);
234
+ var UploadChatAttachment = Schema7.Union([UploadChatImageAttachment]);
235
+ var ProjectScriptIcon = Schema7.Literals([
236
+ "play",
237
+ "test",
238
+ "lint",
239
+ "configure",
240
+ "build",
241
+ "debug"
242
+ ]);
243
+ var ProjectScript = Schema7.Struct({
244
+ id: TrimmedNonEmptyString,
245
+ name: TrimmedNonEmptyString,
246
+ command: TrimmedNonEmptyString,
247
+ icon: ProjectScriptIcon,
248
+ runOnWorktreeCreate: Schema7.Boolean
249
+ });
250
+ var OrchestrationProject = Schema7.Struct({
251
+ id: ProjectId,
252
+ title: TrimmedNonEmptyString,
253
+ workspaceRoot: TrimmedNonEmptyString,
254
+ defaultModel: Schema7.NullOr(TrimmedNonEmptyString),
255
+ scripts: Schema7.Array(ProjectScript),
256
+ createdAt: IsoDateTime,
257
+ updatedAt: IsoDateTime,
258
+ deletedAt: Schema7.NullOr(IsoDateTime)
259
+ });
260
+ var OrchestrationMessageRole = Schema7.Literals(["user", "assistant", "system"]);
261
+ var OrchestrationMessage = Schema7.Struct({
262
+ id: MessageId,
263
+ role: OrchestrationMessageRole,
264
+ text: Schema7.String,
265
+ attachments: Schema7.optional(Schema7.Array(ChatAttachment)),
266
+ turnId: Schema7.NullOr(TurnId),
267
+ streaming: Schema7.Boolean,
268
+ createdAt: IsoDateTime,
269
+ updatedAt: IsoDateTime
270
+ });
271
+ var OrchestrationProposedPlanId = TrimmedNonEmptyString;
272
+ var OrchestrationProposedPlan = Schema7.Struct({
273
+ id: OrchestrationProposedPlanId,
274
+ turnId: Schema7.NullOr(TurnId),
275
+ planMarkdown: TrimmedNonEmptyString,
276
+ createdAt: IsoDateTime,
277
+ updatedAt: IsoDateTime
278
+ });
279
+ var OrchestrationSessionStatus = Schema7.Literals([
280
+ "idle",
281
+ "starting",
282
+ "running",
283
+ "ready",
284
+ "interrupted",
285
+ "stopped",
286
+ "error"
287
+ ]);
288
+ var OrchestrationSession = Schema7.Struct({
289
+ threadId: ThreadId,
290
+ status: OrchestrationSessionStatus,
291
+ providerName: Schema7.NullOr(TrimmedNonEmptyString),
292
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
293
+ activeTurnId: Schema7.NullOr(TurnId),
294
+ lastError: Schema7.NullOr(TrimmedNonEmptyString),
295
+ updatedAt: IsoDateTime
296
+ });
297
+ var OrchestrationCheckpointFile = Schema7.Struct({
298
+ path: TrimmedNonEmptyString,
299
+ kind: TrimmedNonEmptyString,
300
+ additions: NonNegativeInt,
301
+ deletions: NonNegativeInt
302
+ });
303
+ var OrchestrationCheckpointStatus = Schema7.Literals(["ready", "missing", "error"]);
304
+ var OrchestrationCheckpointSummary = Schema7.Struct({
305
+ turnId: TurnId,
306
+ checkpointTurnCount: NonNegativeInt,
307
+ checkpointRef: CheckpointRef,
308
+ status: OrchestrationCheckpointStatus,
309
+ files: Schema7.Array(OrchestrationCheckpointFile),
310
+ assistantMessageId: Schema7.NullOr(MessageId),
311
+ completedAt: IsoDateTime
312
+ });
313
+ var OrchestrationThreadActivityTone = Schema7.Literals([
314
+ "info",
315
+ "tool",
316
+ "approval",
317
+ "error"
318
+ ]);
319
+ var OrchestrationThreadActivity = Schema7.Struct({
320
+ id: EventId,
321
+ tone: OrchestrationThreadActivityTone,
322
+ kind: TrimmedNonEmptyString,
323
+ summary: TrimmedNonEmptyString,
324
+ payload: Schema7.Unknown,
325
+ turnId: Schema7.NullOr(TurnId),
326
+ sequence: Schema7.optional(NonNegativeInt),
327
+ createdAt: IsoDateTime
328
+ });
329
+ var OrchestrationLatestTurnState = Schema7.Literals([
330
+ "running",
331
+ "interrupted",
332
+ "completed",
333
+ "error"
334
+ ]);
335
+ var OrchestrationLatestTurn = Schema7.Struct({
336
+ turnId: TurnId,
337
+ state: OrchestrationLatestTurnState,
338
+ requestedAt: IsoDateTime,
339
+ startedAt: Schema7.NullOr(IsoDateTime),
340
+ completedAt: Schema7.NullOr(IsoDateTime),
341
+ assistantMessageId: Schema7.NullOr(MessageId)
342
+ });
343
+ var OrchestrationThread = Schema7.Struct({
344
+ id: ThreadId,
345
+ projectId: ProjectId,
346
+ title: TrimmedNonEmptyString,
347
+ model: TrimmedNonEmptyString,
348
+ runtimeMode: RuntimeMode,
349
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
350
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
351
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
352
+ latestTurn: Schema7.NullOr(OrchestrationLatestTurn),
353
+ createdAt: IsoDateTime,
354
+ updatedAt: IsoDateTime,
355
+ deletedAt: Schema7.NullOr(IsoDateTime),
356
+ messages: Schema7.Array(OrchestrationMessage),
357
+ proposedPlans: Schema7.Array(OrchestrationProposedPlan).pipe(Schema7.withDecodingDefault(() => [])),
358
+ activities: Schema7.Array(OrchestrationThreadActivity),
359
+ checkpoints: Schema7.Array(OrchestrationCheckpointSummary),
360
+ session: Schema7.NullOr(OrchestrationSession)
361
+ });
362
+ var OrchestrationReadModel = Schema7.Struct({
363
+ snapshotSequence: NonNegativeInt,
364
+ projects: Schema7.Array(OrchestrationProject),
365
+ threads: Schema7.Array(OrchestrationThread),
366
+ updatedAt: IsoDateTime
367
+ });
368
+ var ProjectCreateCommand = Schema7.Struct({
369
+ type: Schema7.Literal("project.create"),
370
+ commandId: CommandId,
371
+ projectId: ProjectId,
372
+ title: TrimmedNonEmptyString,
373
+ workspaceRoot: TrimmedNonEmptyString,
374
+ defaultModel: Schema7.optional(TrimmedNonEmptyString),
375
+ createdAt: IsoDateTime
376
+ });
377
+ var ProjectMetaUpdateCommand = Schema7.Struct({
378
+ type: Schema7.Literal("project.meta.update"),
379
+ commandId: CommandId,
380
+ projectId: ProjectId,
381
+ title: Schema7.optional(TrimmedNonEmptyString),
382
+ workspaceRoot: Schema7.optional(TrimmedNonEmptyString),
383
+ defaultModel: Schema7.optional(TrimmedNonEmptyString),
384
+ scripts: Schema7.optional(Schema7.Array(ProjectScript))
385
+ });
386
+ var ProjectDeleteCommand = Schema7.Struct({
387
+ type: Schema7.Literal("project.delete"),
388
+ commandId: CommandId,
389
+ projectId: ProjectId
390
+ });
391
+ var ThreadCreateCommand = Schema7.Struct({
392
+ type: Schema7.Literal("thread.create"),
393
+ commandId: CommandId,
394
+ threadId: ThreadId,
395
+ projectId: ProjectId,
396
+ title: TrimmedNonEmptyString,
397
+ model: TrimmedNonEmptyString,
398
+ runtimeMode: RuntimeMode,
399
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
400
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
401
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
402
+ createdAt: IsoDateTime
403
+ });
404
+ var ThreadDeleteCommand = Schema7.Struct({
405
+ type: Schema7.Literal("thread.delete"),
406
+ commandId: CommandId,
407
+ threadId: ThreadId
408
+ });
409
+ var ThreadMetaUpdateCommand = Schema7.Struct({
410
+ type: Schema7.Literal("thread.meta.update"),
411
+ commandId: CommandId,
412
+ threadId: ThreadId,
413
+ title: Schema7.optional(TrimmedNonEmptyString),
414
+ model: Schema7.optional(TrimmedNonEmptyString),
415
+ branch: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
416
+ worktreePath: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString))
417
+ });
418
+ var ThreadRuntimeModeSetCommand = Schema7.Struct({
419
+ type: Schema7.Literal("thread.runtime-mode.set"),
420
+ commandId: CommandId,
421
+ threadId: ThreadId,
422
+ runtimeMode: RuntimeMode,
423
+ createdAt: IsoDateTime
424
+ });
425
+ var ThreadInteractionModeSetCommand = Schema7.Struct({
426
+ type: Schema7.Literal("thread.interaction-mode.set"),
427
+ commandId: CommandId,
428
+ threadId: ThreadId,
429
+ interactionMode: ProviderInteractionMode,
430
+ createdAt: IsoDateTime
431
+ });
432
+ var ThreadTurnStartCommand = Schema7.Struct({
433
+ type: Schema7.Literal("thread.turn.start"),
434
+ commandId: CommandId,
435
+ threadId: ThreadId,
436
+ message: Schema7.Struct({
437
+ messageId: MessageId,
438
+ role: Schema7.Literal("user"),
439
+ text: Schema7.String,
440
+ attachments: Schema7.Array(ChatAttachment)
441
+ }),
442
+ provider: Schema7.optional(ProviderKind),
443
+ model: Schema7.optional(TrimmedNonEmptyString),
444
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
445
+ modelOptions: Schema7.optional(ProviderModelOptions),
446
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
447
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
448
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
449
+ createdAt: IsoDateTime
450
+ });
451
+ var ClientThreadTurnStartCommand = Schema7.Struct({
452
+ type: Schema7.Literal("thread.turn.start"),
453
+ commandId: CommandId,
454
+ threadId: ThreadId,
455
+ message: Schema7.Struct({
456
+ messageId: MessageId,
457
+ role: Schema7.Literal("user"),
458
+ text: Schema7.String,
459
+ attachments: Schema7.Array(UploadChatAttachment)
460
+ }),
461
+ provider: Schema7.optional(ProviderKind),
462
+ model: Schema7.optional(TrimmedNonEmptyString),
463
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
464
+ modelOptions: Schema7.optional(ProviderModelOptions),
465
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
466
+ runtimeMode: RuntimeMode,
467
+ interactionMode: ProviderInteractionMode,
468
+ createdAt: IsoDateTime
469
+ });
470
+ var ThreadTurnInterruptCommand = Schema7.Struct({
471
+ type: Schema7.Literal("thread.turn.interrupt"),
472
+ commandId: CommandId,
473
+ threadId: ThreadId,
474
+ turnId: Schema7.optional(TurnId),
475
+ createdAt: IsoDateTime
476
+ });
477
+ var ThreadApprovalRespondCommand = Schema7.Struct({
478
+ type: Schema7.Literal("thread.approval.respond"),
479
+ commandId: CommandId,
480
+ threadId: ThreadId,
481
+ requestId: ApprovalRequestId,
482
+ decision: ProviderApprovalDecision,
483
+ createdAt: IsoDateTime
484
+ });
485
+ var ThreadUserInputRespondCommand = Schema7.Struct({
486
+ type: Schema7.Literal("thread.user-input.respond"),
487
+ commandId: CommandId,
488
+ threadId: ThreadId,
489
+ requestId: ApprovalRequestId,
490
+ answers: ProviderUserInputAnswers,
491
+ createdAt: IsoDateTime
492
+ });
493
+ var ThreadCheckpointRevertCommand = Schema7.Struct({
494
+ type: Schema7.Literal("thread.checkpoint.revert"),
495
+ commandId: CommandId,
496
+ threadId: ThreadId,
497
+ turnCount: NonNegativeInt,
498
+ createdAt: IsoDateTime
499
+ });
500
+ var ThreadSessionStopCommand = Schema7.Struct({
501
+ type: Schema7.Literal("thread.session.stop"),
502
+ commandId: CommandId,
503
+ threadId: ThreadId,
504
+ createdAt: IsoDateTime
505
+ });
506
+ var DispatchableClientOrchestrationCommand = Schema7.Union([
507
+ ProjectCreateCommand,
508
+ ProjectMetaUpdateCommand,
509
+ ProjectDeleteCommand,
510
+ ThreadCreateCommand,
511
+ ThreadDeleteCommand,
512
+ ThreadMetaUpdateCommand,
513
+ ThreadRuntimeModeSetCommand,
514
+ ThreadInteractionModeSetCommand,
515
+ ThreadTurnStartCommand,
516
+ ThreadTurnInterruptCommand,
517
+ ThreadApprovalRespondCommand,
518
+ ThreadUserInputRespondCommand,
519
+ ThreadCheckpointRevertCommand,
520
+ ThreadSessionStopCommand
521
+ ]);
522
+ var ClientOrchestrationCommand = Schema7.Union([
523
+ ProjectCreateCommand,
524
+ ProjectMetaUpdateCommand,
525
+ ProjectDeleteCommand,
526
+ ThreadCreateCommand,
527
+ ThreadDeleteCommand,
528
+ ThreadMetaUpdateCommand,
529
+ ThreadRuntimeModeSetCommand,
530
+ ThreadInteractionModeSetCommand,
531
+ ClientThreadTurnStartCommand,
532
+ ThreadTurnInterruptCommand,
533
+ ThreadApprovalRespondCommand,
534
+ ThreadUserInputRespondCommand,
535
+ ThreadCheckpointRevertCommand,
536
+ ThreadSessionStopCommand
537
+ ]);
538
+ var ThreadSessionSetCommand = Schema7.Struct({
539
+ type: Schema7.Literal("thread.session.set"),
540
+ commandId: CommandId,
541
+ threadId: ThreadId,
542
+ session: OrchestrationSession,
543
+ createdAt: IsoDateTime
544
+ });
545
+ var ThreadMessageAssistantDeltaCommand = Schema7.Struct({
546
+ type: Schema7.Literal("thread.message.assistant.delta"),
547
+ commandId: CommandId,
548
+ threadId: ThreadId,
549
+ messageId: MessageId,
550
+ delta: Schema7.String,
551
+ turnId: Schema7.optional(TurnId),
552
+ createdAt: IsoDateTime
553
+ });
554
+ var ThreadMessageAssistantCompleteCommand = Schema7.Struct({
555
+ type: Schema7.Literal("thread.message.assistant.complete"),
556
+ commandId: CommandId,
557
+ threadId: ThreadId,
558
+ messageId: MessageId,
559
+ turnId: Schema7.optional(TurnId),
560
+ createdAt: IsoDateTime
561
+ });
562
+ var ThreadProposedPlanUpsertCommand = Schema7.Struct({
563
+ type: Schema7.Literal("thread.proposed-plan.upsert"),
564
+ commandId: CommandId,
565
+ threadId: ThreadId,
566
+ proposedPlan: OrchestrationProposedPlan,
567
+ createdAt: IsoDateTime
568
+ });
569
+ var ThreadTurnDiffCompleteCommand = Schema7.Struct({
570
+ type: Schema7.Literal("thread.turn.diff.complete"),
571
+ commandId: CommandId,
572
+ threadId: ThreadId,
573
+ turnId: TurnId,
574
+ completedAt: IsoDateTime,
575
+ checkpointRef: CheckpointRef,
576
+ status: OrchestrationCheckpointStatus,
577
+ files: Schema7.Array(OrchestrationCheckpointFile),
578
+ assistantMessageId: Schema7.optional(MessageId),
579
+ checkpointTurnCount: NonNegativeInt,
580
+ createdAt: IsoDateTime
581
+ });
582
+ var ThreadActivityAppendCommand = Schema7.Struct({
583
+ type: Schema7.Literal("thread.activity.append"),
584
+ commandId: CommandId,
585
+ threadId: ThreadId,
586
+ activity: OrchestrationThreadActivity,
587
+ createdAt: IsoDateTime
588
+ });
589
+ var ThreadRevertCompleteCommand = Schema7.Struct({
590
+ type: Schema7.Literal("thread.revert.complete"),
591
+ commandId: CommandId,
592
+ threadId: ThreadId,
593
+ turnCount: NonNegativeInt,
594
+ createdAt: IsoDateTime
595
+ });
596
+ var InternalOrchestrationCommand = Schema7.Union([
597
+ ThreadSessionSetCommand,
598
+ ThreadMessageAssistantDeltaCommand,
599
+ ThreadMessageAssistantCompleteCommand,
600
+ ThreadProposedPlanUpsertCommand,
601
+ ThreadTurnDiffCompleteCommand,
602
+ ThreadActivityAppendCommand,
603
+ ThreadRevertCompleteCommand
604
+ ]);
605
+ var OrchestrationCommand = Schema7.Union([
606
+ DispatchableClientOrchestrationCommand,
607
+ InternalOrchestrationCommand
608
+ ]);
609
+ var OrchestrationEventType = Schema7.Literals([
610
+ "project.created",
611
+ "project.meta-updated",
612
+ "project.deleted",
613
+ "thread.created",
614
+ "thread.deleted",
615
+ "thread.meta-updated",
616
+ "thread.runtime-mode-set",
617
+ "thread.interaction-mode-set",
618
+ "thread.message-sent",
619
+ "thread.turn-start-requested",
620
+ "thread.turn-interrupt-requested",
621
+ "thread.approval-response-requested",
622
+ "thread.user-input-response-requested",
623
+ "thread.checkpoint-revert-requested",
624
+ "thread.reverted",
625
+ "thread.session-stop-requested",
626
+ "thread.session-set",
627
+ "thread.proposed-plan-upserted",
628
+ "thread.turn-diff-completed",
629
+ "thread.activity-appended"
630
+ ]);
631
+ var OrchestrationAggregateKind = Schema7.Literals(["project", "thread"]);
632
+ var OrchestrationActorKind = Schema7.Literals(["client", "server", "provider"]);
633
+ var ProjectCreatedPayload = Schema7.Struct({
634
+ projectId: ProjectId,
635
+ title: TrimmedNonEmptyString,
636
+ workspaceRoot: TrimmedNonEmptyString,
637
+ defaultModel: Schema7.NullOr(TrimmedNonEmptyString),
638
+ scripts: Schema7.Array(ProjectScript),
639
+ createdAt: IsoDateTime,
640
+ updatedAt: IsoDateTime
641
+ });
642
+ var ProjectMetaUpdatedPayload = Schema7.Struct({
643
+ projectId: ProjectId,
644
+ title: Schema7.optional(TrimmedNonEmptyString),
645
+ workspaceRoot: Schema7.optional(TrimmedNonEmptyString),
646
+ defaultModel: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
647
+ scripts: Schema7.optional(Schema7.Array(ProjectScript)),
648
+ updatedAt: IsoDateTime
649
+ });
650
+ var ProjectDeletedPayload = Schema7.Struct({
651
+ projectId: ProjectId,
652
+ deletedAt: IsoDateTime
653
+ });
654
+ var ThreadCreatedPayload = Schema7.Struct({
655
+ threadId: ThreadId,
656
+ projectId: ProjectId,
657
+ title: TrimmedNonEmptyString,
658
+ model: TrimmedNonEmptyString,
659
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
660
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
661
+ branch: Schema7.NullOr(TrimmedNonEmptyString),
662
+ worktreePath: Schema7.NullOr(TrimmedNonEmptyString),
663
+ createdAt: IsoDateTime,
664
+ updatedAt: IsoDateTime
665
+ });
666
+ var ThreadDeletedPayload = Schema7.Struct({
667
+ threadId: ThreadId,
668
+ deletedAt: IsoDateTime
669
+ });
670
+ var ThreadMetaUpdatedPayload = Schema7.Struct({
671
+ threadId: ThreadId,
672
+ title: Schema7.optional(TrimmedNonEmptyString),
673
+ model: Schema7.optional(TrimmedNonEmptyString),
674
+ branch: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
675
+ worktreePath: Schema7.optional(Schema7.NullOr(TrimmedNonEmptyString)),
676
+ updatedAt: IsoDateTime
677
+ });
678
+ var ThreadRuntimeModeSetPayload = Schema7.Struct({
679
+ threadId: ThreadId,
680
+ runtimeMode: RuntimeMode,
681
+ updatedAt: IsoDateTime
682
+ });
683
+ var ThreadInteractionModeSetPayload = Schema7.Struct({
684
+ threadId: ThreadId,
685
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
686
+ updatedAt: IsoDateTime
687
+ });
688
+ var ThreadMessageSentPayload = Schema7.Struct({
689
+ threadId: ThreadId,
690
+ messageId: MessageId,
691
+ role: OrchestrationMessageRole,
692
+ text: Schema7.String,
693
+ attachments: Schema7.optional(Schema7.Array(ChatAttachment)),
694
+ turnId: Schema7.NullOr(TurnId),
695
+ streaming: Schema7.Boolean,
696
+ createdAt: IsoDateTime,
697
+ updatedAt: IsoDateTime
698
+ });
699
+ var ThreadTurnStartRequestedPayload = Schema7.Struct({
700
+ threadId: ThreadId,
701
+ messageId: MessageId,
702
+ provider: Schema7.optional(ProviderKind),
703
+ model: Schema7.optional(TrimmedNonEmptyString),
704
+ serviceTier: Schema7.optional(Schema7.NullOr(ProviderServiceTier)),
705
+ modelOptions: Schema7.optional(ProviderModelOptions),
706
+ assistantDeliveryMode: Schema7.optional(AssistantDeliveryMode),
707
+ runtimeMode: RuntimeMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
708
+ interactionMode: ProviderInteractionMode.pipe(Schema7.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
709
+ createdAt: IsoDateTime
710
+ });
711
+ var ThreadTurnInterruptRequestedPayload = Schema7.Struct({
712
+ threadId: ThreadId,
713
+ turnId: Schema7.optional(TurnId),
714
+ createdAt: IsoDateTime
715
+ });
716
+ var ThreadApprovalResponseRequestedPayload = Schema7.Struct({
717
+ threadId: ThreadId,
718
+ requestId: ApprovalRequestId,
719
+ decision: ProviderApprovalDecision,
720
+ createdAt: IsoDateTime
721
+ });
722
+ var ThreadUserInputResponseRequestedPayload = Schema7.Struct({
723
+ threadId: ThreadId,
724
+ requestId: ApprovalRequestId,
725
+ answers: ProviderUserInputAnswers,
726
+ createdAt: IsoDateTime
727
+ });
728
+ var ThreadCheckpointRevertRequestedPayload = Schema7.Struct({
729
+ threadId: ThreadId,
730
+ turnCount: NonNegativeInt,
731
+ createdAt: IsoDateTime
732
+ });
733
+ var ThreadRevertedPayload = Schema7.Struct({
734
+ threadId: ThreadId,
735
+ turnCount: NonNegativeInt
736
+ });
737
+ var ThreadSessionStopRequestedPayload = Schema7.Struct({
738
+ threadId: ThreadId,
739
+ createdAt: IsoDateTime
740
+ });
741
+ var ThreadSessionSetPayload = Schema7.Struct({
742
+ threadId: ThreadId,
743
+ session: OrchestrationSession
744
+ });
745
+ var ThreadProposedPlanUpsertedPayload = Schema7.Struct({
746
+ threadId: ThreadId,
747
+ proposedPlan: OrchestrationProposedPlan
748
+ });
749
+ var ThreadTurnDiffCompletedPayload = Schema7.Struct({
750
+ threadId: ThreadId,
751
+ turnId: TurnId,
752
+ checkpointTurnCount: NonNegativeInt,
753
+ checkpointRef: CheckpointRef,
754
+ status: OrchestrationCheckpointStatus,
755
+ files: Schema7.Array(OrchestrationCheckpointFile),
756
+ assistantMessageId: Schema7.NullOr(MessageId),
757
+ completedAt: IsoDateTime
758
+ });
759
+ var ThreadActivityAppendedPayload = Schema7.Struct({
760
+ threadId: ThreadId,
761
+ activity: OrchestrationThreadActivity
762
+ });
763
+ var OrchestrationEventMetadata = Schema7.Struct({
764
+ providerTurnId: Schema7.optional(TrimmedNonEmptyString),
765
+ providerItemId: Schema7.optional(ProviderItemId),
766
+ adapterKey: Schema7.optional(TrimmedNonEmptyString),
767
+ requestId: Schema7.optional(ApprovalRequestId),
768
+ ingestedAt: Schema7.optional(IsoDateTime)
769
+ });
770
+ var EventBaseFields = {
771
+ sequence: NonNegativeInt,
772
+ eventId: EventId,
773
+ aggregateKind: OrchestrationAggregateKind,
774
+ aggregateId: Schema7.Union([ProjectId, ThreadId]),
775
+ occurredAt: IsoDateTime,
776
+ commandId: Schema7.NullOr(CommandId),
777
+ causationEventId: Schema7.NullOr(EventId),
778
+ correlationId: Schema7.NullOr(CommandId),
779
+ metadata: OrchestrationEventMetadata
780
+ };
781
+ var PersistedEventBaseFields = {
782
+ sequence: NonNegativeInt,
783
+ eventId: EventId,
784
+ aggregateKind: OrchestrationAggregateKind,
785
+ streamId: Schema7.Union([ProjectId, ThreadId]),
786
+ streamVersion: NonNegativeInt,
787
+ occurredAt: IsoDateTime,
788
+ commandId: Schema7.NullOr(CommandId),
789
+ causationEventId: Schema7.NullOr(EventId),
790
+ correlationId: Schema7.NullOr(CommandId),
791
+ actorKind: OrchestrationActorKind,
792
+ metadata: OrchestrationEventMetadata
793
+ };
794
+ var OrchestrationEvent = Schema7.Union([
795
+ Schema7.Struct({
796
+ ...EventBaseFields,
797
+ type: Schema7.Literal("project.created"),
798
+ payload: ProjectCreatedPayload
799
+ }),
800
+ Schema7.Struct({
801
+ ...EventBaseFields,
802
+ type: Schema7.Literal("project.meta-updated"),
803
+ payload: ProjectMetaUpdatedPayload
804
+ }),
805
+ Schema7.Struct({
806
+ ...EventBaseFields,
807
+ type: Schema7.Literal("project.deleted"),
808
+ payload: ProjectDeletedPayload
809
+ }),
810
+ Schema7.Struct({
811
+ ...EventBaseFields,
812
+ type: Schema7.Literal("thread.created"),
813
+ payload: ThreadCreatedPayload
814
+ }),
815
+ Schema7.Struct({
816
+ ...EventBaseFields,
817
+ type: Schema7.Literal("thread.deleted"),
818
+ payload: ThreadDeletedPayload
819
+ }),
820
+ Schema7.Struct({
821
+ ...EventBaseFields,
822
+ type: Schema7.Literal("thread.meta-updated"),
823
+ payload: ThreadMetaUpdatedPayload
824
+ }),
825
+ Schema7.Struct({
826
+ ...EventBaseFields,
827
+ type: Schema7.Literal("thread.runtime-mode-set"),
828
+ payload: ThreadRuntimeModeSetPayload
829
+ }),
830
+ Schema7.Struct({
831
+ ...EventBaseFields,
832
+ type: Schema7.Literal("thread.interaction-mode-set"),
833
+ payload: ThreadInteractionModeSetPayload
834
+ }),
835
+ Schema7.Struct({
836
+ ...EventBaseFields,
837
+ type: Schema7.Literal("thread.message-sent"),
838
+ payload: ThreadMessageSentPayload
839
+ }),
840
+ Schema7.Struct({
841
+ ...EventBaseFields,
842
+ type: Schema7.Literal("thread.turn-start-requested"),
843
+ payload: ThreadTurnStartRequestedPayload
844
+ }),
845
+ Schema7.Struct({
846
+ ...EventBaseFields,
847
+ type: Schema7.Literal("thread.turn-interrupt-requested"),
848
+ payload: ThreadTurnInterruptRequestedPayload
849
+ }),
850
+ Schema7.Struct({
851
+ ...EventBaseFields,
852
+ type: Schema7.Literal("thread.approval-response-requested"),
853
+ payload: ThreadApprovalResponseRequestedPayload
854
+ }),
855
+ Schema7.Struct({
856
+ ...EventBaseFields,
857
+ type: Schema7.Literal("thread.user-input-response-requested"),
858
+ payload: ThreadUserInputResponseRequestedPayload
859
+ }),
860
+ Schema7.Struct({
861
+ ...EventBaseFields,
862
+ type: Schema7.Literal("thread.checkpoint-revert-requested"),
863
+ payload: ThreadCheckpointRevertRequestedPayload
864
+ }),
865
+ Schema7.Struct({
866
+ ...EventBaseFields,
867
+ type: Schema7.Literal("thread.reverted"),
868
+ payload: ThreadRevertedPayload
869
+ }),
870
+ Schema7.Struct({
871
+ ...EventBaseFields,
872
+ type: Schema7.Literal("thread.session-stop-requested"),
873
+ payload: ThreadSessionStopRequestedPayload
874
+ }),
875
+ Schema7.Struct({
876
+ ...EventBaseFields,
877
+ type: Schema7.Literal("thread.session-set"),
878
+ payload: ThreadSessionSetPayload
879
+ }),
880
+ Schema7.Struct({
881
+ ...EventBaseFields,
882
+ type: Schema7.Literal("thread.proposed-plan-upserted"),
883
+ payload: ThreadProposedPlanUpsertedPayload
884
+ }),
885
+ Schema7.Struct({
886
+ ...EventBaseFields,
887
+ type: Schema7.Literal("thread.turn-diff-completed"),
888
+ payload: ThreadTurnDiffCompletedPayload
889
+ }),
890
+ Schema7.Struct({
891
+ ...EventBaseFields,
892
+ type: Schema7.Literal("thread.activity-appended"),
893
+ payload: ThreadActivityAppendedPayload
894
+ })
895
+ ]);
896
+ var OrchestrationPersistedEvent = Schema7.Union([
897
+ Schema7.Struct({
898
+ ...PersistedEventBaseFields,
899
+ eventType: Schema7.Literal("project.created"),
900
+ payload: ProjectCreatedPayload
901
+ }),
902
+ Schema7.Struct({
903
+ ...PersistedEventBaseFields,
904
+ eventType: Schema7.Literal("project.meta-updated"),
905
+ payload: ProjectMetaUpdatedPayload
906
+ }),
907
+ Schema7.Struct({
908
+ ...PersistedEventBaseFields,
909
+ eventType: Schema7.Literal("project.deleted"),
910
+ payload: ProjectDeletedPayload
911
+ }),
912
+ Schema7.Struct({
913
+ ...PersistedEventBaseFields,
914
+ eventType: Schema7.Literal("thread.created"),
915
+ payload: ThreadCreatedPayload
916
+ }),
917
+ Schema7.Struct({
918
+ ...PersistedEventBaseFields,
919
+ eventType: Schema7.Literal("thread.deleted"),
920
+ payload: ThreadDeletedPayload
921
+ }),
922
+ Schema7.Struct({
923
+ ...PersistedEventBaseFields,
924
+ eventType: Schema7.Literal("thread.meta-updated"),
925
+ payload: ThreadMetaUpdatedPayload
926
+ }),
927
+ Schema7.Struct({
928
+ ...PersistedEventBaseFields,
929
+ eventType: Schema7.Literal("thread.runtime-mode-set"),
930
+ payload: ThreadRuntimeModeSetPayload
931
+ }),
932
+ Schema7.Struct({
933
+ ...PersistedEventBaseFields,
934
+ eventType: Schema7.Literal("thread.interaction-mode-set"),
935
+ payload: ThreadInteractionModeSetPayload
936
+ }),
937
+ Schema7.Struct({
938
+ ...PersistedEventBaseFields,
939
+ eventType: Schema7.Literal("thread.message-sent"),
940
+ payload: ThreadMessageSentPayload
941
+ }),
942
+ Schema7.Struct({
943
+ ...PersistedEventBaseFields,
944
+ eventType: Schema7.Literal("thread.turn-start-requested"),
945
+ payload: ThreadTurnStartRequestedPayload
946
+ }),
947
+ Schema7.Struct({
948
+ ...PersistedEventBaseFields,
949
+ eventType: Schema7.Literal("thread.turn-interrupt-requested"),
950
+ payload: ThreadTurnInterruptRequestedPayload
951
+ }),
952
+ Schema7.Struct({
953
+ ...PersistedEventBaseFields,
954
+ eventType: Schema7.Literal("thread.approval-response-requested"),
955
+ payload: ThreadApprovalResponseRequestedPayload
956
+ }),
957
+ Schema7.Struct({
958
+ ...PersistedEventBaseFields,
959
+ eventType: Schema7.Literal("thread.user-input-response-requested"),
960
+ payload: ThreadUserInputResponseRequestedPayload
961
+ }),
962
+ Schema7.Struct({
963
+ ...PersistedEventBaseFields,
964
+ eventType: Schema7.Literal("thread.checkpoint-revert-requested"),
965
+ payload: ThreadCheckpointRevertRequestedPayload
966
+ }),
967
+ Schema7.Struct({
968
+ ...PersistedEventBaseFields,
969
+ eventType: Schema7.Literal("thread.reverted"),
970
+ payload: ThreadRevertedPayload
971
+ }),
972
+ Schema7.Struct({
973
+ ...PersistedEventBaseFields,
974
+ eventType: Schema7.Literal("thread.session-stop-requested"),
975
+ payload: ThreadSessionStopRequestedPayload
976
+ }),
977
+ Schema7.Struct({
978
+ ...PersistedEventBaseFields,
979
+ eventType: Schema7.Literal("thread.session-set"),
980
+ payload: ThreadSessionSetPayload
981
+ }),
982
+ Schema7.Struct({
983
+ ...PersistedEventBaseFields,
984
+ eventType: Schema7.Literal("thread.proposed-plan-upserted"),
985
+ payload: ThreadProposedPlanUpsertedPayload
986
+ }),
987
+ Schema7.Struct({
988
+ ...PersistedEventBaseFields,
989
+ eventType: Schema7.Literal("thread.turn-diff-completed"),
990
+ payload: ThreadTurnDiffCompletedPayload
991
+ }),
992
+ Schema7.Struct({
993
+ ...PersistedEventBaseFields,
994
+ eventType: Schema7.Literal("thread.activity-appended"),
995
+ payload: ThreadActivityAppendedPayload
996
+ })
997
+ ]);
998
+ var OrchestrationCommandReceiptStatus = Schema7.Literals(["accepted", "rejected"]);
999
+ var TurnCountRange = Schema7.Struct({
1000
+ fromTurnCount: NonNegativeInt,
1001
+ toTurnCount: NonNegativeInt
1002
+ }).check(Schema7.makeFilter((input) => input.fromTurnCount <= input.toTurnCount || new SchemaIssue.InvalidValue(Option.some(input.fromTurnCount), {
1003
+ message: "fromTurnCount must be less than or equal to toTurnCount"
1004
+ }), { identifier: "OrchestrationTurnDiffRange" }));
1005
+ var ThreadTurnDiff = TurnCountRange.mapFields(Struct.assign({
1006
+ threadId: ThreadId,
1007
+ diff: Schema7.String
1008
+ }), { unsafePreserveChecks: true });
1009
+ var ProviderSessionRuntimeStatus = Schema7.Literals([
1010
+ "starting",
1011
+ "running",
1012
+ "stopped",
1013
+ "error"
1014
+ ]);
1015
+ var ProjectionThreadTurnStatus = Schema7.Literals([
1016
+ "running",
1017
+ "completed",
1018
+ "interrupted",
1019
+ "error"
1020
+ ]);
1021
+ var ProjectionCheckpointRow = Schema7.Struct({
1022
+ threadId: ThreadId,
1023
+ turnId: TurnId,
1024
+ checkpointTurnCount: NonNegativeInt,
1025
+ checkpointRef: CheckpointRef,
1026
+ status: OrchestrationCheckpointStatus,
1027
+ files: Schema7.Array(OrchestrationCheckpointFile),
1028
+ assistantMessageId: Schema7.NullOr(MessageId),
1029
+ completedAt: IsoDateTime
1030
+ });
1031
+ var ProjectionPendingApprovalStatus = Schema7.Literals(["pending", "resolved"]);
1032
+ var ProjectionPendingApprovalDecision = Schema7.NullOr(ProviderApprovalDecision);
1033
+ var DispatchResult = Schema7.Struct({
1034
+ sequence: NonNegativeInt
1035
+ });
1036
+ var OrchestrationGetSnapshotInput = Schema7.Struct({});
1037
+ var OrchestrationGetTurnDiffInput = TurnCountRange.mapFields(Struct.assign({ threadId: ThreadId }), { unsafePreserveChecks: true });
1038
+ var OrchestrationGetFullThreadDiffInput = Schema7.Struct({
1039
+ threadId: ThreadId,
1040
+ toTurnCount: NonNegativeInt
1041
+ });
1042
+ var OrchestrationReplayEventsInput = Schema7.Struct({
1043
+ fromSequenceExclusive: NonNegativeInt
1044
+ });
1045
+ var OrchestrationReplayEventsResult = Schema7.Array(OrchestrationEvent);
1046
+
1047
+ // packages/contracts/src/review.ts
1048
+ import { Schema as Schema8 } from "effect";
1049
+ var ReviewMode = Schema8.Literals(["off", "advisory", "required"]);
1050
+ var ReviewStatus = Schema8.Literals(["pending", "running", "approved", "rejected", "error"]);
1051
+ var ReviewSummary = Schema8.Struct({
1052
+ id: ReviewResultId,
1053
+ runId: RunId,
1054
+ taskId: Schema8.NullOr(TaskId),
1055
+ provider: TrimmedNonEmptyString,
1056
+ mode: ReviewMode,
1057
+ status: ReviewStatus,
1058
+ summary: Schema8.NullOr(Schema8.String),
1059
+ output: Schema8.Unknown,
1060
+ createdAt: IsoDateTime,
1061
+ completedAt: Schema8.NullOr(IsoDateTime)
1062
+ });
1063
+
1064
+ // packages/contracts/src/runtime.ts
1065
+ import { Schema as Schema9 } from "effect";
1066
+ var RunKind = Schema9.Literals(["adhoc", "task", "batch", "validation", "review"]);
1067
+ var RunMode = Schema9.Literals(["interactive", "autonomous", "supervised"]);
1068
+ var RunStatus = Schema9.Literals([
1069
+ "created",
1070
+ "queued",
1071
+ "preparing",
1072
+ "running",
1073
+ "waiting-approval",
1074
+ "waiting-user-input",
1075
+ "validating",
1076
+ "reviewing",
1077
+ "completed",
1078
+ "failed",
1079
+ "cancelled",
1080
+ "paused"
1081
+ ]);
1082
+ var EngineSandboxMode = Schema9.Literals([
1083
+ "read-only",
1084
+ "workspace-write",
1085
+ "danger-full-access"
1086
+ ]);
1087
+ var IsolationMode = Schema9.Literals(["none", "env", "worktree"]);
1088
+ var RuntimeStatus = Schema9.Literals([
1089
+ "prepared",
1090
+ "starting",
1091
+ "running",
1092
+ "interrupted",
1093
+ "exited",
1094
+ "failed",
1095
+ "destroyed"
1096
+ ]);
1097
+ var RunExecutionTarget = Schema9.Literals(["local", "remote"]);
1098
+ var RunSummary = Schema9.Struct({
1099
+ id: RunId,
1100
+ workspaceId: WorkspaceId,
1101
+ taskId: Schema9.NullOr(TaskId),
1102
+ title: TrimmedNonEmptyString,
1103
+ runKind: RunKind,
1104
+ mode: RunMode,
1105
+ runtimeMode: RuntimeMode,
1106
+ interactionMode: ProviderInteractionMode,
1107
+ status: RunStatus,
1108
+ runtimeAdapter: TrimmedNonEmptyString,
1109
+ model: Schema9.NullOr(TrimmedNonEmptyString),
1110
+ initialPrompt: Schema9.NullOr(Schema9.String),
1111
+ executionTarget: Schema9.optional(RunExecutionTarget),
1112
+ remoteHostId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1113
+ remoteLeaseId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1114
+ remoteLeaseClaimedAt: Schema9.optional(Schema9.NullOr(IsoDateTime)),
1115
+ activeRuntimeId: Schema9.NullOr(EngineRuntimeId),
1116
+ latestMessageId: Schema9.NullOr(TrimmedNonEmptyString),
1117
+ pendingApprovalCount: NonNegativeInt,
1118
+ pendingUserInputCount: NonNegativeInt,
1119
+ branch: Schema9.NullOr(TrimmedNonEmptyString),
1120
+ worktreePath: Schema9.NullOr(TrimmedNonEmptyString),
1121
+ errorText: Schema9.NullOr(Schema9.String),
1122
+ createdAt: IsoDateTime,
1123
+ updatedAt: IsoDateTime,
1124
+ startedAt: Schema9.NullOr(IsoDateTime),
1125
+ completedAt: Schema9.NullOr(IsoDateTime)
1126
+ });
1127
+ var RuntimeSummary = Schema9.Struct({
1128
+ id: EngineRuntimeId,
1129
+ workspaceId: WorkspaceId,
1130
+ runId: RunId,
1131
+ adapterKind: TrimmedNonEmptyString,
1132
+ executionTarget: Schema9.optional(RunExecutionTarget),
1133
+ remoteHostId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1134
+ status: RuntimeStatus,
1135
+ sandboxMode: EngineSandboxMode,
1136
+ isolationMode: IsolationMode,
1137
+ workspaceDir: Schema9.NullOr(TrimmedNonEmptyString),
1138
+ homeDir: Schema9.NullOr(TrimmedNonEmptyString),
1139
+ tmpDir: Schema9.NullOr(TrimmedNonEmptyString),
1140
+ cacheDir: Schema9.NullOr(TrimmedNonEmptyString),
1141
+ logsDir: Schema9.NullOr(TrimmedNonEmptyString),
1142
+ stateDir: Schema9.NullOr(TrimmedNonEmptyString),
1143
+ sessionDir: Schema9.NullOr(TrimmedNonEmptyString),
1144
+ sessionLogPath: Schema9.NullOr(TrimmedNonEmptyString),
1145
+ pid: Schema9.NullOr(NonNegativeInt),
1146
+ startedAt: Schema9.NullOr(IsoDateTime),
1147
+ updatedAt: IsoDateTime,
1148
+ exitedAt: Schema9.NullOr(IsoDateTime)
1149
+ });
1150
+ var ApprovalStatus = Schema9.Literals(["pending", "resolved"]);
1151
+ var ApprovalSummary = Schema9.Struct({
1152
+ id: TrimmedNonEmptyString,
1153
+ runId: RunId,
1154
+ actionId: Schema9.NullOr(TrimmedNonEmptyString),
1155
+ requestKind: TrimmedNonEmptyString,
1156
+ status: ApprovalStatus,
1157
+ payload: Schema9.Unknown,
1158
+ createdAt: IsoDateTime,
1159
+ resolvedAt: Schema9.NullOr(IsoDateTime)
1160
+ });
1161
+ var UserInputRequestSummary = Schema9.Struct({
1162
+ id: TrimmedNonEmptyString,
1163
+ runId: RunId,
1164
+ status: ApprovalStatus,
1165
+ payload: Schema9.Unknown,
1166
+ createdAt: IsoDateTime,
1167
+ resolvedAt: Schema9.NullOr(IsoDateTime)
1168
+ });
1169
+ var WorktreeSummary = Schema9.Struct({
1170
+ id: WorktreeId,
1171
+ workspaceId: WorkspaceId,
1172
+ runId: RunId,
1173
+ taskId: Schema9.NullOr(TaskId),
1174
+ branchName: TrimmedNonEmptyString,
1175
+ path: TrimmedNonEmptyString,
1176
+ status: TrimmedNonEmptyString,
1177
+ createdAt: IsoDateTime,
1178
+ cleanedAt: Schema9.NullOr(IsoDateTime)
1179
+ });
1180
+
1181
+ // packages/contracts/src/validation.ts
1182
+ import { Schema as Schema10 } from "effect";
1183
+ var ValidationStatus = Schema10.Literals([
1184
+ "pending",
1185
+ "running",
1186
+ "passed",
1187
+ "failed",
1188
+ "skipped"
1189
+ ]);
1190
+ var ValidationSummary = Schema10.Struct({
1191
+ id: ValidationResultId,
1192
+ runId: RunId,
1193
+ taskId: Schema10.NullOr(TaskId),
1194
+ validatorKey: TrimmedNonEmptyString,
1195
+ status: ValidationStatus,
1196
+ output: Schema10.Unknown,
1197
+ startedAt: IsoDateTime,
1198
+ completedAt: Schema10.NullOr(IsoDateTime)
1199
+ });
1200
+
1201
+ // packages/contracts/src/remote.ts
1202
+ import { Schema as Schema12 } from "effect";
1203
+
1204
+ // packages/contracts/src/workspace.ts
1205
+ import { Schema as Schema11 } from "effect";
1206
+ var WorkspaceSourceKind = Schema11.Literals(["native", "rig-import", "manual", "remote"]);
1207
+ var WorkspaceTopologyStatus = Schema11.Literals(["empty", "ready", "degraded"]);
1208
+ var WorkspaceRemoteFleetStatus = Schema11.Literals(["empty", "ready", "degraded"]);
1209
+ var WorkspaceServiceFabricStatus = Schema11.Literals([
1210
+ "empty",
1211
+ "booting",
1212
+ "ready",
1213
+ "degraded",
1214
+ "stopped"
1215
+ ]);
1216
+ var WorkspaceRemoteHostStatus = Schema11.Literals([
1217
+ "registering",
1218
+ "ready",
1219
+ "busy",
1220
+ "degraded",
1221
+ "draining",
1222
+ "offline",
1223
+ "quarantined"
1224
+ ]);
1225
+ var WorkspaceTopologyServiceSummary = Schema11.Struct({
1226
+ name: TrimmedNonEmptyString,
1227
+ relativeRootPath: TrimmedNonEmptyString,
1228
+ runtime: TrimmedNonEmptyString,
1229
+ port: Schema11.NullOr(Schema11.Number),
1230
+ healthcheck: Schema11.NullOr(TrimmedNonEmptyString),
1231
+ sourceOfTruth: Schema11.Struct({
1232
+ code: Schema11.NullOr(TrimmedNonEmptyString),
1233
+ tests: Schema11.NullOr(TrimmedNonEmptyString),
1234
+ infra: Schema11.NullOr(TrimmedNonEmptyString),
1235
+ deploy: Schema11.NullOr(TrimmedNonEmptyString),
1236
+ dependencies: Schema11.NullOr(TrimmedNonEmptyString)
1237
+ }),
1238
+ splitReadyChecklist: Schema11.Array(TrimmedNonEmptyString)
1239
+ });
1240
+ var WorkspaceTopologySummary = Schema11.Struct({
1241
+ compiledAt: IsoDateTime,
1242
+ status: WorkspaceTopologyStatus,
1243
+ manifestCount: Schema11.Number,
1244
+ serviceCount: Schema11.Number,
1245
+ services: Schema11.Array(WorkspaceTopologyServiceSummary),
1246
+ warnings: Schema11.Array(Schema11.String)
1247
+ });
1248
+ var WorkspaceRemoteHostSummary = Schema11.Struct({
1249
+ id: TrimmedNonEmptyString,
1250
+ name: TrimmedNonEmptyString,
1251
+ baseUrl: TrimmedNonEmptyString,
1252
+ workspacePath: Schema11.NullOr(TrimmedNonEmptyString),
1253
+ transport: TrimmedNonEmptyString,
1254
+ hostname: Schema11.NullOr(TrimmedNonEmptyString),
1255
+ region: Schema11.NullOr(TrimmedNonEmptyString),
1256
+ labels: Schema11.Array(TrimmedNonEmptyString),
1257
+ capabilities: Schema11.Array(TrimmedNonEmptyString),
1258
+ runtimeAdapters: Schema11.Array(TrimmedNonEmptyString),
1259
+ status: WorkspaceRemoteHostStatus,
1260
+ currentLeaseCount: Schema11.Number,
1261
+ lastHeartbeatAt: Schema11.NullOr(IsoDateTime),
1262
+ registeredAt: IsoDateTime,
1263
+ manifestPath: TrimmedNonEmptyString
1264
+ });
1265
+ var WorkspaceRemoteFleetSummary = Schema11.Struct({
1266
+ updatedAt: IsoDateTime,
1267
+ status: WorkspaceRemoteFleetStatus,
1268
+ manifestCount: Schema11.Number,
1269
+ hostCount: Schema11.Number,
1270
+ onlineHostCount: Schema11.Number,
1271
+ hosts: Schema11.Array(WorkspaceRemoteHostSummary),
1272
+ warnings: Schema11.Array(Schema11.String)
1273
+ });
1274
+ var WorkspaceServiceFabricServiceSummary = Schema11.Struct({
1275
+ name: TrimmedNonEmptyString,
1276
+ relativeRootPath: TrimmedNonEmptyString,
1277
+ mode: Schema11.Literals(["stub", "process"]),
1278
+ port: Schema11.Number,
1279
+ healthcheck: TrimmedNonEmptyString,
1280
+ routePrefix: Schema11.NullOr(TrimmedNonEmptyString),
1281
+ status: Schema11.Literals(["planned", "booting", "healthy", "degraded", "failed", "stopped"]),
1282
+ pid: Schema11.NullOr(Schema11.Number),
1283
+ logPath: Schema11.NullOr(TrimmedNonEmptyString)
1284
+ });
1285
+ var WorkspaceServiceFabricSummary = Schema11.Struct({
1286
+ updatedAt: IsoDateTime,
1287
+ status: WorkspaceServiceFabricStatus,
1288
+ serviceCount: Schema11.Number,
1289
+ healthyServiceCount: Schema11.Number,
1290
+ stateDir: TrimmedNonEmptyString,
1291
+ services: Schema11.Array(WorkspaceServiceFabricServiceSummary),
1292
+ warnings: Schema11.Array(Schema11.String)
1293
+ });
1294
+ var WorkspaceSummary = Schema11.Struct({
1295
+ id: WorkspaceId,
1296
+ title: TrimmedNonEmptyString,
1297
+ rootPath: TrimmedNonEmptyString,
1298
+ sourceKind: WorkspaceSourceKind,
1299
+ defaultRuntimeAdapter: Schema11.optional(TrimmedNonEmptyString),
1300
+ defaultProvider: Schema11.optional(ProviderKind),
1301
+ defaultModel: Schema11.NullOr(TrimmedNonEmptyString),
1302
+ topology: Schema11.optional(WorkspaceTopologySummary),
1303
+ remoteFleet: Schema11.optional(WorkspaceRemoteFleetSummary),
1304
+ serviceFabric: Schema11.optional(WorkspaceServiceFabricSummary),
1305
+ createdAt: IsoDateTime,
1306
+ updatedAt: IsoDateTime
1307
+ });
1308
+
1309
+ // packages/contracts/src/remote.ts
1310
+ var RemoteEndpoint = Schema12.Struct({
1311
+ id: RemoteEndpointId,
1312
+ alias: TrimmedNonEmptyString,
1313
+ host: TrimmedNonEmptyString,
1314
+ port: Schema12.Int.check(Schema12.isGreaterThanOrEqualTo(1)).check(Schema12.isLessThanOrEqualTo(65535)),
1315
+ token: Schema12.String,
1316
+ tokenConfigured: Schema12.optional(Schema12.Boolean),
1317
+ autoConnect: Schema12.optional(Schema12.Boolean),
1318
+ addedAt: IsoDateTime,
1319
+ lastConnectedAt: Schema12.NullOr(IsoDateTime)
1320
+ });
1321
+ var RemoteConnectionStatus = Schema12.Literals([
1322
+ "disconnected",
1323
+ "connecting",
1324
+ "authenticating",
1325
+ "connected",
1326
+ "reconnecting",
1327
+ "error"
1328
+ ]);
1329
+ var RemoteConnectionSummary = Schema12.Struct({
1330
+ endpointId: RemoteEndpointId,
1331
+ status: RemoteConnectionStatus,
1332
+ error: Schema12.NullOr(Schema12.String),
1333
+ connectedAt: Schema12.NullOr(IsoDateTime),
1334
+ tokenExpiresAt: Schema12.NullOr(IsoDateTime),
1335
+ latencyMs: Schema12.NullOr(Schema12.Number),
1336
+ subscribedEvents: Schema12.Array(Schema12.String)
1337
+ });
1338
+ var RemoteConnectionStatusChanged = Schema12.Struct({
1339
+ endpointId: Schema12.String,
1340
+ endpointAlias: Schema12.String,
1341
+ status: RemoteConnectionStatus,
1342
+ previousStatus: RemoteConnectionStatus,
1343
+ error: Schema12.NullOr(Schema12.String),
1344
+ connectedAt: Schema12.NullOr(Schema12.String),
1345
+ latencyMs: Schema12.NullOr(Schema12.Number),
1346
+ timestamp: Schema12.String
1347
+ });
1348
+ var EnrichedRemoteEvent = Schema12.Struct({
1349
+ endpointId: Schema12.String,
1350
+ endpointAlias: Schema12.String,
1351
+ receivedAt: Schema12.String,
1352
+ originalTimestamp: Schema12.optional(Schema12.NullOr(Schema12.String)),
1353
+ event: Schema12.Unknown
1354
+ });
1355
+ var RemoteOrchestratorState = Schema12.Struct({
1356
+ activeTaskId: Schema12.NullOr(Schema12.String),
1357
+ activeIteration: Schema12.NullOr(Schema12.Number),
1358
+ maxIterations: Schema12.Number,
1359
+ isPaused: Schema12.Boolean,
1360
+ isRunning: Schema12.Boolean,
1361
+ totalCompleted: NonNegativeInt,
1362
+ totalFailed: NonNegativeInt,
1363
+ lastActivity: Schema12.NullOr(IsoDateTime)
1364
+ });
1365
+ var RemoteOrchestrationSummary = Schema12.Struct({
1366
+ orchestrationId: TrimmedNonEmptyString,
1367
+ endpointId: RemoteEndpointId,
1368
+ status: Schema12.Literals(["running", "paused", "stopped", "completed"]),
1369
+ totalTasks: NonNegativeInt,
1370
+ totalGroups: NonNegativeInt,
1371
+ maxParallelism: NonNegativeInt,
1372
+ startedAt: IsoDateTime
1373
+ });
1374
+ var RemoteIterationOutput = Schema12.Struct({
1375
+ taskId: Schema12.optional(Schema12.String),
1376
+ iteration: Schema12.optional(Schema12.Number),
1377
+ output: Schema12.optional(Schema12.String),
1378
+ startedAt: Schema12.optional(IsoDateTime),
1379
+ endedAt: Schema12.optional(IsoDateTime),
1380
+ durationMs: Schema12.optional(Schema12.Number),
1381
+ isRunning: Schema12.optional(Schema12.Boolean)
1382
+ });
1383
+ var RemoteRunnerRegisterInput = Schema12.Struct({
1384
+ workspaceId: WorkspaceId,
1385
+ hostId: TrimmedNonEmptyString,
1386
+ name: TrimmedNonEmptyString,
1387
+ baseUrl: TrimmedNonEmptyString,
1388
+ workspacePath: Schema12.optional(TrimmedNonEmptyString),
1389
+ transport: Schema12.optional(TrimmedNonEmptyString),
1390
+ hostname: Schema12.optional(TrimmedNonEmptyString),
1391
+ region: Schema12.optional(TrimmedNonEmptyString),
1392
+ labels: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1393
+ capabilities: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1394
+ runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1395
+ status: Schema12.optional(WorkspaceRemoteHostStatus),
1396
+ currentLeaseCount: Schema12.optional(Schema12.Number)
1397
+ });
1398
+ var RemoteRunnerHeartbeatInput = Schema12.Struct({
1399
+ workspaceId: WorkspaceId,
1400
+ hostId: TrimmedNonEmptyString,
1401
+ status: WorkspaceRemoteHostStatus,
1402
+ currentLeaseCount: Schema12.optional(Schema12.Number),
1403
+ observedAt: Schema12.optional(IsoDateTime)
1404
+ });
1405
+ var RemoteRunnerLifecycleResult = Schema12.Struct({
1406
+ ok: Schema12.Boolean,
1407
+ workspaceId: WorkspaceId,
1408
+ hostId: TrimmedNonEmptyString,
1409
+ acceptedAt: IsoDateTime,
1410
+ heartbeatIntervalMs: Schema12.Number
1411
+ });
1412
+ var RemoteRunClaimInput = Schema12.Struct({
1413
+ workspaceId: WorkspaceId,
1414
+ hostId: TrimmedNonEmptyString,
1415
+ runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString))
1416
+ });
1417
+ var RemoteRunLeaseSummary = Schema12.Struct({
1418
+ leaseId: TrimmedNonEmptyString,
1419
+ runId: TrimmedNonEmptyString,
1420
+ workspaceId: WorkspaceId,
1421
+ title: TrimmedNonEmptyString,
1422
+ runtimeAdapter: TrimmedNonEmptyString,
1423
+ model: Schema12.NullOr(TrimmedNonEmptyString),
1424
+ runtimeMode: RuntimeMode,
1425
+ interactionMode: ProviderInteractionMode,
1426
+ executionTarget: RunExecutionTarget,
1427
+ remoteHostId: Schema12.NullOr(TrimmedNonEmptyString),
1428
+ claimedAt: IsoDateTime
1429
+ });
1430
+ var RemoteRunConversationEntry = Schema12.Struct({
1431
+ role: Schema12.Literals(["user", "assistant", "system"]),
1432
+ text: Schema12.String,
1433
+ createdAt: IsoDateTime
1434
+ });
1435
+ var RemoteRunExecutionBundle = Schema12.Struct({
1436
+ workspaceId: WorkspaceId,
1437
+ runId: TrimmedNonEmptyString,
1438
+ leaseId: TrimmedNonEmptyString,
1439
+ workspacePath: Schema12.NullOr(TrimmedNonEmptyString),
1440
+ runtimeAdapter: TrimmedNonEmptyString,
1441
+ model: Schema12.NullOr(TrimmedNonEmptyString),
1442
+ runtimeMode: RuntimeMode,
1443
+ interactionMode: ProviderInteractionMode,
1444
+ prompt: Schema12.String,
1445
+ conversation: Schema12.Array(RemoteRunConversationEntry),
1446
+ taskId: Schema12.NullOr(TrimmedNonEmptyString),
1447
+ taskTitle: Schema12.NullOr(TrimmedNonEmptyString)
1448
+ });
1449
+ var RemoteRunClaimResult = Schema12.Struct({
1450
+ ok: Schema12.Boolean,
1451
+ workspaceId: WorkspaceId,
1452
+ hostId: TrimmedNonEmptyString,
1453
+ acceptedAt: IsoDateTime,
1454
+ lease: Schema12.NullOr(RemoteRunLeaseSummary),
1455
+ bundle: Schema12.NullOr(RemoteRunExecutionBundle)
1456
+ });
1457
+ var RemoteRunReleaseInput = Schema12.Struct({
1458
+ workspaceId: WorkspaceId,
1459
+ hostId: TrimmedNonEmptyString,
1460
+ runId: TrimmedNonEmptyString,
1461
+ leaseId: TrimmedNonEmptyString,
1462
+ status: Schema12.optional(WorkspaceRemoteHostStatus)
1463
+ });
1464
+ var RemoteRunReleaseResult = Schema12.Struct({
1465
+ ok: Schema12.Boolean,
1466
+ workspaceId: WorkspaceId,
1467
+ hostId: TrimmedNonEmptyString,
1468
+ runId: TrimmedNonEmptyString,
1469
+ leaseId: TrimmedNonEmptyString,
1470
+ acceptedAt: IsoDateTime
1471
+ });
1472
+ var RemoteRunStartInput = Schema12.Struct({
1473
+ workspaceId: WorkspaceId,
1474
+ hostId: TrimmedNonEmptyString,
1475
+ runId: TrimmedNonEmptyString,
1476
+ leaseId: TrimmedNonEmptyString
1477
+ });
1478
+ var RemoteRunStartResult = Schema12.Struct({
1479
+ ok: Schema12.Boolean,
1480
+ workspaceId: WorkspaceId,
1481
+ hostId: TrimmedNonEmptyString,
1482
+ runId: TrimmedNonEmptyString,
1483
+ leaseId: TrimmedNonEmptyString,
1484
+ runtimeId: TrimmedNonEmptyString,
1485
+ acceptedAt: IsoDateTime
1486
+ });
1487
+ var RemoteRunLogInput = Schema12.Struct({
1488
+ workspaceId: WorkspaceId,
1489
+ hostId: TrimmedNonEmptyString,
1490
+ runId: TrimmedNonEmptyString,
1491
+ leaseId: TrimmedNonEmptyString,
1492
+ title: TrimmedNonEmptyString,
1493
+ detail: Schema12.optional(Schema12.String),
1494
+ tone: Schema12.optional(EngineLogTone),
1495
+ status: Schema12.optional(TrimmedNonEmptyString),
1496
+ payload: Schema12.optional(Schema12.Unknown)
1497
+ });
1498
+ var RemoteRunMessageInput = Schema12.Struct({
1499
+ workspaceId: WorkspaceId,
1500
+ hostId: TrimmedNonEmptyString,
1501
+ runId: TrimmedNonEmptyString,
1502
+ leaseId: TrimmedNonEmptyString,
1503
+ messageId: Schema12.optional(TrimmedNonEmptyString),
1504
+ text: Schema12.String,
1505
+ state: Schema12.optional(Schema12.Literals(["streaming", "completed"]))
1506
+ });
1507
+ var RemoteRunMutationResult = Schema12.Struct({
1508
+ ok: Schema12.Boolean,
1509
+ workspaceId: WorkspaceId,
1510
+ hostId: TrimmedNonEmptyString,
1511
+ runId: TrimmedNonEmptyString,
1512
+ leaseId: TrimmedNonEmptyString,
1513
+ acceptedAt: IsoDateTime
1514
+ });
1515
+ var RemoteRunCompleteInput = Schema12.Struct({
1516
+ workspaceId: WorkspaceId,
1517
+ hostId: TrimmedNonEmptyString,
1518
+ runId: TrimmedNonEmptyString,
1519
+ leaseId: TrimmedNonEmptyString
1520
+ });
1521
+ var RemoteRunFailInput = Schema12.Struct({
1522
+ workspaceId: WorkspaceId,
1523
+ hostId: TrimmedNonEmptyString,
1524
+ runId: TrimmedNonEmptyString,
1525
+ leaseId: TrimmedNonEmptyString,
1526
+ errorText: Schema12.optional(Schema12.String)
1527
+ });
1528
+ var RemoteRunArtifactInput = Schema12.Struct({
1529
+ workspaceId: WorkspaceId,
1530
+ hostId: TrimmedNonEmptyString,
1531
+ runId: TrimmedNonEmptyString,
1532
+ leaseId: TrimmedNonEmptyString,
1533
+ kind: TrimmedNonEmptyString,
1534
+ label: TrimmedNonEmptyString,
1535
+ filename: TrimmedNonEmptyString,
1536
+ contentType: TrimmedNonEmptyString,
1537
+ contentBase64: TrimmedNonEmptyString
1538
+ });
1539
+ var RemoteRunArtifactResult = Schema12.Struct({
1540
+ ok: Schema12.Boolean,
1541
+ workspaceId: WorkspaceId,
1542
+ hostId: TrimmedNonEmptyString,
1543
+ runId: TrimmedNonEmptyString,
1544
+ leaseId: TrimmedNonEmptyString,
1545
+ acceptedAt: IsoDateTime,
1546
+ artifactPath: TrimmedNonEmptyString
1547
+ });
1548
+ var RemoteRunArtifactSummary = Schema12.Struct({
1549
+ workspaceId: WorkspaceId,
1550
+ runId: TrimmedNonEmptyString,
1551
+ hostId: TrimmedNonEmptyString,
1552
+ leaseId: TrimmedNonEmptyString,
1553
+ kind: TrimmedNonEmptyString,
1554
+ label: TrimmedNonEmptyString,
1555
+ filename: TrimmedNonEmptyString,
1556
+ contentType: TrimmedNonEmptyString,
1557
+ uploadedAt: IsoDateTime,
1558
+ byteSize: Schema12.Number,
1559
+ artifactPath: TrimmedNonEmptyString,
1560
+ downloadPath: TrimmedNonEmptyString
1561
+ });
1562
+ var RemoteRunArtifactsResult = Schema12.Struct({
1563
+ workspaceId: WorkspaceId,
1564
+ runId: TrimmedNonEmptyString,
1565
+ artifacts: Schema12.Array(RemoteRunArtifactSummary)
1566
+ });
1567
+
1568
+ // packages/contracts/src/engine.ts
1569
+ var EngineEvent = Schema13.Struct({
1570
+ id: EventId,
1571
+ sequence: NonNegativeInt,
1572
+ createdAt: IsoDateTime,
1573
+ type: TrimmedNonEmptyString,
1574
+ aggregateId: TrimmedNonEmptyString,
1575
+ payload: Schema13.Unknown
1576
+ });
1577
+ var EngineReadModel = Schema13.Struct({
1578
+ snapshotSequence: NonNegativeInt,
1579
+ workspaces: Schema13.Array(WorkspaceSummary),
1580
+ graphs: Schema13.Array(GraphSummary),
1581
+ tasks: Schema13.Array(TaskSummary),
1582
+ runs: Schema13.Array(RunSummary),
1583
+ runtimes: Schema13.Array(RuntimeSummary),
1584
+ conversations: Schema13.Array(ConversationSummary),
1585
+ messages: Schema13.Array(EngineMessage),
1586
+ actions: Schema13.Array(EngineAction),
1587
+ logs: Schema13.Array(EngineRunLog),
1588
+ approvals: Schema13.Array(ApprovalSummary),
1589
+ userInputs: Schema13.optional(Schema13.Array(UserInputRequestSummary)),
1590
+ validations: Schema13.Array(ValidationSummary),
1591
+ reviews: Schema13.Array(ReviewSummary),
1592
+ artifacts: Schema13.Array(ArtifactSummary),
1593
+ policyDecisions: Schema13.Array(PolicyDecisionSummary),
1594
+ queue: Schema13.Array(QueueEntry),
1595
+ worktrees: Schema13.Array(WorktreeSummary),
1596
+ remoteEndpoints: Schema13.Array(RemoteEndpoint),
1597
+ remoteConnections: Schema13.Array(RemoteConnectionSummary),
1598
+ remoteOrchestrations: Schema13.Array(RemoteOrchestrationSummary),
1599
+ updatedAt: IsoDateTime
1600
+ });
1601
+ var RuntimeAdapterKind = Schema13.Literals(["codex", "claude-code", "pi"]);
1602
+ var WorkspaceRegisterCommand = Schema13.Struct({
1603
+ type: Schema13.Literal("workspace.register"),
1604
+ commandId: CommandId,
1605
+ workspaceId: WorkspaceId,
1606
+ title: TrimmedNonEmptyString,
1607
+ rootPath: TrimmedNonEmptyString,
1608
+ defaultModel: Schema13.optional(TrimmedNonEmptyString),
1609
+ createdAt: IsoDateTime
1610
+ });
1611
+ var WorkspaceImportRigCommand = Schema13.Struct({
1612
+ type: Schema13.Literal("workspace.importRig"),
1613
+ commandId: CommandId,
1614
+ workspaceId: WorkspaceId,
1615
+ rootPath: TrimmedNonEmptyString,
1616
+ title: Schema13.optional(TrimmedNonEmptyString),
1617
+ createdAt: IsoDateTime
1618
+ });
1619
+ var RunCreateAdhocCommand = Schema13.Struct({
1620
+ type: Schema13.Literal("run.createAdhoc"),
1621
+ commandId: CommandId,
1622
+ runId: RunId,
1623
+ workspaceId: WorkspaceId,
1624
+ title: TrimmedNonEmptyString,
1625
+ runtimeAdapter: Schema13.optional(RuntimeAdapterKind),
1626
+ model: Schema13.optional(TrimmedNonEmptyString),
1627
+ executionTarget: Schema13.optional(RunExecutionTarget),
1628
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1629
+ runtimeMode: RuntimeMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
1630
+ interactionMode: ProviderInteractionMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
1631
+ initialPrompt: Schema13.optional(Schema13.String),
1632
+ createdAt: IsoDateTime
1633
+ });
1634
+ var RunCreateForTaskCommand = Schema13.Struct({
1635
+ type: Schema13.Literal("run.createForTask"),
1636
+ commandId: CommandId,
1637
+ runId: RunId,
1638
+ workspaceId: WorkspaceId,
1639
+ taskId: TaskId,
1640
+ runtimeAdapter: Schema13.optional(RuntimeAdapterKind),
1641
+ model: Schema13.optional(TrimmedNonEmptyString),
1642
+ executionTarget: Schema13.optional(RunExecutionTarget),
1643
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1644
+ runtimeMode: RuntimeMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
1645
+ interactionMode: ProviderInteractionMode.pipe(Schema13.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
1646
+ createdAt: IsoDateTime
1647
+ });
1648
+ var RunSubmitUserMessageCommand = Schema13.Struct({
1649
+ type: Schema13.Literal("run.submitUserMessage"),
1650
+ commandId: CommandId,
1651
+ runId: RunId,
1652
+ messageId: MessageId,
1653
+ text: Schema13.String,
1654
+ attachments: Schema13.optional(Schema13.Array(Schema13.Unknown)),
1655
+ createdAt: IsoDateTime
1656
+ });
1657
+ var RunInterruptCommand = Schema13.Struct({
1658
+ type: Schema13.Literal("run.interrupt"),
1659
+ commandId: CommandId,
1660
+ runId: RunId,
1661
+ createdAt: IsoDateTime
1662
+ });
1663
+ var RunStopCommand = Schema13.Struct({
1664
+ type: Schema13.Literal("run.stop"),
1665
+ commandId: CommandId,
1666
+ runId: RunId,
1667
+ createdAt: IsoDateTime
1668
+ });
1669
+ var RunSetRuntimeModeCommand = Schema13.Struct({
1670
+ type: Schema13.Literal("run.setRuntimeMode"),
1671
+ commandId: CommandId,
1672
+ runId: RunId,
1673
+ runtimeMode: RuntimeMode,
1674
+ createdAt: IsoDateTime
1675
+ });
1676
+ var RunSetInteractionModeCommand = Schema13.Struct({
1677
+ type: Schema13.Literal("run.setInteractionMode"),
1678
+ commandId: CommandId,
1679
+ runId: RunId,
1680
+ interactionMode: ProviderInteractionMode,
1681
+ createdAt: IsoDateTime
1682
+ });
1683
+ var RunRespondApprovalCommand = Schema13.Struct({
1684
+ type: Schema13.Literal("run.respondApproval"),
1685
+ commandId: CommandId,
1686
+ runId: RunId,
1687
+ requestId: ApprovalRequestId,
1688
+ decision: ProviderApprovalDecision,
1689
+ createdAt: IsoDateTime
1690
+ });
1691
+ var RunRespondUserInputCommand = Schema13.Struct({
1692
+ type: Schema13.Literal("run.respondUserInput"),
1693
+ commandId: CommandId,
1694
+ runId: RunId,
1695
+ requestId: ApprovalRequestId,
1696
+ answers: ProviderUserInputAnswers,
1697
+ createdAt: IsoDateTime
1698
+ });
1699
+ var RuntimePrepareCommand = Schema13.Struct({
1700
+ type: Schema13.Literal("runtime.prepare"),
1701
+ commandId: CommandId,
1702
+ runId: RunId,
1703
+ workspaceId: WorkspaceId,
1704
+ adapter: RuntimeAdapterKind,
1705
+ executionTarget: Schema13.optional(RunExecutionTarget),
1706
+ remoteHostId: Schema13.optional(TrimmedNonEmptyString),
1707
+ model: Schema13.optional(TrimmedNonEmptyString),
1708
+ createdAt: IsoDateTime
1709
+ });
1710
+ var RuntimeAttachCommand = Schema13.Struct({
1711
+ type: Schema13.Literal("runtime.attach"),
1712
+ commandId: CommandId,
1713
+ runId: RunId,
1714
+ runtimeId: EngineRuntimeId,
1715
+ createdAt: IsoDateTime
1716
+ });
1717
+ var RuntimeDetachCommand = Schema13.Struct({
1718
+ type: Schema13.Literal("runtime.detach"),
1719
+ commandId: CommandId,
1720
+ runId: RunId,
1721
+ reason: TrimmedNonEmptyString,
1722
+ createdAt: IsoDateTime
1723
+ });
1724
+ var GraphUpdateTaskStatusCommand = Schema13.Struct({
1725
+ type: Schema13.Literal("graph.updateTaskStatus"),
1726
+ commandId: CommandId,
1727
+ taskId: TaskId,
1728
+ status: TaskStatus,
1729
+ createdAt: IsoDateTime
1730
+ });
1731
+ var TaskEnqueueCommand = Schema13.Struct({
1732
+ type: Schema13.Literal("task.enqueue"),
1733
+ commandId: CommandId,
1734
+ taskId: TaskId,
1735
+ score: NonNegativeInt,
1736
+ createdAt: IsoDateTime
1737
+ });
1738
+ var WorkspaceHydrateImportedStateCommand = Schema13.Struct({
1739
+ type: Schema13.Literal("workspace.hydrateImportedState"),
1740
+ commandId: CommandId,
1741
+ workspaceId: WorkspaceId,
1742
+ rootPath: Schema13.optional(Schema13.String),
1743
+ graph: GraphSummary,
1744
+ tasks: Schema13.Array(TaskSummary),
1745
+ runs: Schema13.Array(RunSummary),
1746
+ runtimes: Schema13.Array(RuntimeSummary),
1747
+ actions: Schema13.Array(EngineAction),
1748
+ logs: Schema13.optional(Schema13.Array(EngineRunLog)),
1749
+ validations: Schema13.Array(ValidationSummary),
1750
+ reviews: Schema13.Array(ReviewSummary),
1751
+ artifacts: Schema13.Array(ArtifactSummary),
1752
+ policyDecisions: Schema13.Array(PolicyDecisionSummary),
1753
+ queue: Schema13.Array(QueueEntry),
1754
+ createdAt: IsoDateTime
1755
+ });
1756
+ var WorkspaceCompileTopologyCommand = Schema13.Struct({
1757
+ type: Schema13.Literal("workspace.compileTopology"),
1758
+ commandId: CommandId,
1759
+ workspaceId: WorkspaceId,
1760
+ rootPath: TrimmedNonEmptyString,
1761
+ topology: WorkspaceTopologySummary,
1762
+ createdAt: IsoDateTime
1763
+ });
1764
+ var WorkspaceSyncRemoteFleetCommand = Schema13.Struct({
1765
+ type: Schema13.Literal("workspace.syncRemoteFleet"),
1766
+ commandId: CommandId,
1767
+ workspaceId: WorkspaceId,
1768
+ rootPath: TrimmedNonEmptyString,
1769
+ remoteFleet: WorkspaceRemoteFleetSummary,
1770
+ createdAt: IsoDateTime
1771
+ });
1772
+ var WorkspaceSyncServiceFabricCommand = Schema13.Struct({
1773
+ type: Schema13.Literal("workspace.syncServiceFabric"),
1774
+ commandId: CommandId,
1775
+ workspaceId: WorkspaceId,
1776
+ rootPath: TrimmedNonEmptyString,
1777
+ serviceFabric: WorkspaceServiceFabricSummary,
1778
+ createdAt: IsoDateTime
1779
+ });
1780
+ var WorkspaceRegisterRemoteHostCommand = Schema13.Struct({
1781
+ type: Schema13.Literal("workspace.registerRemoteHost"),
1782
+ commandId: CommandId,
1783
+ workspaceId: WorkspaceId,
1784
+ host: Schema13.Struct({
1785
+ id: TrimmedNonEmptyString,
1786
+ name: TrimmedNonEmptyString,
1787
+ baseUrl: TrimmedNonEmptyString,
1788
+ workspacePath: Schema13.NullOr(TrimmedNonEmptyString),
1789
+ transport: TrimmedNonEmptyString,
1790
+ hostname: Schema13.NullOr(TrimmedNonEmptyString),
1791
+ region: Schema13.NullOr(TrimmedNonEmptyString),
1792
+ labels: Schema13.Array(TrimmedNonEmptyString),
1793
+ capabilities: Schema13.Array(TrimmedNonEmptyString),
1794
+ runtimeAdapters: Schema13.Array(TrimmedNonEmptyString),
1795
+ status: Schema13.Literals([
1796
+ "registering",
1797
+ "ready",
1798
+ "busy",
1799
+ "degraded",
1800
+ "draining",
1801
+ "offline",
1802
+ "quarantined"
1803
+ ]),
1804
+ currentLeaseCount: Schema13.Number,
1805
+ lastHeartbeatAt: Schema13.NullOr(IsoDateTime),
1806
+ registeredAt: IsoDateTime,
1807
+ manifestPath: TrimmedNonEmptyString
1808
+ }),
1809
+ createdAt: IsoDateTime
1810
+ });
1811
+ var WorkspaceUpdateRemoteHostStatusCommand = Schema13.Struct({
1812
+ type: Schema13.Literal("workspace.updateRemoteHostStatus"),
1813
+ commandId: CommandId,
1814
+ workspaceId: WorkspaceId,
1815
+ hostId: TrimmedNonEmptyString,
1816
+ status: Schema13.Literals([
1817
+ "registering",
1818
+ "ready",
1819
+ "busy",
1820
+ "degraded",
1821
+ "draining",
1822
+ "offline",
1823
+ "quarantined"
1824
+ ]),
1825
+ currentLeaseCount: Schema13.optional(Schema13.Number),
1826
+ lastHeartbeatAt: Schema13.optional(IsoDateTime),
1827
+ createdAt: IsoDateTime
1828
+ });
1829
+ var RunClaimRemoteLeaseCommand = Schema13.Struct({
1830
+ type: Schema13.Literal("run.claimRemoteLease"),
1831
+ commandId: CommandId,
1832
+ runId: RunId,
1833
+ hostId: TrimmedNonEmptyString,
1834
+ leaseId: TrimmedNonEmptyString,
1835
+ createdAt: IsoDateTime
1836
+ });
1837
+ var RunReleaseRemoteLeaseCommand = Schema13.Struct({
1838
+ type: Schema13.Literal("run.releaseRemoteLease"),
1839
+ commandId: CommandId,
1840
+ runId: RunId,
1841
+ leaseId: TrimmedNonEmptyString,
1842
+ createdAt: IsoDateTime
1843
+ });
1844
+ var RuntimeRecordMessageCommand = Schema13.Struct({
1845
+ type: Schema13.Literal("runtime.recordMessage"),
1846
+ commandId: CommandId,
1847
+ runId: RunId,
1848
+ messageId: MessageId,
1849
+ role: EngineMessageRole,
1850
+ text: Schema13.String,
1851
+ state: EngineMessageState,
1852
+ attachments: Schema13.optional(Schema13.Array(Schema13.Unknown)),
1853
+ createdAt: IsoDateTime,
1854
+ completedAt: Schema13.optional(IsoDateTime)
1855
+ });
1856
+ var RuntimeStartActionCommand = Schema13.Struct({
1857
+ type: Schema13.Literal("runtime.startAction"),
1858
+ commandId: CommandId,
1859
+ runId: RunId,
1860
+ actionId: ActionId,
1861
+ messageId: Schema13.optional(MessageId),
1862
+ actionType: TrimmedNonEmptyString,
1863
+ title: TrimmedNonEmptyString,
1864
+ detail: Schema13.optional(Schema13.String),
1865
+ payload: Schema13.Unknown,
1866
+ createdAt: IsoDateTime
1867
+ });
1868
+ var RuntimeCompleteActionCommand = Schema13.Struct({
1869
+ type: Schema13.Literal("runtime.completeAction"),
1870
+ commandId: CommandId,
1871
+ runId: RunId,
1872
+ actionId: ActionId,
1873
+ state: TrimmedNonEmptyString,
1874
+ detail: Schema13.optional(Schema13.String),
1875
+ payload: Schema13.Unknown,
1876
+ createdAt: IsoDateTime
1877
+ });
1878
+ var RuntimeRecordLogCommand = Schema13.Struct({
1879
+ type: Schema13.Literal("runtime.recordLog"),
1880
+ commandId: CommandId,
1881
+ runId: RunId,
1882
+ logId: TrimmedNonEmptyString,
1883
+ title: TrimmedNonEmptyString,
1884
+ detail: Schema13.optional(Schema13.String),
1885
+ tone: EngineLogTone,
1886
+ status: Schema13.optional(TrimmedNonEmptyString),
1887
+ payload: Schema13.optional(Schema13.Unknown),
1888
+ createdAt: IsoDateTime
1889
+ });
1890
+ var RuntimeUpdateMetadataCommand = Schema13.Struct({
1891
+ type: Schema13.Literal("runtime.updateMetadata"),
1892
+ commandId: CommandId,
1893
+ runId: RunId,
1894
+ runtimeId: EngineRuntimeId,
1895
+ sandboxMode: Schema13.optional(EngineSandboxMode),
1896
+ isolationMode: Schema13.optional(IsolationMode),
1897
+ workspaceDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1898
+ homeDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1899
+ tmpDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1900
+ cacheDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1901
+ logsDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1902
+ stateDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1903
+ sessionDir: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1904
+ sessionLogPath: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1905
+ pid: Schema13.optional(NonNegativeInt),
1906
+ worktreePath: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1907
+ branch: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1908
+ createdAt: IsoDateTime
1909
+ });
1910
+ var RuntimeRequestApprovalCommand = Schema13.Struct({
1911
+ type: Schema13.Literal("runtime.requestApproval"),
1912
+ commandId: CommandId,
1913
+ runId: RunId,
1914
+ requestId: ApprovalRequestId,
1915
+ requestKind: TrimmedNonEmptyString,
1916
+ actionId: Schema13.optional(ActionId),
1917
+ payload: Schema13.Unknown,
1918
+ createdAt: IsoDateTime
1919
+ });
1920
+ var RuntimeRequestUserInputCommand = Schema13.Struct({
1921
+ type: Schema13.Literal("runtime.requestUserInput"),
1922
+ commandId: CommandId,
1923
+ runId: RunId,
1924
+ requestId: ApprovalRequestId,
1925
+ payload: Schema13.Unknown,
1926
+ createdAt: IsoDateTime
1927
+ });
1928
+ var RunMarkCompletedCommand = Schema13.Struct({
1929
+ type: Schema13.Literal("run.markCompleted"),
1930
+ commandId: CommandId,
1931
+ runId: RunId,
1932
+ createdAt: IsoDateTime
1933
+ });
1934
+ var RunMarkFailedCommand = Schema13.Struct({
1935
+ type: Schema13.Literal("run.markFailed"),
1936
+ commandId: CommandId,
1937
+ runId: RunId,
1938
+ errorText: Schema13.optional(Schema13.String),
1939
+ createdAt: IsoDateTime
1940
+ });
1941
+ var RunSetStatusCommand = Schema13.Struct({
1942
+ type: Schema13.Literal("run.setStatus"),
1943
+ commandId: CommandId,
1944
+ runId: RunId,
1945
+ status: Schema13.Literals(["created", "queued", "preparing", "running", "validating", "reviewing", "paused"]),
1946
+ createdAt: IsoDateTime
1947
+ });
1948
+ var RuntimeRecordValidationCommand = Schema13.Struct({
1949
+ type: Schema13.Literal("runtime.recordValidation"),
1950
+ commandId: CommandId,
1951
+ runId: RunId,
1952
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1953
+ validationId: ValidationResultId,
1954
+ validatorKey: TrimmedNonEmptyString,
1955
+ status: Schema13.Literals(["pending", "running", "passed", "failed", "skipped"]),
1956
+ output: Schema13.Unknown,
1957
+ startedAt: IsoDateTime,
1958
+ completedAt: Schema13.optional(Schema13.NullOr(IsoDateTime)),
1959
+ createdAt: IsoDateTime
1960
+ });
1961
+ var RuntimeRecordReviewCommand = Schema13.Struct({
1962
+ type: Schema13.Literal("runtime.recordReview"),
1963
+ commandId: CommandId,
1964
+ runId: RunId,
1965
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1966
+ reviewId: ReviewResultId,
1967
+ provider: TrimmedNonEmptyString,
1968
+ mode: Schema13.Literals(["off", "advisory", "required"]),
1969
+ status: Schema13.Literals(["pending", "running", "approved", "rejected", "error"]),
1970
+ summary: Schema13.optional(Schema13.NullOr(Schema13.String)),
1971
+ output: Schema13.Unknown,
1972
+ createdAt: IsoDateTime,
1973
+ completedAt: Schema13.optional(Schema13.NullOr(IsoDateTime))
1974
+ });
1975
+ var RuntimeRegisterArtifactCommand = Schema13.Struct({
1976
+ type: Schema13.Literal("runtime.registerArtifact"),
1977
+ commandId: CommandId,
1978
+ runId: RunId,
1979
+ taskId: Schema13.optional(Schema13.NullOr(TaskId)),
1980
+ artifactId: ArtifactId,
1981
+ kind: TrimmedNonEmptyString,
1982
+ label: TrimmedNonEmptyString,
1983
+ path: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1984
+ url: Schema13.optional(Schema13.NullOr(TrimmedNonEmptyString)),
1985
+ metadata: Schema13.optional(Schema13.Record(Schema13.String, Schema13.Unknown)),
1986
+ createdAt: IsoDateTime
1987
+ });
1988
+ var RemoteRegisterEndpointCommand = Schema13.Struct({
1989
+ type: Schema13.Literal("remote.registerEndpoint"),
1990
+ commandId: CommandId,
1991
+ endpoint: RemoteEndpoint,
1992
+ createdAt: IsoDateTime
1993
+ });
1994
+ var RemoteRemoveEndpointCommand = Schema13.Struct({
1995
+ type: Schema13.Literal("remote.removeEndpoint"),
1996
+ commandId: CommandId,
1997
+ endpointId: RemoteEndpointId,
1998
+ createdAt: IsoDateTime
1999
+ });
2000
+ var RemoteUpdateEndpointCommand = Schema13.Struct({
2001
+ type: Schema13.Literal("remote.updateEndpoint"),
2002
+ commandId: CommandId,
2003
+ endpointId: RemoteEndpointId,
2004
+ updates: Schema13.Unknown,
2005
+ createdAt: IsoDateTime
2006
+ });
2007
+ var RemoteConnectCommand = Schema13.Struct({
2008
+ type: Schema13.Literal("remote.connect"),
2009
+ commandId: CommandId,
2010
+ endpointId: RemoteEndpointId,
2011
+ createdAt: IsoDateTime
2012
+ });
2013
+ var RemoteDisconnectCommand = Schema13.Struct({
2014
+ type: Schema13.Literal("remote.disconnect"),
2015
+ commandId: CommandId,
2016
+ endpointId: RemoteEndpointId,
2017
+ createdAt: IsoDateTime
2018
+ });
2019
+ var RemotePauseCommand = Schema13.Struct({
2020
+ type: Schema13.Literal("remote.pause"),
2021
+ commandId: CommandId,
2022
+ endpointId: RemoteEndpointId,
2023
+ createdAt: IsoDateTime
2024
+ });
2025
+ var RemoteResumeCommand = Schema13.Struct({
2026
+ type: Schema13.Literal("remote.resume"),
2027
+ commandId: CommandId,
2028
+ endpointId: RemoteEndpointId,
2029
+ createdAt: IsoDateTime
2030
+ });
2031
+ var RemoteStopCommand = Schema13.Struct({
2032
+ type: Schema13.Literal("remote.stop"),
2033
+ commandId: CommandId,
2034
+ endpointId: RemoteEndpointId,
2035
+ createdAt: IsoDateTime
2036
+ });
2037
+ var RemoteContinueCommand = Schema13.Struct({
2038
+ type: Schema13.Literal("remote.continue"),
2039
+ commandId: CommandId,
2040
+ endpointId: RemoteEndpointId,
2041
+ createdAt: IsoDateTime
2042
+ });
2043
+ var RemoteCreateRunForTaskCommand = Schema13.Struct({
2044
+ type: Schema13.Literal("remote.createRunForTask"),
2045
+ commandId: CommandId,
2046
+ endpointId: RemoteEndpointId,
2047
+ taskId: TrimmedNonEmptyString,
2048
+ runId: TrimmedNonEmptyString,
2049
+ workspaceId: TrimmedNonEmptyString,
2050
+ runtimeMode: Schema13.optional(Schema13.String),
2051
+ interactionMode: Schema13.optional(Schema13.String),
2052
+ createdAt: IsoDateTime
2053
+ });
2054
+ var RemoteRefreshTasksCommand = Schema13.Struct({
2055
+ type: Schema13.Literal("remote.refreshTasks"),
2056
+ commandId: CommandId,
2057
+ endpointId: RemoteEndpointId,
2058
+ createdAt: IsoDateTime
2059
+ });
2060
+ var RemoteAddIterationsCommand = Schema13.Struct({
2061
+ type: Schema13.Literal("remote.addIterations"),
2062
+ commandId: CommandId,
2063
+ endpointId: RemoteEndpointId,
2064
+ count: Schema13.Int.check(Schema13.isGreaterThanOrEqualTo(1)),
2065
+ createdAt: IsoDateTime
2066
+ });
2067
+ var RemoteRemoveIterationsCommand = Schema13.Struct({
2068
+ type: Schema13.Literal("remote.removeIterations"),
2069
+ commandId: CommandId,
2070
+ endpointId: RemoteEndpointId,
2071
+ count: Schema13.Int.check(Schema13.isGreaterThanOrEqualTo(1)),
2072
+ createdAt: IsoDateTime
2073
+ });
2074
+ var RemoteOrchestrateStartCommand = Schema13.Struct({
2075
+ type: Schema13.Literal("remote.orchestrate.start"),
2076
+ commandId: CommandId,
2077
+ endpointId: RemoteEndpointId,
2078
+ maxWorkers: Schema13.optional(Schema13.Int),
2079
+ maxIterations: Schema13.optional(Schema13.Int),
2080
+ directMerge: Schema13.optional(Schema13.Boolean),
2081
+ createdAt: IsoDateTime
2082
+ });
2083
+ var RemoteOrchestratePauseCommand = Schema13.Struct({
2084
+ type: Schema13.Literal("remote.orchestrate.pause"),
2085
+ commandId: CommandId,
2086
+ endpointId: RemoteEndpointId,
2087
+ orchestrationId: TrimmedNonEmptyString,
2088
+ createdAt: IsoDateTime
2089
+ });
2090
+ var RemoteOrchestrateResumeCommand = Schema13.Struct({
2091
+ type: Schema13.Literal("remote.orchestrate.resume"),
2092
+ commandId: CommandId,
2093
+ endpointId: RemoteEndpointId,
2094
+ orchestrationId: TrimmedNonEmptyString,
2095
+ createdAt: IsoDateTime
2096
+ });
2097
+ var RemoteOrchestrateStopCommand = Schema13.Struct({
2098
+ type: Schema13.Literal("remote.orchestrate.stop"),
2099
+ commandId: CommandId,
2100
+ endpointId: RemoteEndpointId,
2101
+ orchestrationId: TrimmedNonEmptyString,
2102
+ createdAt: IsoDateTime
2103
+ });
2104
+ var RemoteGetPromptPreviewCommand = Schema13.Struct({
2105
+ type: Schema13.Literal("remote.getPromptPreview"),
2106
+ commandId: CommandId,
2107
+ endpointId: RemoteEndpointId,
2108
+ taskId: TrimmedNonEmptyString,
2109
+ createdAt: IsoDateTime
2110
+ });
2111
+ var RemoteGetIterationOutputCommand = Schema13.Struct({
2112
+ type: Schema13.Literal("remote.getIterationOutput"),
2113
+ commandId: CommandId,
2114
+ endpointId: RemoteEndpointId,
2115
+ taskId: TrimmedNonEmptyString,
2116
+ createdAt: IsoDateTime
2117
+ });
2118
+ var EngineCommand = Schema13.Union([
2119
+ WorkspaceRegisterCommand,
2120
+ WorkspaceImportRigCommand,
2121
+ WorkspaceHydrateImportedStateCommand,
2122
+ WorkspaceCompileTopologyCommand,
2123
+ WorkspaceSyncRemoteFleetCommand,
2124
+ WorkspaceSyncServiceFabricCommand,
2125
+ WorkspaceRegisterRemoteHostCommand,
2126
+ WorkspaceUpdateRemoteHostStatusCommand,
2127
+ RunClaimRemoteLeaseCommand,
2128
+ RunReleaseRemoteLeaseCommand,
2129
+ RunCreateAdhocCommand,
2130
+ RunCreateForTaskCommand,
2131
+ RunMarkCompletedCommand,
2132
+ RunMarkFailedCommand,
2133
+ RunSetStatusCommand,
2134
+ RunSubmitUserMessageCommand,
2135
+ RunInterruptCommand,
2136
+ RunStopCommand,
2137
+ RunSetRuntimeModeCommand,
2138
+ RunSetInteractionModeCommand,
2139
+ RunRespondApprovalCommand,
2140
+ RunRespondUserInputCommand,
2141
+ RuntimePrepareCommand,
2142
+ RuntimeAttachCommand,
2143
+ RuntimeDetachCommand,
2144
+ RuntimeRecordMessageCommand,
2145
+ RuntimeStartActionCommand,
2146
+ RuntimeCompleteActionCommand,
2147
+ RuntimeRecordLogCommand,
2148
+ RuntimeUpdateMetadataCommand,
2149
+ RuntimeRequestApprovalCommand,
2150
+ RuntimeRequestUserInputCommand,
2151
+ RuntimeRecordValidationCommand,
2152
+ RuntimeRecordReviewCommand,
2153
+ RuntimeRegisterArtifactCommand,
2154
+ GraphUpdateTaskStatusCommand,
2155
+ TaskEnqueueCommand,
2156
+ RemoteRegisterEndpointCommand,
2157
+ RemoteRemoveEndpointCommand,
2158
+ RemoteUpdateEndpointCommand,
2159
+ RemoteConnectCommand,
2160
+ RemoteDisconnectCommand,
2161
+ RemotePauseCommand,
2162
+ RemoteResumeCommand,
2163
+ RemoteStopCommand,
2164
+ RemoteContinueCommand,
2165
+ RemoteCreateRunForTaskCommand,
2166
+ RemoteRefreshTasksCommand,
2167
+ RemoteAddIterationsCommand,
2168
+ RemoteRemoveIterationsCommand,
2169
+ RemoteOrchestrateStartCommand,
2170
+ RemoteOrchestratePauseCommand,
2171
+ RemoteOrchestrateResumeCommand,
2172
+ RemoteOrchestrateStopCommand,
2173
+ RemoteGetPromptPreviewCommand,
2174
+ RemoteGetIterationOutputCommand
2175
+ ]);
2176
+ var EngineDispatchResult = Schema13.Struct({
2177
+ sequence: NonNegativeInt
2178
+ });
2179
+ var EngineGetSnapshotInput = Schema13.Struct({});
2180
+ var EngineReplayEventsInput = Schema13.Struct({
2181
+ fromSequenceExclusive: NonNegativeInt
2182
+ });
2183
+ var EngineReplayEventsResult = Schema13.Array(EngineEvent);
2184
+ var EngineGetTaskArtifactsInput = Schema13.Struct({
2185
+ taskId: TaskId
2186
+ });
2187
+ var EngineGetTaskArtifactsResult = Schema13.Array(ArtifactSummary);
2188
+ var EngineRuntimeDefaults = Schema13.Struct({
2189
+ runtimeAdapter: TrimmedNonEmptyString,
2190
+ runMode: RunMode,
2191
+ sandboxMode: EngineSandboxMode,
2192
+ isolationMode: IsolationMode
2193
+ });
2194
+
2195
+ // packages/contracts/src/rig.ts
2196
+ import { Schema as Schema14 } from "effect";
2197
+ var RIG_WS_METHODS = {
2198
+ getSnapshot: "rig.getSnapshot",
2199
+ replayEvents: "rig.replayEvents",
2200
+ listWorkspaces: "rig.listWorkspaces",
2201
+ getWorkspace: "rig.getWorkspace",
2202
+ getRunLogs: "rig.getRunLogs",
2203
+ createAdhocRun: "rig.createAdhocRun",
2204
+ createTaskRun: "rig.createTaskRun",
2205
+ deleteRun: "rig.deleteRun",
2206
+ enqueueTask: "rig.enqueueTask",
2207
+ resumeRun: "rig.resumeRun",
2208
+ submitRunMessage: "rig.submitRunMessage",
2209
+ interruptRun: "rig.interruptRun",
2210
+ stopRun: "rig.stopRun",
2211
+ resolveApproval: "rig.resolveApproval",
2212
+ resolveUserInput: "rig.resolveUserInput",
2213
+ getTaskArtifacts: "rig.getTaskArtifacts"
2214
+ };
2215
+ var RigSnapshotInvalidatedPayload = Schema14.Struct({
2216
+ sequence: NonNegativeInt,
2217
+ updatedAt: IsoDateTime,
2218
+ reason: Schema14.optional(TrimmedNonEmptyString)
2219
+ });
2220
+ var RigGetSnapshotInput = Schema14.Struct({});
2221
+ var RigReplayEventsInput = Schema14.Struct({
2222
+ fromSequenceExclusive: NonNegativeInt
2223
+ });
2224
+ var RigReplayEventsResult = Schema14.Array(EngineEvent);
2225
+ var RigListWorkspacesInput = Schema14.Struct({});
2226
+ var RigListWorkspacesResult = Schema14.Array(WorkspaceSummary);
2227
+ var RigGetWorkspaceInput = Schema14.Struct({
2228
+ workspaceId: WorkspaceId
2229
+ });
2230
+ var RigGetWorkspaceResult = Schema14.Struct({
2231
+ workspace: Schema14.NullOr(WorkspaceSummary),
2232
+ tasks: Schema14.Array(TaskSummary),
2233
+ runs: Schema14.Array(RunSummary),
2234
+ approvals: Schema14.Array(ApprovalSummary),
2235
+ userInputs: Schema14.Array(UserInputRequestSummary),
2236
+ artifacts: Schema14.Array(ArtifactSummary),
2237
+ updatedAt: IsoDateTime
2238
+ });
2239
+ var RigRawRunLogEntry = Schema14.Record(Schema14.String, Schema14.Unknown);
2240
+ var RigGetRunLogsInput = Schema14.Struct({
2241
+ runId: RunId,
2242
+ limit: Schema14.optional(PositiveInt.check(Schema14.isLessThanOrEqualTo(500))),
2243
+ cursor: Schema14.optional(Schema14.String)
2244
+ });
2245
+ var RigGetRunLogsResult = Schema14.Struct({
2246
+ entries: Schema14.Array(RigRawRunLogEntry),
2247
+ nextCursor: Schema14.NullOr(Schema14.String),
2248
+ hasMore: Schema14.Boolean
2249
+ });
2250
+ var RigRunLogAppendedPayload = Schema14.Struct({
2251
+ runId: RunId,
2252
+ entry: RigRawRunLogEntry
2253
+ });
2254
+ var RigCreateAdhocRunInput = Schema14.Struct({
2255
+ commandId: CommandId,
2256
+ runId: RunId,
2257
+ workspaceId: WorkspaceId,
2258
+ title: Schema14.String,
2259
+ runtimeAdapter: Schema14.optional(RuntimeAdapterKind),
2260
+ model: Schema14.optional(Schema14.String),
2261
+ runtimeMode: RuntimeMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
2262
+ interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2263
+ executionTarget: Schema14.optional(RunExecutionTarget),
2264
+ remoteHostId: Schema14.optional(Schema14.String),
2265
+ initialPrompt: Schema14.optional(Schema14.String),
2266
+ createdAt: IsoDateTime
2267
+ });
2268
+ var RigCreateTaskRunInput = Schema14.Struct({
2269
+ commandId: CommandId,
2270
+ runId: RunId,
2271
+ workspaceId: WorkspaceId,
2272
+ taskId: TaskId,
2273
+ runtimeAdapter: Schema14.optional(RuntimeAdapterKind),
2274
+ model: Schema14.optional(Schema14.String),
2275
+ runtimeMode: RuntimeMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
2276
+ interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2277
+ executionTarget: Schema14.optional(RunExecutionTarget),
2278
+ remoteHostId: Schema14.optional(Schema14.String),
2279
+ createdAt: IsoDateTime
2280
+ });
2281
+ var RigEnqueueTaskInput = Schema14.Struct({
2282
+ commandId: CommandId,
2283
+ taskId: TaskId,
2284
+ score: Schema14.optional(Schema14.Number),
2285
+ createdAt: IsoDateTime
2286
+ });
2287
+ var RigDeleteRunInput = Schema14.Struct({
2288
+ commandId: CommandId,
2289
+ runId: RunId,
2290
+ purgeTaskArtifacts: Schema14.optional(Schema14.Boolean),
2291
+ createdAt: IsoDateTime
2292
+ });
2293
+ var RigResumeRunInput = Schema14.Struct({
2294
+ commandId: CommandId,
2295
+ runId: RunId,
2296
+ promptOverride: Schema14.optional(Schema14.String),
2297
+ createdAt: IsoDateTime
2298
+ });
2299
+ var RigSubmitRunMessageInput = Schema14.Struct({
2300
+ commandId: CommandId,
2301
+ runId: RunId,
2302
+ messageId: MessageId,
2303
+ text: Schema14.String,
2304
+ attachments: Schema14.optional(Schema14.Array(Schema14.Unknown)),
2305
+ createdAt: IsoDateTime
2306
+ });
2307
+ var RigInterruptRunInput = Schema14.Struct({
2308
+ commandId: CommandId,
2309
+ runId: RunId,
2310
+ createdAt: IsoDateTime
2311
+ });
2312
+ var RigStopRunInput = Schema14.Struct({
2313
+ commandId: CommandId,
2314
+ runId: RunId,
2315
+ createdAt: IsoDateTime
2316
+ });
2317
+ var RigResolveApprovalInput = Schema14.Struct({
2318
+ commandId: CommandId,
2319
+ runId: RunId,
2320
+ requestId: ApprovalRequestId,
2321
+ decision: ProviderApprovalDecision,
2322
+ createdAt: IsoDateTime
2323
+ });
2324
+ var RigResolveUserInputInput = Schema14.Struct({
2325
+ commandId: CommandId,
2326
+ runId: RunId,
2327
+ requestId: ApprovalRequestId,
2328
+ answers: ProviderUserInputAnswers,
2329
+ createdAt: IsoDateTime
2330
+ });
2331
+ var RigGetTaskArtifactsInput = Schema14.Struct({
2332
+ taskId: TaskId
2333
+ });
2334
+ var RigGetTaskArtifactsResult = Schema14.Array(ArtifactSummary);
2335
+ var RigMutationResult = Schema14.Struct({
2336
+ sequence: NonNegativeInt
2337
+ });
2338
+
2339
+ // packages/contracts/src/git.ts
2340
+ import { Schema as Schema15 } from "effect";
2341
+ var TrimmedNonEmptyStringSchema = TrimmedNonEmptyString;
2342
+ var GitStackedAction = Schema15.Literals(["commit", "commit_push", "commit_push_pr"]);
2343
+ var GitCommitStepStatus = Schema15.Literals(["created", "skipped_no_changes"]);
2344
+ var GitPushStepStatus = Schema15.Literals([
2345
+ "pushed",
2346
+ "skipped_not_requested",
2347
+ "skipped_up_to_date"
2348
+ ]);
2349
+ var GitBranchStepStatus = Schema15.Literals(["created", "skipped_not_requested"]);
2350
+ var GitPrStepStatus = Schema15.Literals([
2351
+ "created",
2352
+ "opened_existing",
2353
+ "skipped_not_requested"
2354
+ ]);
2355
+ var GitStatusPrState = Schema15.Literals(["open", "closed", "merged"]);
2356
+ var GitBranch = Schema15.Struct({
2357
+ name: TrimmedNonEmptyStringSchema,
2358
+ isRemote: Schema15.optional(Schema15.Boolean),
2359
+ remoteName: Schema15.optional(TrimmedNonEmptyStringSchema),
2360
+ current: Schema15.Boolean,
2361
+ isDefault: Schema15.Boolean,
2362
+ worktreePath: TrimmedNonEmptyStringSchema.pipe(Schema15.NullOr)
2363
+ });
2364
+ var GitWorktree = Schema15.Struct({
2365
+ path: TrimmedNonEmptyStringSchema,
2366
+ branch: TrimmedNonEmptyStringSchema
2367
+ });
2368
+ var GitStatusInput = Schema15.Struct({
2369
+ cwd: TrimmedNonEmptyStringSchema
2370
+ });
2371
+ var GitPullInput = Schema15.Struct({
2372
+ cwd: TrimmedNonEmptyStringSchema
2373
+ });
2374
+ var GitReadWorkingTreePatchInput = Schema15.Struct({
2375
+ cwd: TrimmedNonEmptyStringSchema,
2376
+ relativePath: Schema15.optional(TrimmedNonEmptyStringSchema)
2377
+ });
2378
+ var GitRunStackedActionInput = Schema15.Struct({
2379
+ cwd: TrimmedNonEmptyStringSchema,
2380
+ action: GitStackedAction,
2381
+ commitMessage: Schema15.optional(TrimmedNonEmptyStringSchema.check(Schema15.isMaxLength(1e4))),
2382
+ featureBranch: Schema15.optional(Schema15.Boolean)
2383
+ });
2384
+ var GitListBranchesInput = Schema15.Struct({
2385
+ cwd: TrimmedNonEmptyStringSchema
2386
+ });
2387
+ var GitCreateWorktreeInput = Schema15.Struct({
2388
+ cwd: TrimmedNonEmptyStringSchema,
2389
+ branch: TrimmedNonEmptyStringSchema,
2390
+ newBranch: TrimmedNonEmptyStringSchema,
2391
+ path: Schema15.NullOr(TrimmedNonEmptyStringSchema)
2392
+ });
2393
+ var GitRemoveWorktreeInput = Schema15.Struct({
2394
+ cwd: TrimmedNonEmptyStringSchema,
2395
+ path: TrimmedNonEmptyStringSchema,
2396
+ force: Schema15.optional(Schema15.Boolean)
2397
+ });
2398
+ var GitCreateBranchInput = Schema15.Struct({
2399
+ cwd: TrimmedNonEmptyStringSchema,
2400
+ branch: TrimmedNonEmptyStringSchema
2401
+ });
2402
+ var GitCheckoutInput = Schema15.Struct({
2403
+ cwd: TrimmedNonEmptyStringSchema,
2404
+ branch: TrimmedNonEmptyStringSchema
2405
+ });
2406
+ var GitInitInput = Schema15.Struct({
2407
+ cwd: TrimmedNonEmptyStringSchema
2408
+ });
2409
+ var GitStatusPr = Schema15.Struct({
2410
+ number: PositiveInt,
2411
+ title: TrimmedNonEmptyStringSchema,
2412
+ url: Schema15.String,
2413
+ baseBranch: TrimmedNonEmptyStringSchema,
2414
+ headBranch: TrimmedNonEmptyStringSchema,
2415
+ state: GitStatusPrState
2416
+ });
2417
+ var GitStatusResult = Schema15.Struct({
2418
+ branch: TrimmedNonEmptyStringSchema.pipe(Schema15.NullOr),
2419
+ hasWorkingTreeChanges: Schema15.Boolean,
2420
+ workingTree: Schema15.Struct({
2421
+ files: Schema15.Array(Schema15.Struct({
2422
+ path: TrimmedNonEmptyStringSchema,
2423
+ insertions: NonNegativeInt,
2424
+ deletions: NonNegativeInt
2425
+ })),
2426
+ insertions: NonNegativeInt,
2427
+ deletions: NonNegativeInt
2428
+ }),
2429
+ hasUpstream: Schema15.Boolean,
2430
+ aheadCount: NonNegativeInt,
2431
+ behindCount: NonNegativeInt,
2432
+ pr: Schema15.NullOr(GitStatusPr)
2433
+ });
2434
+ var GitListBranchesResult = Schema15.Struct({
2435
+ branches: Schema15.Array(GitBranch),
2436
+ isRepo: Schema15.Boolean
2437
+ });
2438
+ var GitCreateWorktreeResult = Schema15.Struct({
2439
+ worktree: GitWorktree
2440
+ });
2441
+ var GitRunStackedActionResult = Schema15.Struct({
2442
+ action: GitStackedAction,
2443
+ branch: Schema15.Struct({
2444
+ status: GitBranchStepStatus,
2445
+ name: Schema15.optional(TrimmedNonEmptyStringSchema)
2446
+ }),
2447
+ commit: Schema15.Struct({
2448
+ status: GitCommitStepStatus,
2449
+ commitSha: Schema15.optional(TrimmedNonEmptyStringSchema),
2450
+ subject: Schema15.optional(TrimmedNonEmptyStringSchema)
2451
+ }),
2452
+ push: Schema15.Struct({
2453
+ status: GitPushStepStatus,
2454
+ branch: Schema15.optional(TrimmedNonEmptyStringSchema),
2455
+ upstreamBranch: Schema15.optional(TrimmedNonEmptyStringSchema),
2456
+ setUpstream: Schema15.optional(Schema15.Boolean)
2457
+ }),
2458
+ pr: Schema15.Struct({
2459
+ status: GitPrStepStatus,
2460
+ url: Schema15.optional(Schema15.String),
2461
+ number: Schema15.optional(PositiveInt),
2462
+ baseBranch: Schema15.optional(TrimmedNonEmptyStringSchema),
2463
+ headBranch: Schema15.optional(TrimmedNonEmptyStringSchema),
2464
+ title: Schema15.optional(TrimmedNonEmptyStringSchema)
2465
+ })
2466
+ });
2467
+ var GitPullResult = Schema15.Struct({
2468
+ status: Schema15.Literals(["pulled", "skipped_up_to_date"]),
2469
+ branch: TrimmedNonEmptyStringSchema,
2470
+ upstreamBranch: TrimmedNonEmptyStringSchema.pipe(Schema15.NullOr)
2471
+ });
2472
+ var GitReadWorkingTreePatchResult = Schema15.Struct({
2473
+ diff: Schema15.String
2474
+ });
2475
+
2476
+ // packages/contracts/src/terminal.ts
2477
+ import { Schema as Schema16 } from "effect";
2478
+ var DEFAULT_TERMINAL_ID = "default";
2479
+ var TrimmedNonEmptyStringSchema2 = TrimmedNonEmptyString;
2480
+ var TerminalColsSchema = Schema16.Int.check(Schema16.isGreaterThanOrEqualTo(20)).check(Schema16.isLessThanOrEqualTo(400));
2481
+ var TerminalRowsSchema = Schema16.Int.check(Schema16.isGreaterThanOrEqualTo(5)).check(Schema16.isLessThanOrEqualTo(200));
2482
+ var TerminalIdSchema = TrimmedNonEmptyStringSchema2.check(Schema16.isMaxLength(128));
2483
+ var TerminalEnvKeySchema = Schema16.String.check(Schema16.isPattern(/^[A-Za-z_][A-Za-z0-9_]*$/)).check(Schema16.isMaxLength(128));
2484
+ var TerminalEnvValueSchema = Schema16.String.check(Schema16.isMaxLength(8192));
2485
+ var TerminalEnvSchema = Schema16.Record(TerminalEnvKeySchema, TerminalEnvValueSchema).check(Schema16.isMaxProperties(128));
2486
+ var TerminalIdWithDefaultSchema = TerminalIdSchema.pipe(Schema16.withDecodingDefault(() => DEFAULT_TERMINAL_ID));
2487
+ var TerminalThreadInput = Schema16.Struct({
2488
+ threadId: TrimmedNonEmptyStringSchema2
2489
+ });
2490
+ var TerminalSessionInput = Schema16.Struct({
2491
+ ...TerminalThreadInput.fields,
2492
+ terminalId: TerminalIdWithDefaultSchema
2493
+ });
2494
+ var TerminalOpenInput = Schema16.Struct({
2495
+ ...TerminalSessionInput.fields,
2496
+ cwd: TrimmedNonEmptyStringSchema2,
2497
+ cols: Schema16.optional(TerminalColsSchema),
2498
+ rows: Schema16.optional(TerminalRowsSchema),
2499
+ env: Schema16.optional(TerminalEnvSchema)
2500
+ });
2501
+ var TerminalWriteInput = Schema16.Struct({
2502
+ ...TerminalSessionInput.fields,
2503
+ data: Schema16.String.check(Schema16.isNonEmpty()).check(Schema16.isMaxLength(65536))
2504
+ });
2505
+ var TerminalResizeInput = Schema16.Struct({
2506
+ ...TerminalSessionInput.fields,
2507
+ cols: TerminalColsSchema,
2508
+ rows: TerminalRowsSchema
2509
+ });
2510
+ var TerminalClearInput = TerminalSessionInput;
2511
+ var TerminalRestartInput = Schema16.Struct({
2512
+ ...TerminalThreadInput.fields,
2513
+ cwd: TrimmedNonEmptyStringSchema2,
2514
+ cols: TerminalColsSchema,
2515
+ rows: TerminalRowsSchema,
2516
+ env: Schema16.optional(TerminalEnvSchema)
2517
+ });
2518
+ var TerminalCloseInput = Schema16.Struct({
2519
+ ...TerminalThreadInput.fields,
2520
+ terminalId: Schema16.optional(TerminalIdSchema),
2521
+ deleteHistory: Schema16.optional(Schema16.Boolean)
2522
+ });
2523
+ var TerminalSessionStatus = Schema16.Literals(["starting", "running", "exited", "error"]);
2524
+ var TerminalSessionSnapshot = Schema16.Struct({
2525
+ threadId: Schema16.String.check(Schema16.isNonEmpty()),
2526
+ terminalId: Schema16.String.check(Schema16.isNonEmpty()),
2527
+ cwd: Schema16.String.check(Schema16.isNonEmpty()),
2528
+ status: TerminalSessionStatus,
2529
+ pid: Schema16.NullOr(Schema16.Int.check(Schema16.isGreaterThan(0))),
2530
+ history: Schema16.String,
2531
+ exitCode: Schema16.NullOr(Schema16.Int),
2532
+ exitSignal: Schema16.NullOr(Schema16.String),
2533
+ updatedAt: Schema16.String
2534
+ });
2535
+ var TerminalEventBaseSchema = Schema16.Struct({
2536
+ threadId: Schema16.String.check(Schema16.isNonEmpty()),
2537
+ terminalId: Schema16.String.check(Schema16.isNonEmpty()),
2538
+ createdAt: Schema16.String
2539
+ });
2540
+ var TerminalStartedEvent = Schema16.Struct({
2541
+ ...TerminalEventBaseSchema.fields,
2542
+ type: Schema16.Literal("started"),
2543
+ snapshot: TerminalSessionSnapshot
2544
+ });
2545
+ var TerminalOutputEvent = Schema16.Struct({
2546
+ ...TerminalEventBaseSchema.fields,
2547
+ type: Schema16.Literal("output"),
2548
+ data: Schema16.String
2549
+ });
2550
+ var TerminalExitedEvent = Schema16.Struct({
2551
+ ...TerminalEventBaseSchema.fields,
2552
+ type: Schema16.Literal("exited"),
2553
+ exitCode: Schema16.NullOr(Schema16.Int),
2554
+ exitSignal: Schema16.NullOr(Schema16.String)
2555
+ });
2556
+ var TerminalErrorEvent = Schema16.Struct({
2557
+ ...TerminalEventBaseSchema.fields,
2558
+ type: Schema16.Literal("error"),
2559
+ message: Schema16.String.check(Schema16.isNonEmpty())
2560
+ });
2561
+ var TerminalClearedEvent = Schema16.Struct({
2562
+ ...TerminalEventBaseSchema.fields,
2563
+ type: Schema16.Literal("cleared")
2564
+ });
2565
+ var TerminalRestartedEvent = Schema16.Struct({
2566
+ ...TerminalEventBaseSchema.fields,
2567
+ type: Schema16.Literal("restarted"),
2568
+ snapshot: TerminalSessionSnapshot
2569
+ });
2570
+ var TerminalActivityEvent = Schema16.Struct({
2571
+ ...TerminalEventBaseSchema.fields,
2572
+ type: Schema16.Literal("activity"),
2573
+ hasRunningSubprocess: Schema16.Boolean
2574
+ });
2575
+ var TerminalEvent = Schema16.Union([
2576
+ TerminalStartedEvent,
2577
+ TerminalOutputEvent,
2578
+ TerminalExitedEvent,
2579
+ TerminalErrorEvent,
2580
+ TerminalClearedEvent,
2581
+ TerminalRestartedEvent,
2582
+ TerminalActivityEvent
2583
+ ]);
2584
+
2585
+ // packages/contracts/src/keybindings.ts
2586
+ import { Schema as Schema17 } from "effect";
2587
+ var MAX_KEYBINDING_VALUE_LENGTH = 64;
2588
+ var MAX_KEYBINDING_WHEN_LENGTH = 256;
2589
+ var MAX_SCRIPT_ID_LENGTH = 24;
2590
+ var MAX_KEYBINDINGS_COUNT = 256;
2591
+ var STATIC_KEYBINDING_COMMANDS = [
2592
+ "terminal.toggle",
2593
+ "terminal.split",
2594
+ "terminal.new",
2595
+ "terminal.close",
2596
+ "diff.toggle",
2597
+ "chat.new",
2598
+ "chat.newLocal",
2599
+ "editor.openFavorite"
2600
+ ];
2601
+ var SCRIPT_RUN_COMMAND_PATTERN = Schema17.TemplateLiteral([
2602
+ Schema17.Literal("script."),
2603
+ Schema17.NonEmptyString.check(Schema17.isMaxLength(MAX_SCRIPT_ID_LENGTH), Schema17.isPattern(/^[a-z0-9][a-z0-9-]*$/)),
2604
+ Schema17.Literal(".run")
2605
+ ]);
2606
+ var KeybindingCommand = Schema17.Union([
2607
+ Schema17.Literals(STATIC_KEYBINDING_COMMANDS),
2608
+ SCRIPT_RUN_COMMAND_PATTERN
2609
+ ]);
2610
+ var KeybindingValue = TrimmedString.check(Schema17.isMinLength(1), Schema17.isMaxLength(MAX_KEYBINDING_VALUE_LENGTH));
2611
+ var KeybindingWhen = TrimmedString.check(Schema17.isMinLength(1), Schema17.isMaxLength(MAX_KEYBINDING_WHEN_LENGTH));
2612
+ var KeybindingRule = Schema17.Struct({
2613
+ key: KeybindingValue,
2614
+ command: KeybindingCommand,
2615
+ when: Schema17.optional(KeybindingWhen)
2616
+ });
2617
+ var KeybindingsConfig = Schema17.Array(KeybindingRule).check(Schema17.isMaxLength(MAX_KEYBINDINGS_COUNT));
2618
+ var KeybindingShortcut = Schema17.Struct({
2619
+ key: KeybindingValue,
2620
+ metaKey: Schema17.Boolean,
2621
+ ctrlKey: Schema17.Boolean,
2622
+ shiftKey: Schema17.Boolean,
2623
+ altKey: Schema17.Boolean,
2624
+ modKey: Schema17.Boolean
2625
+ });
2626
+ var KeybindingWhenNode = Schema17.Union([
2627
+ Schema17.Struct({
2628
+ type: Schema17.Literal("identifier"),
2629
+ name: Schema17.NonEmptyString
2630
+ }),
2631
+ Schema17.Struct({
2632
+ type: Schema17.Literal("not"),
2633
+ node: Schema17.suspend(() => KeybindingWhenNode)
2634
+ }),
2635
+ Schema17.Struct({
2636
+ type: Schema17.Literal("and"),
2637
+ left: Schema17.suspend(() => KeybindingWhenNode),
2638
+ right: Schema17.suspend(() => KeybindingWhenNode)
2639
+ }),
2640
+ Schema17.Struct({
2641
+ type: Schema17.Literal("or"),
2642
+ left: Schema17.suspend(() => KeybindingWhenNode),
2643
+ right: Schema17.suspend(() => KeybindingWhenNode)
2644
+ })
2645
+ ]);
2646
+ var ResolvedKeybindingRule = Schema17.Struct({
2647
+ command: KeybindingCommand,
2648
+ shortcut: KeybindingShortcut,
2649
+ whenAst: Schema17.optional(KeybindingWhenNode)
2650
+ }).annotate({ parseOptions: { onExcessProperty: "ignore" } });
2651
+ var ResolvedKeybindingsConfig = Schema17.Array(ResolvedKeybindingRule).check(Schema17.isMaxLength(MAX_KEYBINDINGS_COUNT));
2652
+
2653
+ // packages/contracts/src/project.ts
2654
+ import { Schema as Schema18 } from "effect";
2655
+ var PROJECT_SEARCH_ENTRIES_MAX_LIMIT = 200;
2656
+ var PROJECT_LIST_DIRECTORY_MAX_LIMIT = 500;
2657
+ var PROJECT_WRITE_FILE_PATH_MAX_LENGTH = 512;
2658
+ var PROJECT_READ_FILE_MAX_BYTES = 512 * 1024;
2659
+ var ProjectSearchEntriesInput = Schema18.Struct({
2660
+ cwd: TrimmedNonEmptyString,
2661
+ query: TrimmedNonEmptyString.check(Schema18.isMaxLength(256)),
2662
+ limit: PositiveInt.check(Schema18.isLessThanOrEqualTo(PROJECT_SEARCH_ENTRIES_MAX_LIMIT))
2663
+ });
2664
+ var ProjectEntryKind = Schema18.Literals(["file", "directory"]);
2665
+ var ProjectEntry = Schema18.Struct({
2666
+ path: TrimmedNonEmptyString,
2667
+ kind: ProjectEntryKind,
2668
+ parentPath: Schema18.optional(TrimmedNonEmptyString)
2669
+ });
2670
+ var ProjectSearchEntriesResult = Schema18.Struct({
2671
+ entries: Schema18.Array(ProjectEntry),
2672
+ truncated: Schema18.Boolean
2673
+ });
2674
+ var ProjectListDirectoryInput = Schema18.Struct({
2675
+ cwd: TrimmedNonEmptyString,
2676
+ relativePath: TrimmedNonEmptyString.check(Schema18.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH)),
2677
+ limit: PositiveInt.check(Schema18.isLessThanOrEqualTo(PROJECT_LIST_DIRECTORY_MAX_LIMIT))
2678
+ });
2679
+ var ProjectDirectoryEntry = Schema18.Struct({
2680
+ name: TrimmedNonEmptyString,
2681
+ relativePath: TrimmedNonEmptyString,
2682
+ kind: ProjectEntryKind,
2683
+ sizeBytes: Schema18.optional(NonNegativeInt),
2684
+ modifiedAt: Schema18.optional(Schema18.String)
2685
+ });
2686
+ var ProjectListDirectoryResult = Schema18.Struct({
2687
+ entries: Schema18.Array(ProjectDirectoryEntry),
2688
+ truncated: Schema18.Boolean
2689
+ });
2690
+ var ProjectWriteFileInput = Schema18.Struct({
2691
+ cwd: TrimmedNonEmptyString,
2692
+ relativePath: TrimmedNonEmptyString.check(Schema18.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH)),
2693
+ contents: Schema18.String
2694
+ });
2695
+ var ProjectWriteFileResult = Schema18.Struct({
2696
+ relativePath: TrimmedNonEmptyString
2697
+ });
2698
+ var ProjectReadFileInput = Schema18.Struct({
2699
+ cwd: TrimmedNonEmptyString,
2700
+ relativePath: TrimmedNonEmptyString.check(Schema18.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH))
2701
+ });
2702
+ var ProjectReadFileResult = Schema18.Struct({
2703
+ relativePath: TrimmedNonEmptyString,
2704
+ contents: Schema18.String,
2705
+ truncated: Schema18.Boolean,
2706
+ sizeBytes: NonNegativeInt,
2707
+ maxBytes: PositiveInt
2708
+ });
2709
+
2710
+ // packages/contracts/src/editor.ts
2711
+ import { Schema as Schema19 } from "effect";
2712
+ var EDITORS = [
2713
+ { id: "cursor", label: "Cursor", command: "cursor" },
2714
+ { id: "vscode", label: "VS Code", command: "code" },
2715
+ { id: "zed", label: "Zed", command: "zed" },
2716
+ { id: "file-manager", label: "File Manager", command: null }
2717
+ ];
2718
+ var EditorId = Schema19.Literals(EDITORS.map((e) => e.id));
2719
+ var OpenInEditorInput = Schema19.Struct({
2720
+ cwd: TrimmedNonEmptyString,
2721
+ editor: EditorId
2722
+ });
2723
+
2724
+ // packages/contracts/src/ws.ts
2725
+ var WS_METHODS = {
2726
+ projectsList: "projects.list",
2727
+ projectsAdd: "projects.add",
2728
+ projectsRemove: "projects.remove",
2729
+ projectsListDirectory: "projects.listDirectory",
2730
+ projectsSearchEntries: "projects.searchEntries",
2731
+ projectsReadFile: "projects.readFile",
2732
+ projectsWriteFile: "projects.writeFile",
2733
+ shellOpenInEditor: "shell.openInEditor",
2734
+ gitPull: "git.pull",
2735
+ gitStatus: "git.status",
2736
+ gitReadWorkingTreePatch: "git.readWorkingTreePatch",
2737
+ gitRunStackedAction: "git.runStackedAction",
2738
+ gitListBranches: "git.listBranches",
2739
+ gitCreateWorktree: "git.createWorktree",
2740
+ gitRemoveWorktree: "git.removeWorktree",
2741
+ gitCreateBranch: "git.createBranch",
2742
+ gitCheckout: "git.checkout",
2743
+ gitInit: "git.init",
2744
+ terminalOpen: "terminal.open",
2745
+ terminalWrite: "terminal.write",
2746
+ terminalResize: "terminal.resize",
2747
+ terminalClear: "terminal.clear",
2748
+ terminalRestart: "terminal.restart",
2749
+ terminalClose: "terminal.close",
2750
+ serverGetConfig: "server.getConfig",
2751
+ serverUpsertKeybinding: "server.upsertKeybinding",
2752
+ remoteListEndpoints: "remote.listEndpoints",
2753
+ remoteRegisterEndpoint: "remote.registerEndpoint",
2754
+ remoteRemoveEndpoint: "remote.removeEndpoint",
2755
+ remoteUpdateEndpoint: "remote.updateEndpoint",
2756
+ remoteTestEndpoint: "remote.testEndpoint",
2757
+ remoteConnect: "remote.connect",
2758
+ remoteDisconnect: "remote.disconnect",
2759
+ remotePause: "remote.pause",
2760
+ remoteResume: "remote.resume",
2761
+ remoteStop: "remote.stop",
2762
+ remoteContinue: "remote.continue",
2763
+ remoteCreateRunForTask: "remote.createRunForTask",
2764
+ remoteRefreshTasks: "remote.refreshTasks",
2765
+ remoteAddIterations: "remote.addIterations",
2766
+ remoteRemoveIterations: "remote.removeIterations",
2767
+ remoteOrchestrateStart: "remote.orchestrate.start",
2768
+ remoteOrchestratePause: "remote.orchestrate.pause",
2769
+ remoteOrchestrateResume: "remote.orchestrate.resume",
2770
+ remoteOrchestrateStop: "remote.orchestrate.stop",
2771
+ remoteOrchestrateState: "remote.orchestrate.state",
2772
+ remotePromptPreview: "remote.promptPreview",
2773
+ remoteIterationOutput: "remote.iterationOutput",
2774
+ remoteTerminalOpen: "remote.terminal.open",
2775
+ remoteTerminalWrite: "remote.terminal.write",
2776
+ remoteTerminalResize: "remote.terminal.resize",
2777
+ remoteTerminalClose: "remote.terminal.close"
2778
+ };
2779
+ var WS_CHANNELS = {
2780
+ terminalEvent: "terminal.event",
2781
+ serverWelcome: "server.welcome",
2782
+ serverConfigUpdated: "server.configUpdated",
2783
+ remoteConnectionChanged: "remote.connectionChanged",
2784
+ remoteEvent: "remote.event"
2785
+ };
2786
+ var tagRequestBody = (tag, schema) => schema.mapFields(Struct2.assign({ _tag: Schema20.tag(tag) }), { unsafePreserveChecks: true });
2787
+ var WebSocketRequestBody = Schema20.Union([
2788
+ tagRequestBody(RIG_WS_METHODS.getSnapshot, RigGetSnapshotInput),
2789
+ tagRequestBody(RIG_WS_METHODS.replayEvents, RigReplayEventsInput),
2790
+ tagRequestBody(RIG_WS_METHODS.listWorkspaces, RigListWorkspacesInput),
2791
+ tagRequestBody(RIG_WS_METHODS.getWorkspace, RigGetWorkspaceInput),
2792
+ tagRequestBody(RIG_WS_METHODS.createAdhocRun, RigCreateAdhocRunInput),
2793
+ tagRequestBody(RIG_WS_METHODS.createTaskRun, RigCreateTaskRunInput),
2794
+ tagRequestBody(RIG_WS_METHODS.deleteRun, RigDeleteRunInput),
2795
+ tagRequestBody(RIG_WS_METHODS.enqueueTask, RigEnqueueTaskInput),
2796
+ tagRequestBody(RIG_WS_METHODS.resumeRun, RigResumeRunInput),
2797
+ tagRequestBody(RIG_WS_METHODS.submitRunMessage, RigSubmitRunMessageInput),
2798
+ tagRequestBody(RIG_WS_METHODS.interruptRun, RigInterruptRunInput),
2799
+ tagRequestBody(RIG_WS_METHODS.stopRun, RigStopRunInput),
2800
+ tagRequestBody(RIG_WS_METHODS.resolveApproval, RigResolveApprovalInput),
2801
+ tagRequestBody(RIG_WS_METHODS.resolveUserInput, RigResolveUserInputInput),
2802
+ tagRequestBody(RIG_WS_METHODS.getTaskArtifacts, RigGetTaskArtifactsInput),
2803
+ tagRequestBody(WS_METHODS.projectsListDirectory, ProjectListDirectoryInput),
2804
+ tagRequestBody(WS_METHODS.projectsSearchEntries, ProjectSearchEntriesInput),
2805
+ tagRequestBody(WS_METHODS.projectsReadFile, ProjectReadFileInput),
2806
+ tagRequestBody(WS_METHODS.projectsWriteFile, ProjectWriteFileInput),
2807
+ tagRequestBody(WS_METHODS.shellOpenInEditor, OpenInEditorInput),
2808
+ tagRequestBody(WS_METHODS.gitPull, GitPullInput),
2809
+ tagRequestBody(WS_METHODS.gitStatus, GitStatusInput),
2810
+ tagRequestBody(WS_METHODS.gitReadWorkingTreePatch, GitReadWorkingTreePatchInput),
2811
+ tagRequestBody(WS_METHODS.gitRunStackedAction, GitRunStackedActionInput),
2812
+ tagRequestBody(WS_METHODS.gitListBranches, GitListBranchesInput),
2813
+ tagRequestBody(WS_METHODS.gitCreateWorktree, GitCreateWorktreeInput),
2814
+ tagRequestBody(WS_METHODS.gitRemoveWorktree, GitRemoveWorktreeInput),
2815
+ tagRequestBody(WS_METHODS.gitCreateBranch, GitCreateBranchInput),
2816
+ tagRequestBody(WS_METHODS.gitCheckout, GitCheckoutInput),
2817
+ tagRequestBody(WS_METHODS.gitInit, GitInitInput),
2818
+ tagRequestBody(WS_METHODS.terminalOpen, TerminalOpenInput),
2819
+ tagRequestBody(WS_METHODS.terminalWrite, TerminalWriteInput),
2820
+ tagRequestBody(WS_METHODS.terminalResize, TerminalResizeInput),
2821
+ tagRequestBody(WS_METHODS.terminalClear, TerminalClearInput),
2822
+ tagRequestBody(WS_METHODS.terminalRestart, TerminalRestartInput),
2823
+ tagRequestBody(WS_METHODS.terminalClose, TerminalCloseInput),
2824
+ tagRequestBody(WS_METHODS.serverGetConfig, Schema20.Struct({})),
2825
+ tagRequestBody(WS_METHODS.serverUpsertKeybinding, KeybindingRule),
2826
+ tagRequestBody(WS_METHODS.remoteListEndpoints, Schema20.Struct({})),
2827
+ tagRequestBody(WS_METHODS.remoteRegisterEndpoint, Schema20.Struct({
2828
+ alias: TrimmedNonEmptyString,
2829
+ host: TrimmedNonEmptyString,
2830
+ port: Schema20.Int,
2831
+ token: Schema20.optional(TrimmedNonEmptyString),
2832
+ autoConnect: Schema20.optional(Schema20.Boolean)
2833
+ })),
2834
+ tagRequestBody(WS_METHODS.remoteRemoveEndpoint, Schema20.Struct({
2835
+ endpointId: TrimmedNonEmptyString
2836
+ })),
2837
+ tagRequestBody(WS_METHODS.remoteUpdateEndpoint, Schema20.Struct({
2838
+ endpointId: TrimmedNonEmptyString,
2839
+ alias: Schema20.optional(TrimmedNonEmptyString),
2840
+ host: Schema20.optional(TrimmedNonEmptyString),
2841
+ port: Schema20.optional(Schema20.Int),
2842
+ token: Schema20.optional(TrimmedNonEmptyString),
2843
+ autoConnect: Schema20.optional(Schema20.Boolean)
2844
+ })),
2845
+ tagRequestBody(WS_METHODS.remoteTestEndpoint, Schema20.Struct({
2846
+ host: TrimmedNonEmptyString,
2847
+ port: Schema20.Int,
2848
+ token: Schema20.optional(TrimmedNonEmptyString)
2849
+ })),
2850
+ tagRequestBody(WS_METHODS.remoteConnect, Schema20.Struct({
2851
+ endpointId: TrimmedNonEmptyString
2852
+ })),
2853
+ tagRequestBody(WS_METHODS.remoteDisconnect, Schema20.Struct({
2854
+ endpointId: TrimmedNonEmptyString
2855
+ })),
2856
+ tagRequestBody(WS_METHODS.remotePause, Schema20.Struct({ endpointId: TrimmedNonEmptyString })),
2857
+ tagRequestBody(WS_METHODS.remoteResume, Schema20.Struct({ endpointId: TrimmedNonEmptyString })),
2858
+ tagRequestBody(WS_METHODS.remoteStop, Schema20.Struct({ endpointId: TrimmedNonEmptyString })),
2859
+ tagRequestBody(WS_METHODS.remoteContinue, Schema20.Struct({ endpointId: TrimmedNonEmptyString })),
2860
+ tagRequestBody(WS_METHODS.remoteCreateRunForTask, Schema20.Struct({
2861
+ endpointId: TrimmedNonEmptyString,
2862
+ taskId: TrimmedNonEmptyString,
2863
+ runId: TrimmedNonEmptyString,
2864
+ workspaceId: TrimmedNonEmptyString,
2865
+ runtimeMode: Schema20.optional(Schema20.String),
2866
+ interactionMode: Schema20.optional(Schema20.String)
2867
+ })),
2868
+ tagRequestBody(WS_METHODS.remoteRefreshTasks, Schema20.Struct({ endpointId: TrimmedNonEmptyString })),
2869
+ tagRequestBody(WS_METHODS.remoteAddIterations, Schema20.Struct({
2870
+ endpointId: TrimmedNonEmptyString,
2871
+ count: Schema20.Int
2872
+ })),
2873
+ tagRequestBody(WS_METHODS.remoteRemoveIterations, Schema20.Struct({
2874
+ endpointId: TrimmedNonEmptyString,
2875
+ count: Schema20.Int
2876
+ })),
2877
+ tagRequestBody(WS_METHODS.remoteOrchestrateStart, Schema20.Struct({
2878
+ endpointId: TrimmedNonEmptyString,
2879
+ maxWorkers: Schema20.optional(Schema20.Int),
2880
+ maxIterations: Schema20.optional(Schema20.Int),
2881
+ directMerge: Schema20.optional(Schema20.Boolean)
2882
+ })),
2883
+ tagRequestBody(WS_METHODS.remoteOrchestratePause, Schema20.Struct({
2884
+ endpointId: TrimmedNonEmptyString,
2885
+ orchestrationId: TrimmedNonEmptyString
2886
+ })),
2887
+ tagRequestBody(WS_METHODS.remoteOrchestrateResume, Schema20.Struct({
2888
+ endpointId: TrimmedNonEmptyString,
2889
+ orchestrationId: TrimmedNonEmptyString
2890
+ })),
2891
+ tagRequestBody(WS_METHODS.remoteOrchestrateStop, Schema20.Struct({
2892
+ endpointId: TrimmedNonEmptyString,
2893
+ orchestrationId: TrimmedNonEmptyString
2894
+ })),
2895
+ tagRequestBody(WS_METHODS.remoteOrchestrateState, Schema20.Struct({
2896
+ endpointId: TrimmedNonEmptyString,
2897
+ orchestrationId: TrimmedNonEmptyString
2898
+ })),
2899
+ tagRequestBody(WS_METHODS.remotePromptPreview, Schema20.Struct({
2900
+ endpointId: TrimmedNonEmptyString,
2901
+ taskId: TrimmedNonEmptyString
2902
+ })),
2903
+ tagRequestBody(WS_METHODS.remoteIterationOutput, Schema20.Struct({
2904
+ endpointId: TrimmedNonEmptyString,
2905
+ taskId: TrimmedNonEmptyString
2906
+ })),
2907
+ tagRequestBody(WS_METHODS.remoteTerminalOpen, Schema20.Struct({
2908
+ endpointId: TrimmedNonEmptyString,
2909
+ threadId: Schema20.String,
2910
+ terminalId: Schema20.String,
2911
+ cwd: Schema20.optional(Schema20.String),
2912
+ env: Schema20.optional(Schema20.Unknown)
2913
+ })),
2914
+ tagRequestBody(WS_METHODS.remoteTerminalWrite, Schema20.Struct({
2915
+ endpointId: TrimmedNonEmptyString,
2916
+ threadId: Schema20.String,
2917
+ terminalId: Schema20.String,
2918
+ data: Schema20.String
2919
+ })),
2920
+ tagRequestBody(WS_METHODS.remoteTerminalResize, Schema20.Struct({
2921
+ endpointId: TrimmedNonEmptyString,
2922
+ threadId: Schema20.String,
2923
+ terminalId: Schema20.String,
2924
+ cols: Schema20.Number,
2925
+ rows: Schema20.Number
2926
+ })),
2927
+ tagRequestBody(WS_METHODS.remoteTerminalClose, Schema20.Struct({
2928
+ endpointId: TrimmedNonEmptyString,
2929
+ threadId: Schema20.String,
2930
+ terminalId: Schema20.String
2931
+ }))
2932
+ ]);
2933
+ var WebSocketRequest = Schema20.Struct({
2934
+ id: TrimmedNonEmptyString,
2935
+ body: WebSocketRequestBody
2936
+ });
2937
+ var WebSocketResponse = Schema20.Struct({
2938
+ id: TrimmedNonEmptyString,
2939
+ result: Schema20.optional(Schema20.Unknown),
2940
+ error: Schema20.optional(Schema20.Struct({
2941
+ message: Schema20.String
2942
+ }))
2943
+ });
2944
+ var WsPush = Schema20.Struct({
2945
+ type: Schema20.Literal("push"),
2946
+ channel: TrimmedNonEmptyString,
2947
+ data: Schema20.Unknown
2948
+ });
2949
+ var EngineGetSnapshotResult = EngineReadModel;
2950
+ var EngineReplayEventsWsResult = EngineReplayEventsResult;
2951
+ var WsResponse = Schema20.Union([WebSocketResponse, WsPush]);
2952
+ var WsWelcomePayload = Schema20.Struct({
2953
+ cwd: TrimmedNonEmptyString,
2954
+ projectName: TrimmedNonEmptyString,
2955
+ bootstrapProjectId: Schema20.optional(ProjectId),
2956
+ bootstrapThreadId: Schema20.optional(ThreadId)
2957
+ });
2958
+ export {
2959
+ WsWelcomePayload,
2960
+ WsResponse,
2961
+ WsPush,
2962
+ WebSocketResponse,
2963
+ WebSocketRequest,
2964
+ WS_METHODS,
2965
+ WS_CHANNELS,
2966
+ EngineReplayEventsWsResult,
2967
+ EngineGetSnapshotResult
2968
+ };