@h-rig/contracts 0.0.6-alpha.157 → 0.0.6-alpha.159
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/index.cjs +2340 -6832
- package/dist/index.mjs +2116 -6608
- package/dist/src/agent-roles.d.ts +8 -0
- package/dist/src/browser.d.ts +34 -4
- package/dist/src/browser.js +8 -1
- package/dist/src/capability-id.d.ts +22 -0
- package/dist/src/capability-id.js +8 -0
- package/dist/src/cli-output.d.ts +24 -0
- package/dist/src/cli-runner.d.ts +43 -0
- package/dist/src/cli-runner.js +13 -0
- package/dist/src/collab-session-viewer.d.ts +36 -0
- package/dist/src/collab-session-viewer.js +13 -0
- package/dist/src/config.d.ts +11 -0
- package/dist/src/config.js +279 -1098
- package/dist/src/control-plane-types.d.ts +41 -1
- package/dist/src/control-plane-types.js +9 -25
- package/dist/src/dependency-preflight.d.ts +43 -0
- package/dist/src/dependency-preflight.js +13 -0
- package/dist/src/doctor.d.ts +67 -4
- package/dist/src/doctor.js +8 -9
- package/dist/src/errors.d.ts +13 -0
- package/dist/src/errors.js +17 -0
- package/dist/src/github.d.ts +43 -0
- package/dist/src/github.js +12 -1
- package/dist/src/graph.d.ts +37 -0
- package/dist/src/graph.js +13 -0
- package/dist/src/guard.d.ts +111 -0
- package/dist/src/guard.js +6 -0
- package/dist/src/harness-events.d.ts +8 -0
- package/dist/src/harness-events.js +1 -0
- package/dist/src/help-catalog.d.ts +17 -10
- package/dist/src/help-catalog.js +9 -651
- package/dist/src/host.d.ts +41 -0
- package/dist/src/host.js +13 -0
- package/dist/src/identity.d.ts +44 -0
- package/dist/src/identity.js +1 -0
- package/dist/src/index.d.ts +27 -7
- package/dist/src/index.js +2116 -6608
- package/dist/src/isolation.d.ts +207 -15
- package/dist/src/isolation.js +8 -1
- package/dist/src/kernel.d.ts +11 -0
- package/dist/src/kernel.js +7 -0
- package/dist/src/layout.d.ts +49 -0
- package/dist/src/layout.js +10 -0
- package/dist/src/lifecycle-capabilities.d.ts +99 -0
- package/dist/src/lifecycle-capabilities.js +18 -1
- package/dist/src/managed-repos.d.ts +79 -16
- package/dist/src/managed-repos.js +12 -1
- package/dist/src/memory.d.ts +52 -4
- package/dist/src/memory.js +8 -1
- package/dist/src/notify.d.ts +46 -0
- package/dist/src/notify.js +13 -0
- package/dist/src/orchestration.d.ts +0 -3652
- package/dist/src/orchestration.js +28 -964
- package/dist/src/plugin-hooks.js +22 -3
- package/dist/src/plugin.d.ts +47 -0
- package/dist/src/plugin.js +24 -3
- package/dist/src/prompt.d.ts +29 -0
- package/dist/src/prompt.js +13 -0
- package/dist/src/provider-instructions.d.ts +26 -4
- package/dist/src/provider-instructions.js +8 -1
- package/dist/src/provider.js +1 -824
- package/dist/src/remote.d.ts +0 -8
- package/dist/src/remote.js +229 -1075
- package/dist/src/run-discovery.d.ts +79 -0
- package/dist/src/run-discovery.js +13 -0
- package/dist/src/run-dispatch.d.ts +34 -0
- package/dist/src/run-dispatch.js +13 -0
- package/dist/src/run-identity.d.ts +47 -0
- package/dist/src/run-identity.js +13 -0
- package/dist/src/run-journal.d.ts +0 -236
- package/dist/src/run-journal.js +249 -1321
- package/dist/src/run-read-model.d.ts +234 -0
- package/dist/src/run-read-model.js +13 -0
- package/dist/src/run-record.d.ts +0 -11
- package/dist/src/run-record.js +0 -16
- package/dist/src/run-registry-backbone.d.ts +56 -0
- package/dist/src/run-registry-backbone.js +13 -0
- package/dist/src/run-session-journal.d.ts +1 -25
- package/dist/src/run-session-journal.js +0 -1731
- package/dist/src/run-status.d.ts +0 -2
- package/dist/src/run-status.js +0 -11
- package/dist/src/run-timeline.d.ts +0 -3
- package/dist/src/run-timeline.js +0 -1498
- package/dist/src/runtime-task-context.d.ts +82 -0
- package/dist/src/runtime-task-context.js +1 -0
- package/dist/src/runtime.js +66 -904
- package/dist/src/session-asset-materializer.d.ts +35 -0
- package/dist/src/session-asset-materializer.js +13 -0
- package/dist/src/setup.d.ts +47 -0
- package/dist/src/setup.js +13 -0
- package/dist/src/supervisor-journal.js +117 -955
- package/dist/src/task-data.d.ts +239 -0
- package/dist/src/task-data.js +13 -0
- package/dist/src/task-graph-primitives.d.ts +0 -21
- package/dist/src/task-graph-primitives.js +0 -318
- package/dist/src/task-source.d.ts +65 -0
- package/dist/src/task-source.js +12 -0
- package/dist/src/task-state-metadata.d.ts +21 -0
- package/dist/src/task-state-metadata.js +1 -0
- package/dist/src/tool-materializer.d.ts +36 -0
- package/dist/src/tool-materializer.js +13 -0
- package/dist/src/tool-registry.d.ts +3 -0
- package/dist/src/tool-registry.js +58 -0
- package/dist/src/toolchain-sources.d.ts +54 -0
- package/dist/src/toolchain-sources.js +17 -0
- package/dist/src/workflow-journal.d.ts +0 -32
- package/dist/src/workflow-journal.js +0 -371
- package/dist/src/workspace-config.d.ts +18 -0
- package/dist/src/workspace-config.js +13 -0
- package/dist/src/workspace.js +73 -911
- package/package.json +1 -1
- package/dist/src/engine.d.ts +0 -2789
- package/dist/src/engine.js +0 -2392
- package/dist/src/ipc.d.ts +0 -248
- package/dist/src/providerRuntime.d.ts +0 -3949
- package/dist/src/providerRuntime.js +0 -1633
- package/dist/src/rig.d.ts +0 -783
- package/dist/src/rig.js +0 -2537
- package/dist/src/server.d.ts +0 -106
- package/dist/src/server.js +0 -1056
- package/dist/src/serviceFabric.d.ts +0 -62
- package/dist/src/serviceFabric.js +0 -1069
- package/dist/src/ws.d.ts +0 -747
- package/dist/src/ws.js +0 -3126
- /package/dist/src/{ipc.js → agent-roles.js} +0 -0
package/dist/src/run-journal.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// packages/contracts/src/run-journal.ts
|
|
3
|
-
import { Schema as
|
|
3
|
+
import { Schema as Schema5 } from "effect";
|
|
4
4
|
|
|
5
5
|
// packages/contracts/src/baseSchemas.ts
|
|
6
6
|
import { Schema } from "effect";
|
|
@@ -40,887 +40,49 @@ var CheckpointRef = makeEntityId("CheckpointRef");
|
|
|
40
40
|
var RemoteEndpointId = makeEntityId("RemoteEndpointId");
|
|
41
41
|
|
|
42
42
|
// packages/contracts/src/runtime.ts
|
|
43
|
-
import { Schema as
|
|
43
|
+
import { Schema as Schema3 } from "effect";
|
|
44
44
|
|
|
45
45
|
// packages/contracts/src/orchestration.ts
|
|
46
|
-
import { Option, Schema as Schema3, SchemaIssue, Struct } from "effect";
|
|
47
|
-
|
|
48
|
-
// packages/contracts/src/model.ts
|
|
49
46
|
import { Schema as Schema2 } from "effect";
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
reasoningEffort: Schema2.optional(Schema2.Literals(CODEX_REASONING_EFFORT_OPTIONS)),
|
|
53
|
-
fastMode: Schema2.optional(Schema2.Boolean)
|
|
54
|
-
});
|
|
55
|
-
var ClaudeModelOptions = Schema2.Struct({});
|
|
56
|
-
var ProviderModelOptions = Schema2.Struct({
|
|
57
|
-
codex: Schema2.optional(CodexModelOptions),
|
|
58
|
-
claude: Schema2.optional(ClaudeModelOptions)
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// packages/contracts/src/orchestration.ts
|
|
62
|
-
var ProviderKind = Schema3.Literals(["codex", "claude"]);
|
|
63
|
-
var ProviderApprovalPolicy = Schema3.Literals([
|
|
47
|
+
var ProviderKind = Schema2.Literals(["codex", "claude"]);
|
|
48
|
+
var ProviderApprovalPolicy = Schema2.Literals([
|
|
64
49
|
"untrusted",
|
|
65
50
|
"on-failure",
|
|
66
51
|
"on-request",
|
|
67
52
|
"never"
|
|
68
53
|
]);
|
|
69
|
-
var ProviderSandboxMode =
|
|
54
|
+
var ProviderSandboxMode = Schema2.Literals([
|
|
70
55
|
"read-only",
|
|
71
56
|
"workspace-write",
|
|
72
57
|
"danger-full-access"
|
|
73
58
|
]);
|
|
74
|
-
var ProviderServiceTier =
|
|
75
|
-
var RuntimeMode =
|
|
76
|
-
var
|
|
77
|
-
var
|
|
78
|
-
var
|
|
79
|
-
var ProviderRequestKind = Schema3.Literals(["command", "file-read", "file-change"]);
|
|
80
|
-
var AssistantDeliveryMode = Schema3.Literals(["buffered", "streaming"]);
|
|
81
|
-
var ProviderApprovalDecision = Schema3.Literals([
|
|
59
|
+
var ProviderServiceTier = Schema2.Literals(["fast", "flex"]);
|
|
60
|
+
var RuntimeMode = Schema2.Literals(["approval-required", "full-access"]);
|
|
61
|
+
var ProviderInteractionMode = Schema2.Literals(["default", "plan"]);
|
|
62
|
+
var ProviderRequestKind = Schema2.Literals(["command", "file-read", "file-change"]);
|
|
63
|
+
var ProviderApprovalDecision = Schema2.Literals([
|
|
82
64
|
"accept",
|
|
83
65
|
"acceptForSession",
|
|
84
66
|
"decline",
|
|
85
67
|
"cancel"
|
|
86
68
|
]);
|
|
87
|
-
var ProviderUserInputAnswers =
|
|
69
|
+
var ProviderUserInputAnswers = Schema2.Record(Schema2.String, Schema2.Unknown);
|
|
88
70
|
var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
|
|
89
|
-
var PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS = 14000000;
|
|
90
71
|
var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
|
|
91
|
-
var ChatAttachmentId = TrimmedNonEmptyString.check(
|
|
92
|
-
var ChatImageAttachment =
|
|
93
|
-
type:
|
|
72
|
+
var ChatAttachmentId = TrimmedNonEmptyString.check(Schema2.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema2.isPattern(/^[a-z0-9_-]+$/i));
|
|
73
|
+
var ChatImageAttachment = Schema2.Struct({
|
|
74
|
+
type: Schema2.Literal("image"),
|
|
94
75
|
id: ChatAttachmentId,
|
|
95
|
-
name: TrimmedNonEmptyString.check(
|
|
96
|
-
mimeType: TrimmedNonEmptyString.check(
|
|
97
|
-
sizeBytes: NonNegativeInt.check(
|
|
98
|
-
});
|
|
99
|
-
var UploadChatImageAttachment = Schema3.Struct({
|
|
100
|
-
type: Schema3.Literal("image"),
|
|
101
|
-
name: TrimmedNonEmptyString.check(Schema3.isMaxLength(255)),
|
|
102
|
-
mimeType: TrimmedNonEmptyString.check(Schema3.isMaxLength(100), Schema3.isPattern(/^image\//i)),
|
|
103
|
-
sizeBytes: NonNegativeInt.check(Schema3.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES)),
|
|
104
|
-
dataUrl: TrimmedNonEmptyString.check(Schema3.isMaxLength(PROVIDER_SEND_TURN_MAX_IMAGE_DATA_URL_CHARS))
|
|
105
|
-
});
|
|
106
|
-
var ChatAttachment = Schema3.Union([ChatImageAttachment]);
|
|
107
|
-
var UploadChatAttachment = Schema3.Union([UploadChatImageAttachment]);
|
|
108
|
-
var ProjectScriptIcon = Schema3.Literals([
|
|
109
|
-
"play",
|
|
110
|
-
"test",
|
|
111
|
-
"lint",
|
|
112
|
-
"configure",
|
|
113
|
-
"build",
|
|
114
|
-
"debug"
|
|
115
|
-
]);
|
|
116
|
-
var ProjectScript = Schema3.Struct({
|
|
117
|
-
id: TrimmedNonEmptyString,
|
|
118
|
-
name: TrimmedNonEmptyString,
|
|
119
|
-
command: TrimmedNonEmptyString,
|
|
120
|
-
icon: ProjectScriptIcon,
|
|
121
|
-
runOnWorktreeCreate: Schema3.Boolean
|
|
122
|
-
});
|
|
123
|
-
var OrchestrationProject = Schema3.Struct({
|
|
124
|
-
id: ProjectId,
|
|
125
|
-
title: TrimmedNonEmptyString,
|
|
126
|
-
workspaceRoot: TrimmedNonEmptyString,
|
|
127
|
-
defaultModel: Schema3.NullOr(TrimmedNonEmptyString),
|
|
128
|
-
scripts: Schema3.Array(ProjectScript),
|
|
129
|
-
createdAt: IsoDateTime,
|
|
130
|
-
updatedAt: IsoDateTime,
|
|
131
|
-
deletedAt: Schema3.NullOr(IsoDateTime)
|
|
132
|
-
});
|
|
133
|
-
var OrchestrationMessageRole = Schema3.Literals(["user", "assistant", "system"]);
|
|
134
|
-
var OrchestrationMessage = Schema3.Struct({
|
|
135
|
-
id: MessageId,
|
|
136
|
-
role: OrchestrationMessageRole,
|
|
137
|
-
text: Schema3.String,
|
|
138
|
-
attachments: Schema3.optional(Schema3.Array(ChatAttachment)),
|
|
139
|
-
turnId: Schema3.NullOr(TurnId),
|
|
140
|
-
streaming: Schema3.Boolean,
|
|
141
|
-
createdAt: IsoDateTime,
|
|
142
|
-
updatedAt: IsoDateTime
|
|
143
|
-
});
|
|
144
|
-
var OrchestrationProposedPlanId = TrimmedNonEmptyString;
|
|
145
|
-
var OrchestrationProposedPlan = Schema3.Struct({
|
|
146
|
-
id: OrchestrationProposedPlanId,
|
|
147
|
-
turnId: Schema3.NullOr(TurnId),
|
|
148
|
-
planMarkdown: TrimmedNonEmptyString,
|
|
149
|
-
createdAt: IsoDateTime,
|
|
150
|
-
updatedAt: IsoDateTime
|
|
151
|
-
});
|
|
152
|
-
var OrchestrationSessionStatus = Schema3.Literals([
|
|
153
|
-
"idle",
|
|
154
|
-
"starting",
|
|
155
|
-
"running",
|
|
156
|
-
"ready",
|
|
157
|
-
"interrupted",
|
|
158
|
-
"stopped",
|
|
159
|
-
"error"
|
|
160
|
-
]);
|
|
161
|
-
var OrchestrationSession = Schema3.Struct({
|
|
162
|
-
threadId: ThreadId,
|
|
163
|
-
status: OrchestrationSessionStatus,
|
|
164
|
-
providerName: Schema3.NullOr(TrimmedNonEmptyString),
|
|
165
|
-
runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
|
|
166
|
-
activeTurnId: Schema3.NullOr(TurnId),
|
|
167
|
-
lastError: Schema3.NullOr(TrimmedNonEmptyString),
|
|
168
|
-
updatedAt: IsoDateTime
|
|
169
|
-
});
|
|
170
|
-
var OrchestrationCheckpointFile = Schema3.Struct({
|
|
171
|
-
path: TrimmedNonEmptyString,
|
|
172
|
-
kind: TrimmedNonEmptyString,
|
|
173
|
-
additions: NonNegativeInt,
|
|
174
|
-
deletions: NonNegativeInt
|
|
175
|
-
});
|
|
176
|
-
var OrchestrationCheckpointStatus = Schema3.Literals(["ready", "missing", "error"]);
|
|
177
|
-
var OrchestrationCheckpointSummary = Schema3.Struct({
|
|
178
|
-
turnId: TurnId,
|
|
179
|
-
checkpointTurnCount: NonNegativeInt,
|
|
180
|
-
checkpointRef: CheckpointRef,
|
|
181
|
-
status: OrchestrationCheckpointStatus,
|
|
182
|
-
files: Schema3.Array(OrchestrationCheckpointFile),
|
|
183
|
-
assistantMessageId: Schema3.NullOr(MessageId),
|
|
184
|
-
completedAt: IsoDateTime
|
|
185
|
-
});
|
|
186
|
-
var OrchestrationThreadActivityTone = Schema3.Literals([
|
|
187
|
-
"info",
|
|
188
|
-
"tool",
|
|
189
|
-
"approval",
|
|
190
|
-
"error"
|
|
191
|
-
]);
|
|
192
|
-
var OrchestrationThreadActivity = Schema3.Struct({
|
|
193
|
-
id: EventId,
|
|
194
|
-
tone: OrchestrationThreadActivityTone,
|
|
195
|
-
kind: TrimmedNonEmptyString,
|
|
196
|
-
summary: TrimmedNonEmptyString,
|
|
197
|
-
payload: Schema3.Unknown,
|
|
198
|
-
turnId: Schema3.NullOr(TurnId),
|
|
199
|
-
sequence: Schema3.optional(NonNegativeInt),
|
|
200
|
-
createdAt: IsoDateTime
|
|
201
|
-
});
|
|
202
|
-
var OrchestrationLatestTurnState = Schema3.Literals([
|
|
203
|
-
"running",
|
|
204
|
-
"interrupted",
|
|
205
|
-
"completed",
|
|
206
|
-
"error"
|
|
207
|
-
]);
|
|
208
|
-
var OrchestrationLatestTurn = Schema3.Struct({
|
|
209
|
-
turnId: TurnId,
|
|
210
|
-
state: OrchestrationLatestTurnState,
|
|
211
|
-
requestedAt: IsoDateTime,
|
|
212
|
-
startedAt: Schema3.NullOr(IsoDateTime),
|
|
213
|
-
completedAt: Schema3.NullOr(IsoDateTime),
|
|
214
|
-
assistantMessageId: Schema3.NullOr(MessageId)
|
|
215
|
-
});
|
|
216
|
-
var OrchestrationThread = Schema3.Struct({
|
|
217
|
-
id: ThreadId,
|
|
218
|
-
projectId: ProjectId,
|
|
219
|
-
title: TrimmedNonEmptyString,
|
|
220
|
-
model: TrimmedNonEmptyString,
|
|
221
|
-
runtimeMode: RuntimeMode,
|
|
222
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
223
|
-
branch: Schema3.NullOr(TrimmedNonEmptyString),
|
|
224
|
-
worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
|
|
225
|
-
latestTurn: Schema3.NullOr(OrchestrationLatestTurn),
|
|
226
|
-
createdAt: IsoDateTime,
|
|
227
|
-
updatedAt: IsoDateTime,
|
|
228
|
-
deletedAt: Schema3.NullOr(IsoDateTime),
|
|
229
|
-
messages: Schema3.Array(OrchestrationMessage),
|
|
230
|
-
proposedPlans: Schema3.Array(OrchestrationProposedPlan).pipe(Schema3.withDecodingDefault(() => [])),
|
|
231
|
-
activities: Schema3.Array(OrchestrationThreadActivity),
|
|
232
|
-
checkpoints: Schema3.Array(OrchestrationCheckpointSummary),
|
|
233
|
-
session: Schema3.NullOr(OrchestrationSession)
|
|
234
|
-
});
|
|
235
|
-
var OrchestrationReadModel = Schema3.Struct({
|
|
236
|
-
snapshotSequence: NonNegativeInt,
|
|
237
|
-
projects: Schema3.Array(OrchestrationProject),
|
|
238
|
-
threads: Schema3.Array(OrchestrationThread),
|
|
239
|
-
updatedAt: IsoDateTime
|
|
240
|
-
});
|
|
241
|
-
var ProjectCreateCommand = Schema3.Struct({
|
|
242
|
-
type: Schema3.Literal("project.create"),
|
|
243
|
-
commandId: CommandId,
|
|
244
|
-
projectId: ProjectId,
|
|
245
|
-
title: TrimmedNonEmptyString,
|
|
246
|
-
workspaceRoot: TrimmedNonEmptyString,
|
|
247
|
-
defaultModel: Schema3.optional(TrimmedNonEmptyString),
|
|
248
|
-
createdAt: IsoDateTime
|
|
249
|
-
});
|
|
250
|
-
var ProjectMetaUpdateCommand = Schema3.Struct({
|
|
251
|
-
type: Schema3.Literal("project.meta.update"),
|
|
252
|
-
commandId: CommandId,
|
|
253
|
-
projectId: ProjectId,
|
|
254
|
-
title: Schema3.optional(TrimmedNonEmptyString),
|
|
255
|
-
workspaceRoot: Schema3.optional(TrimmedNonEmptyString),
|
|
256
|
-
defaultModel: Schema3.optional(TrimmedNonEmptyString),
|
|
257
|
-
scripts: Schema3.optional(Schema3.Array(ProjectScript))
|
|
258
|
-
});
|
|
259
|
-
var ProjectDeleteCommand = Schema3.Struct({
|
|
260
|
-
type: Schema3.Literal("project.delete"),
|
|
261
|
-
commandId: CommandId,
|
|
262
|
-
projectId: ProjectId
|
|
263
|
-
});
|
|
264
|
-
var ThreadCreateCommand = Schema3.Struct({
|
|
265
|
-
type: Schema3.Literal("thread.create"),
|
|
266
|
-
commandId: CommandId,
|
|
267
|
-
threadId: ThreadId,
|
|
268
|
-
projectId: ProjectId,
|
|
269
|
-
title: TrimmedNonEmptyString,
|
|
270
|
-
model: TrimmedNonEmptyString,
|
|
271
|
-
runtimeMode: RuntimeMode,
|
|
272
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
273
|
-
branch: Schema3.NullOr(TrimmedNonEmptyString),
|
|
274
|
-
worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
|
|
275
|
-
createdAt: IsoDateTime
|
|
276
|
-
});
|
|
277
|
-
var ThreadDeleteCommand = Schema3.Struct({
|
|
278
|
-
type: Schema3.Literal("thread.delete"),
|
|
279
|
-
commandId: CommandId,
|
|
280
|
-
threadId: ThreadId
|
|
281
|
-
});
|
|
282
|
-
var ThreadMetaUpdateCommand = Schema3.Struct({
|
|
283
|
-
type: Schema3.Literal("thread.meta.update"),
|
|
284
|
-
commandId: CommandId,
|
|
285
|
-
threadId: ThreadId,
|
|
286
|
-
title: Schema3.optional(TrimmedNonEmptyString),
|
|
287
|
-
model: Schema3.optional(TrimmedNonEmptyString),
|
|
288
|
-
branch: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
289
|
-
worktreePath: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString))
|
|
290
|
-
});
|
|
291
|
-
var ThreadRuntimeModeSetCommand = Schema3.Struct({
|
|
292
|
-
type: Schema3.Literal("thread.runtime-mode.set"),
|
|
293
|
-
commandId: CommandId,
|
|
294
|
-
threadId: ThreadId,
|
|
295
|
-
runtimeMode: RuntimeMode,
|
|
296
|
-
createdAt: IsoDateTime
|
|
297
|
-
});
|
|
298
|
-
var ThreadInteractionModeSetCommand = Schema3.Struct({
|
|
299
|
-
type: Schema3.Literal("thread.interaction-mode.set"),
|
|
300
|
-
commandId: CommandId,
|
|
301
|
-
threadId: ThreadId,
|
|
302
|
-
interactionMode: ProviderInteractionMode,
|
|
303
|
-
createdAt: IsoDateTime
|
|
304
|
-
});
|
|
305
|
-
var ThreadTurnStartCommand = Schema3.Struct({
|
|
306
|
-
type: Schema3.Literal("thread.turn.start"),
|
|
307
|
-
commandId: CommandId,
|
|
308
|
-
threadId: ThreadId,
|
|
309
|
-
message: Schema3.Struct({
|
|
310
|
-
messageId: MessageId,
|
|
311
|
-
role: Schema3.Literal("user"),
|
|
312
|
-
text: Schema3.String,
|
|
313
|
-
attachments: Schema3.Array(ChatAttachment)
|
|
314
|
-
}),
|
|
315
|
-
provider: Schema3.optional(ProviderKind),
|
|
316
|
-
model: Schema3.optional(TrimmedNonEmptyString),
|
|
317
|
-
serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
|
|
318
|
-
modelOptions: Schema3.optional(ProviderModelOptions),
|
|
319
|
-
assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
|
|
320
|
-
runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
|
|
321
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
322
|
-
createdAt: IsoDateTime
|
|
323
|
-
});
|
|
324
|
-
var ClientThreadTurnStartCommand = Schema3.Struct({
|
|
325
|
-
type: Schema3.Literal("thread.turn.start"),
|
|
326
|
-
commandId: CommandId,
|
|
327
|
-
threadId: ThreadId,
|
|
328
|
-
message: Schema3.Struct({
|
|
329
|
-
messageId: MessageId,
|
|
330
|
-
role: Schema3.Literal("user"),
|
|
331
|
-
text: Schema3.String,
|
|
332
|
-
attachments: Schema3.Array(UploadChatAttachment)
|
|
333
|
-
}),
|
|
334
|
-
provider: Schema3.optional(ProviderKind),
|
|
335
|
-
model: Schema3.optional(TrimmedNonEmptyString),
|
|
336
|
-
serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
|
|
337
|
-
modelOptions: Schema3.optional(ProviderModelOptions),
|
|
338
|
-
assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
|
|
339
|
-
runtimeMode: RuntimeMode,
|
|
340
|
-
interactionMode: ProviderInteractionMode,
|
|
341
|
-
createdAt: IsoDateTime
|
|
342
|
-
});
|
|
343
|
-
var ThreadTurnInterruptCommand = Schema3.Struct({
|
|
344
|
-
type: Schema3.Literal("thread.turn.interrupt"),
|
|
345
|
-
commandId: CommandId,
|
|
346
|
-
threadId: ThreadId,
|
|
347
|
-
turnId: Schema3.optional(TurnId),
|
|
348
|
-
createdAt: IsoDateTime
|
|
349
|
-
});
|
|
350
|
-
var ThreadApprovalRespondCommand = Schema3.Struct({
|
|
351
|
-
type: Schema3.Literal("thread.approval.respond"),
|
|
352
|
-
commandId: CommandId,
|
|
353
|
-
threadId: ThreadId,
|
|
354
|
-
requestId: ApprovalRequestId,
|
|
355
|
-
decision: ProviderApprovalDecision,
|
|
356
|
-
createdAt: IsoDateTime
|
|
357
|
-
});
|
|
358
|
-
var ThreadUserInputRespondCommand = Schema3.Struct({
|
|
359
|
-
type: Schema3.Literal("thread.user-input.respond"),
|
|
360
|
-
commandId: CommandId,
|
|
361
|
-
threadId: ThreadId,
|
|
362
|
-
requestId: ApprovalRequestId,
|
|
363
|
-
answers: ProviderUserInputAnswers,
|
|
364
|
-
createdAt: IsoDateTime
|
|
365
|
-
});
|
|
366
|
-
var ThreadCheckpointRevertCommand = Schema3.Struct({
|
|
367
|
-
type: Schema3.Literal("thread.checkpoint.revert"),
|
|
368
|
-
commandId: CommandId,
|
|
369
|
-
threadId: ThreadId,
|
|
370
|
-
turnCount: NonNegativeInt,
|
|
371
|
-
createdAt: IsoDateTime
|
|
372
|
-
});
|
|
373
|
-
var ThreadSessionStopCommand = Schema3.Struct({
|
|
374
|
-
type: Schema3.Literal("thread.session.stop"),
|
|
375
|
-
commandId: CommandId,
|
|
376
|
-
threadId: ThreadId,
|
|
377
|
-
createdAt: IsoDateTime
|
|
76
|
+
name: TrimmedNonEmptyString.check(Schema2.isMaxLength(255)),
|
|
77
|
+
mimeType: TrimmedNonEmptyString.check(Schema2.isMaxLength(100), Schema2.isPattern(/^image\//i)),
|
|
78
|
+
sizeBytes: NonNegativeInt.check(Schema2.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
|
|
378
79
|
});
|
|
379
|
-
var
|
|
380
|
-
ProjectCreateCommand,
|
|
381
|
-
ProjectMetaUpdateCommand,
|
|
382
|
-
ProjectDeleteCommand,
|
|
383
|
-
ThreadCreateCommand,
|
|
384
|
-
ThreadDeleteCommand,
|
|
385
|
-
ThreadMetaUpdateCommand,
|
|
386
|
-
ThreadRuntimeModeSetCommand,
|
|
387
|
-
ThreadInteractionModeSetCommand,
|
|
388
|
-
ThreadTurnStartCommand,
|
|
389
|
-
ThreadTurnInterruptCommand,
|
|
390
|
-
ThreadApprovalRespondCommand,
|
|
391
|
-
ThreadUserInputRespondCommand,
|
|
392
|
-
ThreadCheckpointRevertCommand,
|
|
393
|
-
ThreadSessionStopCommand
|
|
394
|
-
]);
|
|
395
|
-
var ClientOrchestrationCommand = Schema3.Union([
|
|
396
|
-
ProjectCreateCommand,
|
|
397
|
-
ProjectMetaUpdateCommand,
|
|
398
|
-
ProjectDeleteCommand,
|
|
399
|
-
ThreadCreateCommand,
|
|
400
|
-
ThreadDeleteCommand,
|
|
401
|
-
ThreadMetaUpdateCommand,
|
|
402
|
-
ThreadRuntimeModeSetCommand,
|
|
403
|
-
ThreadInteractionModeSetCommand,
|
|
404
|
-
ClientThreadTurnStartCommand,
|
|
405
|
-
ThreadTurnInterruptCommand,
|
|
406
|
-
ThreadApprovalRespondCommand,
|
|
407
|
-
ThreadUserInputRespondCommand,
|
|
408
|
-
ThreadCheckpointRevertCommand,
|
|
409
|
-
ThreadSessionStopCommand
|
|
410
|
-
]);
|
|
411
|
-
var ThreadSessionSetCommand = Schema3.Struct({
|
|
412
|
-
type: Schema3.Literal("thread.session.set"),
|
|
413
|
-
commandId: CommandId,
|
|
414
|
-
threadId: ThreadId,
|
|
415
|
-
session: OrchestrationSession,
|
|
416
|
-
createdAt: IsoDateTime
|
|
417
|
-
});
|
|
418
|
-
var ThreadMessageAssistantDeltaCommand = Schema3.Struct({
|
|
419
|
-
type: Schema3.Literal("thread.message.assistant.delta"),
|
|
420
|
-
commandId: CommandId,
|
|
421
|
-
threadId: ThreadId,
|
|
422
|
-
messageId: MessageId,
|
|
423
|
-
delta: Schema3.String,
|
|
424
|
-
turnId: Schema3.optional(TurnId),
|
|
425
|
-
createdAt: IsoDateTime
|
|
426
|
-
});
|
|
427
|
-
var ThreadMessageAssistantCompleteCommand = Schema3.Struct({
|
|
428
|
-
type: Schema3.Literal("thread.message.assistant.complete"),
|
|
429
|
-
commandId: CommandId,
|
|
430
|
-
threadId: ThreadId,
|
|
431
|
-
messageId: MessageId,
|
|
432
|
-
turnId: Schema3.optional(TurnId),
|
|
433
|
-
createdAt: IsoDateTime
|
|
434
|
-
});
|
|
435
|
-
var ThreadProposedPlanUpsertCommand = Schema3.Struct({
|
|
436
|
-
type: Schema3.Literal("thread.proposed-plan.upsert"),
|
|
437
|
-
commandId: CommandId,
|
|
438
|
-
threadId: ThreadId,
|
|
439
|
-
proposedPlan: OrchestrationProposedPlan,
|
|
440
|
-
createdAt: IsoDateTime
|
|
441
|
-
});
|
|
442
|
-
var ThreadTurnDiffCompleteCommand = Schema3.Struct({
|
|
443
|
-
type: Schema3.Literal("thread.turn.diff.complete"),
|
|
444
|
-
commandId: CommandId,
|
|
445
|
-
threadId: ThreadId,
|
|
446
|
-
turnId: TurnId,
|
|
447
|
-
completedAt: IsoDateTime,
|
|
448
|
-
checkpointRef: CheckpointRef,
|
|
449
|
-
status: OrchestrationCheckpointStatus,
|
|
450
|
-
files: Schema3.Array(OrchestrationCheckpointFile),
|
|
451
|
-
assistantMessageId: Schema3.optional(MessageId),
|
|
452
|
-
checkpointTurnCount: NonNegativeInt,
|
|
453
|
-
createdAt: IsoDateTime
|
|
454
|
-
});
|
|
455
|
-
var ThreadActivityAppendCommand = Schema3.Struct({
|
|
456
|
-
type: Schema3.Literal("thread.activity.append"),
|
|
457
|
-
commandId: CommandId,
|
|
458
|
-
threadId: ThreadId,
|
|
459
|
-
activity: OrchestrationThreadActivity,
|
|
460
|
-
createdAt: IsoDateTime
|
|
461
|
-
});
|
|
462
|
-
var ThreadRevertCompleteCommand = Schema3.Struct({
|
|
463
|
-
type: Schema3.Literal("thread.revert.complete"),
|
|
464
|
-
commandId: CommandId,
|
|
465
|
-
threadId: ThreadId,
|
|
466
|
-
turnCount: NonNegativeInt,
|
|
467
|
-
createdAt: IsoDateTime
|
|
468
|
-
});
|
|
469
|
-
var InternalOrchestrationCommand = Schema3.Union([
|
|
470
|
-
ThreadSessionSetCommand,
|
|
471
|
-
ThreadMessageAssistantDeltaCommand,
|
|
472
|
-
ThreadMessageAssistantCompleteCommand,
|
|
473
|
-
ThreadProposedPlanUpsertCommand,
|
|
474
|
-
ThreadTurnDiffCompleteCommand,
|
|
475
|
-
ThreadActivityAppendCommand,
|
|
476
|
-
ThreadRevertCompleteCommand
|
|
477
|
-
]);
|
|
478
|
-
var OrchestrationCommand = Schema3.Union([
|
|
479
|
-
DispatchableClientOrchestrationCommand,
|
|
480
|
-
InternalOrchestrationCommand
|
|
481
|
-
]);
|
|
482
|
-
var OrchestrationEventType = Schema3.Literals([
|
|
483
|
-
"project.created",
|
|
484
|
-
"project.meta-updated",
|
|
485
|
-
"project.deleted",
|
|
486
|
-
"thread.created",
|
|
487
|
-
"thread.deleted",
|
|
488
|
-
"thread.meta-updated",
|
|
489
|
-
"thread.runtime-mode-set",
|
|
490
|
-
"thread.interaction-mode-set",
|
|
491
|
-
"thread.message-sent",
|
|
492
|
-
"thread.turn-start-requested",
|
|
493
|
-
"thread.turn-interrupt-requested",
|
|
494
|
-
"thread.approval-response-requested",
|
|
495
|
-
"thread.user-input-response-requested",
|
|
496
|
-
"thread.checkpoint-revert-requested",
|
|
497
|
-
"thread.reverted",
|
|
498
|
-
"thread.session-stop-requested",
|
|
499
|
-
"thread.session-set",
|
|
500
|
-
"thread.proposed-plan-upserted",
|
|
501
|
-
"thread.turn-diff-completed",
|
|
502
|
-
"thread.activity-appended"
|
|
503
|
-
]);
|
|
504
|
-
var OrchestrationAggregateKind = Schema3.Literals(["project", "thread"]);
|
|
505
|
-
var OrchestrationActorKind = Schema3.Literals(["client", "server", "provider"]);
|
|
506
|
-
var ProjectCreatedPayload = Schema3.Struct({
|
|
507
|
-
projectId: ProjectId,
|
|
508
|
-
title: TrimmedNonEmptyString,
|
|
509
|
-
workspaceRoot: TrimmedNonEmptyString,
|
|
510
|
-
defaultModel: Schema3.NullOr(TrimmedNonEmptyString),
|
|
511
|
-
scripts: Schema3.Array(ProjectScript),
|
|
512
|
-
createdAt: IsoDateTime,
|
|
513
|
-
updatedAt: IsoDateTime
|
|
514
|
-
});
|
|
515
|
-
var ProjectMetaUpdatedPayload = Schema3.Struct({
|
|
516
|
-
projectId: ProjectId,
|
|
517
|
-
title: Schema3.optional(TrimmedNonEmptyString),
|
|
518
|
-
workspaceRoot: Schema3.optional(TrimmedNonEmptyString),
|
|
519
|
-
defaultModel: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
520
|
-
scripts: Schema3.optional(Schema3.Array(ProjectScript)),
|
|
521
|
-
updatedAt: IsoDateTime
|
|
522
|
-
});
|
|
523
|
-
var ProjectDeletedPayload = Schema3.Struct({
|
|
524
|
-
projectId: ProjectId,
|
|
525
|
-
deletedAt: IsoDateTime
|
|
526
|
-
});
|
|
527
|
-
var ThreadCreatedPayload = Schema3.Struct({
|
|
528
|
-
threadId: ThreadId,
|
|
529
|
-
projectId: ProjectId,
|
|
530
|
-
title: TrimmedNonEmptyString,
|
|
531
|
-
model: TrimmedNonEmptyString,
|
|
532
|
-
runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
|
|
533
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
534
|
-
branch: Schema3.NullOr(TrimmedNonEmptyString),
|
|
535
|
-
worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
|
|
536
|
-
createdAt: IsoDateTime,
|
|
537
|
-
updatedAt: IsoDateTime
|
|
538
|
-
});
|
|
539
|
-
var ThreadDeletedPayload = Schema3.Struct({
|
|
540
|
-
threadId: ThreadId,
|
|
541
|
-
deletedAt: IsoDateTime
|
|
542
|
-
});
|
|
543
|
-
var ThreadMetaUpdatedPayload = Schema3.Struct({
|
|
544
|
-
threadId: ThreadId,
|
|
545
|
-
title: Schema3.optional(TrimmedNonEmptyString),
|
|
546
|
-
model: Schema3.optional(TrimmedNonEmptyString),
|
|
547
|
-
branch: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
548
|
-
worktreePath: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
549
|
-
updatedAt: IsoDateTime
|
|
550
|
-
});
|
|
551
|
-
var ThreadRuntimeModeSetPayload = Schema3.Struct({
|
|
552
|
-
threadId: ThreadId,
|
|
553
|
-
runtimeMode: RuntimeMode,
|
|
554
|
-
updatedAt: IsoDateTime
|
|
555
|
-
});
|
|
556
|
-
var ThreadInteractionModeSetPayload = Schema3.Struct({
|
|
557
|
-
threadId: ThreadId,
|
|
558
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
559
|
-
updatedAt: IsoDateTime
|
|
560
|
-
});
|
|
561
|
-
var ThreadMessageSentPayload = Schema3.Struct({
|
|
562
|
-
threadId: ThreadId,
|
|
563
|
-
messageId: MessageId,
|
|
564
|
-
role: OrchestrationMessageRole,
|
|
565
|
-
text: Schema3.String,
|
|
566
|
-
attachments: Schema3.optional(Schema3.Array(ChatAttachment)),
|
|
567
|
-
turnId: Schema3.NullOr(TurnId),
|
|
568
|
-
streaming: Schema3.Boolean,
|
|
569
|
-
createdAt: IsoDateTime,
|
|
570
|
-
updatedAt: IsoDateTime
|
|
571
|
-
});
|
|
572
|
-
var ThreadTurnStartRequestedPayload = Schema3.Struct({
|
|
573
|
-
threadId: ThreadId,
|
|
574
|
-
messageId: MessageId,
|
|
575
|
-
provider: Schema3.optional(ProviderKind),
|
|
576
|
-
model: Schema3.optional(TrimmedNonEmptyString),
|
|
577
|
-
serviceTier: Schema3.optional(Schema3.NullOr(ProviderServiceTier)),
|
|
578
|
-
modelOptions: Schema3.optional(ProviderModelOptions),
|
|
579
|
-
assistantDeliveryMode: Schema3.optional(AssistantDeliveryMode),
|
|
580
|
-
runtimeMode: RuntimeMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_RUNTIME_MODE)),
|
|
581
|
-
interactionMode: ProviderInteractionMode.pipe(Schema3.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
|
|
582
|
-
createdAt: IsoDateTime
|
|
583
|
-
});
|
|
584
|
-
var ThreadTurnInterruptRequestedPayload = Schema3.Struct({
|
|
585
|
-
threadId: ThreadId,
|
|
586
|
-
turnId: Schema3.optional(TurnId),
|
|
587
|
-
createdAt: IsoDateTime
|
|
588
|
-
});
|
|
589
|
-
var ThreadApprovalResponseRequestedPayload = Schema3.Struct({
|
|
590
|
-
threadId: ThreadId,
|
|
591
|
-
requestId: ApprovalRequestId,
|
|
592
|
-
decision: ProviderApprovalDecision,
|
|
593
|
-
createdAt: IsoDateTime
|
|
594
|
-
});
|
|
595
|
-
var ThreadUserInputResponseRequestedPayload = Schema3.Struct({
|
|
596
|
-
threadId: ThreadId,
|
|
597
|
-
requestId: ApprovalRequestId,
|
|
598
|
-
answers: ProviderUserInputAnswers,
|
|
599
|
-
createdAt: IsoDateTime
|
|
600
|
-
});
|
|
601
|
-
var ThreadCheckpointRevertRequestedPayload = Schema3.Struct({
|
|
602
|
-
threadId: ThreadId,
|
|
603
|
-
turnCount: NonNegativeInt,
|
|
604
|
-
createdAt: IsoDateTime
|
|
605
|
-
});
|
|
606
|
-
var ThreadRevertedPayload = Schema3.Struct({
|
|
607
|
-
threadId: ThreadId,
|
|
608
|
-
turnCount: NonNegativeInt
|
|
609
|
-
});
|
|
610
|
-
var ThreadSessionStopRequestedPayload = Schema3.Struct({
|
|
611
|
-
threadId: ThreadId,
|
|
612
|
-
createdAt: IsoDateTime
|
|
613
|
-
});
|
|
614
|
-
var ThreadSessionSetPayload = Schema3.Struct({
|
|
615
|
-
threadId: ThreadId,
|
|
616
|
-
session: OrchestrationSession
|
|
617
|
-
});
|
|
618
|
-
var ThreadProposedPlanUpsertedPayload = Schema3.Struct({
|
|
619
|
-
threadId: ThreadId,
|
|
620
|
-
proposedPlan: OrchestrationProposedPlan
|
|
621
|
-
});
|
|
622
|
-
var ThreadTurnDiffCompletedPayload = Schema3.Struct({
|
|
623
|
-
threadId: ThreadId,
|
|
624
|
-
turnId: TurnId,
|
|
625
|
-
checkpointTurnCount: NonNegativeInt,
|
|
626
|
-
checkpointRef: CheckpointRef,
|
|
627
|
-
status: OrchestrationCheckpointStatus,
|
|
628
|
-
files: Schema3.Array(OrchestrationCheckpointFile),
|
|
629
|
-
assistantMessageId: Schema3.NullOr(MessageId),
|
|
630
|
-
completedAt: IsoDateTime
|
|
631
|
-
});
|
|
632
|
-
var ThreadActivityAppendedPayload = Schema3.Struct({
|
|
633
|
-
threadId: ThreadId,
|
|
634
|
-
activity: OrchestrationThreadActivity
|
|
635
|
-
});
|
|
636
|
-
var OrchestrationEventMetadata = Schema3.Struct({
|
|
637
|
-
providerTurnId: Schema3.optional(TrimmedNonEmptyString),
|
|
638
|
-
providerItemId: Schema3.optional(ProviderItemId),
|
|
639
|
-
adapterKey: Schema3.optional(TrimmedNonEmptyString),
|
|
640
|
-
requestId: Schema3.optional(ApprovalRequestId),
|
|
641
|
-
ingestedAt: Schema3.optional(IsoDateTime)
|
|
642
|
-
});
|
|
643
|
-
var EventBaseFields = {
|
|
644
|
-
sequence: NonNegativeInt,
|
|
645
|
-
eventId: EventId,
|
|
646
|
-
aggregateKind: OrchestrationAggregateKind,
|
|
647
|
-
aggregateId: Schema3.Union([ProjectId, ThreadId]),
|
|
648
|
-
occurredAt: IsoDateTime,
|
|
649
|
-
commandId: Schema3.NullOr(CommandId),
|
|
650
|
-
causationEventId: Schema3.NullOr(EventId),
|
|
651
|
-
correlationId: Schema3.NullOr(CommandId),
|
|
652
|
-
metadata: OrchestrationEventMetadata
|
|
653
|
-
};
|
|
654
|
-
var PersistedEventBaseFields = {
|
|
655
|
-
sequence: NonNegativeInt,
|
|
656
|
-
eventId: EventId,
|
|
657
|
-
aggregateKind: OrchestrationAggregateKind,
|
|
658
|
-
streamId: Schema3.Union([ProjectId, ThreadId]),
|
|
659
|
-
streamVersion: NonNegativeInt,
|
|
660
|
-
occurredAt: IsoDateTime,
|
|
661
|
-
commandId: Schema3.NullOr(CommandId),
|
|
662
|
-
causationEventId: Schema3.NullOr(EventId),
|
|
663
|
-
correlationId: Schema3.NullOr(CommandId),
|
|
664
|
-
actorKind: OrchestrationActorKind,
|
|
665
|
-
metadata: OrchestrationEventMetadata
|
|
666
|
-
};
|
|
667
|
-
var OrchestrationEvent = Schema3.Union([
|
|
668
|
-
Schema3.Struct({
|
|
669
|
-
...EventBaseFields,
|
|
670
|
-
type: Schema3.Literal("project.created"),
|
|
671
|
-
payload: ProjectCreatedPayload
|
|
672
|
-
}),
|
|
673
|
-
Schema3.Struct({
|
|
674
|
-
...EventBaseFields,
|
|
675
|
-
type: Schema3.Literal("project.meta-updated"),
|
|
676
|
-
payload: ProjectMetaUpdatedPayload
|
|
677
|
-
}),
|
|
678
|
-
Schema3.Struct({
|
|
679
|
-
...EventBaseFields,
|
|
680
|
-
type: Schema3.Literal("project.deleted"),
|
|
681
|
-
payload: ProjectDeletedPayload
|
|
682
|
-
}),
|
|
683
|
-
Schema3.Struct({
|
|
684
|
-
...EventBaseFields,
|
|
685
|
-
type: Schema3.Literal("thread.created"),
|
|
686
|
-
payload: ThreadCreatedPayload
|
|
687
|
-
}),
|
|
688
|
-
Schema3.Struct({
|
|
689
|
-
...EventBaseFields,
|
|
690
|
-
type: Schema3.Literal("thread.deleted"),
|
|
691
|
-
payload: ThreadDeletedPayload
|
|
692
|
-
}),
|
|
693
|
-
Schema3.Struct({
|
|
694
|
-
...EventBaseFields,
|
|
695
|
-
type: Schema3.Literal("thread.meta-updated"),
|
|
696
|
-
payload: ThreadMetaUpdatedPayload
|
|
697
|
-
}),
|
|
698
|
-
Schema3.Struct({
|
|
699
|
-
...EventBaseFields,
|
|
700
|
-
type: Schema3.Literal("thread.runtime-mode-set"),
|
|
701
|
-
payload: ThreadRuntimeModeSetPayload
|
|
702
|
-
}),
|
|
703
|
-
Schema3.Struct({
|
|
704
|
-
...EventBaseFields,
|
|
705
|
-
type: Schema3.Literal("thread.interaction-mode-set"),
|
|
706
|
-
payload: ThreadInteractionModeSetPayload
|
|
707
|
-
}),
|
|
708
|
-
Schema3.Struct({
|
|
709
|
-
...EventBaseFields,
|
|
710
|
-
type: Schema3.Literal("thread.message-sent"),
|
|
711
|
-
payload: ThreadMessageSentPayload
|
|
712
|
-
}),
|
|
713
|
-
Schema3.Struct({
|
|
714
|
-
...EventBaseFields,
|
|
715
|
-
type: Schema3.Literal("thread.turn-start-requested"),
|
|
716
|
-
payload: ThreadTurnStartRequestedPayload
|
|
717
|
-
}),
|
|
718
|
-
Schema3.Struct({
|
|
719
|
-
...EventBaseFields,
|
|
720
|
-
type: Schema3.Literal("thread.turn-interrupt-requested"),
|
|
721
|
-
payload: ThreadTurnInterruptRequestedPayload
|
|
722
|
-
}),
|
|
723
|
-
Schema3.Struct({
|
|
724
|
-
...EventBaseFields,
|
|
725
|
-
type: Schema3.Literal("thread.approval-response-requested"),
|
|
726
|
-
payload: ThreadApprovalResponseRequestedPayload
|
|
727
|
-
}),
|
|
728
|
-
Schema3.Struct({
|
|
729
|
-
...EventBaseFields,
|
|
730
|
-
type: Schema3.Literal("thread.user-input-response-requested"),
|
|
731
|
-
payload: ThreadUserInputResponseRequestedPayload
|
|
732
|
-
}),
|
|
733
|
-
Schema3.Struct({
|
|
734
|
-
...EventBaseFields,
|
|
735
|
-
type: Schema3.Literal("thread.checkpoint-revert-requested"),
|
|
736
|
-
payload: ThreadCheckpointRevertRequestedPayload
|
|
737
|
-
}),
|
|
738
|
-
Schema3.Struct({
|
|
739
|
-
...EventBaseFields,
|
|
740
|
-
type: Schema3.Literal("thread.reverted"),
|
|
741
|
-
payload: ThreadRevertedPayload
|
|
742
|
-
}),
|
|
743
|
-
Schema3.Struct({
|
|
744
|
-
...EventBaseFields,
|
|
745
|
-
type: Schema3.Literal("thread.session-stop-requested"),
|
|
746
|
-
payload: ThreadSessionStopRequestedPayload
|
|
747
|
-
}),
|
|
748
|
-
Schema3.Struct({
|
|
749
|
-
...EventBaseFields,
|
|
750
|
-
type: Schema3.Literal("thread.session-set"),
|
|
751
|
-
payload: ThreadSessionSetPayload
|
|
752
|
-
}),
|
|
753
|
-
Schema3.Struct({
|
|
754
|
-
...EventBaseFields,
|
|
755
|
-
type: Schema3.Literal("thread.proposed-plan-upserted"),
|
|
756
|
-
payload: ThreadProposedPlanUpsertedPayload
|
|
757
|
-
}),
|
|
758
|
-
Schema3.Struct({
|
|
759
|
-
...EventBaseFields,
|
|
760
|
-
type: Schema3.Literal("thread.turn-diff-completed"),
|
|
761
|
-
payload: ThreadTurnDiffCompletedPayload
|
|
762
|
-
}),
|
|
763
|
-
Schema3.Struct({
|
|
764
|
-
...EventBaseFields,
|
|
765
|
-
type: Schema3.Literal("thread.activity-appended"),
|
|
766
|
-
payload: ThreadActivityAppendedPayload
|
|
767
|
-
})
|
|
768
|
-
]);
|
|
769
|
-
var OrchestrationPersistedEvent = Schema3.Union([
|
|
770
|
-
Schema3.Struct({
|
|
771
|
-
...PersistedEventBaseFields,
|
|
772
|
-
eventType: Schema3.Literal("project.created"),
|
|
773
|
-
payload: ProjectCreatedPayload
|
|
774
|
-
}),
|
|
775
|
-
Schema3.Struct({
|
|
776
|
-
...PersistedEventBaseFields,
|
|
777
|
-
eventType: Schema3.Literal("project.meta-updated"),
|
|
778
|
-
payload: ProjectMetaUpdatedPayload
|
|
779
|
-
}),
|
|
780
|
-
Schema3.Struct({
|
|
781
|
-
...PersistedEventBaseFields,
|
|
782
|
-
eventType: Schema3.Literal("project.deleted"),
|
|
783
|
-
payload: ProjectDeletedPayload
|
|
784
|
-
}),
|
|
785
|
-
Schema3.Struct({
|
|
786
|
-
...PersistedEventBaseFields,
|
|
787
|
-
eventType: Schema3.Literal("thread.created"),
|
|
788
|
-
payload: ThreadCreatedPayload
|
|
789
|
-
}),
|
|
790
|
-
Schema3.Struct({
|
|
791
|
-
...PersistedEventBaseFields,
|
|
792
|
-
eventType: Schema3.Literal("thread.deleted"),
|
|
793
|
-
payload: ThreadDeletedPayload
|
|
794
|
-
}),
|
|
795
|
-
Schema3.Struct({
|
|
796
|
-
...PersistedEventBaseFields,
|
|
797
|
-
eventType: Schema3.Literal("thread.meta-updated"),
|
|
798
|
-
payload: ThreadMetaUpdatedPayload
|
|
799
|
-
}),
|
|
800
|
-
Schema3.Struct({
|
|
801
|
-
...PersistedEventBaseFields,
|
|
802
|
-
eventType: Schema3.Literal("thread.runtime-mode-set"),
|
|
803
|
-
payload: ThreadRuntimeModeSetPayload
|
|
804
|
-
}),
|
|
805
|
-
Schema3.Struct({
|
|
806
|
-
...PersistedEventBaseFields,
|
|
807
|
-
eventType: Schema3.Literal("thread.interaction-mode-set"),
|
|
808
|
-
payload: ThreadInteractionModeSetPayload
|
|
809
|
-
}),
|
|
810
|
-
Schema3.Struct({
|
|
811
|
-
...PersistedEventBaseFields,
|
|
812
|
-
eventType: Schema3.Literal("thread.message-sent"),
|
|
813
|
-
payload: ThreadMessageSentPayload
|
|
814
|
-
}),
|
|
815
|
-
Schema3.Struct({
|
|
816
|
-
...PersistedEventBaseFields,
|
|
817
|
-
eventType: Schema3.Literal("thread.turn-start-requested"),
|
|
818
|
-
payload: ThreadTurnStartRequestedPayload
|
|
819
|
-
}),
|
|
820
|
-
Schema3.Struct({
|
|
821
|
-
...PersistedEventBaseFields,
|
|
822
|
-
eventType: Schema3.Literal("thread.turn-interrupt-requested"),
|
|
823
|
-
payload: ThreadTurnInterruptRequestedPayload
|
|
824
|
-
}),
|
|
825
|
-
Schema3.Struct({
|
|
826
|
-
...PersistedEventBaseFields,
|
|
827
|
-
eventType: Schema3.Literal("thread.approval-response-requested"),
|
|
828
|
-
payload: ThreadApprovalResponseRequestedPayload
|
|
829
|
-
}),
|
|
830
|
-
Schema3.Struct({
|
|
831
|
-
...PersistedEventBaseFields,
|
|
832
|
-
eventType: Schema3.Literal("thread.user-input-response-requested"),
|
|
833
|
-
payload: ThreadUserInputResponseRequestedPayload
|
|
834
|
-
}),
|
|
835
|
-
Schema3.Struct({
|
|
836
|
-
...PersistedEventBaseFields,
|
|
837
|
-
eventType: Schema3.Literal("thread.checkpoint-revert-requested"),
|
|
838
|
-
payload: ThreadCheckpointRevertRequestedPayload
|
|
839
|
-
}),
|
|
840
|
-
Schema3.Struct({
|
|
841
|
-
...PersistedEventBaseFields,
|
|
842
|
-
eventType: Schema3.Literal("thread.reverted"),
|
|
843
|
-
payload: ThreadRevertedPayload
|
|
844
|
-
}),
|
|
845
|
-
Schema3.Struct({
|
|
846
|
-
...PersistedEventBaseFields,
|
|
847
|
-
eventType: Schema3.Literal("thread.session-stop-requested"),
|
|
848
|
-
payload: ThreadSessionStopRequestedPayload
|
|
849
|
-
}),
|
|
850
|
-
Schema3.Struct({
|
|
851
|
-
...PersistedEventBaseFields,
|
|
852
|
-
eventType: Schema3.Literal("thread.session-set"),
|
|
853
|
-
payload: ThreadSessionSetPayload
|
|
854
|
-
}),
|
|
855
|
-
Schema3.Struct({
|
|
856
|
-
...PersistedEventBaseFields,
|
|
857
|
-
eventType: Schema3.Literal("thread.proposed-plan-upserted"),
|
|
858
|
-
payload: ThreadProposedPlanUpsertedPayload
|
|
859
|
-
}),
|
|
860
|
-
Schema3.Struct({
|
|
861
|
-
...PersistedEventBaseFields,
|
|
862
|
-
eventType: Schema3.Literal("thread.turn-diff-completed"),
|
|
863
|
-
payload: ThreadTurnDiffCompletedPayload
|
|
864
|
-
}),
|
|
865
|
-
Schema3.Struct({
|
|
866
|
-
...PersistedEventBaseFields,
|
|
867
|
-
eventType: Schema3.Literal("thread.activity-appended"),
|
|
868
|
-
payload: ThreadActivityAppendedPayload
|
|
869
|
-
})
|
|
870
|
-
]);
|
|
871
|
-
var OrchestrationCommandReceiptStatus = Schema3.Literals(["accepted", "rejected"]);
|
|
872
|
-
var TurnCountRange = Schema3.Struct({
|
|
873
|
-
fromTurnCount: NonNegativeInt,
|
|
874
|
-
toTurnCount: NonNegativeInt
|
|
875
|
-
}).check(Schema3.makeFilter((input) => input.fromTurnCount <= input.toTurnCount || new SchemaIssue.InvalidValue(Option.some(input.fromTurnCount), {
|
|
876
|
-
message: "fromTurnCount must be less than or equal to toTurnCount"
|
|
877
|
-
}), { identifier: "OrchestrationTurnDiffRange" }));
|
|
878
|
-
var ThreadTurnDiff = TurnCountRange.mapFields(Struct.assign({
|
|
879
|
-
threadId: ThreadId,
|
|
880
|
-
diff: Schema3.String
|
|
881
|
-
}), { unsafePreserveChecks: true });
|
|
882
|
-
var ProviderSessionRuntimeStatus = Schema3.Literals([
|
|
883
|
-
"starting",
|
|
884
|
-
"running",
|
|
885
|
-
"stopped",
|
|
886
|
-
"error"
|
|
887
|
-
]);
|
|
888
|
-
var ProjectionThreadTurnStatus = Schema3.Literals([
|
|
889
|
-
"running",
|
|
890
|
-
"completed",
|
|
891
|
-
"interrupted",
|
|
892
|
-
"error"
|
|
893
|
-
]);
|
|
894
|
-
var ProjectionCheckpointRow = Schema3.Struct({
|
|
895
|
-
threadId: ThreadId,
|
|
896
|
-
turnId: TurnId,
|
|
897
|
-
checkpointTurnCount: NonNegativeInt,
|
|
898
|
-
checkpointRef: CheckpointRef,
|
|
899
|
-
status: OrchestrationCheckpointStatus,
|
|
900
|
-
files: Schema3.Array(OrchestrationCheckpointFile),
|
|
901
|
-
assistantMessageId: Schema3.NullOr(MessageId),
|
|
902
|
-
completedAt: IsoDateTime
|
|
903
|
-
});
|
|
904
|
-
var ProjectionPendingApprovalStatus = Schema3.Literals(["pending", "resolved"]);
|
|
905
|
-
var ProjectionPendingApprovalDecision = Schema3.NullOr(ProviderApprovalDecision);
|
|
906
|
-
var DispatchResult = Schema3.Struct({
|
|
907
|
-
sequence: NonNegativeInt
|
|
908
|
-
});
|
|
909
|
-
var OrchestrationGetSnapshotInput = Schema3.Struct({});
|
|
910
|
-
var OrchestrationGetTurnDiffInput = TurnCountRange.mapFields(Struct.assign({ threadId: ThreadId }), { unsafePreserveChecks: true });
|
|
911
|
-
var OrchestrationGetFullThreadDiffInput = Schema3.Struct({
|
|
912
|
-
threadId: ThreadId,
|
|
913
|
-
toTurnCount: NonNegativeInt
|
|
914
|
-
});
|
|
915
|
-
var OrchestrationReplayEventsInput = Schema3.Struct({
|
|
916
|
-
fromSequenceExclusive: NonNegativeInt
|
|
917
|
-
});
|
|
918
|
-
var OrchestrationReplayEventsResult = Schema3.Array(OrchestrationEvent);
|
|
80
|
+
var ChatAttachment = Schema2.Union([ChatImageAttachment]);
|
|
919
81
|
|
|
920
82
|
// packages/contracts/src/runtime.ts
|
|
921
|
-
var RunKind =
|
|
922
|
-
var RunMode =
|
|
923
|
-
var RunStatus =
|
|
83
|
+
var RunKind = Schema3.Literals(["adhoc", "task", "batch", "validation", "review"]);
|
|
84
|
+
var RunMode = Schema3.Literals(["interactive", "autonomous", "supervised"]);
|
|
85
|
+
var RunStatus = Schema3.Literals([
|
|
924
86
|
"created",
|
|
925
87
|
"queued",
|
|
926
88
|
"preparing",
|
|
@@ -936,13 +98,13 @@ var RunStatus = Schema4.Literals([
|
|
|
936
98
|
"failed",
|
|
937
99
|
"stopped"
|
|
938
100
|
]);
|
|
939
|
-
var EngineSandboxMode =
|
|
101
|
+
var EngineSandboxMode = Schema3.Literals([
|
|
940
102
|
"read-only",
|
|
941
103
|
"workspace-write",
|
|
942
104
|
"danger-full-access"
|
|
943
105
|
]);
|
|
944
|
-
var IsolationMode =
|
|
945
|
-
var RuntimeStatus =
|
|
106
|
+
var IsolationMode = Schema3.Literals(["none", "env", "worktree"]);
|
|
107
|
+
var RuntimeStatus = Schema3.Literals([
|
|
946
108
|
"prepared",
|
|
947
109
|
"starting",
|
|
948
110
|
"running",
|
|
@@ -951,188 +113,188 @@ var RuntimeStatus = Schema4.Literals([
|
|
|
951
113
|
"failed",
|
|
952
114
|
"destroyed"
|
|
953
115
|
]);
|
|
954
|
-
var RunExecutionTarget =
|
|
955
|
-
var RunSummary =
|
|
116
|
+
var RunExecutionTarget = Schema3.Literals(["local", "remote"]);
|
|
117
|
+
var RunSummary = Schema3.Struct({
|
|
956
118
|
id: RunId,
|
|
957
119
|
workspaceId: WorkspaceId,
|
|
958
|
-
taskId:
|
|
120
|
+
taskId: Schema3.NullOr(TaskId),
|
|
959
121
|
title: TrimmedNonEmptyString,
|
|
960
122
|
runKind: RunKind,
|
|
961
123
|
mode: RunMode,
|
|
962
124
|
runtimeMode: RuntimeMode,
|
|
963
125
|
interactionMode: ProviderInteractionMode,
|
|
964
126
|
status: RunStatus,
|
|
965
|
-
runtimeAdapter:
|
|
966
|
-
model:
|
|
967
|
-
initialPrompt:
|
|
968
|
-
executionTarget:
|
|
969
|
-
remoteHostId:
|
|
970
|
-
remoteLeaseId:
|
|
971
|
-
remoteLeaseClaimedAt:
|
|
972
|
-
activeRuntimeId:
|
|
973
|
-
latestMessageId:
|
|
127
|
+
runtimeAdapter: Schema3.Literal("pi"),
|
|
128
|
+
model: Schema3.NullOr(TrimmedNonEmptyString),
|
|
129
|
+
initialPrompt: Schema3.NullOr(Schema3.String),
|
|
130
|
+
executionTarget: Schema3.optional(RunExecutionTarget),
|
|
131
|
+
remoteHostId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
132
|
+
remoteLeaseId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
133
|
+
remoteLeaseClaimedAt: Schema3.optional(Schema3.NullOr(IsoDateTime)),
|
|
134
|
+
activeRuntimeId: Schema3.NullOr(EngineRuntimeId),
|
|
135
|
+
latestMessageId: Schema3.NullOr(TrimmedNonEmptyString),
|
|
974
136
|
pendingApprovalCount: NonNegativeInt,
|
|
975
137
|
pendingUserInputCount: NonNegativeInt,
|
|
976
|
-
branch:
|
|
977
|
-
worktreePath:
|
|
978
|
-
errorText:
|
|
138
|
+
branch: Schema3.NullOr(TrimmedNonEmptyString),
|
|
139
|
+
worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
|
|
140
|
+
errorText: Schema3.NullOr(Schema3.String),
|
|
979
141
|
createdAt: IsoDateTime,
|
|
980
142
|
updatedAt: IsoDateTime,
|
|
981
|
-
startedAt:
|
|
982
|
-
completedAt:
|
|
143
|
+
startedAt: Schema3.NullOr(IsoDateTime),
|
|
144
|
+
completedAt: Schema3.NullOr(IsoDateTime)
|
|
983
145
|
});
|
|
984
|
-
var RuntimeSummary =
|
|
146
|
+
var RuntimeSummary = Schema3.Struct({
|
|
985
147
|
id: EngineRuntimeId,
|
|
986
148
|
workspaceId: WorkspaceId,
|
|
987
149
|
runId: RunId,
|
|
988
|
-
adapterKind:
|
|
989
|
-
executionTarget:
|
|
990
|
-
remoteHostId:
|
|
150
|
+
adapterKind: Schema3.Literal("pi"),
|
|
151
|
+
executionTarget: Schema3.optional(RunExecutionTarget),
|
|
152
|
+
remoteHostId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
|
|
991
153
|
status: RuntimeStatus,
|
|
992
154
|
sandboxMode: EngineSandboxMode,
|
|
993
155
|
isolationMode: IsolationMode,
|
|
994
|
-
workspaceDir:
|
|
995
|
-
homeDir:
|
|
996
|
-
tmpDir:
|
|
997
|
-
cacheDir:
|
|
998
|
-
logsDir:
|
|
999
|
-
stateDir:
|
|
1000
|
-
sessionDir:
|
|
1001
|
-
sessionLogPath:
|
|
1002
|
-
pid:
|
|
1003
|
-
startedAt:
|
|
156
|
+
workspaceDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
157
|
+
homeDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
158
|
+
tmpDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
159
|
+
cacheDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
160
|
+
logsDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
161
|
+
stateDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
162
|
+
sessionDir: Schema3.NullOr(TrimmedNonEmptyString),
|
|
163
|
+
sessionLogPath: Schema3.NullOr(TrimmedNonEmptyString),
|
|
164
|
+
pid: Schema3.NullOr(NonNegativeInt),
|
|
165
|
+
startedAt: Schema3.NullOr(IsoDateTime),
|
|
1004
166
|
updatedAt: IsoDateTime,
|
|
1005
|
-
exitedAt:
|
|
167
|
+
exitedAt: Schema3.NullOr(IsoDateTime)
|
|
1006
168
|
});
|
|
1007
|
-
var ApprovalStatus =
|
|
1008
|
-
var ApprovalSummary =
|
|
169
|
+
var ApprovalStatus = Schema3.Literals(["pending", "resolved"]);
|
|
170
|
+
var ApprovalSummary = Schema3.Struct({
|
|
1009
171
|
id: TrimmedNonEmptyString,
|
|
1010
172
|
runId: RunId,
|
|
1011
|
-
actionId:
|
|
173
|
+
actionId: Schema3.NullOr(TrimmedNonEmptyString),
|
|
1012
174
|
requestKind: TrimmedNonEmptyString,
|
|
1013
175
|
status: ApprovalStatus,
|
|
1014
|
-
payload:
|
|
176
|
+
payload: Schema3.Unknown,
|
|
1015
177
|
createdAt: IsoDateTime,
|
|
1016
|
-
resolvedAt:
|
|
178
|
+
resolvedAt: Schema3.NullOr(IsoDateTime)
|
|
1017
179
|
});
|
|
1018
|
-
var UserInputRequestSummary =
|
|
180
|
+
var UserInputRequestSummary = Schema3.Struct({
|
|
1019
181
|
id: TrimmedNonEmptyString,
|
|
1020
182
|
runId: RunId,
|
|
1021
183
|
status: ApprovalStatus,
|
|
1022
|
-
payload:
|
|
184
|
+
payload: Schema3.Unknown,
|
|
1023
185
|
createdAt: IsoDateTime,
|
|
1024
|
-
resolvedAt:
|
|
186
|
+
resolvedAt: Schema3.NullOr(IsoDateTime)
|
|
1025
187
|
});
|
|
1026
|
-
var WorktreeSummary =
|
|
188
|
+
var WorktreeSummary = Schema3.Struct({
|
|
1027
189
|
id: WorktreeId,
|
|
1028
190
|
workspaceId: WorkspaceId,
|
|
1029
191
|
runId: RunId,
|
|
1030
|
-
taskId:
|
|
192
|
+
taskId: Schema3.NullOr(TaskId),
|
|
1031
193
|
branchName: TrimmedNonEmptyString,
|
|
1032
194
|
path: TrimmedNonEmptyString,
|
|
1033
195
|
status: TrimmedNonEmptyString,
|
|
1034
196
|
createdAt: IsoDateTime,
|
|
1035
|
-
cleanedAt:
|
|
197
|
+
cleanedAt: Schema3.NullOr(IsoDateTime)
|
|
1036
198
|
});
|
|
1037
199
|
|
|
1038
200
|
// packages/contracts/src/stage.ts
|
|
1039
|
-
import { Schema as
|
|
1040
|
-
var StageKind =
|
|
1041
|
-
var StageId = TrimmedNonEmptyString.pipe(
|
|
1042
|
-
var StageContext =
|
|
201
|
+
import { Schema as Schema4 } from "effect";
|
|
202
|
+
var StageKind = Schema4.Literals(["transform", "gate", "observe"]);
|
|
203
|
+
var StageId = TrimmedNonEmptyString.pipe(Schema4.brand("StageId"));
|
|
204
|
+
var StageContext = Schema4.Struct({
|
|
1043
205
|
runId: RunId,
|
|
1044
|
-
taskId:
|
|
1045
|
-
state:
|
|
1046
|
-
metadata:
|
|
206
|
+
taskId: Schema4.optional(Schema4.NullOr(TaskId)),
|
|
207
|
+
state: Schema4.Unknown,
|
|
208
|
+
metadata: Schema4.optional(Schema4.Record(Schema4.String, Schema4.Unknown))
|
|
1047
209
|
});
|
|
1048
|
-
var StageDescriptor =
|
|
210
|
+
var StageDescriptor = Schema4.Struct({
|
|
1049
211
|
id: StageId,
|
|
1050
212
|
kind: StageKind,
|
|
1051
|
-
before:
|
|
1052
|
-
after:
|
|
1053
|
-
priority:
|
|
1054
|
-
protected:
|
|
213
|
+
before: Schema4.optional(Schema4.Array(StageId)),
|
|
214
|
+
after: Schema4.optional(Schema4.Array(StageId)),
|
|
215
|
+
priority: Schema4.Number.pipe(Schema4.withDecodingDefault(() => 0)),
|
|
216
|
+
protected: Schema4.Boolean.pipe(Schema4.withDecodingDefault(() => false))
|
|
1055
217
|
});
|
|
1056
|
-
var StageContinueResult =
|
|
1057
|
-
kind:
|
|
218
|
+
var StageContinueResult = Schema4.Struct({
|
|
219
|
+
kind: Schema4.Literal("continue"),
|
|
1058
220
|
ctx: StageContext
|
|
1059
221
|
});
|
|
1060
|
-
var StageAllowResult =
|
|
1061
|
-
kind:
|
|
222
|
+
var StageAllowResult = Schema4.Struct({
|
|
223
|
+
kind: Schema4.Literal("allow")
|
|
1062
224
|
});
|
|
1063
|
-
var StageBlockResult =
|
|
1064
|
-
kind:
|
|
225
|
+
var StageBlockResult = Schema4.Struct({
|
|
226
|
+
kind: Schema4.Literal("block"),
|
|
1065
227
|
reason: TrimmedNonEmptyString
|
|
1066
228
|
});
|
|
1067
|
-
var StageResult =
|
|
229
|
+
var StageResult = Schema4.Union([
|
|
1068
230
|
StageContinueResult,
|
|
1069
231
|
StageAllowResult,
|
|
1070
232
|
StageBlockResult
|
|
1071
233
|
]);
|
|
1072
|
-
var StageWrapperDescriptor =
|
|
234
|
+
var StageWrapperDescriptor = Schema4.Struct({
|
|
1073
235
|
id: TrimmedNonEmptyString,
|
|
1074
|
-
priority:
|
|
236
|
+
priority: Schema4.Number.pipe(Schema4.withDecodingDefault(() => 0))
|
|
1075
237
|
});
|
|
1076
|
-
var StageMutationOp =
|
|
1077
|
-
var InsertStageMutation =
|
|
1078
|
-
op:
|
|
238
|
+
var StageMutationOp = Schema4.Literals(["insert", "remove", "replace", "wrap", "reorder"]);
|
|
239
|
+
var InsertStageMutation = Schema4.Struct({
|
|
240
|
+
op: Schema4.Literal("insert"),
|
|
1079
241
|
stage: StageDescriptor,
|
|
1080
|
-
contributedBy:
|
|
242
|
+
contributedBy: Schema4.optional(TrimmedNonEmptyString)
|
|
1081
243
|
});
|
|
1082
|
-
var RemoveStageMutation =
|
|
1083
|
-
op:
|
|
244
|
+
var RemoveStageMutation = Schema4.Struct({
|
|
245
|
+
op: Schema4.Literal("remove"),
|
|
1084
246
|
id: StageId,
|
|
1085
|
-
contributedBy:
|
|
247
|
+
contributedBy: Schema4.optional(TrimmedNonEmptyString)
|
|
1086
248
|
});
|
|
1087
|
-
var ReplaceStageMutation =
|
|
1088
|
-
op:
|
|
249
|
+
var ReplaceStageMutation = Schema4.Struct({
|
|
250
|
+
op: Schema4.Literal("replace"),
|
|
1089
251
|
id: StageId,
|
|
1090
252
|
stage: StageDescriptor,
|
|
1091
|
-
contributedBy:
|
|
253
|
+
contributedBy: Schema4.optional(TrimmedNonEmptyString)
|
|
1092
254
|
});
|
|
1093
|
-
var WrapStageMutation =
|
|
1094
|
-
op:
|
|
255
|
+
var WrapStageMutation = Schema4.Struct({
|
|
256
|
+
op: Schema4.Literal("wrap"),
|
|
1095
257
|
id: StageId,
|
|
1096
258
|
around: StageWrapperDescriptor,
|
|
1097
|
-
contributedBy:
|
|
259
|
+
contributedBy: Schema4.optional(TrimmedNonEmptyString)
|
|
1098
260
|
});
|
|
1099
|
-
var ReorderStageMutation =
|
|
1100
|
-
op:
|
|
261
|
+
var ReorderStageMutation = Schema4.Struct({
|
|
262
|
+
op: Schema4.Literal("reorder"),
|
|
1101
263
|
id: StageId,
|
|
1102
|
-
before:
|
|
1103
|
-
after:
|
|
1104
|
-
contributedBy:
|
|
264
|
+
before: Schema4.optional(Schema4.Array(StageId)),
|
|
265
|
+
after: Schema4.optional(Schema4.Array(StageId)),
|
|
266
|
+
contributedBy: Schema4.optional(TrimmedNonEmptyString)
|
|
1105
267
|
});
|
|
1106
|
-
var StageMutation =
|
|
268
|
+
var StageMutation = Schema4.Union([
|
|
1107
269
|
InsertStageMutation,
|
|
1108
270
|
RemoveStageMutation,
|
|
1109
271
|
ReplaceStageMutation,
|
|
1110
272
|
WrapStageMutation,
|
|
1111
273
|
ReorderStageMutation
|
|
1112
274
|
]);
|
|
1113
|
-
var ResolutionGrantUse =
|
|
1114
|
-
kind:
|
|
275
|
+
var ResolutionGrantUse = Schema4.Struct({
|
|
276
|
+
kind: Schema4.Literal("kernel-replacement"),
|
|
1115
277
|
target: TrimmedNonEmptyString,
|
|
1116
278
|
pluginId: TrimmedNonEmptyString
|
|
1117
279
|
});
|
|
1118
|
-
var ResolutionRecordEntry =
|
|
280
|
+
var ResolutionRecordEntry = Schema4.Struct({
|
|
1119
281
|
stageId: StageId,
|
|
1120
282
|
contributedBy: TrimmedNonEmptyString,
|
|
1121
|
-
removedBy:
|
|
1122
|
-
replacedBy:
|
|
1123
|
-
wrappedBy:
|
|
1124
|
-
droppedAnchors:
|
|
1125
|
-
isProtected:
|
|
1126
|
-
});
|
|
1127
|
-
var ResolvedPipeline =
|
|
1128
|
-
runId:
|
|
1129
|
-
order:
|
|
1130
|
-
record:
|
|
1131
|
-
cycles:
|
|
1132
|
-
grantUses:
|
|
1133
|
-
resolvedAt:
|
|
1134
|
-
});
|
|
1135
|
-
var StageRunOutcome =
|
|
283
|
+
removedBy: Schema4.optional(TrimmedNonEmptyString),
|
|
284
|
+
replacedBy: Schema4.optional(TrimmedNonEmptyString),
|
|
285
|
+
wrappedBy: Schema4.optional(Schema4.Array(TrimmedNonEmptyString)),
|
|
286
|
+
droppedAnchors: Schema4.optional(Schema4.Array(StageId)),
|
|
287
|
+
isProtected: Schema4.Boolean
|
|
288
|
+
});
|
|
289
|
+
var ResolvedPipeline = Schema4.Struct({
|
|
290
|
+
runId: Schema4.optional(RunId),
|
|
291
|
+
order: Schema4.Array(StageId),
|
|
292
|
+
record: Schema4.Array(ResolutionRecordEntry),
|
|
293
|
+
cycles: Schema4.Array(Schema4.Array(StageId)),
|
|
294
|
+
grantUses: Schema4.optional(Schema4.Array(ResolutionGrantUse)),
|
|
295
|
+
resolvedAt: Schema4.optional(IsoDateTime)
|
|
296
|
+
});
|
|
297
|
+
var StageRunOutcome = Schema4.Struct({
|
|
1136
298
|
stageId: StageId,
|
|
1137
299
|
result: StageResult,
|
|
1138
300
|
startedAt: IsoDateTime,
|
|
@@ -1140,11 +302,11 @@ var StageRunOutcome = Schema5.Struct({
|
|
|
1140
302
|
});
|
|
1141
303
|
|
|
1142
304
|
// packages/contracts/src/run-journal.ts
|
|
1143
|
-
var RunActor =
|
|
1144
|
-
kind:
|
|
1145
|
-
id:
|
|
305
|
+
var RunActor = Schema5.Struct({
|
|
306
|
+
kind: Schema5.Literals(["operator", "agent", "server", "system"]),
|
|
307
|
+
id: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString))
|
|
1146
308
|
});
|
|
1147
|
-
var RunCloseoutPhase =
|
|
309
|
+
var RunCloseoutPhase = Schema5.Literals([
|
|
1148
310
|
"queued",
|
|
1149
311
|
"commit",
|
|
1150
312
|
"push",
|
|
@@ -1154,102 +316,102 @@ var RunCloseoutPhase = Schema6.Literals([
|
|
|
1154
316
|
"close-source",
|
|
1155
317
|
"completed"
|
|
1156
318
|
]);
|
|
1157
|
-
var RunCloseoutPhaseOutcome =
|
|
1158
|
-
var RunCloseoutStatus =
|
|
319
|
+
var RunCloseoutPhaseOutcome = Schema5.Literals(["started", "completed", "failed"]);
|
|
320
|
+
var RunCloseoutStatus = Schema5.Literals([
|
|
1159
321
|
"pending",
|
|
1160
322
|
"running",
|
|
1161
323
|
"completed",
|
|
1162
324
|
"needs-attention",
|
|
1163
325
|
"failed"
|
|
1164
326
|
]);
|
|
1165
|
-
var RunCloseoutState =
|
|
327
|
+
var RunCloseoutState = Schema5.Struct({
|
|
1166
328
|
phase: RunCloseoutPhase,
|
|
1167
329
|
status: RunCloseoutStatus,
|
|
1168
330
|
updatedAt: IsoDateTime,
|
|
1169
|
-
taskId:
|
|
1170
|
-
runtimeWorkspace:
|
|
1171
|
-
branch:
|
|
1172
|
-
prUrl:
|
|
1173
|
-
artifactRoot:
|
|
1174
|
-
iterations:
|
|
1175
|
-
feedback:
|
|
1176
|
-
error:
|
|
1177
|
-
reason:
|
|
1178
|
-
merged:
|
|
1179
|
-
resumedAt:
|
|
1180
|
-
completedAt:
|
|
1181
|
-
});
|
|
1182
|
-
var ApprovalDecision =
|
|
331
|
+
taskId: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
332
|
+
runtimeWorkspace: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
333
|
+
branch: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
334
|
+
prUrl: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
335
|
+
artifactRoot: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
336
|
+
iterations: Schema5.optional(Schema5.NullOr(Schema5.Int)),
|
|
337
|
+
feedback: Schema5.optional(Schema5.Array(Schema5.String)),
|
|
338
|
+
error: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
339
|
+
reason: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
340
|
+
merged: Schema5.optional(Schema5.Boolean),
|
|
341
|
+
resumedAt: Schema5.optional(Schema5.NullOr(IsoDateTime)),
|
|
342
|
+
completedAt: Schema5.optional(Schema5.NullOr(IsoDateTime))
|
|
343
|
+
});
|
|
344
|
+
var ApprovalDecision = Schema5.Literals(["approve", "reject"]);
|
|
1183
345
|
var runRecordFields = {
|
|
1184
346
|
runId: TrimmedNonEmptyString,
|
|
1185
347
|
workspaceId: TrimmedNonEmptyString,
|
|
1186
|
-
taskId:
|
|
1187
|
-
threadId:
|
|
1188
|
-
mode:
|
|
1189
|
-
runtimeAdapter:
|
|
348
|
+
taskId: Schema5.NullOr(TrimmedNonEmptyString),
|
|
349
|
+
threadId: Schema5.NullOr(TrimmedNonEmptyString),
|
|
350
|
+
mode: Schema5.Literals(["local", "remote"]),
|
|
351
|
+
runtimeAdapter: Schema5.Literal("pi"),
|
|
1190
352
|
createdAt: IsoDateTime,
|
|
1191
|
-
startedAt:
|
|
1192
|
-
completedAt:
|
|
1193
|
-
endpointId:
|
|
1194
|
-
hostId:
|
|
1195
|
-
worktreePath:
|
|
1196
|
-
artifactRoot:
|
|
1197
|
-
logRoot:
|
|
1198
|
-
sessionPath:
|
|
1199
|
-
sessionLogPath:
|
|
1200
|
-
pid:
|
|
1201
|
-
piSession:
|
|
1202
|
-
piSessionPrivate:
|
|
353
|
+
startedAt: Schema5.NullOr(IsoDateTime),
|
|
354
|
+
completedAt: Schema5.NullOr(IsoDateTime),
|
|
355
|
+
endpointId: Schema5.NullOr(TrimmedNonEmptyString),
|
|
356
|
+
hostId: Schema5.NullOr(TrimmedNonEmptyString),
|
|
357
|
+
worktreePath: Schema5.NullOr(TrimmedNonEmptyString),
|
|
358
|
+
artifactRoot: Schema5.NullOr(TrimmedNonEmptyString),
|
|
359
|
+
logRoot: Schema5.NullOr(TrimmedNonEmptyString),
|
|
360
|
+
sessionPath: Schema5.NullOr(TrimmedNonEmptyString),
|
|
361
|
+
sessionLogPath: Schema5.NullOr(TrimmedNonEmptyString),
|
|
362
|
+
pid: Schema5.optional(Schema5.NullOr(Schema5.Int)),
|
|
363
|
+
piSession: Schema5.optional(Schema5.Unknown),
|
|
364
|
+
piSessionPrivate: Schema5.optional(Schema5.Unknown),
|
|
1203
365
|
updatedAt: IsoDateTime,
|
|
1204
366
|
title: TrimmedNonEmptyString,
|
|
1205
|
-
projectRoot:
|
|
1206
|
-
errorText:
|
|
1207
|
-
latestMessageId:
|
|
1208
|
-
prUrl:
|
|
1209
|
-
leaseId:
|
|
1210
|
-
serverCloseout:
|
|
1211
|
-
model:
|
|
1212
|
-
runtimeMode:
|
|
1213
|
-
interactionMode:
|
|
1214
|
-
runMode:
|
|
1215
|
-
initialPrompt:
|
|
1216
|
-
baselineMode:
|
|
1217
|
-
prMode:
|
|
1218
|
-
initiatedBy:
|
|
1219
|
-
sourceTask:
|
|
1220
|
-
serverPid:
|
|
1221
|
-
latestSteeringAt:
|
|
1222
|
-
latestSteeringDeliveredAt:
|
|
1223
|
-
statusDetail:
|
|
1224
|
-
planning:
|
|
1225
|
-
branch:
|
|
367
|
+
projectRoot: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
368
|
+
errorText: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
369
|
+
latestMessageId: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
370
|
+
prUrl: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
371
|
+
leaseId: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
372
|
+
serverCloseout: Schema5.optional(Schema5.NullOr(RunCloseoutState)),
|
|
373
|
+
model: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
374
|
+
runtimeMode: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
375
|
+
interactionMode: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
376
|
+
runMode: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
377
|
+
initialPrompt: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
378
|
+
baselineMode: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
379
|
+
prMode: Schema5.optional(Schema5.NullOr(Schema5.Literals(["auto", "ask", "off"]))),
|
|
380
|
+
initiatedBy: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
381
|
+
sourceTask: Schema5.optional(Schema5.Unknown),
|
|
382
|
+
serverPid: Schema5.optional(Schema5.NullOr(Schema5.Int)),
|
|
383
|
+
latestSteeringAt: Schema5.optional(Schema5.NullOr(IsoDateTime)),
|
|
384
|
+
latestSteeringDeliveredAt: Schema5.optional(Schema5.NullOr(IsoDateTime)),
|
|
385
|
+
statusDetail: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
386
|
+
planning: Schema5.optional(Schema5.Unknown),
|
|
387
|
+
branch: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString))
|
|
1226
388
|
};
|
|
1227
|
-
var RunJournalRecord =
|
|
389
|
+
var RunJournalRecord = Schema5.Struct({
|
|
1228
390
|
...runRecordFields,
|
|
1229
391
|
status: RunStatus
|
|
1230
392
|
});
|
|
1231
|
-
var RunRecordPatch =
|
|
1232
|
-
runId:
|
|
1233
|
-
workspaceId:
|
|
1234
|
-
taskId:
|
|
1235
|
-
threadId:
|
|
1236
|
-
mode:
|
|
1237
|
-
runtimeAdapter:
|
|
1238
|
-
createdAt:
|
|
1239
|
-
startedAt:
|
|
1240
|
-
completedAt:
|
|
1241
|
-
endpointId:
|
|
1242
|
-
hostId:
|
|
1243
|
-
worktreePath:
|
|
1244
|
-
artifactRoot:
|
|
1245
|
-
logRoot:
|
|
1246
|
-
sessionPath:
|
|
1247
|
-
sessionLogPath:
|
|
393
|
+
var RunRecordPatch = Schema5.Struct({
|
|
394
|
+
runId: Schema5.optional(runRecordFields.runId),
|
|
395
|
+
workspaceId: Schema5.optional(runRecordFields.workspaceId),
|
|
396
|
+
taskId: Schema5.optional(runRecordFields.taskId),
|
|
397
|
+
threadId: Schema5.optional(runRecordFields.threadId),
|
|
398
|
+
mode: Schema5.optional(runRecordFields.mode),
|
|
399
|
+
runtimeAdapter: Schema5.optional(runRecordFields.runtimeAdapter),
|
|
400
|
+
createdAt: Schema5.optional(runRecordFields.createdAt),
|
|
401
|
+
startedAt: Schema5.optional(runRecordFields.startedAt),
|
|
402
|
+
completedAt: Schema5.optional(runRecordFields.completedAt),
|
|
403
|
+
endpointId: Schema5.optional(runRecordFields.endpointId),
|
|
404
|
+
hostId: Schema5.optional(runRecordFields.hostId),
|
|
405
|
+
worktreePath: Schema5.optional(runRecordFields.worktreePath),
|
|
406
|
+
artifactRoot: Schema5.optional(runRecordFields.artifactRoot),
|
|
407
|
+
logRoot: Schema5.optional(runRecordFields.logRoot),
|
|
408
|
+
sessionPath: Schema5.optional(runRecordFields.sessionPath),
|
|
409
|
+
sessionLogPath: Schema5.optional(runRecordFields.sessionLogPath),
|
|
1248
410
|
pid: runRecordFields.pid,
|
|
1249
411
|
piSession: runRecordFields.piSession,
|
|
1250
412
|
piSessionPrivate: runRecordFields.piSessionPrivate,
|
|
1251
|
-
updatedAt:
|
|
1252
|
-
title:
|
|
413
|
+
updatedAt: Schema5.optional(runRecordFields.updatedAt),
|
|
414
|
+
title: Schema5.optional(runRecordFields.title),
|
|
1253
415
|
projectRoot: runRecordFields.projectRoot,
|
|
1254
416
|
errorText: runRecordFields.errorText,
|
|
1255
417
|
latestMessageId: runRecordFields.latestMessageId,
|
|
@@ -1273,98 +435,98 @@ var RunRecordPatch = Schema6.Struct({
|
|
|
1273
435
|
branch: runRecordFields.branch
|
|
1274
436
|
});
|
|
1275
437
|
var journalEnvelopeFields = {
|
|
1276
|
-
v:
|
|
438
|
+
v: Schema5.Literal(1),
|
|
1277
439
|
seq: PositiveInt,
|
|
1278
440
|
at: IsoDateTime,
|
|
1279
441
|
runId: RunId
|
|
1280
442
|
};
|
|
1281
|
-
var RunStatusChangedEvent =
|
|
443
|
+
var RunStatusChangedEvent = Schema5.Struct({
|
|
1282
444
|
...journalEnvelopeFields,
|
|
1283
|
-
type:
|
|
1284
|
-
from:
|
|
445
|
+
type: Schema5.Literal("status-changed"),
|
|
446
|
+
from: Schema5.NullOr(RunStatus),
|
|
1285
447
|
to: RunStatus,
|
|
1286
|
-
reason:
|
|
1287
|
-
actor:
|
|
448
|
+
reason: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
449
|
+
actor: Schema5.optional(RunActor)
|
|
1288
450
|
});
|
|
1289
|
-
var RunRecordPatchEvent =
|
|
451
|
+
var RunRecordPatchEvent = Schema5.Struct({
|
|
1290
452
|
...journalEnvelopeFields,
|
|
1291
|
-
type:
|
|
453
|
+
type: Schema5.Literal("record-patch"),
|
|
1292
454
|
patch: RunRecordPatch
|
|
1293
455
|
});
|
|
1294
|
-
var RunTimelineEntryEvent =
|
|
456
|
+
var RunTimelineEntryEvent = Schema5.Struct({
|
|
1295
457
|
...journalEnvelopeFields,
|
|
1296
|
-
type:
|
|
1297
|
-
payload:
|
|
458
|
+
type: Schema5.Literal("timeline-entry"),
|
|
459
|
+
payload: Schema5.Unknown
|
|
1298
460
|
});
|
|
1299
|
-
var RunLogEntryEvent =
|
|
461
|
+
var RunLogEntryEvent = Schema5.Struct({
|
|
1300
462
|
...journalEnvelopeFields,
|
|
1301
|
-
type:
|
|
1302
|
-
payload:
|
|
463
|
+
type: Schema5.Literal("log-entry"),
|
|
464
|
+
payload: Schema5.Unknown
|
|
1303
465
|
});
|
|
1304
|
-
var RunApprovalRequestedEvent =
|
|
466
|
+
var RunApprovalRequestedEvent = Schema5.Struct({
|
|
1305
467
|
...journalEnvelopeFields,
|
|
1306
|
-
type:
|
|
468
|
+
type: Schema5.Literal("approval-requested"),
|
|
1307
469
|
requestId: TrimmedNonEmptyString,
|
|
1308
470
|
requestKind: TrimmedNonEmptyString,
|
|
1309
|
-
actionId:
|
|
1310
|
-
payload:
|
|
471
|
+
actionId: Schema5.optional(Schema5.NullOr(TrimmedNonEmptyString)),
|
|
472
|
+
payload: Schema5.Unknown
|
|
1311
473
|
});
|
|
1312
|
-
var RunApprovalResolvedEvent =
|
|
474
|
+
var RunApprovalResolvedEvent = Schema5.Struct({
|
|
1313
475
|
...journalEnvelopeFields,
|
|
1314
|
-
type:
|
|
476
|
+
type: Schema5.Literal("approval-resolved"),
|
|
1315
477
|
requestId: TrimmedNonEmptyString,
|
|
1316
478
|
decision: ApprovalDecision,
|
|
1317
|
-
note:
|
|
479
|
+
note: Schema5.optional(Schema5.NullOr(Schema5.String)),
|
|
1318
480
|
actor: RunActor
|
|
1319
481
|
});
|
|
1320
|
-
var RunInputRequestedEvent =
|
|
482
|
+
var RunInputRequestedEvent = Schema5.Struct({
|
|
1321
483
|
...journalEnvelopeFields,
|
|
1322
|
-
type:
|
|
484
|
+
type: Schema5.Literal("input-requested"),
|
|
1323
485
|
requestId: TrimmedNonEmptyString,
|
|
1324
|
-
payload:
|
|
486
|
+
payload: Schema5.Unknown
|
|
1325
487
|
});
|
|
1326
|
-
var RunInputResolvedEvent =
|
|
488
|
+
var RunInputResolvedEvent = Schema5.Struct({
|
|
1327
489
|
...journalEnvelopeFields,
|
|
1328
|
-
type:
|
|
490
|
+
type: Schema5.Literal("input-resolved"),
|
|
1329
491
|
requestId: TrimmedNonEmptyString,
|
|
1330
|
-
answers:
|
|
492
|
+
answers: Schema5.Record(Schema5.String, Schema5.String),
|
|
1331
493
|
actor: RunActor
|
|
1332
494
|
});
|
|
1333
|
-
var RunSteeringEvent =
|
|
495
|
+
var RunSteeringEvent = Schema5.Struct({
|
|
1334
496
|
...journalEnvelopeFields,
|
|
1335
|
-
type:
|
|
497
|
+
type: Schema5.Literal("steering"),
|
|
1336
498
|
actor: RunActor,
|
|
1337
|
-
text:
|
|
499
|
+
text: Schema5.String
|
|
1338
500
|
});
|
|
1339
|
-
var RunAdoptedEvent =
|
|
501
|
+
var RunAdoptedEvent = Schema5.Struct({
|
|
1340
502
|
...journalEnvelopeFields,
|
|
1341
|
-
type:
|
|
1342
|
-
pid:
|
|
1343
|
-
serverPid:
|
|
503
|
+
type: Schema5.Literal("adopted"),
|
|
504
|
+
pid: Schema5.NullOr(Schema5.Int),
|
|
505
|
+
serverPid: Schema5.Int
|
|
1344
506
|
});
|
|
1345
|
-
var RunStallDetectedEvent =
|
|
507
|
+
var RunStallDetectedEvent = Schema5.Struct({
|
|
1346
508
|
...journalEnvelopeFields,
|
|
1347
|
-
type:
|
|
1348
|
-
detail:
|
|
509
|
+
type: Schema5.Literal("stall-detected"),
|
|
510
|
+
detail: Schema5.String
|
|
1349
511
|
});
|
|
1350
|
-
var RunCloseoutPhaseEvent =
|
|
512
|
+
var RunCloseoutPhaseEvent = Schema5.Struct({
|
|
1351
513
|
...journalEnvelopeFields,
|
|
1352
|
-
type:
|
|
514
|
+
type: Schema5.Literal("closeout-phase"),
|
|
1353
515
|
phase: RunCloseoutPhase,
|
|
1354
516
|
outcome: RunCloseoutPhaseOutcome,
|
|
1355
|
-
detail:
|
|
517
|
+
detail: Schema5.optional(Schema5.NullOr(Schema5.String))
|
|
1356
518
|
});
|
|
1357
|
-
var RunPipelineResolvedEvent =
|
|
519
|
+
var RunPipelineResolvedEvent = Schema5.Struct({
|
|
1358
520
|
...journalEnvelopeFields,
|
|
1359
|
-
type:
|
|
521
|
+
type: Schema5.Literal("pipeline-resolved"),
|
|
1360
522
|
pipeline: ResolvedPipeline
|
|
1361
523
|
});
|
|
1362
|
-
var RunStageOutcomeEvent =
|
|
524
|
+
var RunStageOutcomeEvent = Schema5.Struct({
|
|
1363
525
|
...journalEnvelopeFields,
|
|
1364
|
-
type:
|
|
526
|
+
type: Schema5.Literal("stage-outcome"),
|
|
1365
527
|
outcome: StageRunOutcome
|
|
1366
528
|
});
|
|
1367
|
-
var RunJournalEvent =
|
|
529
|
+
var RunJournalEvent = Schema5.Union([
|
|
1368
530
|
RunStatusChangedEvent,
|
|
1369
531
|
RunRecordPatchEvent,
|
|
1370
532
|
RunTimelineEntryEvent,
|
|
@@ -1380,239 +542,7 @@ var RunJournalEvent = Schema6.Union([
|
|
|
1380
542
|
RunPipelineResolvedEvent,
|
|
1381
543
|
RunStageOutcomeEvent
|
|
1382
544
|
]);
|
|
1383
|
-
var decodeRunJournalEvent = Schema6.decodeUnknownSync(RunJournalEvent);
|
|
1384
|
-
var RUN_STATUS_TRANSITIONS = {
|
|
1385
|
-
created: ["queued", "preparing", "running", "failed", "stopped"],
|
|
1386
|
-
queued: ["preparing", "running", "failed", "stopped"],
|
|
1387
|
-
preparing: ["queued", "running", "needs-attention", "failed", "stopped"],
|
|
1388
|
-
running: [
|
|
1389
|
-
"queued",
|
|
1390
|
-
"waiting-approval",
|
|
1391
|
-
"waiting-user-input",
|
|
1392
|
-
"paused",
|
|
1393
|
-
"validating",
|
|
1394
|
-
"reviewing",
|
|
1395
|
-
"closing-out",
|
|
1396
|
-
"needs-attention",
|
|
1397
|
-
"completed",
|
|
1398
|
-
"failed",
|
|
1399
|
-
"stopped"
|
|
1400
|
-
],
|
|
1401
|
-
"waiting-approval": ["running", "needs-attention", "failed", "stopped"],
|
|
1402
|
-
"waiting-user-input": ["running", "needs-attention", "failed", "stopped"],
|
|
1403
|
-
paused: ["running", "failed", "stopped"],
|
|
1404
|
-
validating: ["running", "reviewing", "closing-out", "needs-attention", "completed", "failed", "stopped"],
|
|
1405
|
-
reviewing: ["running", "validating", "closing-out", "needs-attention", "completed", "failed", "stopped"],
|
|
1406
|
-
"closing-out": ["running", "needs-attention", "completed", "failed", "stopped"],
|
|
1407
|
-
"needs-attention": ["queued", "preparing", "running", "closing-out", "completed", "failed", "stopped"],
|
|
1408
|
-
completed: [],
|
|
1409
|
-
failed: ["queued", "preparing", "running", "closing-out"],
|
|
1410
|
-
stopped: ["queued", "preparing", "running", "closing-out"]
|
|
1411
|
-
};
|
|
1412
|
-
var TERMINAL_RUN_STATUSES = ["completed", "failed", "stopped"];
|
|
1413
|
-
var ACTIVE_RUN_STATUSES = Object.keys(RUN_STATUS_TRANSITIONS).filter((status) => !TERMINAL_RUN_STATUSES.includes(status));
|
|
1414
|
-
function isTerminalRunStatus(status) {
|
|
1415
|
-
return TERMINAL_RUN_STATUSES.includes(status);
|
|
1416
|
-
}
|
|
1417
|
-
function isActiveRunStatus(status) {
|
|
1418
|
-
return !isTerminalRunStatus(status);
|
|
1419
|
-
}
|
|
1420
|
-
function canTransitionRunStatus(from, to) {
|
|
1421
|
-
if (from === null)
|
|
1422
|
-
return true;
|
|
1423
|
-
if (from === to)
|
|
1424
|
-
return true;
|
|
1425
|
-
return RUN_STATUS_TRANSITIONS[from].includes(to);
|
|
1426
|
-
}
|
|
1427
|
-
function assertRunStatusTransition(from, to) {
|
|
1428
|
-
if (!canTransitionRunStatus(from, to)) {
|
|
1429
|
-
throw new Error(`Illegal run status transition: ${from ?? "(none)"} -> ${to}. ` + `Allowed from ${from ?? "(none)"}: ${from ? RUN_STATUS_TRANSITIONS[from].join(", ") : "(any)"}.`);
|
|
1430
|
-
}
|
|
1431
|
-
}
|
|
1432
|
-
function reduceRunJournal(events, runId = null) {
|
|
1433
|
-
let record = {};
|
|
1434
|
-
let status = null;
|
|
1435
|
-
const statusHistory = [];
|
|
1436
|
-
const pendingApprovals = new Map;
|
|
1437
|
-
const resolvedApprovals = [];
|
|
1438
|
-
const pendingUserInputs = new Map;
|
|
1439
|
-
const resolvedUserInputs = [];
|
|
1440
|
-
const closeoutPhases = [];
|
|
1441
|
-
let resolvedPipeline = null;
|
|
1442
|
-
const stageOutcomes = [];
|
|
1443
|
-
const anomalies = [];
|
|
1444
|
-
let steeringCount = 0;
|
|
1445
|
-
let stallCount = 0;
|
|
1446
|
-
let lastSeq = 0;
|
|
1447
|
-
let lastEventAt = null;
|
|
1448
|
-
const projectedRunId = runId ?? events[0]?.runId ?? null;
|
|
1449
|
-
for (const event of events) {
|
|
1450
|
-
lastSeq = event.seq;
|
|
1451
|
-
lastEventAt = event.at;
|
|
1452
|
-
switch (event.type) {
|
|
1453
|
-
case "status-changed": {
|
|
1454
|
-
if (!canTransitionRunStatus(status, event.to)) {
|
|
1455
|
-
anomalies.push({
|
|
1456
|
-
seq: event.seq,
|
|
1457
|
-
kind: "illegal-transition",
|
|
1458
|
-
detail: `${status ?? "(none)"} -> ${event.to}`
|
|
1459
|
-
});
|
|
1460
|
-
}
|
|
1461
|
-
statusHistory.push({
|
|
1462
|
-
seq: event.seq,
|
|
1463
|
-
at: event.at,
|
|
1464
|
-
from: status,
|
|
1465
|
-
to: event.to,
|
|
1466
|
-
reason: event.reason ?? null
|
|
1467
|
-
});
|
|
1468
|
-
const wasTerminal = status !== null && isTerminalRunStatus(status);
|
|
1469
|
-
status = event.to;
|
|
1470
|
-
record = { ...record, updatedAt: event.at };
|
|
1471
|
-
if (isTerminalRunStatus(event.to) && !record.completedAt) {
|
|
1472
|
-
record = { ...record, completedAt: event.at };
|
|
1473
|
-
}
|
|
1474
|
-
if (!isTerminalRunStatus(event.to) && wasTerminal) {
|
|
1475
|
-
record = { ...record, completedAt: null };
|
|
1476
|
-
}
|
|
1477
|
-
if (event.to === "running" && !record.startedAt) {
|
|
1478
|
-
record = { ...record, startedAt: event.at };
|
|
1479
|
-
}
|
|
1480
|
-
break;
|
|
1481
|
-
}
|
|
1482
|
-
case "record-patch": {
|
|
1483
|
-
const next = { ...record };
|
|
1484
|
-
for (const [key, value] of Object.entries(event.patch)) {
|
|
1485
|
-
if (value !== undefined) {
|
|
1486
|
-
next[key] = value;
|
|
1487
|
-
}
|
|
1488
|
-
}
|
|
1489
|
-
next.updatedAt = event.patch.updatedAt ?? event.at;
|
|
1490
|
-
record = next;
|
|
1491
|
-
break;
|
|
1492
|
-
}
|
|
1493
|
-
case "approval-requested": {
|
|
1494
|
-
pendingApprovals.set(event.requestId, {
|
|
1495
|
-
requestId: event.requestId,
|
|
1496
|
-
requestKind: event.requestKind,
|
|
1497
|
-
actionId: event.actionId ?? null,
|
|
1498
|
-
payload: event.payload,
|
|
1499
|
-
requestedAt: event.at
|
|
1500
|
-
});
|
|
1501
|
-
break;
|
|
1502
|
-
}
|
|
1503
|
-
case "approval-resolved": {
|
|
1504
|
-
const pending = pendingApprovals.get(event.requestId);
|
|
1505
|
-
if (!pending) {
|
|
1506
|
-
const alreadyResolved = resolvedApprovals.some((entry) => entry.requestId === event.requestId);
|
|
1507
|
-
anomalies.push({
|
|
1508
|
-
seq: event.seq,
|
|
1509
|
-
kind: alreadyResolved ? "duplicate-resolution" : "unknown-request",
|
|
1510
|
-
detail: `approval ${event.requestId}`
|
|
1511
|
-
});
|
|
1512
|
-
break;
|
|
1513
|
-
}
|
|
1514
|
-
pendingApprovals.delete(event.requestId);
|
|
1515
|
-
resolvedApprovals.push({
|
|
1516
|
-
...pending,
|
|
1517
|
-
decision: event.decision,
|
|
1518
|
-
note: event.note ?? null,
|
|
1519
|
-
actor: event.actor,
|
|
1520
|
-
resolvedAt: event.at
|
|
1521
|
-
});
|
|
1522
|
-
break;
|
|
1523
|
-
}
|
|
1524
|
-
case "input-requested": {
|
|
1525
|
-
pendingUserInputs.set(event.requestId, {
|
|
1526
|
-
requestId: event.requestId,
|
|
1527
|
-
requestKind: "user-input",
|
|
1528
|
-
actionId: null,
|
|
1529
|
-
payload: event.payload,
|
|
1530
|
-
requestedAt: event.at
|
|
1531
|
-
});
|
|
1532
|
-
break;
|
|
1533
|
-
}
|
|
1534
|
-
case "input-resolved": {
|
|
1535
|
-
const pending = pendingUserInputs.get(event.requestId);
|
|
1536
|
-
if (!pending) {
|
|
1537
|
-
const alreadyResolved = resolvedUserInputs.some((entry) => entry.requestId === event.requestId);
|
|
1538
|
-
anomalies.push({
|
|
1539
|
-
seq: event.seq,
|
|
1540
|
-
kind: alreadyResolved ? "duplicate-resolution" : "unknown-request",
|
|
1541
|
-
detail: `user-input ${event.requestId}`
|
|
1542
|
-
});
|
|
1543
|
-
break;
|
|
1544
|
-
}
|
|
1545
|
-
pendingUserInputs.delete(event.requestId);
|
|
1546
|
-
resolvedUserInputs.push({
|
|
1547
|
-
...pending,
|
|
1548
|
-
answers: event.answers,
|
|
1549
|
-
actor: event.actor,
|
|
1550
|
-
resolvedAt: event.at
|
|
1551
|
-
});
|
|
1552
|
-
break;
|
|
1553
|
-
}
|
|
1554
|
-
case "steering": {
|
|
1555
|
-
steeringCount += 1;
|
|
1556
|
-
break;
|
|
1557
|
-
}
|
|
1558
|
-
case "adopted": {
|
|
1559
|
-
record = { ...record, pid: event.pid, updatedAt: event.at };
|
|
1560
|
-
break;
|
|
1561
|
-
}
|
|
1562
|
-
case "stall-detected": {
|
|
1563
|
-
stallCount += 1;
|
|
1564
|
-
break;
|
|
1565
|
-
}
|
|
1566
|
-
case "closeout-phase": {
|
|
1567
|
-
closeoutPhases.push({
|
|
1568
|
-
seq: event.seq,
|
|
1569
|
-
at: event.at,
|
|
1570
|
-
phase: event.phase,
|
|
1571
|
-
outcome: event.outcome,
|
|
1572
|
-
detail: event.detail ?? null
|
|
1573
|
-
});
|
|
1574
|
-
break;
|
|
1575
|
-
}
|
|
1576
|
-
case "pipeline-resolved": {
|
|
1577
|
-
resolvedPipeline = event.pipeline;
|
|
1578
|
-
break;
|
|
1579
|
-
}
|
|
1580
|
-
case "stage-outcome": {
|
|
1581
|
-
stageOutcomes.push({ seq: event.seq, at: event.at, outcome: event.outcome });
|
|
1582
|
-
break;
|
|
1583
|
-
}
|
|
1584
|
-
case "timeline-entry":
|
|
1585
|
-
case "log-entry":
|
|
1586
|
-
break;
|
|
1587
|
-
}
|
|
1588
|
-
}
|
|
1589
|
-
return {
|
|
1590
|
-
runId: projectedRunId,
|
|
1591
|
-
record,
|
|
1592
|
-
status,
|
|
1593
|
-
statusHistory,
|
|
1594
|
-
pendingApprovals: [...pendingApprovals.values()],
|
|
1595
|
-
resolvedApprovals,
|
|
1596
|
-
pendingUserInputs: [...pendingUserInputs.values()],
|
|
1597
|
-
resolvedUserInputs,
|
|
1598
|
-
steeringCount,
|
|
1599
|
-
stallCount,
|
|
1600
|
-
closeoutPhases,
|
|
1601
|
-
resolvedPipeline,
|
|
1602
|
-
stageOutcomes,
|
|
1603
|
-
lastSeq,
|
|
1604
|
-
lastEventAt,
|
|
1605
|
-
anomalies
|
|
1606
|
-
};
|
|
1607
|
-
}
|
|
1608
545
|
export {
|
|
1609
|
-
reduceRunJournal,
|
|
1610
|
-
isTerminalRunStatus,
|
|
1611
|
-
isActiveRunStatus,
|
|
1612
|
-
decodeRunJournalEvent,
|
|
1613
|
-
canTransitionRunStatus,
|
|
1614
|
-
assertRunStatusTransition,
|
|
1615
|
-
TERMINAL_RUN_STATUSES,
|
|
1616
546
|
RunTimelineEntryEvent,
|
|
1617
547
|
RunSteeringEvent,
|
|
1618
548
|
RunStatusChangedEvent,
|
|
@@ -1635,7 +565,5 @@ export {
|
|
|
1635
565
|
RunApprovalRequestedEvent,
|
|
1636
566
|
RunAdoptedEvent,
|
|
1637
567
|
RunActor,
|
|
1638
|
-
|
|
1639
|
-
ApprovalDecision,
|
|
1640
|
-
ACTIVE_RUN_STATUSES
|
|
568
|
+
ApprovalDecision
|
|
1641
569
|
};
|