@h-rig/contracts 0.0.6-alpha.14 → 0.0.6-alpha.140

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.
Files changed (92) hide show
  1. package/dist/index.cjs +7456 -0
  2. package/dist/index.mjs +7415 -0
  3. package/dist/src/artifact.d.ts +13 -0
  4. package/dist/src/artifact.js +3 -0
  5. package/dist/src/baseSchemas.d.ts +63 -0
  6. package/dist/src/baseSchemas.js +6 -0
  7. package/dist/src/cli-output.d.ts +324 -0
  8. package/dist/src/cli-output.js +190 -0
  9. package/dist/src/config.d.ts +536 -0
  10. package/dist/src/config.js +1592 -162
  11. package/dist/src/conversation.d.ts +50 -0
  12. package/dist/src/conversation.js +3 -0
  13. package/dist/src/drift.d.ts +28 -0
  14. package/dist/src/drift.js +69 -0
  15. package/dist/src/editor.d.ts +25 -0
  16. package/dist/src/editor.js +3 -0
  17. package/dist/src/engine.d.ts +2789 -0
  18. package/dist/src/engine.js +127 -13
  19. package/dist/src/git.d.ts +144 -0
  20. package/dist/src/git.js +3 -0
  21. package/dist/src/graph.d.ts +323 -0
  22. package/dist/src/graph.js +124 -1
  23. package/dist/src/help-catalog.d.ts +34 -0
  24. package/dist/src/help-catalog.js +655 -0
  25. package/dist/src/index.d.ts +46 -0
  26. package/dist/src/index.js +4095 -1228
  27. package/dist/src/ipc.d.ts +248 -0
  28. package/dist/src/kernel.d.ts +221 -0
  29. package/dist/src/kernel.js +269 -0
  30. package/dist/src/keybindings.d.ts +71 -0
  31. package/dist/src/keybindings.js +3 -0
  32. package/dist/src/model.d.ts +77 -0
  33. package/dist/src/orchestration.d.ts +3695 -0
  34. package/dist/src/orchestration.js +3 -0
  35. package/dist/src/pi-session.d.ts +113 -0
  36. package/dist/src/pi-session.js +1 -0
  37. package/dist/src/planning.d.ts +64 -0
  38. package/dist/src/planning.js +90 -0
  39. package/dist/src/plugin-hooks.d.ts +51 -0
  40. package/dist/src/plugin-hooks.js +375 -0
  41. package/dist/src/plugin.d.ts +416 -0
  42. package/dist/src/plugin.js +332 -64
  43. package/dist/src/policy.d.ts +16 -0
  44. package/dist/src/policy.js +3 -0
  45. package/dist/src/project.d.ts +71 -0
  46. package/dist/src/project.js +3 -0
  47. package/dist/src/protocol-version.d.ts +21 -0
  48. package/dist/src/protocol-version.js +6 -0
  49. package/dist/src/provider.d.ts +105 -0
  50. package/dist/src/provider.js +3 -0
  51. package/dist/src/providerRuntime.d.ts +3949 -0
  52. package/dist/src/providerRuntime.js +3 -0
  53. package/dist/src/remote.d.ts +326 -0
  54. package/dist/src/remote.js +16 -10
  55. package/dist/src/review.d.ts +18 -0
  56. package/dist/src/review.js +3 -0
  57. package/dist/src/rig.d.ts +783 -0
  58. package/dist/src/rig.js +178 -15
  59. package/dist/src/rollups.d.ts +41 -0
  60. package/dist/src/rollups.js +70 -0
  61. package/dist/src/run-journal.d.ts +930 -0
  62. package/dist/src/run-journal.js +1641 -0
  63. package/dist/src/run-record.d.ts +45 -0
  64. package/dist/src/run-record.js +1 -0
  65. package/dist/src/run-session-journal.d.ts +93 -0
  66. package/dist/src/run-session-journal.js +1809 -0
  67. package/dist/src/run-status.d.ts +12 -0
  68. package/dist/src/run-status.js +38 -0
  69. package/dist/src/run-timeline.d.ts +10 -0
  70. package/dist/src/run-timeline.js +1499 -0
  71. package/dist/src/runtime.d.ts +103 -0
  72. package/dist/src/runtime.js +9 -4
  73. package/dist/src/server.d.ts +106 -0
  74. package/dist/src/server.js +3 -0
  75. package/dist/src/serviceFabric.d.ts +62 -0
  76. package/dist/src/serviceFabric.js +5 -2
  77. package/dist/src/stage.d.ts +245 -0
  78. package/dist/src/stage.js +169 -0
  79. package/dist/src/supervisor-journal.d.ts +205 -0
  80. package/dist/src/supervisor-journal.js +1246 -0
  81. package/dist/src/task-source.d.ts +37 -0
  82. package/dist/src/terminal.d.ts +130 -0
  83. package/dist/src/terminal.js +3 -0
  84. package/dist/src/validation.d.ts +14 -0
  85. package/dist/src/validation.js +3 -0
  86. package/dist/src/workflow-journal.d.ts +124 -0
  87. package/dist/src/workflow-journal.js +389 -0
  88. package/dist/src/workspace.d.ts +204 -0
  89. package/dist/src/workspace.js +5 -2
  90. package/dist/src/ws.d.ts +747 -0
  91. package/dist/src/ws.js +172 -14
  92. package/package.json +51 -4
package/dist/src/rig.js CHANGED
@@ -19,6 +19,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
19
19
  var GraphId = makeEntityId("GraphId");
20
20
  var TaskId = makeEntityId("TaskId");
21
21
  var RunId = makeEntityId("RunId");
22
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
23
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
24
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
22
25
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
23
26
  var ConversationId = makeEntityId("ConversationId");
24
27
  var ActionId = makeEntityId("ActionId");
@@ -155,6 +158,114 @@ var QueueEntry = Schema4.Struct({
155
158
  unblockCount: NonNegativeInt,
156
159
  position: NonNegativeInt
157
160
  });
161
+ var DependencyEdgeType = Schema4.Literals(["blocks", "parent-child", "related"]);
162
+ var DependencyEdge = Schema4.Struct({
163
+ fromTaskId: TaskId,
164
+ toTaskId: TaskId,
165
+ type: DependencyEdgeType
166
+ });
167
+ var BlockerClass = Schema4.Literals([
168
+ "not-blocked",
169
+ "task-blocked",
170
+ "human-decision",
171
+ "human-approval",
172
+ "external-input",
173
+ "unknown"
174
+ ]);
175
+ var ActionRiskTier = Schema4.Literals(["t1-read", "t2-reversible", "t3-external", "t4-irreversible"]);
176
+ var BlockerClassification = Schema4.Struct({
177
+ taskId: TaskId,
178
+ blockerClass: BlockerClass,
179
+ actionRiskTier: Schema4.NullOr(ActionRiskTier),
180
+ rationale: Schema4.String,
181
+ source: Schema4.Literals(["elimination", "label", "status", "llm"]),
182
+ autoApplied: Schema4.Boolean
183
+ });
184
+ var DependencyNode = Schema4.Struct({
185
+ taskId: TaskId,
186
+ title: TrimmedNonEmptyString,
187
+ status: TaskStatus,
188
+ priority: Schema4.NullOr(PositiveInt),
189
+ assignee: Schema4.NullOr(TrimmedNonEmptyString),
190
+ blockedBy: Schema4.Array(TaskId),
191
+ blocks: Schema4.Array(TaskId),
192
+ blockingDepth: NonNegativeInt,
193
+ blockerClass: Schema4.NullOr(BlockerClass),
194
+ actionRiskTier: Schema4.NullOr(ActionRiskTier),
195
+ epicKey: Schema4.NullOr(TrimmedNonEmptyString),
196
+ groupKey: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
197
+ externalId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
198
+ sourceIssueId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
199
+ scope: Schema4.optional(Schema4.Array(TrimmedNonEmptyString)),
200
+ validationKeys: Schema4.optional(Schema4.Array(TrimmedNonEmptyString))
201
+ });
202
+ var TaskGraphLane = Schema4.Struct({
203
+ key: TrimmedNonEmptyString,
204
+ label: TrimmedNonEmptyString,
205
+ rowIndex: NonNegativeInt,
206
+ x: Schema4.Number,
207
+ y: Schema4.Number,
208
+ width: NonNegativeInt,
209
+ height: NonNegativeInt,
210
+ color: Schema4.String,
211
+ taskCount: NonNegativeInt
212
+ });
213
+ var TaskGraphStage = Schema4.Struct({
214
+ index: NonNegativeInt,
215
+ label: TrimmedNonEmptyString,
216
+ x: Schema4.Number,
217
+ width: NonNegativeInt
218
+ });
219
+ var TaskGraphNode = Schema4.Struct({
220
+ id: TrimmedNonEmptyString,
221
+ taskId: TaskId,
222
+ task: Schema4.optional(TaskSummary),
223
+ rowKey: TrimmedNonEmptyString,
224
+ rowLabel: TrimmedNonEmptyString,
225
+ rowIndex: NonNegativeInt,
226
+ stage: NonNegativeInt,
227
+ x: Schema4.Number,
228
+ y: Schema4.Number,
229
+ width: NonNegativeInt,
230
+ height: NonNegativeInt,
231
+ color: Schema4.optional(Schema4.String),
232
+ taskCode: Schema4.optional(Schema4.NullOr(Schema4.String)),
233
+ strippedTitle: Schema4.optional(Schema4.String),
234
+ depsIn: Schema4.optional(NonNegativeInt),
235
+ depsOut: Schema4.optional(NonNegativeInt),
236
+ runCount: Schema4.optional(NonNegativeInt),
237
+ hasApprovals: Schema4.optional(Schema4.Boolean),
238
+ hasPendingUserInput: Schema4.optional(Schema4.Boolean),
239
+ hasRejectedReview: Schema4.optional(Schema4.Boolean),
240
+ hasFailedValidations: Schema4.optional(Schema4.Boolean),
241
+ artifactCount: Schema4.optional(NonNegativeInt)
242
+ });
243
+ var TaskGraphEdge = Schema4.Struct({
244
+ id: TrimmedNonEmptyString,
245
+ sourceId: TrimmedNonEmptyString,
246
+ targetId: TrimmedNonEmptyString,
247
+ color: Schema4.String,
248
+ kind: Schema4.Literals(["blocking", "parent-child"])
249
+ });
250
+ var TaskGraphLayout = Schema4.Struct({
251
+ lanes: Schema4.Array(TaskGraphLane),
252
+ stages: Schema4.Array(TaskGraphStage),
253
+ nodes: Schema4.Array(TaskGraphNode),
254
+ edges: Schema4.Array(TaskGraphEdge),
255
+ totalWidth: NonNegativeInt,
256
+ totalHeight: NonNegativeInt,
257
+ taskCount: NonNegativeInt
258
+ });
259
+ var DependencyGraphModel = Schema4.Struct({
260
+ graphId: GraphId,
261
+ nodes: Schema4.Array(DependencyNode),
262
+ edges: Schema4.Array(DependencyEdge),
263
+ layout: TaskGraphLayout,
264
+ cycles: Schema4.Array(Schema4.Array(TaskId)),
265
+ unresolvedRefs: Schema4.Array(TrimmedNonEmptyString),
266
+ degraded: Schema4.Boolean,
267
+ generatedAt: IsoDateTime
268
+ });
158
269
 
159
270
  // packages/contracts/src/policy.ts
160
271
  import { Schema as Schema5 } from "effect";
@@ -1074,12 +1185,14 @@ var RunStatus = Schema9.Literals([
1074
1185
  "running",
1075
1186
  "waiting-approval",
1076
1187
  "waiting-user-input",
1188
+ "paused",
1077
1189
  "validating",
1078
1190
  "reviewing",
1191
+ "closing-out",
1192
+ "needs-attention",
1079
1193
  "completed",
1080
1194
  "failed",
1081
- "cancelled",
1082
- "paused"
1195
+ "stopped"
1083
1196
  ]);
1084
1197
  var EngineSandboxMode = Schema9.Literals([
1085
1198
  "read-only",
@@ -1107,7 +1220,7 @@ var RunSummary = Schema9.Struct({
1107
1220
  runtimeMode: RuntimeMode,
1108
1221
  interactionMode: ProviderInteractionMode,
1109
1222
  status: RunStatus,
1110
- runtimeAdapter: TrimmedNonEmptyString,
1223
+ runtimeAdapter: Schema9.Literal("pi"),
1111
1224
  model: Schema9.NullOr(TrimmedNonEmptyString),
1112
1225
  initialPrompt: Schema9.NullOr(Schema9.String),
1113
1226
  executionTarget: Schema9.optional(RunExecutionTarget),
@@ -1130,7 +1243,7 @@ var RuntimeSummary = Schema9.Struct({
1130
1243
  id: EngineRuntimeId,
1131
1244
  workspaceId: WorkspaceId,
1132
1245
  runId: RunId,
1133
- adapterKind: TrimmedNonEmptyString,
1246
+ adapterKind: Schema9.Literal("pi"),
1134
1247
  executionTarget: Schema9.optional(RunExecutionTarget),
1135
1248
  remoteHostId: Schema9.optional(Schema9.NullOr(TrimmedNonEmptyString)),
1136
1249
  status: RuntimeStatus,
@@ -1257,7 +1370,7 @@ var WorkspaceRemoteHostSummary = Schema11.Struct({
1257
1370
  region: Schema11.NullOr(TrimmedNonEmptyString),
1258
1371
  labels: Schema11.Array(TrimmedNonEmptyString),
1259
1372
  capabilities: Schema11.Array(TrimmedNonEmptyString),
1260
- runtimeAdapters: Schema11.Array(TrimmedNonEmptyString),
1373
+ runtimeAdapters: Schema11.Array(Schema11.Literal("pi")),
1261
1374
  status: WorkspaceRemoteHostStatus,
1262
1375
  currentLeaseCount: Schema11.Number,
1263
1376
  lastHeartbeatAt: Schema11.NullOr(IsoDateTime),
@@ -1298,7 +1411,7 @@ var WorkspaceSummary = Schema11.Struct({
1298
1411
  title: TrimmedNonEmptyString,
1299
1412
  rootPath: TrimmedNonEmptyString,
1300
1413
  sourceKind: WorkspaceSourceKind,
1301
- defaultRuntimeAdapter: Schema11.optional(TrimmedNonEmptyString),
1414
+ defaultRuntimeAdapter: Schema11.optional(Schema11.Literal("pi")),
1302
1415
  defaultProvider: Schema11.optional(ProviderKind),
1303
1416
  defaultModel: Schema11.NullOr(TrimmedNonEmptyString),
1304
1417
  topology: Schema11.optional(WorkspaceTopologySummary),
@@ -1309,6 +1422,7 @@ var WorkspaceSummary = Schema11.Struct({
1309
1422
  });
1310
1423
 
1311
1424
  // packages/contracts/src/remote.ts
1425
+ var RemoteRuntimeAdapter = Schema12.Literal("pi");
1312
1426
  var RemoteEndpoint = Schema12.Struct({
1313
1427
  id: RemoteEndpointId,
1314
1428
  alias: TrimmedNonEmptyString,
@@ -1393,7 +1507,7 @@ var RemoteRunnerRegisterInput = Schema12.Struct({
1393
1507
  region: Schema12.optional(TrimmedNonEmptyString),
1394
1508
  labels: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1395
1509
  capabilities: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1396
- runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString)),
1510
+ runtimeAdapters: Schema12.optional(Schema12.Array(RemoteRuntimeAdapter)),
1397
1511
  status: Schema12.optional(WorkspaceRemoteHostStatus),
1398
1512
  currentLeaseCount: Schema12.optional(Schema12.Number)
1399
1513
  });
@@ -1414,14 +1528,14 @@ var RemoteRunnerLifecycleResult = Schema12.Struct({
1414
1528
  var RemoteRunClaimInput = Schema12.Struct({
1415
1529
  workspaceId: WorkspaceId,
1416
1530
  hostId: TrimmedNonEmptyString,
1417
- runtimeAdapters: Schema12.optional(Schema12.Array(TrimmedNonEmptyString))
1531
+ runtimeAdapters: Schema12.optional(Schema12.Array(RemoteRuntimeAdapter))
1418
1532
  });
1419
1533
  var RemoteRunLeaseSummary = Schema12.Struct({
1420
1534
  leaseId: TrimmedNonEmptyString,
1421
1535
  runId: TrimmedNonEmptyString,
1422
1536
  workspaceId: WorkspaceId,
1423
1537
  title: TrimmedNonEmptyString,
1424
- runtimeAdapter: TrimmedNonEmptyString,
1538
+ runtimeAdapter: RemoteRuntimeAdapter,
1425
1539
  model: Schema12.NullOr(TrimmedNonEmptyString),
1426
1540
  runtimeMode: RuntimeMode,
1427
1541
  interactionMode: ProviderInteractionMode,
@@ -1439,7 +1553,7 @@ var RemoteRunExecutionBundle = Schema12.Struct({
1439
1553
  runId: TrimmedNonEmptyString,
1440
1554
  leaseId: TrimmedNonEmptyString,
1441
1555
  workspacePath: Schema12.NullOr(TrimmedNonEmptyString),
1442
- runtimeAdapter: TrimmedNonEmptyString,
1556
+ runtimeAdapter: RemoteRuntimeAdapter,
1443
1557
  model: Schema12.NullOr(TrimmedNonEmptyString),
1444
1558
  runtimeMode: RuntimeMode,
1445
1559
  interactionMode: ProviderInteractionMode,
@@ -1600,7 +1714,7 @@ var EngineReadModel = Schema13.Struct({
1600
1714
  remoteOrchestrations: Schema13.Array(RemoteOrchestrationSummary),
1601
1715
  updatedAt: IsoDateTime
1602
1716
  });
1603
- var RuntimeAdapterKind = Schema13.Literals(["codex", "claude-code", "pi"]);
1717
+ var RuntimeAdapterKind = Schema13.Literal("pi");
1604
1718
  var WorkspaceRegisterCommand = Schema13.Struct({
1605
1719
  type: Schema13.Literal("workspace.register"),
1606
1720
  commandId: CommandId,
@@ -1793,7 +1907,7 @@ var WorkspaceRegisterRemoteHostCommand = Schema13.Struct({
1793
1907
  region: Schema13.NullOr(TrimmedNonEmptyString),
1794
1908
  labels: Schema13.Array(TrimmedNonEmptyString),
1795
1909
  capabilities: Schema13.Array(TrimmedNonEmptyString),
1796
- runtimeAdapters: Schema13.Array(TrimmedNonEmptyString),
1910
+ runtimeAdapters: Schema13.Array(RuntimeAdapterKind),
1797
1911
  status: Schema13.Literals([
1798
1912
  "registering",
1799
1913
  "ready",
@@ -2188,7 +2302,7 @@ var EngineGetTaskArtifactsInput = Schema13.Struct({
2188
2302
  });
2189
2303
  var EngineGetTaskArtifactsResult = Schema13.Array(ArtifactSummary);
2190
2304
  var EngineRuntimeDefaults = Schema13.Struct({
2191
- runtimeAdapter: TrimmedNonEmptyString,
2305
+ runtimeAdapter: RuntimeAdapterKind,
2192
2306
  runMode: RunMode,
2193
2307
  sandboxMode: EngineSandboxMode,
2194
2308
  isolationMode: IsolationMode
@@ -2207,16 +2321,19 @@ var RIG_WS_METHODS = {
2207
2321
  enqueueTask: "rig.enqueueTask",
2208
2322
  resumeRun: "rig.resumeRun",
2209
2323
  submitRunMessage: "rig.submitRunMessage",
2324
+ queueRunSteering: "rig.queueRunSteering",
2210
2325
  interruptRun: "rig.interruptRun",
2211
2326
  stopRun: "rig.stopRun",
2212
2327
  resolveApproval: "rig.resolveApproval",
2213
2328
  resolveUserInput: "rig.resolveUserInput",
2214
- getTaskArtifacts: "rig.getTaskArtifacts"
2329
+ getTaskArtifacts: "rig.getTaskArtifacts",
2330
+ ackRunSteering: "rig.ackRunSteering"
2215
2331
  };
2216
2332
  var RIG_WS_CHANNELS = {
2217
2333
  snapshotInvalidated: "rig.snapshotInvalidated",
2218
2334
  event: "rig.event",
2219
- runLogAppended: "rig.runLogAppended"
2335
+ runLogAppended: "rig.runLogAppended",
2336
+ runSteering: "rig.runSteering"
2220
2337
  };
2221
2338
  var RigSnapshotInvalidatedPayload = Schema14.Struct({
2222
2339
  sequence: NonNegativeInt,
@@ -2258,6 +2375,26 @@ var RigRunLogAppendedPayload = Schema14.Struct({
2258
2375
  runId: RunId,
2259
2376
  entry: RigRawRunLogEntry
2260
2377
  });
2378
+ var RigQueuedRunSteeringMessage = Schema14.Struct({
2379
+ id: TrimmedNonEmptyString,
2380
+ runId: RunId,
2381
+ message: TrimmedNonEmptyString,
2382
+ actor: TrimmedNonEmptyString,
2383
+ createdAt: IsoDateTime,
2384
+ delivered: Schema14.Boolean
2385
+ });
2386
+ var RigRunSteeringQueuedPayload = Schema14.Struct({
2387
+ runId: RunId,
2388
+ message: RigQueuedRunSteeringMessage
2389
+ });
2390
+ var RigAckRunSteeringInput = Schema14.Struct({
2391
+ runId: RunId,
2392
+ ids: Schema14.Array(TrimmedNonEmptyString)
2393
+ });
2394
+ var RigAckRunSteeringResult = Schema14.Struct({
2395
+ runId: RunId,
2396
+ delivered: Schema14.Array(TrimmedNonEmptyString)
2397
+ });
2261
2398
  var RigCreateAdhocRunInput = Schema14.Struct({
2262
2399
  commandId: CommandId,
2263
2400
  runId: RunId,
@@ -2270,6 +2407,9 @@ var RigCreateAdhocRunInput = Schema14.Struct({
2270
2407
  executionTarget: Schema14.optional(RunExecutionTarget),
2271
2408
  remoteHostId: Schema14.optional(Schema14.String),
2272
2409
  initialPrompt: Schema14.optional(Schema14.String),
2410
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2411
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2412
+ initiatedBy: Schema14.optional(Schema14.String),
2273
2413
  createdAt: IsoDateTime
2274
2414
  });
2275
2415
  var RigCreateTaskRunInput = Schema14.Struct({
@@ -2283,6 +2423,10 @@ var RigCreateTaskRunInput = Schema14.Struct({
2283
2423
  interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2284
2424
  executionTarget: Schema14.optional(RunExecutionTarget),
2285
2425
  remoteHostId: Schema14.optional(Schema14.String),
2426
+ initialPrompt: Schema14.optional(Schema14.String),
2427
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2428
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2429
+ initiatedBy: Schema14.optional(Schema14.String),
2286
2430
  createdAt: IsoDateTime
2287
2431
  });
2288
2432
  var RigEnqueueTaskInput = Schema14.Struct({
@@ -2311,6 +2455,19 @@ var RigSubmitRunMessageInput = Schema14.Struct({
2311
2455
  attachments: Schema14.optional(Schema14.Array(Schema14.Unknown)),
2312
2456
  createdAt: IsoDateTime
2313
2457
  });
2458
+ var RigQueueRunSteeringInput = Schema14.Struct({
2459
+ commandId: CommandId,
2460
+ runId: RunId,
2461
+ message: TrimmedNonEmptyString,
2462
+ actor: Schema14.optional(Schema14.String),
2463
+ createdAt: IsoDateTime
2464
+ });
2465
+ var RigQueueRunSteeringResult = Schema14.Struct({
2466
+ sequence: NonNegativeInt,
2467
+ runId: RunId,
2468
+ queued: Schema14.Boolean,
2469
+ message: RigQueuedRunSteeringMessage
2470
+ });
2314
2471
  var RigInterruptRunInput = Schema14.Struct({
2315
2472
  commandId: CommandId,
2316
2473
  runId: RunId,
@@ -2347,6 +2504,7 @@ export {
2347
2504
  RigStopRunInput,
2348
2505
  RigSnapshotInvalidatedPayload,
2349
2506
  RigSnapshot,
2507
+ RigRunSteeringQueuedPayload,
2350
2508
  RigRunLogAppendedPayload,
2351
2509
  RigResumeRunInput,
2352
2510
  RigResolveUserInputInput,
@@ -2354,6 +2512,9 @@ export {
2354
2512
  RigReplayEventsResult,
2355
2513
  RigReplayEventsInput,
2356
2514
  RigRawRunLogEntry,
2515
+ RigQueuedRunSteeringMessage,
2516
+ RigQueueRunSteeringResult,
2517
+ RigQueueRunSteeringInput,
2357
2518
  RigMutationResult,
2358
2519
  RigListWorkspacesResult,
2359
2520
  RigListWorkspacesInput,
@@ -2369,6 +2530,8 @@ export {
2369
2530
  RigDeleteRunInput,
2370
2531
  RigCreateTaskRunInput,
2371
2532
  RigCreateAdhocRunInput,
2533
+ RigAckRunSteeringResult,
2534
+ RigAckRunSteeringInput,
2372
2535
  RIG_WS_METHODS,
2373
2536
  RIG_WS_CHANNELS
2374
2537
  };
@@ -0,0 +1,41 @@
1
+ import { Schema } from "effect";
2
+ export declare const PercentComplete: Schema.Int;
3
+ export type PercentComplete = typeof PercentComplete.Type;
4
+ export declare const EpicRollup: Schema.Struct<{
5
+ readonly epicKey: Schema.Trim;
6
+ readonly total: Schema.Int;
7
+ readonly percentComplete: Schema.Int;
8
+ readonly blockedCount: Schema.Int;
9
+ readonly humanBlockedCount: Schema.Int;
10
+ readonly inFlightCount: Schema.Int;
11
+ readonly byStatus: Schema.$Record<Schema.String, Schema.Int>;
12
+ }>;
13
+ export type EpicRollup = typeof EpicRollup.Type;
14
+ export declare const AssigneeRollup: Schema.Struct<{
15
+ readonly assignee: Schema.Trim;
16
+ readonly openTaskCount: Schema.Int;
17
+ readonly inFlightRunCount: Schema.Int;
18
+ readonly prsAwaitingReview: Schema.Int;
19
+ readonly blockers: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
20
+ }>;
21
+ export type AssigneeRollup = typeof AssigneeRollup.Type;
22
+ export declare const WorkspaceRollups: Schema.Struct<{
23
+ readonly epics: Schema.$Array<Schema.Struct<{
24
+ readonly epicKey: Schema.Trim;
25
+ readonly total: Schema.Int;
26
+ readonly percentComplete: Schema.Int;
27
+ readonly blockedCount: Schema.Int;
28
+ readonly humanBlockedCount: Schema.Int;
29
+ readonly inFlightCount: Schema.Int;
30
+ readonly byStatus: Schema.$Record<Schema.String, Schema.Int>;
31
+ }>>;
32
+ readonly assignees: Schema.$Array<Schema.Struct<{
33
+ readonly assignee: Schema.Trim;
34
+ readonly openTaskCount: Schema.Int;
35
+ readonly inFlightRunCount: Schema.Int;
36
+ readonly prsAwaitingReview: Schema.Int;
37
+ readonly blockers: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
38
+ }>>;
39
+ readonly generatedAt: Schema.String;
40
+ }>;
41
+ export type WorkspaceRollups = typeof WorkspaceRollups.Type;
@@ -0,0 +1,70 @@
1
+ // @bun
2
+ // packages/contracts/src/rollups.ts
3
+ import { Schema as Schema2 } 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 SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
22
+ var EngineRuntimeId = makeEntityId("EngineRuntimeId");
23
+ var ConversationId = makeEntityId("ConversationId");
24
+ var ActionId = makeEntityId("ActionId");
25
+ var ArtifactId = makeEntityId("ArtifactId");
26
+ var WorktreeId = makeEntityId("WorktreeId");
27
+ var ValidationResultId = makeEntityId("ValidationResultId");
28
+ var ReviewResultId = makeEntityId("ReviewResultId");
29
+ var CommandId = makeEntityId("CommandId");
30
+ var EventId = makeEntityId("EventId");
31
+ var MessageId = makeEntityId("MessageId");
32
+ var TurnId = makeEntityId("TurnId");
33
+ var ProviderItemId = makeEntityId("ProviderItemId");
34
+ var RuntimeSessionId = makeEntityId("RuntimeSessionId");
35
+ var RuntimeItemId = makeEntityId("RuntimeItemId");
36
+ var RuntimeRequestId = makeEntityId("RuntimeRequestId");
37
+ var RuntimeTaskId = makeEntityId("RuntimeTaskId");
38
+ var ApprovalRequestId = makeEntityId("ApprovalRequestId");
39
+ var CheckpointRef = makeEntityId("CheckpointRef");
40
+ var RemoteEndpointId = makeEntityId("RemoteEndpointId");
41
+
42
+ // packages/contracts/src/rollups.ts
43
+ var PercentComplete = NonNegativeInt.check(Schema2.isLessThanOrEqualTo(100));
44
+ var EpicRollup = Schema2.Struct({
45
+ epicKey: TrimmedNonEmptyString,
46
+ total: NonNegativeInt,
47
+ percentComplete: PercentComplete,
48
+ blockedCount: NonNegativeInt,
49
+ humanBlockedCount: NonNegativeInt,
50
+ inFlightCount: NonNegativeInt,
51
+ byStatus: Schema2.Record(Schema2.String, NonNegativeInt)
52
+ });
53
+ var AssigneeRollup = Schema2.Struct({
54
+ assignee: TrimmedNonEmptyString,
55
+ openTaskCount: NonNegativeInt,
56
+ inFlightRunCount: NonNegativeInt,
57
+ prsAwaitingReview: NonNegativeInt,
58
+ blockers: Schema2.Array(TaskId)
59
+ });
60
+ var WorkspaceRollups = Schema2.Struct({
61
+ epics: Schema2.Array(EpicRollup),
62
+ assignees: Schema2.Array(AssigneeRollup),
63
+ generatedAt: IsoDateTime
64
+ });
65
+ export {
66
+ WorkspaceRollups,
67
+ PercentComplete,
68
+ EpicRollup,
69
+ AssigneeRollup
70
+ };