@h-rig/contracts 0.0.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1066 @@
1
+ // @bun
2
+ // packages/contracts/src/serviceFabric.ts
3
+ import { Schema as Schema5 } 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/workspace.ts
40
+ import { Schema as Schema4 } from "effect";
41
+
42
+ // packages/contracts/src/orchestration.ts
43
+ import { Option, Schema as Schema3, SchemaIssue, Struct } from "effect";
44
+
45
+ // packages/contracts/src/model.ts
46
+ import { Schema as Schema2 } from "effect";
47
+ var CODEX_REASONING_EFFORT_OPTIONS = ["xhigh", "high", "medium", "low"];
48
+ var CodexModelOptions = Schema2.Struct({
49
+ reasoningEffort: Schema2.optional(Schema2.Literals(CODEX_REASONING_EFFORT_OPTIONS)),
50
+ fastMode: Schema2.optional(Schema2.Boolean)
51
+ });
52
+ var ClaudeModelOptions = Schema2.Struct({});
53
+ var ProviderModelOptions = Schema2.Struct({
54
+ codex: Schema2.optional(CodexModelOptions),
55
+ claude: Schema2.optional(ClaudeModelOptions)
56
+ });
57
+
58
+ // packages/contracts/src/orchestration.ts
59
+ var ProviderKind = Schema3.Literals(["codex", "claude"]);
60
+ var ProviderApprovalPolicy = Schema3.Literals([
61
+ "untrusted",
62
+ "on-failure",
63
+ "on-request",
64
+ "never"
65
+ ]);
66
+ var ProviderSandboxMode = Schema3.Literals([
67
+ "read-only",
68
+ "workspace-write",
69
+ "danger-full-access"
70
+ ]);
71
+ var ProviderServiceTier = Schema3.Literals(["fast", "flex"]);
72
+ var RuntimeMode = Schema3.Literals(["approval-required", "full-access"]);
73
+ var DEFAULT_RUNTIME_MODE = "full-access";
74
+ var ProviderInteractionMode = Schema3.Literals(["default", "plan"]);
75
+ var DEFAULT_PROVIDER_INTERACTION_MODE = "default";
76
+ var ProviderRequestKind = Schema3.Literals(["command", "file-read", "file-change"]);
77
+ var AssistantDeliveryMode = Schema3.Literals(["buffered", "streaming"]);
78
+ var ProviderApprovalDecision = Schema3.Literals([
79
+ "accept",
80
+ "acceptForSession",
81
+ "decline",
82
+ "cancel"
83
+ ]);
84
+ var ProviderUserInputAnswers = Schema3.Record(Schema3.String, Schema3.Unknown);
85
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
86
+ var PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS = 14000000;
87
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
88
+ var ChatAttachmentId = TrimmedNonEmptyString.check(Schema3.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema3.isPattern(/^[a-z0-9_-]+$/i));
89
+ var ChatImageAttachment = Schema3.Struct({
90
+ type: Schema3.Literal("image"),
91
+ id: ChatAttachmentId,
92
+ name: TrimmedNonEmptyString.check(Schema3.isMaxLength(255)),
93
+ mimeType: TrimmedNonEmptyString.check(Schema3.isMaxLength(100), Schema3.isPattern(/^image\//i)),
94
+ sizeBytes: NonNegativeInt.check(Schema3.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
95
+ });
96
+ var UploadChatImageAttachment = Schema3.Struct({
97
+ type: Schema3.Literal("image"),
98
+ name: TrimmedNonEmptyString.check(Schema3.isMaxLength(255)),
99
+ mimeType: TrimmedNonEmptyString.check(Schema3.isMaxLength(100), Schema3.isPattern(/^image\//i)),
100
+ sizeBytes: NonNegativeInt.check(Schema3.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
101
+ dataUrl: TrimmedNonEmptyString.check(Schema3.isMaxLength(PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS))
102
+ });
103
+ var ChatAttachment = Schema3.Union([ChatImageAttachment]);
104
+ var UploadChatAttachment = Schema3.Union([UploadChatImageAttachment]);
105
+ var ProjectScriptIcon = Schema3.Literals([
106
+ "play",
107
+ "test",
108
+ "lint",
109
+ "configure",
110
+ "build",
111
+ "debug"
112
+ ]);
113
+ var ProjectScript = Schema3.Struct({
114
+ id: TrimmedNonEmptyString,
115
+ name: TrimmedNonEmptyString,
116
+ command: TrimmedNonEmptyString,
117
+ icon: ProjectScriptIcon,
118
+ runOnWorktreeCreate: Schema3.Boolean
119
+ });
120
+ var OrchestrationProject = Schema3.Struct({
121
+ id: ProjectId,
122
+ title: TrimmedNonEmptyString,
123
+ workspaceRoot: TrimmedNonEmptyString,
124
+ defaultModel: Schema3.NullOr(TrimmedNonEmptyString),
125
+ scripts: Schema3.Array(ProjectScript),
126
+ createdAt: IsoDateTime,
127
+ updatedAt: IsoDateTime,
128
+ deletedAt: Schema3.NullOr(IsoDateTime)
129
+ });
130
+ var OrchestrationMessageRole = Schema3.Literals(["user", "assistant", "system"]);
131
+ var OrchestrationMessage = Schema3.Struct({
132
+ id: MessageId,
133
+ role: OrchestrationMessageRole,
134
+ text: Schema3.String,
135
+ attachments: Schema3.optional(Schema3.Array(ChatAttachment)),
136
+ turnId: Schema3.NullOr(TurnId),
137
+ streaming: Schema3.Boolean,
138
+ createdAt: IsoDateTime,
139
+ updatedAt: IsoDateTime
140
+ });
141
+ var OrchestrationProposedPlanId = TrimmedNonEmptyString;
142
+ var OrchestrationProposedPlan = Schema3.Struct({
143
+ id: OrchestrationProposedPlanId,
144
+ turnId: Schema3.NullOr(TurnId),
145
+ planMarkdown: TrimmedNonEmptyString,
146
+ createdAt: IsoDateTime,
147
+ updatedAt: IsoDateTime
148
+ });
149
+ var OrchestrationSessionStatus = Schema3.Literals([
150
+ "idle",
151
+ "starting",
152
+ "running",
153
+ "ready",
154
+ "interrupted",
155
+ "stopped",
156
+ "error"
157
+ ]);
158
+ var OrchestrationSession = Schema3.Struct({
159
+ threadId: ThreadId,
160
+ status: OrchestrationSessionStatus,
161
+ providerName: Schema3.NullOr(TrimmedNonEmptyString),
162
+ runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
163
+ activeTurnId: Schema3.NullOr(TurnId),
164
+ lastError: Schema3.NullOr(TrimmedNonEmptyString),
165
+ updatedAt: IsoDateTime
166
+ });
167
+ var OrchestrationCheckpointFile = Schema3.Struct({
168
+ path: TrimmedNonEmptyString,
169
+ kind: TrimmedNonEmptyString,
170
+ additions: NonNegativeInt,
171
+ deletions: NonNegativeInt
172
+ });
173
+ var OrchestrationCheckpointStatus = Schema3.Literals(["ready", "missing", "error"]);
174
+ var OrchestrationCheckpointSummary = Schema3.Struct({
175
+ turnId: TurnId,
176
+ checkpointTurnCount: NonNegativeInt,
177
+ checkpointRef: CheckpointRef,
178
+ status: OrchestrationCheckpointStatus,
179
+ files: Schema3.Array(OrchestrationCheckpointFile),
180
+ assistantMessageId: Schema3.NullOr(MessageId),
181
+ completedAt: IsoDateTime
182
+ });
183
+ var OrchestrationThreadActivityTone = Schema3.Literals([
184
+ "info",
185
+ "tool",
186
+ "approval",
187
+ "error"
188
+ ]);
189
+ var OrchestrationThreadActivity = Schema3.Struct({
190
+ id: EventId,
191
+ tone: OrchestrationThreadActivityTone,
192
+ kind: TrimmedNonEmptyString,
193
+ summary: TrimmedNonEmptyString,
194
+ payload: Schema3.Unknown,
195
+ turnId: Schema3.NullOr(TurnId),
196
+ sequence: Schema3.optional(NonNegativeInt),
197
+ createdAt: IsoDateTime
198
+ });
199
+ var OrchestrationLatestTurnState = Schema3.Literals([
200
+ "running",
201
+ "interrupted",
202
+ "completed",
203
+ "error"
204
+ ]);
205
+ var OrchestrationLatestTurn = Schema3.Struct({
206
+ turnId: TurnId,
207
+ state: OrchestrationLatestTurnState,
208
+ requestedAt: IsoDateTime,
209
+ startedAt: Schema3.NullOr(IsoDateTime),
210
+ completedAt: Schema3.NullOr(IsoDateTime),
211
+ assistantMessageId: Schema3.NullOr(MessageId)
212
+ });
213
+ var OrchestrationThread = Schema3.Struct({
214
+ id: ThreadId,
215
+ projectId: ProjectId,
216
+ title: TrimmedNonEmptyString,
217
+ model: TrimmedNonEmptyString,
218
+ runtimeMode: RuntimeMode,
219
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
220
+ branch: Schema3.NullOr(TrimmedNonEmptyString),
221
+ worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
222
+ latestTurn: Schema3.NullOr(OrchestrationLatestTurn),
223
+ createdAt: IsoDateTime,
224
+ updatedAt: IsoDateTime,
225
+ deletedAt: Schema3.NullOr(IsoDateTime),
226
+ messages: Schema3.Array(OrchestrationMessage),
227
+ proposedPlans: Schema3.Array(OrchestrationProposedPlan).pipe(Schema3.withDecodingDefault(() => [])),
228
+ activities: Schema3.Array(OrchestrationThreadActivity),
229
+ checkpoints: Schema3.Array(OrchestrationCheckpointSummary),
230
+ session: Schema3.NullOr(OrchestrationSession)
231
+ });
232
+ var OrchestrationReadModel = Schema3.Struct({
233
+ snapshotSequence: NonNegativeInt,
234
+ projects: Schema3.Array(OrchestrationProject),
235
+ threads: Schema3.Array(OrchestrationThread),
236
+ updatedAt: IsoDateTime
237
+ });
238
+ var ProjectCreateCommand = Schema3.Struct({
239
+ type: Schema3.Literal("project.create"),
240
+ commandId: CommandId,
241
+ projectId: ProjectId,
242
+ title: TrimmedNonEmptyString,
243
+ workspaceRoot: TrimmedNonEmptyString,
244
+ defaultModel: Schema3.optional(TrimmedNonEmptyString),
245
+ createdAt: IsoDateTime
246
+ });
247
+ var ProjectMetaUpdateCommand = Schema3.Struct({
248
+ type: Schema3.Literal("project.meta.update"),
249
+ commandId: CommandId,
250
+ projectId: ProjectId,
251
+ title: Schema3.optional(TrimmedNonEmptyString),
252
+ workspaceRoot: Schema3.optional(TrimmedNonEmptyString),
253
+ defaultModel: Schema3.optional(TrimmedNonEmptyString),
254
+ scripts: Schema3.optional(Schema3.Array(ProjectScript))
255
+ });
256
+ var ProjectDeleteCommand = Schema3.Struct({
257
+ type: Schema3.Literal("project.delete"),
258
+ commandId: CommandId,
259
+ projectId: ProjectId
260
+ });
261
+ var ThreadCreateCommand = Schema3.Struct({
262
+ type: Schema3.Literal("thread.create"),
263
+ commandId: CommandId,
264
+ threadId: ThreadId,
265
+ projectId: ProjectId,
266
+ title: TrimmedNonEmptyString,
267
+ model: TrimmedNonEmptyString,
268
+ runtimeMode: RuntimeMode,
269
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
270
+ branch: Schema3.NullOr(TrimmedNonEmptyString),
271
+ worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
272
+ createdAt: IsoDateTime
273
+ });
274
+ var ThreadDeleteCommand = Schema3.Struct({
275
+ type: Schema3.Literal("thread.delete"),
276
+ commandId: CommandId,
277
+ threadId: ThreadId
278
+ });
279
+ var ThreadMetaUpdateCommand = Schema3.Struct({
280
+ type: Schema3.Literal("thread.meta.update"),
281
+ commandId: CommandId,
282
+ threadId: ThreadId,
283
+ title: Schema3.optional(TrimmedNonEmptyString),
284
+ model: Schema3.optional(TrimmedNonEmptyString),
285
+ branch: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
286
+ worktreePath: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString))
287
+ });
288
+ var ThreadRuntimeModeSetCommand = Schema3.Struct({
289
+ type: Schema3.Literal("thread.runtime-mode.set"),
290
+ commandId: CommandId,
291
+ threadId: ThreadId,
292
+ runtimeMode: RuntimeMode,
293
+ createdAt: IsoDateTime
294
+ });
295
+ var ThreadInteractionModeSetCommand = Schema3.Struct({
296
+ type: Schema3.Literal("thread.interaction-mode.set"),
297
+ commandId: CommandId,
298
+ threadId: ThreadId,
299
+ interactionMode: ProviderInteractionMode,
300
+ createdAt: IsoDateTime
301
+ });
302
+ var ThreadTurnStartCommand = Schema3.Struct({
303
+ type: Schema3.Literal("thread.turn.start"),
304
+ commandId: CommandId,
305
+ threadId: ThreadId,
306
+ message: Schema3.Struct({
307
+ messageId: MessageId,
308
+ role: Schema3.Literal("user"),
309
+ text: Schema3.String,
310
+ attachments: Schema3.Array(ChatAttachment)
311
+ }),
312
+ provider: Schema3.optional(ProviderKind),
313
+ model: Schema3.optional(TrimmedNonEmptyString),
314
+ serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
315
+ modelOptions: Schema3.optional(ProviderModelOptions),
316
+ assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
317
+ runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
318
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
319
+ createdAt: IsoDateTime
320
+ });
321
+ var ClientThreadTurnStartCommand = Schema3.Struct({
322
+ type: Schema3.Literal("thread.turn.start"),
323
+ commandId: CommandId,
324
+ threadId: ThreadId,
325
+ message: Schema3.Struct({
326
+ messageId: MessageId,
327
+ role: Schema3.Literal("user"),
328
+ text: Schema3.String,
329
+ attachments: Schema3.Array(UploadChatAttachment)
330
+ }),
331
+ provider: Schema3.optional(ProviderKind),
332
+ model: Schema3.optional(TrimmedNonEmptyString),
333
+ serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
334
+ modelOptions: Schema3.optional(ProviderModelOptions),
335
+ assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
336
+ runtimeMode: RuntimeMode,
337
+ interactionMode: ProviderInteractionMode,
338
+ createdAt: IsoDateTime
339
+ });
340
+ var ThreadTurnInterruptCommand = Schema3.Struct({
341
+ type: Schema3.Literal("thread.turn.interrupt"),
342
+ commandId: CommandId,
343
+ threadId: ThreadId,
344
+ turnId: Schema3.optional(TurnId),
345
+ createdAt: IsoDateTime
346
+ });
347
+ var ThreadApprovalRespondCommand = Schema3.Struct({
348
+ type: Schema3.Literal("thread.approval.respond"),
349
+ commandId: CommandId,
350
+ threadId: ThreadId,
351
+ requestId: ApprovalRequestId,
352
+ decision: ProviderApprovalDecision,
353
+ createdAt: IsoDateTime
354
+ });
355
+ var ThreadUserInputRespondCommand = Schema3.Struct({
356
+ type: Schema3.Literal("thread.user-input.respond"),
357
+ commandId: CommandId,
358
+ threadId: ThreadId,
359
+ requestId: ApprovalRequestId,
360
+ answers: ProviderUserInputAnswers,
361
+ createdAt: IsoDateTime
362
+ });
363
+ var ThreadCheckpointRevertCommand = Schema3.Struct({
364
+ type: Schema3.Literal("thread.checkpoint.revert"),
365
+ commandId: CommandId,
366
+ threadId: ThreadId,
367
+ turnCount: NonNegativeInt,
368
+ createdAt: IsoDateTime
369
+ });
370
+ var ThreadSessionStopCommand = Schema3.Struct({
371
+ type: Schema3.Literal("thread.session.stop"),
372
+ commandId: CommandId,
373
+ threadId: ThreadId,
374
+ createdAt: IsoDateTime
375
+ });
376
+ var DispatchableClientOrchestrationCommand = Schema3.Union([
377
+ ProjectCreateCommand,
378
+ ProjectMetaUpdateCommand,
379
+ ProjectDeleteCommand,
380
+ ThreadCreateCommand,
381
+ ThreadDeleteCommand,
382
+ ThreadMetaUpdateCommand,
383
+ ThreadRuntimeModeSetCommand,
384
+ ThreadInteractionModeSetCommand,
385
+ ThreadTurnStartCommand,
386
+ ThreadTurnInterruptCommand,
387
+ ThreadApprovalRespondCommand,
388
+ ThreadUserInputRespondCommand,
389
+ ThreadCheckpointRevertCommand,
390
+ ThreadSessionStopCommand
391
+ ]);
392
+ var ClientOrchestrationCommand = Schema3.Union([
393
+ ProjectCreateCommand,
394
+ ProjectMetaUpdateCommand,
395
+ ProjectDeleteCommand,
396
+ ThreadCreateCommand,
397
+ ThreadDeleteCommand,
398
+ ThreadMetaUpdateCommand,
399
+ ThreadRuntimeModeSetCommand,
400
+ ThreadInteractionModeSetCommand,
401
+ ClientThreadTurnStartCommand,
402
+ ThreadTurnInterruptCommand,
403
+ ThreadApprovalRespondCommand,
404
+ ThreadUserInputRespondCommand,
405
+ ThreadCheckpointRevertCommand,
406
+ ThreadSessionStopCommand
407
+ ]);
408
+ var ThreadSessionSetCommand = Schema3.Struct({
409
+ type: Schema3.Literal("thread.session.set"),
410
+ commandId: CommandId,
411
+ threadId: ThreadId,
412
+ session: OrchestrationSession,
413
+ createdAt: IsoDateTime
414
+ });
415
+ var ThreadMessageAssistantDeltaCommand = Schema3.Struct({
416
+ type: Schema3.Literal("thread.message.assistant.delta"),
417
+ commandId: CommandId,
418
+ threadId: ThreadId,
419
+ messageId: MessageId,
420
+ delta: Schema3.String,
421
+ turnId: Schema3.optional(TurnId),
422
+ createdAt: IsoDateTime
423
+ });
424
+ var ThreadMessageAssistantCompleteCommand = Schema3.Struct({
425
+ type: Schema3.Literal("thread.message.assistant.complete"),
426
+ commandId: CommandId,
427
+ threadId: ThreadId,
428
+ messageId: MessageId,
429
+ turnId: Schema3.optional(TurnId),
430
+ createdAt: IsoDateTime
431
+ });
432
+ var ThreadProposedPlanUpsertCommand = Schema3.Struct({
433
+ type: Schema3.Literal("thread.proposed-plan.upsert"),
434
+ commandId: CommandId,
435
+ threadId: ThreadId,
436
+ proposedPlan: OrchestrationProposedPlan,
437
+ createdAt: IsoDateTime
438
+ });
439
+ var ThreadTurnDiffCompleteCommand = Schema3.Struct({
440
+ type: Schema3.Literal("thread.turn.diff.complete"),
441
+ commandId: CommandId,
442
+ threadId: ThreadId,
443
+ turnId: TurnId,
444
+ completedAt: IsoDateTime,
445
+ checkpointRef: CheckpointRef,
446
+ status: OrchestrationCheckpointStatus,
447
+ files: Schema3.Array(OrchestrationCheckpointFile),
448
+ assistantMessageId: Schema3.optional(MessageId),
449
+ checkpointTurnCount: NonNegativeInt,
450
+ createdAt: IsoDateTime
451
+ });
452
+ var ThreadActivityAppendCommand = Schema3.Struct({
453
+ type: Schema3.Literal("thread.activity.append"),
454
+ commandId: CommandId,
455
+ threadId: ThreadId,
456
+ activity: OrchestrationThreadActivity,
457
+ createdAt: IsoDateTime
458
+ });
459
+ var ThreadRevertCompleteCommand = Schema3.Struct({
460
+ type: Schema3.Literal("thread.revert.complete"),
461
+ commandId: CommandId,
462
+ threadId: ThreadId,
463
+ turnCount: NonNegativeInt,
464
+ createdAt: IsoDateTime
465
+ });
466
+ var InternalOrchestrationCommand = Schema3.Union([
467
+ ThreadSessionSetCommand,
468
+ ThreadMessageAssistantDeltaCommand,
469
+ ThreadMessageAssistantCompleteCommand,
470
+ ThreadProposedPlanUpsertCommand,
471
+ ThreadTurnDiffCompleteCommand,
472
+ ThreadActivityAppendCommand,
473
+ ThreadRevertCompleteCommand
474
+ ]);
475
+ var OrchestrationCommand = Schema3.Union([
476
+ DispatchableClientOrchestrationCommand,
477
+ InternalOrchestrationCommand
478
+ ]);
479
+ var OrchestrationEventType = Schema3.Literals([
480
+ "project.created",
481
+ "project.meta-updated",
482
+ "project.deleted",
483
+ "thread.created",
484
+ "thread.deleted",
485
+ "thread.meta-updated",
486
+ "thread.runtime-mode-set",
487
+ "thread.interaction-mode-set",
488
+ "thread.message-sent",
489
+ "thread.turn-start-requested",
490
+ "thread.turn-interrupt-requested",
491
+ "thread.approval-response-requested",
492
+ "thread.user-input-response-requested",
493
+ "thread.checkpoint-revert-requested",
494
+ "thread.reverted",
495
+ "thread.session-stop-requested",
496
+ "thread.session-set",
497
+ "thread.proposed-plan-upserted",
498
+ "thread.turn-diff-completed",
499
+ "thread.activity-appended"
500
+ ]);
501
+ var OrchestrationAggregateKind = Schema3.Literals(["project", "thread"]);
502
+ var OrchestrationActorKind = Schema3.Literals(["client", "server", "provider"]);
503
+ var ProjectCreatedPayload = Schema3.Struct({
504
+ projectId: ProjectId,
505
+ title: TrimmedNonEmptyString,
506
+ workspaceRoot: TrimmedNonEmptyString,
507
+ defaultModel: Schema3.NullOr(TrimmedNonEmptyString),
508
+ scripts: Schema3.Array(ProjectScript),
509
+ createdAt: IsoDateTime,
510
+ updatedAt: IsoDateTime
511
+ });
512
+ var ProjectMetaUpdatedPayload = Schema3.Struct({
513
+ projectId: ProjectId,
514
+ title: Schema3.optional(TrimmedNonEmptyString),
515
+ workspaceRoot: Schema3.optional(TrimmedNonEmptyString),
516
+ defaultModel: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
517
+ scripts: Schema3.optional(Schema3.Array(ProjectScript)),
518
+ updatedAt: IsoDateTime
519
+ });
520
+ var ProjectDeletedPayload = Schema3.Struct({
521
+ projectId: ProjectId,
522
+ deletedAt: IsoDateTime
523
+ });
524
+ var ThreadCreatedPayload = Schema3.Struct({
525
+ threadId: ThreadId,
526
+ projectId: ProjectId,
527
+ title: TrimmedNonEmptyString,
528
+ model: TrimmedNonEmptyString,
529
+ runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
530
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
531
+ branch: Schema3.NullOr(TrimmedNonEmptyString),
532
+ worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
533
+ createdAt: IsoDateTime,
534
+ updatedAt: IsoDateTime
535
+ });
536
+ var ThreadDeletedPayload = Schema3.Struct({
537
+ threadId: ThreadId,
538
+ deletedAt: IsoDateTime
539
+ });
540
+ var ThreadMetaUpdatedPayload = Schema3.Struct({
541
+ threadId: ThreadId,
542
+ title: Schema3.optional(TrimmedNonEmptyString),
543
+ model: Schema3.optional(TrimmedNonEmptyString),
544
+ branch: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
545
+ worktreePath: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
546
+ updatedAt: IsoDateTime
547
+ });
548
+ var ThreadRuntimeModeSetPayload = Schema3.Struct({
549
+ threadId: ThreadId,
550
+ runtimeMode: RuntimeMode,
551
+ updatedAt: IsoDateTime
552
+ });
553
+ var ThreadInteractionModeSetPayload = Schema3.Struct({
554
+ threadId: ThreadId,
555
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
556
+ updatedAt: IsoDateTime
557
+ });
558
+ var ThreadMessageSentPayload = Schema3.Struct({
559
+ threadId: ThreadId,
560
+ messageId: MessageId,
561
+ role: OrchestrationMessageRole,
562
+ text: Schema3.String,
563
+ attachments: Schema3.optional(Schema3.Array(ChatAttachment)),
564
+ turnId: Schema3.NullOr(TurnId),
565
+ streaming: Schema3.Boolean,
566
+ createdAt: IsoDateTime,
567
+ updatedAt: IsoDateTime
568
+ });
569
+ var ThreadTurnStartRequestedPayload = Schema3.Struct({
570
+ threadId: ThreadId,
571
+ messageId: MessageId,
572
+ provider: Schema3.optional(ProviderKind),
573
+ model: Schema3.optional(TrimmedNonEmptyString),
574
+ serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
575
+ modelOptions: Schema3.optional(ProviderModelOptions),
576
+ assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
577
+ runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
578
+ interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
579
+ createdAt: IsoDateTime
580
+ });
581
+ var ThreadTurnInterruptRequestedPayload = Schema3.Struct({
582
+ threadId: ThreadId,
583
+ turnId: Schema3.optional(TurnId),
584
+ createdAt: IsoDateTime
585
+ });
586
+ var ThreadApprovalResponseRequestedPayload = Schema3.Struct({
587
+ threadId: ThreadId,
588
+ requestId: ApprovalRequestId,
589
+ decision: ProviderApprovalDecision,
590
+ createdAt: IsoDateTime
591
+ });
592
+ var ThreadUserInputResponseRequestedPayload = Schema3.Struct({
593
+ threadId: ThreadId,
594
+ requestId: ApprovalRequestId,
595
+ answers: ProviderUserInputAnswers,
596
+ createdAt: IsoDateTime
597
+ });
598
+ var ThreadCheckpointRevertRequestedPayload = Schema3.Struct({
599
+ threadId: ThreadId,
600
+ turnCount: NonNegativeInt,
601
+ createdAt: IsoDateTime
602
+ });
603
+ var ThreadRevertedPayload = Schema3.Struct({
604
+ threadId: ThreadId,
605
+ turnCount: NonNegativeInt
606
+ });
607
+ var ThreadSessionStopRequestedPayload = Schema3.Struct({
608
+ threadId: ThreadId,
609
+ createdAt: IsoDateTime
610
+ });
611
+ var ThreadSessionSetPayload = Schema3.Struct({
612
+ threadId: ThreadId,
613
+ session: OrchestrationSession
614
+ });
615
+ var ThreadProposedPlanUpsertedPayload = Schema3.Struct({
616
+ threadId: ThreadId,
617
+ proposedPlan: OrchestrationProposedPlan
618
+ });
619
+ var ThreadTurnDiffCompletedPayload = Schema3.Struct({
620
+ threadId: ThreadId,
621
+ turnId: TurnId,
622
+ checkpointTurnCount: NonNegativeInt,
623
+ checkpointRef: CheckpointRef,
624
+ status: OrchestrationCheckpointStatus,
625
+ files: Schema3.Array(OrchestrationCheckpointFile),
626
+ assistantMessageId: Schema3.NullOr(MessageId),
627
+ completedAt: IsoDateTime
628
+ });
629
+ var ThreadActivityAppendedPayload = Schema3.Struct({
630
+ threadId: ThreadId,
631
+ activity: OrchestrationThreadActivity
632
+ });
633
+ var OrchestrationEventMetadata = Schema3.Struct({
634
+ providerTurnId: Schema3.optional(TrimmedNonEmptyString),
635
+ providerItemId: Schema3.optional(ProviderItemId),
636
+ adapterKey: Schema3.optional(TrimmedNonEmptyString),
637
+ requestId: Schema3.optional(ApprovalRequestId),
638
+ ingestedAt: Schema3.optional(IsoDateTime)
639
+ });
640
+ var EventBaseFields = {
641
+ sequence: NonNegativeInt,
642
+ eventId: EventId,
643
+ aggregateKind: OrchestrationAggregateKind,
644
+ aggregateId: Schema3.Union([ProjectId, ThreadId]),
645
+ occurredAt: IsoDateTime,
646
+ commandId: Schema3.NullOr(CommandId),
647
+ causationEventId: Schema3.NullOr(EventId),
648
+ correlationId: Schema3.NullOr(CommandId),
649
+ metadata: OrchestrationEventMetadata
650
+ };
651
+ var PersistedEventBaseFields = {
652
+ sequence: NonNegativeInt,
653
+ eventId: EventId,
654
+ aggregateKind: OrchestrationAggregateKind,
655
+ streamId: Schema3.Union([ProjectId, ThreadId]),
656
+ streamVersion: NonNegativeInt,
657
+ occurredAt: IsoDateTime,
658
+ commandId: Schema3.NullOr(CommandId),
659
+ causationEventId: Schema3.NullOr(EventId),
660
+ correlationId: Schema3.NullOr(CommandId),
661
+ actorKind: OrchestrationActorKind,
662
+ metadata: OrchestrationEventMetadata
663
+ };
664
+ var OrchestrationEvent = Schema3.Union([
665
+ Schema3.Struct({
666
+ ...EventBaseFields,
667
+ type: Schema3.Literal("project.created"),
668
+ payload: ProjectCreatedPayload
669
+ }),
670
+ Schema3.Struct({
671
+ ...EventBaseFields,
672
+ type: Schema3.Literal("project.meta-updated"),
673
+ payload: ProjectMetaUpdatedPayload
674
+ }),
675
+ Schema3.Struct({
676
+ ...EventBaseFields,
677
+ type: Schema3.Literal("project.deleted"),
678
+ payload: ProjectDeletedPayload
679
+ }),
680
+ Schema3.Struct({
681
+ ...EventBaseFields,
682
+ type: Schema3.Literal("thread.created"),
683
+ payload: ThreadCreatedPayload
684
+ }),
685
+ Schema3.Struct({
686
+ ...EventBaseFields,
687
+ type: Schema3.Literal("thread.deleted"),
688
+ payload: ThreadDeletedPayload
689
+ }),
690
+ Schema3.Struct({
691
+ ...EventBaseFields,
692
+ type: Schema3.Literal("thread.meta-updated"),
693
+ payload: ThreadMetaUpdatedPayload
694
+ }),
695
+ Schema3.Struct({
696
+ ...EventBaseFields,
697
+ type: Schema3.Literal("thread.runtime-mode-set"),
698
+ payload: ThreadRuntimeModeSetPayload
699
+ }),
700
+ Schema3.Struct({
701
+ ...EventBaseFields,
702
+ type: Schema3.Literal("thread.interaction-mode-set"),
703
+ payload: ThreadInteractionModeSetPayload
704
+ }),
705
+ Schema3.Struct({
706
+ ...EventBaseFields,
707
+ type: Schema3.Literal("thread.message-sent"),
708
+ payload: ThreadMessageSentPayload
709
+ }),
710
+ Schema3.Struct({
711
+ ...EventBaseFields,
712
+ type: Schema3.Literal("thread.turn-start-requested"),
713
+ payload: ThreadTurnStartRequestedPayload
714
+ }),
715
+ Schema3.Struct({
716
+ ...EventBaseFields,
717
+ type: Schema3.Literal("thread.turn-interrupt-requested"),
718
+ payload: ThreadTurnInterruptRequestedPayload
719
+ }),
720
+ Schema3.Struct({
721
+ ...EventBaseFields,
722
+ type: Schema3.Literal("thread.approval-response-requested"),
723
+ payload: ThreadApprovalResponseRequestedPayload
724
+ }),
725
+ Schema3.Struct({
726
+ ...EventBaseFields,
727
+ type: Schema3.Literal("thread.user-input-response-requested"),
728
+ payload: ThreadUserInputResponseRequestedPayload
729
+ }),
730
+ Schema3.Struct({
731
+ ...EventBaseFields,
732
+ type: Schema3.Literal("thread.checkpoint-revert-requested"),
733
+ payload: ThreadCheckpointRevertRequestedPayload
734
+ }),
735
+ Schema3.Struct({
736
+ ...EventBaseFields,
737
+ type: Schema3.Literal("thread.reverted"),
738
+ payload: ThreadRevertedPayload
739
+ }),
740
+ Schema3.Struct({
741
+ ...EventBaseFields,
742
+ type: Schema3.Literal("thread.session-stop-requested"),
743
+ payload: ThreadSessionStopRequestedPayload
744
+ }),
745
+ Schema3.Struct({
746
+ ...EventBaseFields,
747
+ type: Schema3.Literal("thread.session-set"),
748
+ payload: ThreadSessionSetPayload
749
+ }),
750
+ Schema3.Struct({
751
+ ...EventBaseFields,
752
+ type: Schema3.Literal("thread.proposed-plan-upserted"),
753
+ payload: ThreadProposedPlanUpsertedPayload
754
+ }),
755
+ Schema3.Struct({
756
+ ...EventBaseFields,
757
+ type: Schema3.Literal("thread.turn-diff-completed"),
758
+ payload: ThreadTurnDiffCompletedPayload
759
+ }),
760
+ Schema3.Struct({
761
+ ...EventBaseFields,
762
+ type: Schema3.Literal("thread.activity-appended"),
763
+ payload: ThreadActivityAppendedPayload
764
+ })
765
+ ]);
766
+ var OrchestrationPersistedEvent = Schema3.Union([
767
+ Schema3.Struct({
768
+ ...PersistedEventBaseFields,
769
+ eventType: Schema3.Literal("project.created"),
770
+ payload: ProjectCreatedPayload
771
+ }),
772
+ Schema3.Struct({
773
+ ...PersistedEventBaseFields,
774
+ eventType: Schema3.Literal("project.meta-updated"),
775
+ payload: ProjectMetaUpdatedPayload
776
+ }),
777
+ Schema3.Struct({
778
+ ...PersistedEventBaseFields,
779
+ eventType: Schema3.Literal("project.deleted"),
780
+ payload: ProjectDeletedPayload
781
+ }),
782
+ Schema3.Struct({
783
+ ...PersistedEventBaseFields,
784
+ eventType: Schema3.Literal("thread.created"),
785
+ payload: ThreadCreatedPayload
786
+ }),
787
+ Schema3.Struct({
788
+ ...PersistedEventBaseFields,
789
+ eventType: Schema3.Literal("thread.deleted"),
790
+ payload: ThreadDeletedPayload
791
+ }),
792
+ Schema3.Struct({
793
+ ...PersistedEventBaseFields,
794
+ eventType: Schema3.Literal("thread.meta-updated"),
795
+ payload: ThreadMetaUpdatedPayload
796
+ }),
797
+ Schema3.Struct({
798
+ ...PersistedEventBaseFields,
799
+ eventType: Schema3.Literal("thread.runtime-mode-set"),
800
+ payload: ThreadRuntimeModeSetPayload
801
+ }),
802
+ Schema3.Struct({
803
+ ...PersistedEventBaseFields,
804
+ eventType: Schema3.Literal("thread.interaction-mode-set"),
805
+ payload: ThreadInteractionModeSetPayload
806
+ }),
807
+ Schema3.Struct({
808
+ ...PersistedEventBaseFields,
809
+ eventType: Schema3.Literal("thread.message-sent"),
810
+ payload: ThreadMessageSentPayload
811
+ }),
812
+ Schema3.Struct({
813
+ ...PersistedEventBaseFields,
814
+ eventType: Schema3.Literal("thread.turn-start-requested"),
815
+ payload: ThreadTurnStartRequestedPayload
816
+ }),
817
+ Schema3.Struct({
818
+ ...PersistedEventBaseFields,
819
+ eventType: Schema3.Literal("thread.turn-interrupt-requested"),
820
+ payload: ThreadTurnInterruptRequestedPayload
821
+ }),
822
+ Schema3.Struct({
823
+ ...PersistedEventBaseFields,
824
+ eventType: Schema3.Literal("thread.approval-response-requested"),
825
+ payload: ThreadApprovalResponseRequestedPayload
826
+ }),
827
+ Schema3.Struct({
828
+ ...PersistedEventBaseFields,
829
+ eventType: Schema3.Literal("thread.user-input-response-requested"),
830
+ payload: ThreadUserInputResponseRequestedPayload
831
+ }),
832
+ Schema3.Struct({
833
+ ...PersistedEventBaseFields,
834
+ eventType: Schema3.Literal("thread.checkpoint-revert-requested"),
835
+ payload: ThreadCheckpointRevertRequestedPayload
836
+ }),
837
+ Schema3.Struct({
838
+ ...PersistedEventBaseFields,
839
+ eventType: Schema3.Literal("thread.reverted"),
840
+ payload: ThreadRevertedPayload
841
+ }),
842
+ Schema3.Struct({
843
+ ...PersistedEventBaseFields,
844
+ eventType: Schema3.Literal("thread.session-stop-requested"),
845
+ payload: ThreadSessionStopRequestedPayload
846
+ }),
847
+ Schema3.Struct({
848
+ ...PersistedEventBaseFields,
849
+ eventType: Schema3.Literal("thread.session-set"),
850
+ payload: ThreadSessionSetPayload
851
+ }),
852
+ Schema3.Struct({
853
+ ...PersistedEventBaseFields,
854
+ eventType: Schema3.Literal("thread.proposed-plan-upserted"),
855
+ payload: ThreadProposedPlanUpsertedPayload
856
+ }),
857
+ Schema3.Struct({
858
+ ...PersistedEventBaseFields,
859
+ eventType: Schema3.Literal("thread.turn-diff-completed"),
860
+ payload: ThreadTurnDiffCompletedPayload
861
+ }),
862
+ Schema3.Struct({
863
+ ...PersistedEventBaseFields,
864
+ eventType: Schema3.Literal("thread.activity-appended"),
865
+ payload: ThreadActivityAppendedPayload
866
+ })
867
+ ]);
868
+ var OrchestrationCommandReceiptStatus = Schema3.Literals(["accepted", "rejected"]);
869
+ var TurnCountRange = Schema3.Struct({
870
+ fromTurnCount: NonNegativeInt,
871
+ toTurnCount: NonNegativeInt
872
+ }).check(Schema3.makeFilter((input) => input.fromTurnCount <= input.toTurnCount || new SchemaIssue.InvalidValue(Option.some(input.fromTurnCount), {
873
+ message: "fromTurnCount must be less than or equal to toTurnCount"
874
+ }), { identifier: "OrchestrationTurnDiffRange" }));
875
+ var ThreadTurnDiff = TurnCountRange.mapFields(Struct.assign({
876
+ threadId: ThreadId,
877
+ diff: Schema3.String
878
+ }), { unsafePreserveChecks: true });
879
+ var ProviderSessionRuntimeStatus = Schema3.Literals([
880
+ "starting",
881
+ "running",
882
+ "stopped",
883
+ "error"
884
+ ]);
885
+ var ProjectionThreadTurnStatus = Schema3.Literals([
886
+ "running",
887
+ "completed",
888
+ "interrupted",
889
+ "error"
890
+ ]);
891
+ var ProjectionCheckpointRow = Schema3.Struct({
892
+ threadId: ThreadId,
893
+ turnId: TurnId,
894
+ checkpointTurnCount: NonNegativeInt,
895
+ checkpointRef: CheckpointRef,
896
+ status: OrchestrationCheckpointStatus,
897
+ files: Schema3.Array(OrchestrationCheckpointFile),
898
+ assistantMessageId: Schema3.NullOr(MessageId),
899
+ completedAt: IsoDateTime
900
+ });
901
+ var ProjectionPendingApprovalStatus = Schema3.Literals(["pending", "resolved"]);
902
+ var ProjectionPendingApprovalDecision = Schema3.NullOr(ProviderApprovalDecision);
903
+ var DispatchResult = Schema3.Struct({
904
+ sequence: NonNegativeInt
905
+ });
906
+ var OrchestrationGetSnapshotInput = Schema3.Struct({});
907
+ var OrchestrationGetTurnDiffInput = TurnCountRange.mapFields(Struct.assign({ threadId: ThreadId }), { unsafePreserveChecks: true });
908
+ var OrchestrationGetFullThreadDiffInput = Schema3.Struct({
909
+ threadId: ThreadId,
910
+ toTurnCount: NonNegativeInt
911
+ });
912
+ var OrchestrationReplayEventsInput = Schema3.Struct({
913
+ fromSequenceExclusive: NonNegativeInt
914
+ });
915
+ var OrchestrationReplayEventsResult = Schema3.Array(OrchestrationEvent);
916
+
917
+ // packages/contracts/src/workspace.ts
918
+ var WorkspaceSourceKind = Schema4.Literals(["native", "rig-import", "manual", "remote"]);
919
+ var WorkspaceTopologyStatus = Schema4.Literals(["empty", "ready", "degraded"]);
920
+ var WorkspaceRemoteFleetStatus = Schema4.Literals(["empty", "ready", "degraded"]);
921
+ var WorkspaceServiceFabricStatus = Schema4.Literals([
922
+ "empty",
923
+ "booting",
924
+ "ready",
925
+ "degraded",
926
+ "stopped"
927
+ ]);
928
+ var WorkspaceRemoteHostStatus = Schema4.Literals([
929
+ "registering",
930
+ "ready",
931
+ "busy",
932
+ "degraded",
933
+ "draining",
934
+ "offline",
935
+ "quarantined"
936
+ ]);
937
+ var WorkspaceTopologyServiceSummary = Schema4.Struct({
938
+ name: TrimmedNonEmptyString,
939
+ relativeRootPath: TrimmedNonEmptyString,
940
+ runtime: TrimmedNonEmptyString,
941
+ port: Schema4.NullOr(Schema4.Number),
942
+ healthcheck: Schema4.NullOr(TrimmedNonEmptyString),
943
+ sourceOfTruth: Schema4.Struct({
944
+ code: Schema4.NullOr(TrimmedNonEmptyString),
945
+ tests: Schema4.NullOr(TrimmedNonEmptyString),
946
+ infra: Schema4.NullOr(TrimmedNonEmptyString),
947
+ deploy: Schema4.NullOr(TrimmedNonEmptyString),
948
+ dependencies: Schema4.NullOr(TrimmedNonEmptyString)
949
+ }),
950
+ splitReadyChecklist: Schema4.Array(TrimmedNonEmptyString)
951
+ });
952
+ var WorkspaceTopologySummary = Schema4.Struct({
953
+ compiledAt: IsoDateTime,
954
+ status: WorkspaceTopologyStatus,
955
+ manifestCount: Schema4.Number,
956
+ serviceCount: Schema4.Number,
957
+ services: Schema4.Array(WorkspaceTopologyServiceSummary),
958
+ warnings: Schema4.Array(Schema4.String)
959
+ });
960
+ var WorkspaceRemoteHostSummary = Schema4.Struct({
961
+ id: TrimmedNonEmptyString,
962
+ name: TrimmedNonEmptyString,
963
+ baseUrl: TrimmedNonEmptyString,
964
+ workspacePath: Schema4.NullOr(TrimmedNonEmptyString),
965
+ transport: TrimmedNonEmptyString,
966
+ hostname: Schema4.NullOr(TrimmedNonEmptyString),
967
+ region: Schema4.NullOr(TrimmedNonEmptyString),
968
+ labels: Schema4.Array(TrimmedNonEmptyString),
969
+ capabilities: Schema4.Array(TrimmedNonEmptyString),
970
+ runtimeAdapters: Schema4.Array(TrimmedNonEmptyString),
971
+ status: WorkspaceRemoteHostStatus,
972
+ currentLeaseCount: Schema4.Number,
973
+ lastHeartbeatAt: Schema4.NullOr(IsoDateTime),
974
+ registeredAt: IsoDateTime,
975
+ manifestPath: TrimmedNonEmptyString
976
+ });
977
+ var WorkspaceRemoteFleetSummary = Schema4.Struct({
978
+ updatedAt: IsoDateTime,
979
+ status: WorkspaceRemoteFleetStatus,
980
+ manifestCount: Schema4.Number,
981
+ hostCount: Schema4.Number,
982
+ onlineHostCount: Schema4.Number,
983
+ hosts: Schema4.Array(WorkspaceRemoteHostSummary),
984
+ warnings: Schema4.Array(Schema4.String)
985
+ });
986
+ var WorkspaceServiceFabricServiceSummary = Schema4.Struct({
987
+ name: TrimmedNonEmptyString,
988
+ relativeRootPath: TrimmedNonEmptyString,
989
+ mode: Schema4.Literals(["stub", "process"]),
990
+ port: Schema4.Number,
991
+ healthcheck: TrimmedNonEmptyString,
992
+ routePrefix: Schema4.NullOr(TrimmedNonEmptyString),
993
+ status: Schema4.Literals(["planned", "booting", "healthy", "degraded", "failed", "stopped"]),
994
+ pid: Schema4.NullOr(Schema4.Number),
995
+ logPath: Schema4.NullOr(TrimmedNonEmptyString)
996
+ });
997
+ var WorkspaceServiceFabricSummary = Schema4.Struct({
998
+ updatedAt: IsoDateTime,
999
+ status: WorkspaceServiceFabricStatus,
1000
+ serviceCount: Schema4.Number,
1001
+ healthyServiceCount: Schema4.Number,
1002
+ stateDir: TrimmedNonEmptyString,
1003
+ services: Schema4.Array(WorkspaceServiceFabricServiceSummary),
1004
+ warnings: Schema4.Array(Schema4.String)
1005
+ });
1006
+ var WorkspaceSummary = Schema4.Struct({
1007
+ id: WorkspaceId,
1008
+ title: TrimmedNonEmptyString,
1009
+ rootPath: TrimmedNonEmptyString,
1010
+ sourceKind: WorkspaceSourceKind,
1011
+ defaultRuntimeAdapter: Schema4.optional(TrimmedNonEmptyString),
1012
+ defaultProvider: Schema4.optional(ProviderKind),
1013
+ defaultModel: Schema4.NullOr(TrimmedNonEmptyString),
1014
+ topology: Schema4.optional(WorkspaceTopologySummary),
1015
+ remoteFleet: Schema4.optional(WorkspaceRemoteFleetSummary),
1016
+ serviceFabric: Schema4.optional(WorkspaceServiceFabricSummary),
1017
+ createdAt: IsoDateTime,
1018
+ updatedAt: IsoDateTime
1019
+ });
1020
+
1021
+ // packages/contracts/src/serviceFabric.ts
1022
+ var ServiceFabricWorkspaceInput = Schema5.Struct({
1023
+ workspaceId: WorkspaceId
1024
+ });
1025
+ var ServiceFabricUpInput = Schema5.Struct({
1026
+ workspaceId: WorkspaceId,
1027
+ services: Schema5.optional(Schema5.Array(TrimmedNonEmptyString))
1028
+ });
1029
+ var ServiceFabricUpResult = Schema5.Struct({
1030
+ plan: Schema5.Struct({
1031
+ generatedAt: IsoDateTime,
1032
+ serviceCount: Schema5.Number,
1033
+ services: Schema5.Array(Schema5.Struct({
1034
+ name: TrimmedNonEmptyString,
1035
+ relativeRootPath: TrimmedNonEmptyString,
1036
+ absoluteRootPath: TrimmedNonEmptyString,
1037
+ port: Schema5.Number,
1038
+ healthcheck: TrimmedNonEmptyString,
1039
+ routePrefix: Schema5.NullOr(TrimmedNonEmptyString),
1040
+ mode: Schema5.Literals(["stub", "process"]),
1041
+ command: Schema5.NullOr(Schema5.String),
1042
+ environment: Schema5.Unknown
1043
+ })),
1044
+ warnings: Schema5.Array(Schema5.String)
1045
+ }),
1046
+ state: Schema5.Struct({
1047
+ generatedAt: IsoDateTime,
1048
+ rootPath: TrimmedNonEmptyString,
1049
+ services: Schema5.Array(Schema5.Struct({
1050
+ name: TrimmedNonEmptyString,
1051
+ pid: Schema5.Number,
1052
+ mode: Schema5.Literals(["stub", "process"]),
1053
+ port: Schema5.Number,
1054
+ healthcheck: TrimmedNonEmptyString,
1055
+ routePrefix: Schema5.NullOr(TrimmedNonEmptyString),
1056
+ relativeRootPath: TrimmedNonEmptyString,
1057
+ logPath: TrimmedNonEmptyString
1058
+ }))
1059
+ }),
1060
+ summary: WorkspaceServiceFabricSummary
1061
+ });
1062
+ export {
1063
+ ServiceFabricWorkspaceInput,
1064
+ ServiceFabricUpResult,
1065
+ ServiceFabricUpInput
1066
+ };