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