@h-rig/contracts 0.0.6-alpha.17 → 0.0.6-alpha.170

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 (176) hide show
  1. package/dist/index.cjs +3373 -0
  2. package/dist/index.mjs +3332 -0
  3. package/dist/src/agent-roles.d.ts +8 -0
  4. package/dist/src/artifact.d.ts +13 -0
  5. package/dist/src/artifact.js +3 -0
  6. package/dist/src/baseSchemas.d.ts +63 -0
  7. package/dist/src/baseSchemas.js +6 -0
  8. package/dist/src/browser.d.ts +80 -0
  9. package/dist/src/browser.js +13 -0
  10. package/dist/src/capability-id.d.ts +22 -0
  11. package/dist/src/capability-id.js +8 -0
  12. package/dist/src/cli-output.d.ts +348 -0
  13. package/dist/src/cli-output.js +190 -0
  14. package/dist/src/cli-runner.d.ts +43 -0
  15. package/dist/src/cli-runner.js +13 -0
  16. package/dist/src/cockpit.d.ts +28 -0
  17. package/dist/src/cockpit.js +13 -0
  18. package/dist/src/collab-session-viewer.d.ts +36 -0
  19. package/dist/src/collab-session-viewer.js +13 -0
  20. package/dist/src/config.d.ts +551 -0
  21. package/dist/src/config.js +765 -162
  22. package/dist/src/control-plane-types.d.ts +323 -0
  23. package/dist/src/control-plane-types.js +13 -0
  24. package/dist/src/conversation.d.ts +50 -0
  25. package/dist/src/conversation.js +3 -0
  26. package/dist/src/dependency-preflight.d.ts +43 -0
  27. package/dist/src/dependency-preflight.js +13 -0
  28. package/dist/src/docs-drift.d.ts +10 -0
  29. package/dist/src/docs-drift.js +12 -0
  30. package/dist/src/doctor.d.ts +90 -0
  31. package/dist/src/doctor.js +13 -0
  32. package/dist/src/drift.d.ts +28 -0
  33. package/dist/src/drift.js +69 -0
  34. package/dist/src/editor.d.ts +25 -0
  35. package/dist/src/editor.js +3 -0
  36. package/dist/src/errors.d.ts +13 -0
  37. package/dist/src/errors.js +17 -0
  38. package/dist/src/git.d.ts +152 -0
  39. package/dist/src/git.js +3 -0
  40. package/dist/src/github.d.ts +285 -0
  41. package/dist/src/github.js +17 -0
  42. package/dist/src/graph.d.ts +360 -0
  43. package/dist/src/graph.js +137 -1
  44. package/dist/src/guard.d.ts +111 -0
  45. package/dist/src/guard.js +6 -0
  46. package/dist/src/harness-events.d.ts +8 -0
  47. package/dist/src/harness-events.js +1 -0
  48. package/dist/src/help-catalog.d.ts +41 -0
  49. package/dist/src/help-catalog.js +13 -0
  50. package/dist/src/host.d.ts +41 -0
  51. package/dist/src/host.js +13 -0
  52. package/dist/src/identity.d.ts +44 -0
  53. package/dist/src/identity.js +1 -0
  54. package/dist/src/index.d.ts +84 -0
  55. package/dist/src/index.js +2746 -3962
  56. package/dist/src/isolation.d.ts +213 -0
  57. package/dist/src/isolation.js +13 -0
  58. package/dist/src/kernel.d.ts +200 -0
  59. package/dist/src/kernel.js +261 -0
  60. package/dist/src/keybindings.d.ts +71 -0
  61. package/dist/src/keybindings.js +3 -0
  62. package/dist/src/layout.d.ts +49 -0
  63. package/dist/src/layout.js +10 -0
  64. package/dist/src/lifecycle-capabilities.d.ts +186 -0
  65. package/dist/src/lifecycle-capabilities.js +33 -0
  66. package/dist/src/managed-repos.d.ts +239 -0
  67. package/dist/src/managed-repos.js +33 -0
  68. package/dist/src/memory.d.ts +199 -0
  69. package/dist/src/memory.js +15 -0
  70. package/dist/src/model.d.ts +77 -0
  71. package/dist/src/native-toolchain.d.ts +46 -0
  72. package/dist/src/native-toolchain.js +13 -0
  73. package/dist/src/notify.d.ts +46 -0
  74. package/dist/src/notify.js +13 -0
  75. package/dist/src/orchestration.d.ts +43 -0
  76. package/dist/src/orchestration.js +28 -961
  77. package/dist/src/panel-protocol.d.ts +17 -0
  78. package/dist/src/panel-protocol.js +10 -0
  79. package/dist/src/pi-session.d.ts +113 -0
  80. package/dist/src/pi-session.js +1 -0
  81. package/dist/src/planning.d.ts +64 -0
  82. package/dist/src/planning.js +90 -0
  83. package/dist/src/plugin-hooks.d.ts +51 -0
  84. package/dist/src/plugin-hooks.js +386 -0
  85. package/dist/src/plugin.d.ts +476 -0
  86. package/dist/src/plugin.js +346 -64
  87. package/dist/src/policy.d.ts +16 -0
  88. package/dist/src/policy.js +3 -0
  89. package/dist/src/project.d.ts +71 -0
  90. package/dist/src/project.js +3 -0
  91. package/dist/src/prompt.d.ts +29 -0
  92. package/dist/src/prompt.js +13 -0
  93. package/dist/src/protocol-version.d.ts +21 -0
  94. package/dist/src/protocol-version.js +6 -0
  95. package/dist/src/provider-instructions.d.ts +41 -0
  96. package/dist/src/provider-instructions.js +13 -0
  97. package/dist/src/provider.d.ts +105 -0
  98. package/dist/src/provider.js +4 -824
  99. package/dist/src/remote.d.ts +318 -0
  100. package/dist/src/remote.js +238 -1078
  101. package/dist/src/review.d.ts +18 -0
  102. package/dist/src/review.js +3 -0
  103. package/dist/src/rollups.d.ts +41 -0
  104. package/dist/src/rollups.js +70 -0
  105. package/dist/src/run-discovery.d.ts +79 -0
  106. package/dist/src/run-discovery.js +13 -0
  107. package/dist/src/run-dispatch.d.ts +34 -0
  108. package/dist/src/run-dispatch.js +13 -0
  109. package/dist/src/run-identity.d.ts +47 -0
  110. package/dist/src/run-identity.js +13 -0
  111. package/dist/src/run-journal.d.ts +694 -0
  112. package/dist/src/run-journal.js +569 -0
  113. package/dist/src/run-read-model.d.ts +255 -0
  114. package/dist/src/run-read-model.js +13 -0
  115. package/dist/src/run-record.d.ts +45 -0
  116. package/dist/src/run-record.js +1 -0
  117. package/dist/src/run-registry-backbone.d.ts +56 -0
  118. package/dist/src/run-registry-backbone.js +13 -0
  119. package/dist/src/run-session-journal.d.ts +69 -0
  120. package/dist/src/run-session-journal.js +78 -0
  121. package/dist/src/run-status.d.ts +10 -0
  122. package/dist/src/run-status.js +27 -0
  123. package/dist/src/run-timeline.d.ts +7 -0
  124. package/dist/src/run-timeline.js +1 -0
  125. package/dist/src/runtime-task-context.d.ts +82 -0
  126. package/dist/src/runtime-task-context.js +1 -0
  127. package/dist/src/runtime.d.ts +103 -0
  128. package/dist/src/runtime.js +73 -906
  129. package/dist/src/session-asset-materializer.d.ts +35 -0
  130. package/dist/src/session-asset-materializer.js +13 -0
  131. package/dist/src/setup.d.ts +88 -0
  132. package/dist/src/setup.js +13 -0
  133. package/dist/src/stage.d.ts +245 -0
  134. package/dist/src/stage.js +169 -0
  135. package/dist/src/supervisor-journal.d.ts +204 -0
  136. package/dist/src/supervisor-journal.js +334 -0
  137. package/dist/src/task-artifacts.d.ts +33 -0
  138. package/dist/src/task-artifacts.js +13 -0
  139. package/dist/src/task-context-renderer.d.ts +29 -0
  140. package/dist/src/task-context-renderer.js +13 -0
  141. package/dist/src/task-data.d.ts +198 -0
  142. package/dist/src/task-data.js +13 -0
  143. package/dist/src/task-graph-primitives.d.ts +47 -0
  144. package/dist/src/task-graph-primitives.js +1 -0
  145. package/dist/src/task-source.d.ts +136 -0
  146. package/dist/src/task-source.js +16 -0
  147. package/dist/src/task-state-metadata.d.ts +21 -0
  148. package/dist/src/task-state-metadata.js +1 -0
  149. package/dist/src/task-state-store.d.ts +16 -0
  150. package/dist/src/task-state-store.js +13 -0
  151. package/dist/src/task-tracker-state.d.ts +106 -0
  152. package/dist/src/task-tracker-state.js +39 -0
  153. package/dist/src/terminal.d.ts +130 -0
  154. package/dist/src/terminal.js +3 -0
  155. package/dist/src/tool-materializer.d.ts +36 -0
  156. package/dist/src/tool-materializer.js +13 -0
  157. package/dist/src/tool-registry.d.ts +3 -0
  158. package/dist/src/tool-registry.js +58 -0
  159. package/dist/src/toolchain-sources.d.ts +54 -0
  160. package/dist/src/toolchain-sources.js +17 -0
  161. package/dist/src/validation.d.ts +14 -0
  162. package/dist/src/validation.js +3 -0
  163. package/dist/src/workflow-journal.d.ts +92 -0
  164. package/dist/src/workflow-journal.js +18 -0
  165. package/dist/src/workspace-config.d.ts +18 -0
  166. package/dist/src/workspace-config.js +13 -0
  167. package/dist/src/workspace.d.ts +204 -0
  168. package/dist/src/workspace.js +76 -911
  169. package/package.json +51 -4
  170. package/dist/src/engine.js +0 -2278
  171. package/dist/src/providerRuntime.js +0 -1630
  172. package/dist/src/rig.js +0 -2374
  173. package/dist/src/server.js +0 -1053
  174. package/dist/src/serviceFabric.js +0 -1066
  175. package/dist/src/ws.js +0 -2968
  176. /package/dist/src/{ipc.js → agent-roles.js} +0 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,3373 @@
1
+ // @bun @bun-cjs
2
+ (function(exports, require, module, __filename, __dirname) {var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ function __accessProp(key) {
7
+ return this[key];
8
+ }
9
+ var __toCommonJS = (from) => {
10
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
11
+ if (entry)
12
+ return entry;
13
+ entry = __defProp({}, "__esModule", { value: true });
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (var key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(entry, key))
17
+ __defProp(entry, key, {
18
+ get: __accessProp.bind(from, key),
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ __moduleCache.set(from, entry);
23
+ return entry;
24
+ };
25
+ var __moduleCache;
26
+ var __returnValue = (v) => v;
27
+ function __exportSetter(name, newValue) {
28
+ this[name] = __returnValue.bind(null, newValue);
29
+ }
30
+ var __export = (target, all) => {
31
+ for (var name in all)
32
+ __defProp(target, name, {
33
+ get: all[name],
34
+ enumerable: true,
35
+ configurable: true,
36
+ set: __exportSetter.bind(all, name)
37
+ });
38
+ };
39
+
40
+ // packages/contracts/src/index.ts
41
+ var exports_src = {};
42
+ __export(exports_src, {
43
+ makeCapabilityId: () => makeCapabilityId,
44
+ WrapStageMutation: () => WrapStageMutation,
45
+ WorktreeSummary: () => WorktreeSummary,
46
+ WorktreeId: () => WorktreeId,
47
+ WorkspaceTopologySummary: () => WorkspaceTopologySummary,
48
+ WorkspaceTopologyStatus: () => WorkspaceTopologyStatus,
49
+ WorkspaceTopologyServiceSummary: () => WorkspaceTopologyServiceSummary,
50
+ WorkspaceSummary: () => WorkspaceSummary,
51
+ WorkspaceSourceKind: () => WorkspaceSourceKind,
52
+ WorkspaceServiceFabricSummary: () => WorkspaceServiceFabricSummary,
53
+ WorkspaceServiceFabricStatus: () => WorkspaceServiceFabricStatus,
54
+ WorkspaceServiceFabricServiceSummary: () => WorkspaceServiceFabricServiceSummary,
55
+ WorkspaceSandbox: () => WorkspaceSandbox,
56
+ WorkspaceRollups: () => WorkspaceRollups,
57
+ WorkspaceRemoteHostSummary: () => WorkspaceRemoteHostSummary,
58
+ WorkspaceRemoteHostStatus: () => WorkspaceRemoteHostStatus,
59
+ WorkspaceRemoteFleetSummary: () => WorkspaceRemoteFleetSummary,
60
+ WorkspaceRemoteFleetStatus: () => WorkspaceRemoteFleetStatus,
61
+ WorkspaceIsolation: () => WorkspaceIsolation,
62
+ WorkspaceId: () => WorkspaceId,
63
+ WorkspaceConfig: () => WorkspaceConfig,
64
+ WorkspaceCheckout: () => WorkspaceCheckout,
65
+ WORKSPACE_CONFIG_ENSURE_CAPABILITY_ID: () => WORKSPACE_CONFIG_ENSURE_CAPABILITY_ID,
66
+ WORKSPACE_CONFIG_ENSURE: () => WORKSPACE_CONFIG_ENSURE,
67
+ ValidatorRegistration: () => ValidatorRegistration,
68
+ ValidatorCategory: () => ValidatorCategory,
69
+ ValidationSummary: () => ValidationSummary,
70
+ ValidationStatus: () => ValidationStatus,
71
+ ValidationResultId: () => ValidationResultId,
72
+ UserStory: () => UserStory,
73
+ UserInputRequestSummary: () => UserInputRequestSummary,
74
+ TurnId: () => TurnId,
75
+ TrimmedString: () => TrimmedString,
76
+ TrimmedNonEmptyString: () => TrimmedNonEmptyString,
77
+ ThreadId: () => ThreadId,
78
+ TerminalWriteInput: () => TerminalWriteInput,
79
+ TerminalThreadInput: () => TerminalThreadInput,
80
+ TerminalSessionStatus: () => TerminalSessionStatus,
81
+ TerminalSessionSnapshot: () => TerminalSessionSnapshot,
82
+ TerminalRestartInput: () => TerminalRestartInput,
83
+ TerminalResizeInput: () => TerminalResizeInput,
84
+ TerminalOpenInput: () => TerminalOpenInput,
85
+ TerminalEvent: () => TerminalEvent,
86
+ TerminalCloseInput: () => TerminalCloseInput,
87
+ TerminalClearInput: () => TerminalClearInput,
88
+ TaskSummary: () => TaskSummary,
89
+ TaskStatus: () => TaskStatus,
90
+ TaskSourceRegistration: () => TaskSourceRegistration,
91
+ TaskSourceKind: () => TaskSourceKind,
92
+ TaskSourceConfig: () => TaskSourceConfig,
93
+ TaskId: () => TaskId,
94
+ TaskGraphStage: () => TaskGraphStage,
95
+ TaskGraphNode: () => TaskGraphNode,
96
+ TaskGraphLayout: () => TaskGraphLayout,
97
+ TaskGraphLane: () => TaskGraphLane,
98
+ TaskGraphEdge: () => TaskGraphEdge,
99
+ TaskFieldExtension: () => TaskFieldExtension,
100
+ TaskClosureSummary: () => TaskClosureSummary,
101
+ TYPE_FOR_CUSTOM: () => TYPE_FOR_CUSTOM,
102
+ TOOL_MATERIALIZER_CAPABILITY_ID: () => TOOL_MATERIALIZER_CAPABILITY_ID,
103
+ TOOL_MATERIALIZER: () => TOOL_MATERIALIZER,
104
+ TASK_VERIFY_CAPABILITY_ID: () => TASK_VERIFY_CAPABILITY_ID,
105
+ TASK_VERIFY_CAPABILITY: () => TASK_VERIFY_CAPABILITY,
106
+ TASK_VALIDATION_CAPABILITY_ID: () => TASK_VALIDATION_CAPABILITY_ID,
107
+ TASK_VALIDATION_CAPABILITY: () => TASK_VALIDATION_CAPABILITY,
108
+ TASK_TRACKER_STATE_CAPABILITY_ID: () => TASK_TRACKER_STATE_CAPABILITY_ID,
109
+ TASK_TRACKER_STATE: () => TASK_TRACKER_STATE,
110
+ TASK_TRACKER_STALE_CLAIM_MS: () => TASK_TRACKER_STALE_CLAIM_MS,
111
+ TASK_TRACKER_REPO_LOCATOR_CAPABILITY_ID: () => TASK_TRACKER_REPO_LOCATOR_CAPABILITY_ID,
112
+ TASK_TRACKER_REPO_LOCATOR: () => TASK_TRACKER_REPO_LOCATOR,
113
+ TASK_TRACKER_RECONCILIATION_POLICY_CAPABILITY_ID: () => TASK_TRACKER_RECONCILIATION_POLICY_CAPABILITY_ID,
114
+ TASK_TRACKER_RECONCILIATION_POLICY: () => TASK_TRACKER_RECONCILIATION_POLICY,
115
+ TASK_TRACKER_READINESS_POLICY_CAPABILITY_ID: () => TASK_TRACKER_READINESS_POLICY_CAPABILITY_ID,
116
+ TASK_TRACKER_READINESS_POLICY: () => TASK_TRACKER_READINESS_POLICY,
117
+ TASK_TRACKER_LIFECYCLE_STATUSES: () => TASK_TRACKER_LIFECYCLE_STATUSES,
118
+ TASK_STATE_STORE_CAPABILITY_ID: () => TASK_STATE_STORE_CAPABILITY_ID,
119
+ TASK_STATE_STORE: () => TASK_STATE_STORE,
120
+ TASK_SOURCE_UPDATE_CAPABILITY_ID: () => TASK_SOURCE_UPDATE_CAPABILITY_ID,
121
+ TASK_SOURCE_UPDATE: () => TASK_SOURCE_UPDATE,
122
+ TASK_SOURCE_REFLECTION_CAPABILITY_ID: () => TASK_SOURCE_REFLECTION_CAPABILITY_ID,
123
+ TASK_SOURCE_REFLECTION: () => TASK_SOURCE_REFLECTION,
124
+ TASK_SELECTION_CAPABILITY_ID: () => TASK_SELECTION_CAPABILITY_ID,
125
+ TASK_SELECTION: () => TASK_SELECTION,
126
+ TASK_PROJECTION_CAPABILITY_ID: () => TASK_PROJECTION_CAPABILITY_ID,
127
+ TASK_IO_SERVICE_CAPABILITY_ID: () => TASK_IO_SERVICE_CAPABILITY_ID,
128
+ TASK_IO_SERVICE_CAPABILITY: () => TASK_IO_SERVICE_CAPABILITY,
129
+ TASK_DATA_SERVICE_CAPABILITY_ID: () => TASK_DATA_SERVICE_CAPABILITY_ID,
130
+ TASK_DATA_SERVICE_CAPABILITY: () => TASK_DATA_SERVICE_CAPABILITY,
131
+ TASK_CONTEXT_RENDERER_CAPABILITY_ID: () => TASK_CONTEXT_RENDERER_CAPABILITY_ID,
132
+ TASK_CONTEXT_RENDERER: () => TASK_CONTEXT_RENDERER,
133
+ TASK_ARTIFACTS_CAPABILITY_ID: () => TASK_ARTIFACTS_CAPABILITY_ID,
134
+ TASK_ARTIFACTS: () => TASK_ARTIFACTS,
135
+ SupervisorStoppedEvent: () => SupervisorStoppedEvent,
136
+ SupervisorStopReason: () => SupervisorStopReason,
137
+ SupervisorStatus: () => SupervisorStatus,
138
+ SupervisorStartedEvent: () => SupervisorStartedEvent,
139
+ SupervisorSkippedEvent: () => SupervisorSkippedEvent,
140
+ SupervisorSelectionPolicy: () => SupervisorSelectionPolicy,
141
+ SupervisorSelectionPlannedEvent: () => SupervisorSelectionPlannedEvent,
142
+ SupervisorProjection: () => SupervisorProjection,
143
+ SupervisorOutcomeEvent: () => SupervisorOutcomeEvent,
144
+ SupervisorIdleEvent: () => SupervisorIdleEvent,
145
+ SupervisorFinishedEvent: () => SupervisorFinishedEvent,
146
+ SupervisorEvent: () => SupervisorEvent,
147
+ SupervisorDispatchStartedEvent: () => SupervisorDispatchStartedEvent,
148
+ SupervisorDispatchEvent: () => SupervisorDispatchEvent,
149
+ SupervisorDispatchConfirmedEvent: () => SupervisorDispatchConfirmedEvent,
150
+ StageWrapperDescriptor: () => StageWrapperDescriptor,
151
+ StageRunOutcome: () => StageRunOutcome,
152
+ StageResult: () => StageResult,
153
+ StageMutationOp: () => StageMutationOp,
154
+ StageMutation: () => StageMutation,
155
+ StageKind: () => StageKind,
156
+ StageId: () => StageId,
157
+ StageDescriptor: () => StageDescriptor,
158
+ StageContinueResult: () => StageContinueResult,
159
+ StageContext: () => StageContext,
160
+ StageBlockResult: () => StageBlockResult,
161
+ StageAllowResult: () => StageAllowResult,
162
+ Stage: () => Stage,
163
+ SkillRegistration: () => SkillRegistration,
164
+ SessionExtensionRegistration: () => SessionExtensionRegistration,
165
+ SeedEntrypointRegistration: () => SeedEntrypointRegistration,
166
+ ScopeSearchPrefix: () => ScopeSearchPrefix,
167
+ ScopeNormalizationRules: () => ScopeNormalizationRules,
168
+ Schema: () => import_effect30.Schema,
169
+ SafeRunId: () => SafeRunId,
170
+ SafePathSegment: () => SafePathSegment,
171
+ SafeGitRefComponent: () => SafeGitRefComponent,
172
+ SESSION_ASSET_MATERIALIZER_CAPABILITY_ID: () => SESSION_ASSET_MATERIALIZER_CAPABILITY_ID,
173
+ SESSION_ASSET_MATERIALIZER: () => SESSION_ASSET_MATERIALIZER,
174
+ SCRIPT_RUN_COMMAND_PATTERN: () => SCRIPT_RUN_COMMAND_PATTERN,
175
+ RuntimeTaskId: () => RuntimeTaskId,
176
+ RuntimeSupervisorConfig: () => RuntimeSupervisorConfig,
177
+ RuntimeSummary: () => RuntimeSummary,
178
+ RuntimeStatus: () => RuntimeStatus,
179
+ RuntimeSessionId: () => RuntimeSessionId,
180
+ RuntimeRequestId: () => RuntimeRequestId,
181
+ RuntimePlanningConfig: () => RuntimePlanningConfig,
182
+ RuntimeMode: () => RuntimeMode,
183
+ RuntimeItemId: () => RuntimeItemId,
184
+ RuntimeHarness: () => RuntimeHarness,
185
+ RuntimeDriftConfig: () => RuntimeDriftConfig,
186
+ RuntimeConfig: () => RuntimeConfig,
187
+ RunTimelineEntryEvent: () => RunTimelineEntryEvent,
188
+ RunSummary: () => RunSummary,
189
+ RunSteeringEvent: () => RunSteeringEvent,
190
+ RunStatusChangedEvent: () => RunStatusChangedEvent,
191
+ RunStatus: () => RunStatus,
192
+ RunStallDetectedEvent: () => RunStallDetectedEvent,
193
+ RunStageOutcomeEvent: () => RunStageOutcomeEvent,
194
+ RunRecordPatchEvent: () => RunRecordPatchEvent,
195
+ RunRecordPatch: () => RunRecordPatch,
196
+ RunPipelineResolvedEvent: () => RunPipelineResolvedEvent,
197
+ RunMode: () => RunMode,
198
+ RunLogEntryEvent: () => RunLogEntryEvent,
199
+ RunKind: () => RunKind,
200
+ RunJournalRecord: () => RunJournalRecord,
201
+ RunJournalEvent: () => RunJournalEvent,
202
+ RunInputResolvedEvent: () => RunInputResolvedEvent,
203
+ RunInputRequestedEvent: () => RunInputRequestedEvent,
204
+ RunId: () => RunId,
205
+ RunExecutionTarget: () => RunExecutionTarget,
206
+ RunCloseoutStatus: () => RunCloseoutStatus,
207
+ RunCloseoutState: () => RunCloseoutState,
208
+ RunCloseoutPhaseOutcome: () => RunCloseoutPhaseOutcome,
209
+ RunCloseoutPhaseEvent: () => RunCloseoutPhaseEvent,
210
+ RunCloseoutPhase: () => RunCloseoutPhase,
211
+ RunApprovalResolvedEvent: () => RunApprovalResolvedEvent,
212
+ RunApprovalRequestedEvent: () => RunApprovalRequestedEvent,
213
+ RunAdoptedEvent: () => RunAdoptedEvent,
214
+ RunActor: () => RunActor,
215
+ RigTaskShowOutput: () => RigTaskShowOutput,
216
+ RigTaskListOutput: () => RigTaskListOutput,
217
+ RigStatsOutput: () => RigStatsOutput,
218
+ RigStatsData: () => RigStatsData,
219
+ RigServerUseOutput: () => RigServerUseOutput,
220
+ RigServerStatusOutput: () => RigServerStatusOutput,
221
+ RigServerRepairLinkOutput: () => RigServerRepairLinkOutput,
222
+ RigServerConfig: () => RigServerConfig,
223
+ RigRuntimeMode: () => RigRuntimeMode,
224
+ RigRunShowOutput: () => RigRunShowOutput,
225
+ RigRunListOutput: () => RigRunListOutput,
226
+ RigPlugin: () => RigPlugin,
227
+ RigInboxInputsOutput: () => RigInboxInputsOutput,
228
+ RigInboxApprovalsOutput: () => RigInboxApprovalsOutput,
229
+ RigDoctorCheckOutput: () => RigDoctorCheckOutput,
230
+ RigConfig: () => RigConfig,
231
+ RigCliOutputEnvelope: () => RigCliOutputEnvelope,
232
+ ReviewSummary: () => ReviewSummary,
233
+ ReviewStatus: () => ReviewStatus,
234
+ ReviewResultId: () => ReviewResultId,
235
+ ReviewMode: () => ReviewMode,
236
+ ReviewConfig: () => ReviewConfig,
237
+ ResolvedPipeline: () => ResolvedPipeline,
238
+ ResolvedKeybindingsConfig: () => ResolvedKeybindingsConfig,
239
+ ResolvedKeybindingRule: () => ResolvedKeybindingRule,
240
+ ResolutionRecordEntry: () => ResolutionRecordEntry,
241
+ ResolutionRecord: () => ResolutionRecord,
242
+ ResolutionGrantUse: () => ResolutionGrantUse,
243
+ RepoSourceRegistration: () => RepoSourceRegistration,
244
+ ReplaceStageMutation: () => ReplaceStageMutation,
245
+ ReorderStageMutation: () => ReorderStageMutation,
246
+ RemoveStageMutation: () => RemoveStageMutation,
247
+ RemoteRunnerRegisterInput: () => RemoteRunnerRegisterInput,
248
+ RemoteRunnerLifecycleResult: () => RemoteRunnerLifecycleResult,
249
+ RemoteRunnerHeartbeatInput: () => RemoteRunnerHeartbeatInput,
250
+ RemoteRunStartResult: () => RemoteRunStartResult,
251
+ RemoteRunStartInput: () => RemoteRunStartInput,
252
+ RemoteRunReleaseResult: () => RemoteRunReleaseResult,
253
+ RemoteRunReleaseInput: () => RemoteRunReleaseInput,
254
+ RemoteRunMutationResult: () => RemoteRunMutationResult,
255
+ RemoteRunMessageInput: () => RemoteRunMessageInput,
256
+ RemoteRunLogInput: () => RemoteRunLogInput,
257
+ RemoteRunLeaseSummary: () => RemoteRunLeaseSummary,
258
+ RemoteRunFailInput: () => RemoteRunFailInput,
259
+ RemoteRunExecutionBundle: () => RemoteRunExecutionBundle,
260
+ RemoteRunConversationEntry: () => RemoteRunConversationEntry,
261
+ RemoteRunCompleteInput: () => RemoteRunCompleteInput,
262
+ RemoteRunClaimResult: () => RemoteRunClaimResult,
263
+ RemoteRunClaimInput: () => RemoteRunClaimInput,
264
+ RemoteRunArtifactsResult: () => RemoteRunArtifactsResult,
265
+ RemoteRunArtifactSummary: () => RemoteRunArtifactSummary,
266
+ RemoteRunArtifactResult: () => RemoteRunArtifactResult,
267
+ RemoteRunArtifactInput: () => RemoteRunArtifactInput,
268
+ RemoteOrchestratorState: () => RemoteOrchestratorState,
269
+ RemoteOrchestrationSummary: () => RemoteOrchestrationSummary,
270
+ RemoteIterationOutput: () => RemoteIterationOutput,
271
+ RemoteEndpointId: () => RemoteEndpointId,
272
+ RemoteEndpoint: () => RemoteEndpoint,
273
+ RemoteConnectionSummary: () => RemoteConnectionSummary,
274
+ RemoteConnectionStatusChanged: () => RemoteConnectionStatusChanged,
275
+ RemoteConnectionStatus: () => RemoteConnectionStatus,
276
+ RUN_REGISTRY_BACKBONE_CAPABILITY_ID: () => RUN_REGISTRY_BACKBONE_CAPABILITY_ID,
277
+ RUN_REGISTRY_BACKBONE: () => RUN_REGISTRY_BACKBONE,
278
+ RUN_READ_MODEL_CAPABILITY_ID: () => RUN_READ_MODEL_CAPABILITY_ID,
279
+ RUN_READ_MODEL: () => RUN_READ_MODEL,
280
+ RUN_IDENTITY_ENV_CAPABILITY_ID: () => RUN_IDENTITY_ENV_CAPABILITY_ID,
281
+ RUN_IDENTITY_ENV: () => RUN_IDENTITY_ENV,
282
+ RUN_DISPATCH_CAPABILITY_ID: () => RUN_DISPATCH_CAPABILITY_ID,
283
+ RUN_DISPATCH: () => RUN_DISPATCH,
284
+ RUN_DISCOVERY_CAPABILITY_ID: () => RUN_DISCOVERY_CAPABILITY_ID,
285
+ RUN_DISCOVERY: () => RUN_DISCOVERY,
286
+ RUN_CLOSEOUT_CAPABILITY_ID: () => RUN_CLOSEOUT_CAPABILITY_ID,
287
+ RUN_CLOSEOUT_CAPABILITY: () => RUN_CLOSEOUT_CAPABILITY,
288
+ RUNTIME_SHELL_TOOL_NAMES: () => RUNTIME_SHELL_TOOL_NAMES,
289
+ RUNTIME_INSTRUCTION_SERVICE_CAPABILITY_ID: () => RUNTIME_INSTRUCTION_SERVICE_CAPABILITY_ID,
290
+ RUNTIME_INSTRUCTION: () => RUNTIME_INSTRUCTION,
291
+ RUNTIME_FILE_TOOL_NAMES: () => RUNTIME_FILE_TOOL_NAMES,
292
+ RUNTIME_BROWSER_TOOL_NAMES: () => RUNTIME_BROWSER_TOOL_NAMES,
293
+ RIG_WORKFLOW_TASK_SELECTED: () => RIG_WORKFLOW_TASK_SELECTED,
294
+ RIG_WORKFLOW_TARGET_SELECTED: () => RIG_WORKFLOW_TARGET_SELECTED,
295
+ RIG_WORKFLOW_STATUS_CHANGED: () => RIG_WORKFLOW_STATUS_CHANGED,
296
+ RIG_WORKFLOW_STARTED: () => RIG_WORKFLOW_STARTED,
297
+ RIG_WORKFLOW_OPERATOR_NOTE: () => RIG_WORKFLOW_OPERATOR_NOTE,
298
+ RIG_WORKFLOW_INBOX_RESOLVED: () => RIG_WORKFLOW_INBOX_RESOLVED,
299
+ RIG_WORKFLOW_INBOX_REQUESTED: () => RIG_WORKFLOW_INBOX_REQUESTED,
300
+ RIG_SUPERVISOR_PANEL_ID: () => RIG_SUPERVISOR_PANEL_ID,
301
+ RIG_STOP_SENTINEL_END: () => RIG_STOP_SENTINEL_END,
302
+ RIG_STOP_SENTINEL: () => RIG_STOP_SENTINEL,
303
+ RIG_STATE_DIRNAME: () => RIG_STATE_DIRNAME,
304
+ RIG_RUN_TIMELINE_ENTRY: () => RIG_RUN_TIMELINE_ENTRY,
305
+ RIG_RUN_STOP_PANEL_ACTION: () => RIG_RUN_STOP_PANEL_ACTION,
306
+ RIG_RUN_STEERING: () => RIG_RUN_STEERING,
307
+ RIG_RUN_STATUS_CHANGED: () => RIG_RUN_STATUS_CHANGED,
308
+ RIG_RUN_STALL_DETECTED: () => RIG_RUN_STALL_DETECTED,
309
+ RIG_RUN_STAGE_OUTCOME: () => RIG_RUN_STAGE_OUTCOME,
310
+ RIG_RUN_RECORD_PATCH: () => RIG_RUN_RECORD_PATCH,
311
+ RIG_RUN_PIPELINE_RESOLVED: () => RIG_RUN_PIPELINE_RESOLVED,
312
+ RIG_RUN_LOG_ENTRY: () => RIG_RUN_LOG_ENTRY,
313
+ RIG_RUN_INPUT_RESOLVED: () => RIG_RUN_INPUT_RESOLVED,
314
+ RIG_RUN_INPUT_REQUESTED: () => RIG_RUN_INPUT_REQUESTED,
315
+ RIG_RUN_CLOSEOUT_PHASE: () => RIG_RUN_CLOSEOUT_PHASE,
316
+ RIG_RUN_APPROVAL_RESOLVED: () => RIG_RUN_APPROVAL_RESOLVED,
317
+ RIG_RUN_APPROVAL_REQUESTED: () => RIG_RUN_APPROVAL_REQUESTED,
318
+ RIG_RUN_ADOPTED: () => RIG_RUN_ADOPTED,
319
+ RIG_RESUME_SENTINEL: () => RIG_RESUME_SENTINEL,
320
+ RIG_PROTOCOL_VERSION: () => RIG_PROTOCOL_VERSION,
321
+ RIG_PAUSE_SENTINEL: () => RIG_PAUSE_SENTINEL,
322
+ RIG_INBOX_RESOLUTION_SENTINEL: () => RIG_INBOX_RESOLUTION_SENTINEL,
323
+ RIG_DEFINITION_DIRNAME: () => RIG_DEFINITION_DIRNAME,
324
+ RIG_CONTROL_SENTINEL_END: () => RIG_CONTROL_SENTINEL_END,
325
+ RIG_CAPABILITY_PANEL_SLOT: () => RIG_CAPABILITY_PANEL_SLOT,
326
+ RIG_ARTIFACTS_DIRNAME: () => RIG_ARTIFACTS_DIRNAME,
327
+ REPO_OPERATIONS_CAPABILITY_ID: () => REPO_OPERATIONS_CAPABILITY_ID,
328
+ REPO_OPERATIONS_CAPABILITY: () => REPO_OPERATIONS_CAPABILITY,
329
+ REPO_NATIVE_GIT_CAPABILITY_ID: () => REPO_NATIVE_GIT_CAPABILITY_ID,
330
+ REPO_NATIVE_GIT: () => REPO_NATIVE_GIT,
331
+ REPO_GIT_BINARY_CAPABILITY_ID: () => REPO_GIT_BINARY_CAPABILITY_ID,
332
+ REPO_GIT_BINARY: () => REPO_GIT_BINARY,
333
+ REPO_CHANGE_SET_CAPABILITY_ID: () => REPO_CHANGE_SET_CAPABILITY_ID,
334
+ REPO_CHANGE_SET: () => REPO_CHANGE_SET,
335
+ REASONING_EFFORT_OPTIONS_BY_PROVIDER: () => REASONING_EFFORT_OPTIONS_BY_PROVIDER,
336
+ QueueEntry: () => QueueEntry,
337
+ PullRequestConfig: () => PullRequestConfig,
338
+ ProviderUserInputAnswers: () => ProviderUserInputAnswers,
339
+ ProviderTurnStartResult: () => ProviderTurnStartResult,
340
+ ProviderStopSessionInput: () => ProviderStopSessionInput,
341
+ ProviderSessionStartInput: () => ProviderSessionStartInput,
342
+ ProviderSession: () => ProviderSession,
343
+ ProviderServiceTier: () => ProviderServiceTier,
344
+ ProviderSendTurnInput: () => ProviderSendTurnInput,
345
+ ProviderSandboxMode: () => ProviderSandboxMode,
346
+ ProviderRespondToUserInputInput: () => ProviderRespondToUserInputInput,
347
+ ProviderRespondToRequestInput: () => ProviderRespondToRequestInput,
348
+ ProviderRequestKind: () => ProviderRequestKind,
349
+ ProviderModelOptions: () => ProviderModelOptions,
350
+ ProviderKind: () => ProviderKind,
351
+ ProviderItemId: () => ProviderItemId,
352
+ ProviderInterruptTurnInput: () => ProviderInterruptTurnInput,
353
+ ProviderInteractionMode: () => ProviderInteractionMode,
354
+ ProviderEvent: () => ProviderEvent,
355
+ ProviderApprovalPolicy: () => ProviderApprovalPolicy,
356
+ ProviderApprovalDecision: () => ProviderApprovalDecision,
357
+ ProjectWriteFileResult: () => ProjectWriteFileResult,
358
+ ProjectWriteFileInput: () => ProjectWriteFileInput,
359
+ ProjectSearchEntriesResult: () => ProjectSearchEntriesResult,
360
+ ProjectSearchEntriesInput: () => ProjectSearchEntriesInput,
361
+ ProjectReadFileResult: () => ProjectReadFileResult,
362
+ ProjectReadFileInput: () => ProjectReadFileInput,
363
+ ProjectListDirectoryResult: () => ProjectListDirectoryResult,
364
+ ProjectListDirectoryInput: () => ProjectListDirectoryInput,
365
+ ProjectIdentity: () => ProjectIdentity,
366
+ ProjectId: () => ProjectId,
367
+ ProjectEntry: () => ProjectEntry,
368
+ ProjectDirectoryEntry: () => ProjectDirectoryEntry,
369
+ ProductCapabilityRegistration: () => ProductCapabilityRegistration,
370
+ PositiveInt: () => PositiveInt,
371
+ PolicyMode: () => PolicyMode,
372
+ PolicyDecisionSummary: () => PolicyDecisionSummary,
373
+ PolicyDecision: () => PolicyDecision,
374
+ PluginContributes: () => PluginContributes,
375
+ PlanningConfig: () => PlanningConfig,
376
+ PlanTask: () => PlanTask,
377
+ PlanSpec: () => PlanSpec,
378
+ PipelineUnresolvable: () => PipelineUnresolvable,
379
+ PiRuntimeConfig: () => PiRuntimeConfig,
380
+ PercentComplete: () => PercentComplete,
381
+ PanelRegistration: () => PanelRegistration,
382
+ PR_MERGE_GATE_CAPABILITY_ID: () => PR_MERGE_GATE_CAPABILITY_ID,
383
+ PR_MERGE_GATE: () => PR_MERGE_GATE,
384
+ PROVIDER_SEND_TURN_MAX_INPUT_CHARS: () => PROVIDER_SEND_TURN_MAX_INPUT_CHARS,
385
+ PROVIDER_SEND_TURN_MAX_IMAGE_BYTES: () => PROVIDER_SEND_TURN_MAX_IMAGE_BYTES,
386
+ PROVIDER_SEND_TURN_MAX_ATTACHMENTS: () => PROVIDER_SEND_TURN_MAX_ATTACHMENTS,
387
+ PROJECT_SETUP_CAPABILITY_ID: () => PROJECT_SETUP_CAPABILITY_ID,
388
+ PROJECT_SETUP: () => PROJECT_SETUP,
389
+ PROJECT_READ_FILE_MAX_BYTES_VALUE: () => PROJECT_READ_FILE_MAX_BYTES_VALUE,
390
+ PRIOR_PROGRESS_PROMPT_CAPABILITY_ID: () => PRIOR_PROGRESS_PROMPT_CAPABILITY_ID,
391
+ PRIOR_PROGRESS_PROMPT: () => PRIOR_PROGRESS_PROMPT,
392
+ POLICY_VERSION: () => POLICY_VERSION,
393
+ PLACEMENT_RUN_TRANSPORT: () => PLACEMENT_RUN_TRANSPORT,
394
+ OpenQuestion: () => OpenQuestion,
395
+ OpenInEditorInput: () => OpenInEditorInput,
396
+ OPERATOR_INACTIVE_RUN_STATUSES: () => OPERATOR_INACTIVE_RUN_STATUSES,
397
+ NonNegativeInt: () => NonNegativeInt,
398
+ NO_MATCH_RETRIEVAL_CANONICAL_KEY: () => NO_MATCH_RETRIEVAL_CANONICAL_KEY,
399
+ NOTIFY_SERVICE_CAPABILITY_ID: () => NOTIFY_SERVICE_CAPABILITY_ID,
400
+ NOTIFY_SERVICE_CAPABILITY: () => NOTIFY_SERVICE_CAPABILITY,
401
+ NATIVE_TOOLCHAIN_GIT_CAPABILITY_ID: () => NATIVE_TOOLCHAIN_GIT_CAPABILITY_ID,
402
+ NATIVE_TOOLCHAIN_GIT: () => NATIVE_TOOLCHAIN_GIT,
403
+ NATIVE_TOOLCHAIN_BINARY_BUILD_CAPABILITY_ID: () => NATIVE_TOOLCHAIN_BINARY_BUILD_CAPABILITY_ID,
404
+ NATIVE_TOOLCHAIN_BINARY_BUILD: () => NATIVE_TOOLCHAIN_BINARY_BUILD,
405
+ MissingCapability: () => MissingCapability,
406
+ MessageId: () => MessageId,
407
+ MergeConfig: () => MergeConfig,
408
+ MODEL_SLUG_ALIASES_BY_PROVIDER: () => MODEL_SLUG_ALIASES_BY_PROVIDER,
409
+ MODEL_OPTIONS_BY_PROVIDER: () => MODEL_OPTIONS_BY_PROVIDER,
410
+ MEMORY_SERVICE_CAPABILITY_ID: () => MEMORY_SERVICE_CAPABILITY_ID,
411
+ MEMORY: () => MEMORY,
412
+ MAX_WHEN_EXPRESSION_DEPTH: () => MAX_WHEN_EXPRESSION_DEPTH,
413
+ MAX_SCRIPT_ID_LENGTH: () => MAX_SCRIPT_ID_LENGTH,
414
+ MAX_KEYBINDING_VALUE_LENGTH: () => MAX_KEYBINDING_VALUE_LENGTH,
415
+ MAX_KEYBINDINGS_COUNT: () => MAX_KEYBINDINGS_COUNT,
416
+ MANAGED_REPO_SERVICE_CAPABILITY_ID: () => MANAGED_REPO_SERVICE_CAPABILITY_ID,
417
+ MANAGED_REPO_SERVICE_CAPABILITY: () => MANAGED_REPO_SERVICE_CAPABILITY,
418
+ LIFECYCLE_TOOLCHAIN_SOURCES_CAPABILITY_ID: () => LIFECYCLE_TOOLCHAIN_SOURCES_CAPABILITY_ID,
419
+ LIFECYCLE_TOOLCHAIN_SOURCES: () => LIFECYCLE_TOOLCHAIN_SOURCES,
420
+ LIFECYCLE_GIT_AGENT_CAPABILITY_ID: () => LIFECYCLE_GIT_AGENT_CAPABILITY_ID,
421
+ LIFECYCLE_GIT_AGENT: () => LIFECYCLE_GIT_AGENT,
422
+ KeybindingsConfig: () => KeybindingsConfig,
423
+ KeybindingWhenNode: () => KeybindingWhenNode,
424
+ KeybindingShortcut: () => KeybindingShortcut,
425
+ KeybindingRule: () => KeybindingRule,
426
+ KeybindingCommand: () => KeybindingCommand,
427
+ KernelResolutionRecord: () => KernelResolutionRecord,
428
+ KernelReplacementGrant: () => KernelReplacementGrant,
429
+ KernelReplacementDenied: () => KernelReplacementDenied,
430
+ KernelBootErrorCode: () => KernelBootErrorCode,
431
+ KernelBootError: () => KernelBootError,
432
+ JournalEvent: () => JournalEvent,
433
+ IssueAnalysisConfig: () => IssueAnalysisConfig,
434
+ IsolationMode: () => IsolationMode,
435
+ IsoDateTime: () => IsoDateTime,
436
+ InsertStageMutation: () => InsertStageMutation,
437
+ ISSUE_TRIAGE_CAPABILITY_ID: () => ISSUE_TRIAGE_CAPABILITY_ID,
438
+ ISSUE_TRIAGE: () => ISSUE_TRIAGE,
439
+ ISOLATION_BACKEND_CAPABILITY_ID: () => ISOLATION_BACKEND_CAPABILITY_ID,
440
+ ISOLATION_BACKEND: () => ISOLATION_BACKEND,
441
+ HookToolInput: () => HookToolInput,
442
+ HookResult: () => HookResult,
443
+ HookRegistration: () => HookRegistration,
444
+ HookMatcher: () => HookMatcher,
445
+ HookEvent: () => HookEvent,
446
+ HookDecision: () => HookDecision,
447
+ HookContext: () => HookContext,
448
+ HOST_RUN_CAPABILITY_ID: () => HOST_RUN_CAPABILITY_ID,
449
+ HOST_RUN: () => HOST_RUN,
450
+ HELP_CATALOG_CAPABILITY_ID: () => HELP_CATALOG_CAPABILITY_ID,
451
+ HELP_CATALOG: () => HELP_CATALOG,
452
+ GraphSummary: () => GraphSummary,
453
+ GraphId: () => GraphId,
454
+ GitStatusResult: () => GitStatusResult,
455
+ GitStatusInput: () => GitStatusInput,
456
+ GitStackedAction: () => GitStackedAction,
457
+ GitRunStackedActionResult: () => GitRunStackedActionResult,
458
+ GitRunStackedActionInput: () => GitRunStackedActionInput,
459
+ GitRemoveWorktreeInput: () => GitRemoveWorktreeInput,
460
+ GitReadWorkingTreePatchResult: () => GitReadWorkingTreePatchResult,
461
+ GitReadWorkingTreePatchInput: () => GitReadWorkingTreePatchInput,
462
+ GitPullResult: () => GitPullResult,
463
+ GitPullInput: () => GitPullInput,
464
+ GitListBranchesResult: () => GitListBranchesResult,
465
+ GitListBranchesInput: () => GitListBranchesInput,
466
+ GitInitInput: () => GitInitInput,
467
+ GitHubProjectStatusConfig: () => GitHubProjectStatusConfig,
468
+ GitHubConfig: () => GitHubConfig,
469
+ GitCreateWorktreeResult: () => GitCreateWorktreeResult,
470
+ GitCreateWorktreeInput: () => GitCreateWorktreeInput,
471
+ GitCreateBranchInput: () => GitCreateBranchInput,
472
+ GitCheckoutInput: () => GitCheckoutInput,
473
+ GitBranch: () => GitBranch,
474
+ GUARD_TOOLCHAIN_SOURCES_CAPABILITY_ID: () => GUARD_TOOLCHAIN_SOURCES_CAPABILITY_ID,
475
+ GUARD_TOOLCHAIN_SOURCES: () => GUARD_TOOLCHAIN_SOURCES,
476
+ GRAPH_PROJECT_CAPABILITY_ID: () => GRAPH_PROJECT_CAPABILITY_ID,
477
+ GRAPH_PROJECT: () => GRAPH_PROJECT,
478
+ GITHUB_PROVIDER_CAPABILITY_ID: () => GITHUB_PROVIDER_CAPABILITY_ID,
479
+ GITHUB_PROVIDER: () => GITHUB_PROVIDER,
480
+ FunctionalRequirement: () => FunctionalRequirement,
481
+ EventId: () => EventId,
482
+ EpicRollup: () => EpicRollup,
483
+ EngineSandboxMode: () => EngineSandboxMode,
484
+ EngineRuntimeId: () => EngineRuntimeId,
485
+ EngineRunLog: () => EngineRunLog,
486
+ EngineMessageState: () => EngineMessageState,
487
+ EngineMessageRole: () => EngineMessageRole,
488
+ EngineMessage: () => EngineMessage,
489
+ EngineLogTone: () => EngineLogTone,
490
+ EngineAction: () => EngineAction,
491
+ EditorId: () => EditorId,
492
+ EDITORS: () => EDITORS,
493
+ DriftReport: () => DriftReport,
494
+ DriftKind: () => DriftKind,
495
+ DriftFinding: () => DriftFinding,
496
+ DriftConfidence: () => DriftConfidence,
497
+ DependencyNode: () => DependencyNode,
498
+ DependencyGraphModel: () => DependencyGraphModel,
499
+ DependencyEdgeType: () => DependencyEdgeType,
500
+ DependencyEdge: () => DependencyEdge,
501
+ DOCTOR_RUNNER_CAPABILITY_ID: () => DOCTOR_RUNNER_CAPABILITY_ID,
502
+ DOCTOR: () => DOCTOR,
503
+ DOCS_DRIFT_VALIDATOR_ID: () => DOCS_DRIFT_VALIDATOR_ID,
504
+ DOCS_DRIFT_STAGE_ID: () => DOCS_DRIFT_STAGE_ID,
505
+ DOCS_DRIFT_CLI_ID: () => DOCS_DRIFT_CLI_ID,
506
+ DOCS_DRIFT_CAPABILITY_ID: () => DOCS_DRIFT_CAPABILITY_ID,
507
+ DISPATCH_OUTCOME_CAPABILITY_ID: () => DISPATCH_OUTCOME_CAPABILITY_ID,
508
+ DEPENDENCY_PREFLIGHT_CAPABILITY_ID: () => DEPENDENCY_PREFLIGHT_CAPABILITY_ID,
509
+ DEPENDENCY_PREFLIGHT_CAPABILITY: () => DEPENDENCY_PREFLIGHT_CAPABILITY,
510
+ DEFAULT_TERMINAL_ID: () => DEFAULT_TERMINAL_ID,
511
+ DEFAULT_RUNTIME_MODE: () => DEFAULT_RUNTIME_MODE,
512
+ DEFAULT_REASONING_EFFORT_BY_PROVIDER: () => DEFAULT_REASONING_EFFORT_BY_PROVIDER,
513
+ DEFAULT_PROVIDER_INTERACTION_MODE: () => DEFAULT_PROVIDER_INTERACTION_MODE,
514
+ DEFAULT_MODEL_BY_PROVIDER: () => DEFAULT_MODEL_BY_PROVIDER,
515
+ ConversationSummary: () => ConversationSummary,
516
+ ConversationId: () => ConversationId,
517
+ CommandId: () => CommandId,
518
+ CodexModelOptions: () => CodexModelOptions,
519
+ CliTaskSummary: () => CliTaskSummary,
520
+ CliTaskFilters: () => CliTaskFilters,
521
+ CliServerConnection: () => CliServerConnection,
522
+ CliRunRecord: () => CliRunRecord,
523
+ CliRepoConnectionState: () => CliRepoConnectionState,
524
+ CliRemoteProjectLink: () => CliRemoteProjectLink,
525
+ CliInboxRecord: () => CliInboxRecord,
526
+ CliError: () => CliError,
527
+ CliDoctorCheck: () => CliDoctorCheck,
528
+ CliCommandRegistration: () => CliCommandRegistration,
529
+ ClaudeModelOptions: () => ClaudeModelOptions,
530
+ ClarificationStatus: () => ClarificationStatus,
531
+ CheckpointRef: () => CheckpointRef,
532
+ ChatImageAttachment: () => ChatImageAttachment,
533
+ ChatAttachment: () => ChatAttachment,
534
+ CapabilityTag: () => CapabilityTag,
535
+ CapabilityRunSchema: () => CapabilityRunSchema,
536
+ CapabilityResolutionStatus: () => CapabilityResolutionStatus,
537
+ CapabilityResolutionRecord: () => CapabilityResolutionRecord,
538
+ CapabilityReplacementSpec: () => CapabilityReplacementSpec,
539
+ CapabilityReplacement: () => CapabilityReplacement,
540
+ CapabilityProviderRef: () => CapabilityProviderRef,
541
+ CapabilityGrants: () => CapabilityGrants,
542
+ CUSTOM_TYPE_FOR: () => CUSTOM_TYPE_FOR,
543
+ COMPLETION_VERIFICATION_CAPABILITY_ID: () => COMPLETION_VERIFICATION_CAPABILITY_ID,
544
+ COMPLETION_VERIFICATION_CAPABILITY: () => COMPLETION_VERIFICATION_CAPABILITY,
545
+ COLLAB_SESSION_VIEWER_CAPABILITY_ID: () => COLLAB_SESSION_VIEWER_CAPABILITY_ID,
546
+ COLLAB_SESSION_VIEWER_CAPABILITY: () => COLLAB_SESSION_VIEWER_CAPABILITY,
547
+ CODEX_REASONING_EFFORT_OPTIONS: () => CODEX_REASONING_EFFORT_OPTIONS,
548
+ CLI_RUNNER_CAPABILITY_ID: () => CLI_RUNNER_CAPABILITY_ID,
549
+ CLI_RUNNER: () => CLI_RUNNER,
550
+ CLI_OUTPUT_VERSION: () => CLI_OUTPUT_VERSION,
551
+ BootResultDescriptor: () => BootResultDescriptor,
552
+ BootIncoherent: () => BootIncoherent,
553
+ BlockerClassifierRegistration: () => BlockerClassifierRegistration,
554
+ BlockerClassification: () => BlockerClassification,
555
+ BlockerClass: () => BlockerClass,
556
+ BROWSER_CONTRACT_SERVICE_CAPABILITY_ID: () => BROWSER_CONTRACT_SERVICE_CAPABILITY_ID,
557
+ BROWSER_CONTRACT_SERVICE_CAPABILITY: () => BROWSER_CONTRACT_SERVICE_CAPABILITY,
558
+ AutomationConfig: () => AutomationConfig,
559
+ AssigneeRollup: () => AssigneeRollup,
560
+ ArtifactSummary: () => ArtifactSummary,
561
+ ArtifactId: () => ArtifactId,
562
+ ApprovalSummary: () => ApprovalSummary,
563
+ ApprovalStatus: () => ApprovalStatus,
564
+ ApprovalRequestId: () => ApprovalRequestId,
565
+ ApprovalDecision: () => ApprovalDecision,
566
+ AmbiguousCapability: () => AmbiguousCapability,
567
+ AgentSessionHookEvent: () => AgentSessionHookEvent,
568
+ AgentRoleRegistration: () => AgentRoleRegistration,
569
+ ActionRiskTier: () => ActionRiskTier,
570
+ ActionId: () => ActionId
571
+ });
572
+ module.exports = __toCommonJS(exports_src);
573
+ var import_effect30 = require("effect");
574
+
575
+ // packages/contracts/src/baseSchemas.ts
576
+ var import_effect = require("effect");
577
+ var TrimmedString = import_effect.Schema.Trim;
578
+ var TrimmedNonEmptyString = TrimmedString.check(import_effect.Schema.isNonEmpty());
579
+ var NonNegativeInt = import_effect.Schema.Int.check(import_effect.Schema.isGreaterThanOrEqualTo(0));
580
+ var PositiveInt = import_effect.Schema.Int.check(import_effect.Schema.isGreaterThanOrEqualTo(1));
581
+ var IsoDateTime = import_effect.Schema.String;
582
+ var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(import_effect.Schema.brand(brand));
583
+ var ThreadId = makeEntityId("ThreadId");
584
+ var ProjectId = makeEntityId("ProjectId");
585
+ var WorkspaceId = makeEntityId("WorkspaceId");
586
+ var GraphId = makeEntityId("GraphId");
587
+ var TaskId = makeEntityId("TaskId");
588
+ var RunId = makeEntityId("RunId");
589
+ var SafePathSegment = TrimmedNonEmptyString.check(import_effect.Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(import_effect.Schema.brand("SafePathSegment"));
590
+ var SafeRunId = TrimmedNonEmptyString.check(import_effect.Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(import_effect.Schema.brand("SafeRunId"));
591
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(import_effect.Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(import_effect.Schema.brand("SafeGitRefComponent"));
592
+ var EngineRuntimeId = makeEntityId("EngineRuntimeId");
593
+ var ConversationId = makeEntityId("ConversationId");
594
+ var ActionId = makeEntityId("ActionId");
595
+ var ArtifactId = makeEntityId("ArtifactId");
596
+ var WorktreeId = makeEntityId("WorktreeId");
597
+ var ValidationResultId = makeEntityId("ValidationResultId");
598
+ var ReviewResultId = makeEntityId("ReviewResultId");
599
+ var CommandId = makeEntityId("CommandId");
600
+ var EventId = makeEntityId("EventId");
601
+ var MessageId = makeEntityId("MessageId");
602
+ var TurnId = makeEntityId("TurnId");
603
+ var ProviderItemId = makeEntityId("ProviderItemId");
604
+ var RuntimeSessionId = makeEntityId("RuntimeSessionId");
605
+ var RuntimeItemId = makeEntityId("RuntimeItemId");
606
+ var RuntimeRequestId = makeEntityId("RuntimeRequestId");
607
+ var RuntimeTaskId = makeEntityId("RuntimeTaskId");
608
+ var ApprovalRequestId = makeEntityId("ApprovalRequestId");
609
+ var CheckpointRef = makeEntityId("CheckpointRef");
610
+ var RemoteEndpointId = makeEntityId("RemoteEndpointId");
611
+ // packages/contracts/src/workspace.ts
612
+ var import_effect3 = require("effect");
613
+
614
+ // packages/contracts/src/orchestration.ts
615
+ var import_effect2 = require("effect");
616
+ var ProviderKind = import_effect2.Schema.Literals(["codex", "claude"]);
617
+ var ProviderApprovalPolicy = import_effect2.Schema.Literals([
618
+ "untrusted",
619
+ "on-failure",
620
+ "on-request",
621
+ "never"
622
+ ]);
623
+ var ProviderSandboxMode = import_effect2.Schema.Literals([
624
+ "read-only",
625
+ "workspace-write",
626
+ "danger-full-access"
627
+ ]);
628
+ var ProviderServiceTier = import_effect2.Schema.Literals(["fast", "flex"]);
629
+ var RuntimeMode = import_effect2.Schema.Literals(["approval-required", "full-access"]);
630
+ var DEFAULT_RUNTIME_MODE = "full-access";
631
+ var ProviderInteractionMode = import_effect2.Schema.Literals(["default", "plan"]);
632
+ var DEFAULT_PROVIDER_INTERACTION_MODE = "default";
633
+ var ProviderRequestKind = import_effect2.Schema.Literals(["command", "file-read", "file-change"]);
634
+ var ProviderApprovalDecision = import_effect2.Schema.Literals([
635
+ "accept",
636
+ "acceptForSession",
637
+ "decline",
638
+ "cancel"
639
+ ]);
640
+ var ProviderUserInputAnswers = import_effect2.Schema.Record(import_effect2.Schema.String, import_effect2.Schema.Unknown);
641
+ var PROVIDER_SEND_TURN_MAX_INPUT_CHARS = 120000;
642
+ var PROVIDER_SEND_TURN_MAX_ATTACHMENTS = 8;
643
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
644
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
645
+ var ChatAttachmentId = TrimmedNonEmptyString.check(import_effect2.Schema.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), import_effect2.Schema.isPattern(/^[a-z0-9_-]+$/i));
646
+ var ChatImageAttachment = import_effect2.Schema.Struct({
647
+ type: import_effect2.Schema.Literal("image"),
648
+ id: ChatAttachmentId,
649
+ name: TrimmedNonEmptyString.check(import_effect2.Schema.isMaxLength(255)),
650
+ mimeType: TrimmedNonEmptyString.check(import_effect2.Schema.isMaxLength(100), import_effect2.Schema.isPattern(/^image\//i)),
651
+ sizeBytes: NonNegativeInt.check(import_effect2.Schema.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
652
+ });
653
+ var ChatAttachment = import_effect2.Schema.Union([ChatImageAttachment]);
654
+
655
+ // packages/contracts/src/workspace.ts
656
+ var WorkspaceSourceKind = import_effect3.Schema.Literals(["native", "rig-import", "manual", "remote"]);
657
+ var WorkspaceTopologyStatus = import_effect3.Schema.Literals(["empty", "ready", "degraded"]);
658
+ var WorkspaceRemoteFleetStatus = import_effect3.Schema.Literals(["empty", "ready", "degraded"]);
659
+ var WorkspaceServiceFabricStatus = import_effect3.Schema.Literals([
660
+ "empty",
661
+ "booting",
662
+ "ready",
663
+ "degraded",
664
+ "stopped"
665
+ ]);
666
+ var WorkspaceRemoteHostStatus = import_effect3.Schema.Literals([
667
+ "registering",
668
+ "ready",
669
+ "busy",
670
+ "degraded",
671
+ "draining",
672
+ "offline",
673
+ "quarantined"
674
+ ]);
675
+ var WorkspaceTopologyServiceSummary = import_effect3.Schema.Struct({
676
+ name: TrimmedNonEmptyString,
677
+ relativeRootPath: TrimmedNonEmptyString,
678
+ runtime: TrimmedNonEmptyString,
679
+ port: import_effect3.Schema.NullOr(import_effect3.Schema.Number),
680
+ healthcheck: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
681
+ sourceOfTruth: import_effect3.Schema.Struct({
682
+ code: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
683
+ tests: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
684
+ infra: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
685
+ deploy: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
686
+ dependencies: import_effect3.Schema.NullOr(TrimmedNonEmptyString)
687
+ }),
688
+ splitReadyChecklist: import_effect3.Schema.Array(TrimmedNonEmptyString)
689
+ });
690
+ var WorkspaceTopologySummary = import_effect3.Schema.Struct({
691
+ compiledAt: IsoDateTime,
692
+ status: WorkspaceTopologyStatus,
693
+ manifestCount: import_effect3.Schema.Number,
694
+ serviceCount: import_effect3.Schema.Number,
695
+ services: import_effect3.Schema.Array(WorkspaceTopologyServiceSummary),
696
+ warnings: import_effect3.Schema.Array(import_effect3.Schema.String)
697
+ });
698
+ var WorkspaceRemoteHostSummary = import_effect3.Schema.Struct({
699
+ id: TrimmedNonEmptyString,
700
+ name: TrimmedNonEmptyString,
701
+ baseUrl: TrimmedNonEmptyString,
702
+ workspacePath: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
703
+ transport: TrimmedNonEmptyString,
704
+ hostname: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
705
+ region: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
706
+ labels: import_effect3.Schema.Array(TrimmedNonEmptyString),
707
+ capabilities: import_effect3.Schema.Array(TrimmedNonEmptyString),
708
+ runtimeAdapters: import_effect3.Schema.Array(import_effect3.Schema.Literal("pi")),
709
+ status: WorkspaceRemoteHostStatus,
710
+ currentLeaseCount: import_effect3.Schema.Number,
711
+ lastHeartbeatAt: import_effect3.Schema.NullOr(IsoDateTime),
712
+ registeredAt: IsoDateTime,
713
+ manifestPath: TrimmedNonEmptyString
714
+ });
715
+ var WorkspaceRemoteFleetSummary = import_effect3.Schema.Struct({
716
+ updatedAt: IsoDateTime,
717
+ status: WorkspaceRemoteFleetStatus,
718
+ manifestCount: import_effect3.Schema.Number,
719
+ hostCount: import_effect3.Schema.Number,
720
+ onlineHostCount: import_effect3.Schema.Number,
721
+ hosts: import_effect3.Schema.Array(WorkspaceRemoteHostSummary),
722
+ warnings: import_effect3.Schema.Array(import_effect3.Schema.String)
723
+ });
724
+ var WorkspaceServiceFabricServiceSummary = import_effect3.Schema.Struct({
725
+ name: TrimmedNonEmptyString,
726
+ relativeRootPath: TrimmedNonEmptyString,
727
+ mode: import_effect3.Schema.Literals(["stub", "process"]),
728
+ port: import_effect3.Schema.Number,
729
+ healthcheck: TrimmedNonEmptyString,
730
+ routePrefix: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
731
+ status: import_effect3.Schema.Literals(["planned", "booting", "healthy", "degraded", "failed", "stopped"]),
732
+ pid: import_effect3.Schema.NullOr(import_effect3.Schema.Number),
733
+ logPath: import_effect3.Schema.NullOr(TrimmedNonEmptyString)
734
+ });
735
+ var WorkspaceServiceFabricSummary = import_effect3.Schema.Struct({
736
+ updatedAt: IsoDateTime,
737
+ status: WorkspaceServiceFabricStatus,
738
+ serviceCount: import_effect3.Schema.Number,
739
+ healthyServiceCount: import_effect3.Schema.Number,
740
+ stateDir: TrimmedNonEmptyString,
741
+ services: import_effect3.Schema.Array(WorkspaceServiceFabricServiceSummary),
742
+ warnings: import_effect3.Schema.Array(import_effect3.Schema.String)
743
+ });
744
+ var WorkspaceSummary = import_effect3.Schema.Struct({
745
+ id: WorkspaceId,
746
+ title: TrimmedNonEmptyString,
747
+ rootPath: TrimmedNonEmptyString,
748
+ sourceKind: WorkspaceSourceKind,
749
+ defaultRuntimeAdapter: import_effect3.Schema.optional(import_effect3.Schema.Literal("pi")),
750
+ defaultProvider: import_effect3.Schema.optional(ProviderKind),
751
+ defaultModel: import_effect3.Schema.NullOr(TrimmedNonEmptyString),
752
+ topology: import_effect3.Schema.optional(WorkspaceTopologySummary),
753
+ remoteFleet: import_effect3.Schema.optional(WorkspaceRemoteFleetSummary),
754
+ serviceFabric: import_effect3.Schema.optional(WorkspaceServiceFabricSummary),
755
+ createdAt: IsoDateTime,
756
+ updatedAt: IsoDateTime
757
+ });
758
+ // packages/contracts/src/graph.ts
759
+ var import_effect4 = require("effect");
760
+
761
+ // packages/contracts/src/capability-id.ts
762
+ function makeCapabilityId(id) {
763
+ return id;
764
+ }
765
+
766
+ // packages/contracts/src/graph.ts
767
+ var TaskStatus = import_effect4.Schema.Literals([
768
+ "draft",
769
+ "open",
770
+ "ready",
771
+ "queued",
772
+ "running",
773
+ "in_progress",
774
+ "under_review",
775
+ "blocked",
776
+ "unknown",
777
+ "completed",
778
+ "failed",
779
+ "cancelled",
780
+ "closed"
781
+ ]);
782
+ var GraphSummary = import_effect4.Schema.Struct({
783
+ id: GraphId,
784
+ workspaceId: WorkspaceId,
785
+ title: TrimmedNonEmptyString,
786
+ description: import_effect4.Schema.NullOr(import_effect4.Schema.String),
787
+ createdAt: IsoDateTime,
788
+ updatedAt: IsoDateTime
789
+ });
790
+ var TaskSummary = import_effect4.Schema.Struct({
791
+ id: TaskId,
792
+ workspaceId: WorkspaceId,
793
+ graphId: import_effect4.Schema.NullOr(GraphId),
794
+ externalId: import_effect4.Schema.NullOr(TrimmedNonEmptyString),
795
+ title: TrimmedNonEmptyString,
796
+ description: import_effect4.Schema.String,
797
+ status: TaskStatus,
798
+ priority: import_effect4.Schema.NullOr(PositiveInt),
799
+ role: import_effect4.Schema.NullOr(TrimmedNonEmptyString),
800
+ scope: import_effect4.Schema.Array(TrimmedNonEmptyString),
801
+ validationKeys: import_effect4.Schema.Array(TrimmedNonEmptyString),
802
+ sourceIssueId: import_effect4.Schema.optional(import_effect4.Schema.NullOr(TrimmedNonEmptyString)),
803
+ dependencies: import_effect4.Schema.optional(import_effect4.Schema.Array(TrimmedNonEmptyString)),
804
+ parentChildDeps: import_effect4.Schema.optional(import_effect4.Schema.Array(TrimmedNonEmptyString)),
805
+ metadata: import_effect4.Schema.Unknown,
806
+ createdAt: IsoDateTime,
807
+ updatedAt: IsoDateTime
808
+ });
809
+ var QueueEntry = import_effect4.Schema.Struct({
810
+ taskId: TaskId,
811
+ score: NonNegativeInt,
812
+ unblockCount: NonNegativeInt,
813
+ position: NonNegativeInt
814
+ });
815
+ var DependencyEdgeType = import_effect4.Schema.Literals(["blocks", "parent-child", "related"]);
816
+ var DependencyEdge = import_effect4.Schema.Struct({
817
+ fromTaskId: TaskId,
818
+ toTaskId: TaskId,
819
+ type: DependencyEdgeType
820
+ });
821
+ var BlockerClass = import_effect4.Schema.Literals([
822
+ "not-blocked",
823
+ "task-blocked",
824
+ "human-decision",
825
+ "human-approval",
826
+ "external-input",
827
+ "unknown"
828
+ ]);
829
+ var ActionRiskTier = import_effect4.Schema.Literals(["t1-read", "t2-reversible", "t3-external", "t4-irreversible"]);
830
+ var BlockerClassification = import_effect4.Schema.Struct({
831
+ taskId: TaskId,
832
+ blockerClass: BlockerClass,
833
+ actionRiskTier: import_effect4.Schema.NullOr(ActionRiskTier),
834
+ rationale: import_effect4.Schema.String,
835
+ source: import_effect4.Schema.Literals(["elimination", "label", "status", "llm"]),
836
+ autoApplied: import_effect4.Schema.Boolean
837
+ });
838
+ var DependencyNode = import_effect4.Schema.Struct({
839
+ taskId: TaskId,
840
+ title: TrimmedNonEmptyString,
841
+ status: TaskStatus,
842
+ priority: import_effect4.Schema.NullOr(PositiveInt),
843
+ assignee: import_effect4.Schema.NullOr(TrimmedNonEmptyString),
844
+ blockedBy: import_effect4.Schema.Array(TaskId),
845
+ blocks: import_effect4.Schema.Array(TaskId),
846
+ blockingDepth: NonNegativeInt,
847
+ blockerClass: import_effect4.Schema.NullOr(BlockerClass),
848
+ actionRiskTier: import_effect4.Schema.NullOr(ActionRiskTier),
849
+ epicKey: import_effect4.Schema.NullOr(TrimmedNonEmptyString),
850
+ groupKey: import_effect4.Schema.optional(import_effect4.Schema.NullOr(TrimmedNonEmptyString)),
851
+ externalId: import_effect4.Schema.optional(import_effect4.Schema.NullOr(TrimmedNonEmptyString)),
852
+ sourceIssueId: import_effect4.Schema.optional(import_effect4.Schema.NullOr(TrimmedNonEmptyString)),
853
+ scope: import_effect4.Schema.optional(import_effect4.Schema.Array(TrimmedNonEmptyString)),
854
+ validationKeys: import_effect4.Schema.optional(import_effect4.Schema.Array(TrimmedNonEmptyString))
855
+ });
856
+ var TaskGraphLane = import_effect4.Schema.Struct({
857
+ key: TrimmedNonEmptyString,
858
+ label: TrimmedNonEmptyString,
859
+ rowIndex: NonNegativeInt,
860
+ x: import_effect4.Schema.Number,
861
+ y: import_effect4.Schema.Number,
862
+ width: NonNegativeInt,
863
+ height: NonNegativeInt,
864
+ color: import_effect4.Schema.String,
865
+ taskCount: NonNegativeInt
866
+ });
867
+ var TaskGraphStage = import_effect4.Schema.Struct({
868
+ index: NonNegativeInt,
869
+ label: TrimmedNonEmptyString,
870
+ x: import_effect4.Schema.Number,
871
+ width: NonNegativeInt
872
+ });
873
+ var TaskGraphNode = import_effect4.Schema.Struct({
874
+ id: TrimmedNonEmptyString,
875
+ taskId: TaskId,
876
+ task: import_effect4.Schema.optional(TaskSummary),
877
+ rowKey: TrimmedNonEmptyString,
878
+ rowLabel: TrimmedNonEmptyString,
879
+ rowIndex: NonNegativeInt,
880
+ stage: NonNegativeInt,
881
+ x: import_effect4.Schema.Number,
882
+ y: import_effect4.Schema.Number,
883
+ width: NonNegativeInt,
884
+ height: NonNegativeInt,
885
+ color: import_effect4.Schema.optional(import_effect4.Schema.String),
886
+ taskCode: import_effect4.Schema.optional(import_effect4.Schema.NullOr(import_effect4.Schema.String)),
887
+ strippedTitle: import_effect4.Schema.optional(import_effect4.Schema.String),
888
+ depsIn: import_effect4.Schema.optional(NonNegativeInt),
889
+ depsOut: import_effect4.Schema.optional(NonNegativeInt),
890
+ runCount: import_effect4.Schema.optional(NonNegativeInt),
891
+ hasApprovals: import_effect4.Schema.optional(import_effect4.Schema.Boolean),
892
+ hasPendingUserInput: import_effect4.Schema.optional(import_effect4.Schema.Boolean),
893
+ hasRejectedReview: import_effect4.Schema.optional(import_effect4.Schema.Boolean),
894
+ hasFailedValidations: import_effect4.Schema.optional(import_effect4.Schema.Boolean),
895
+ artifactCount: import_effect4.Schema.optional(NonNegativeInt)
896
+ });
897
+ var TaskGraphEdge = import_effect4.Schema.Struct({
898
+ id: TrimmedNonEmptyString,
899
+ sourceId: TrimmedNonEmptyString,
900
+ targetId: TrimmedNonEmptyString,
901
+ color: import_effect4.Schema.String,
902
+ kind: import_effect4.Schema.Literals(["blocking", "parent-child"])
903
+ });
904
+ var TaskGraphLayout = import_effect4.Schema.Struct({
905
+ lanes: import_effect4.Schema.Array(TaskGraphLane),
906
+ stages: import_effect4.Schema.Array(TaskGraphStage),
907
+ nodes: import_effect4.Schema.Array(TaskGraphNode),
908
+ edges: import_effect4.Schema.Array(TaskGraphEdge),
909
+ totalWidth: NonNegativeInt,
910
+ totalHeight: NonNegativeInt,
911
+ taskCount: NonNegativeInt
912
+ });
913
+ var DependencyGraphModel = import_effect4.Schema.Struct({
914
+ graphId: GraphId,
915
+ nodes: import_effect4.Schema.Array(DependencyNode),
916
+ edges: import_effect4.Schema.Array(DependencyEdge),
917
+ layout: TaskGraphLayout,
918
+ cycles: import_effect4.Schema.Array(import_effect4.Schema.Array(TaskId)),
919
+ unresolvedRefs: import_effect4.Schema.Array(TrimmedNonEmptyString),
920
+ degraded: import_effect4.Schema.Boolean,
921
+ generatedAt: IsoDateTime
922
+ });
923
+ var GRAPH_PROJECT_CAPABILITY_ID = "rig.graph.project";
924
+ var GRAPH_PROJECT = makeCapabilityId(GRAPH_PROJECT_CAPABILITY_ID);
925
+ var TASK_SELECTION_CAPABILITY_ID = "cap:task-selection";
926
+ var TASK_SELECTION = makeCapabilityId(TASK_SELECTION_CAPABILITY_ID);
927
+ // packages/contracts/src/runtime.ts
928
+ var import_effect5 = require("effect");
929
+ var RunKind = import_effect5.Schema.Literals(["adhoc", "task", "batch", "validation", "review"]);
930
+ var RunMode = import_effect5.Schema.Literals(["interactive", "autonomous", "supervised"]);
931
+ var RunStatus = import_effect5.Schema.Literals([
932
+ "created",
933
+ "queued",
934
+ "preparing",
935
+ "running",
936
+ "waiting-approval",
937
+ "waiting-user-input",
938
+ "paused",
939
+ "validating",
940
+ "reviewing",
941
+ "closing-out",
942
+ "needs-attention",
943
+ "completed",
944
+ "failed",
945
+ "stopped"
946
+ ]);
947
+ var EngineSandboxMode = import_effect5.Schema.Literals([
948
+ "read-only",
949
+ "workspace-write",
950
+ "danger-full-access"
951
+ ]);
952
+ var IsolationMode = import_effect5.Schema.Literals(["none", "env", "worktree"]);
953
+ var RuntimeStatus = import_effect5.Schema.Literals([
954
+ "prepared",
955
+ "starting",
956
+ "running",
957
+ "interrupted",
958
+ "exited",
959
+ "failed",
960
+ "destroyed"
961
+ ]);
962
+ var RunExecutionTarget = import_effect5.Schema.Literals(["local", "remote"]);
963
+ var RunSummary = import_effect5.Schema.Struct({
964
+ id: RunId,
965
+ workspaceId: WorkspaceId,
966
+ taskId: import_effect5.Schema.NullOr(TaskId),
967
+ title: TrimmedNonEmptyString,
968
+ runKind: RunKind,
969
+ mode: RunMode,
970
+ runtimeMode: RuntimeMode,
971
+ interactionMode: ProviderInteractionMode,
972
+ status: RunStatus,
973
+ runtimeAdapter: import_effect5.Schema.Literal("pi"),
974
+ model: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
975
+ initialPrompt: import_effect5.Schema.NullOr(import_effect5.Schema.String),
976
+ executionTarget: import_effect5.Schema.optional(RunExecutionTarget),
977
+ remoteHostId: import_effect5.Schema.optional(import_effect5.Schema.NullOr(TrimmedNonEmptyString)),
978
+ remoteLeaseId: import_effect5.Schema.optional(import_effect5.Schema.NullOr(TrimmedNonEmptyString)),
979
+ remoteLeaseClaimedAt: import_effect5.Schema.optional(import_effect5.Schema.NullOr(IsoDateTime)),
980
+ activeRuntimeId: import_effect5.Schema.NullOr(EngineRuntimeId),
981
+ latestMessageId: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
982
+ pendingApprovalCount: NonNegativeInt,
983
+ pendingUserInputCount: NonNegativeInt,
984
+ branch: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
985
+ worktreePath: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
986
+ errorText: import_effect5.Schema.NullOr(import_effect5.Schema.String),
987
+ createdAt: IsoDateTime,
988
+ updatedAt: IsoDateTime,
989
+ startedAt: import_effect5.Schema.NullOr(IsoDateTime),
990
+ completedAt: import_effect5.Schema.NullOr(IsoDateTime)
991
+ });
992
+ var RuntimeSummary = import_effect5.Schema.Struct({
993
+ id: EngineRuntimeId,
994
+ workspaceId: WorkspaceId,
995
+ runId: RunId,
996
+ adapterKind: import_effect5.Schema.Literal("pi"),
997
+ executionTarget: import_effect5.Schema.optional(RunExecutionTarget),
998
+ remoteHostId: import_effect5.Schema.optional(import_effect5.Schema.NullOr(TrimmedNonEmptyString)),
999
+ status: RuntimeStatus,
1000
+ sandboxMode: EngineSandboxMode,
1001
+ isolationMode: IsolationMode,
1002
+ workspaceDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1003
+ homeDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1004
+ tmpDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1005
+ cacheDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1006
+ logsDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1007
+ stateDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1008
+ sessionDir: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1009
+ sessionLogPath: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1010
+ pid: import_effect5.Schema.NullOr(NonNegativeInt),
1011
+ startedAt: import_effect5.Schema.NullOr(IsoDateTime),
1012
+ updatedAt: IsoDateTime,
1013
+ exitedAt: import_effect5.Schema.NullOr(IsoDateTime)
1014
+ });
1015
+ var ApprovalStatus = import_effect5.Schema.Literals(["pending", "resolved"]);
1016
+ var ApprovalSummary = import_effect5.Schema.Struct({
1017
+ id: TrimmedNonEmptyString,
1018
+ runId: RunId,
1019
+ actionId: import_effect5.Schema.NullOr(TrimmedNonEmptyString),
1020
+ requestKind: TrimmedNonEmptyString,
1021
+ status: ApprovalStatus,
1022
+ payload: import_effect5.Schema.Unknown,
1023
+ createdAt: IsoDateTime,
1024
+ resolvedAt: import_effect5.Schema.NullOr(IsoDateTime)
1025
+ });
1026
+ var UserInputRequestSummary = import_effect5.Schema.Struct({
1027
+ id: TrimmedNonEmptyString,
1028
+ runId: RunId,
1029
+ status: ApprovalStatus,
1030
+ payload: import_effect5.Schema.Unknown,
1031
+ createdAt: IsoDateTime,
1032
+ resolvedAt: import_effect5.Schema.NullOr(IsoDateTime)
1033
+ });
1034
+ var WorktreeSummary = import_effect5.Schema.Struct({
1035
+ id: WorktreeId,
1036
+ workspaceId: WorkspaceId,
1037
+ runId: RunId,
1038
+ taskId: import_effect5.Schema.NullOr(TaskId),
1039
+ branchName: TrimmedNonEmptyString,
1040
+ path: TrimmedNonEmptyString,
1041
+ status: TrimmedNonEmptyString,
1042
+ createdAt: IsoDateTime,
1043
+ cleanedAt: import_effect5.Schema.NullOr(IsoDateTime)
1044
+ });
1045
+ // packages/contracts/src/run-journal.ts
1046
+ var import_effect7 = require("effect");
1047
+
1048
+ // packages/contracts/src/stage.ts
1049
+ var import_effect6 = require("effect");
1050
+ var StageKind = import_effect6.Schema.Literals(["transform", "gate", "observe"]);
1051
+ var StageId = TrimmedNonEmptyString.pipe(import_effect6.Schema.brand("StageId"));
1052
+ var StageContext = import_effect6.Schema.Struct({
1053
+ runId: RunId,
1054
+ taskId: import_effect6.Schema.optional(import_effect6.Schema.NullOr(TaskId)),
1055
+ state: import_effect6.Schema.Unknown,
1056
+ metadata: import_effect6.Schema.optional(import_effect6.Schema.Record(import_effect6.Schema.String, import_effect6.Schema.Unknown))
1057
+ });
1058
+ var StageDescriptor = import_effect6.Schema.Struct({
1059
+ id: StageId,
1060
+ kind: StageKind,
1061
+ before: import_effect6.Schema.optional(import_effect6.Schema.Array(StageId)),
1062
+ after: import_effect6.Schema.optional(import_effect6.Schema.Array(StageId)),
1063
+ priority: import_effect6.Schema.Number.pipe(import_effect6.Schema.withDecodingDefault(() => 0)),
1064
+ protected: import_effect6.Schema.Boolean.pipe(import_effect6.Schema.withDecodingDefault(() => false))
1065
+ });
1066
+ var Stage = StageDescriptor;
1067
+ var StageContinueResult = import_effect6.Schema.Struct({
1068
+ kind: import_effect6.Schema.Literal("continue"),
1069
+ ctx: StageContext
1070
+ });
1071
+ var StageAllowResult = import_effect6.Schema.Struct({
1072
+ kind: import_effect6.Schema.Literal("allow")
1073
+ });
1074
+ var StageBlockResult = import_effect6.Schema.Struct({
1075
+ kind: import_effect6.Schema.Literal("block"),
1076
+ reason: TrimmedNonEmptyString
1077
+ });
1078
+ var StageResult = import_effect6.Schema.Union([
1079
+ StageContinueResult,
1080
+ StageAllowResult,
1081
+ StageBlockResult
1082
+ ]);
1083
+ var StageWrapperDescriptor = import_effect6.Schema.Struct({
1084
+ id: TrimmedNonEmptyString,
1085
+ priority: import_effect6.Schema.Number.pipe(import_effect6.Schema.withDecodingDefault(() => 0))
1086
+ });
1087
+ var StageMutationOp = import_effect6.Schema.Literals(["insert", "remove", "replace", "wrap", "reorder"]);
1088
+ var InsertStageMutation = import_effect6.Schema.Struct({
1089
+ op: import_effect6.Schema.Literal("insert"),
1090
+ stage: StageDescriptor,
1091
+ contributedBy: import_effect6.Schema.optional(TrimmedNonEmptyString)
1092
+ });
1093
+ var RemoveStageMutation = import_effect6.Schema.Struct({
1094
+ op: import_effect6.Schema.Literal("remove"),
1095
+ id: StageId,
1096
+ contributedBy: import_effect6.Schema.optional(TrimmedNonEmptyString)
1097
+ });
1098
+ var ReplaceStageMutation = import_effect6.Schema.Struct({
1099
+ op: import_effect6.Schema.Literal("replace"),
1100
+ id: StageId,
1101
+ stage: StageDescriptor,
1102
+ contributedBy: import_effect6.Schema.optional(TrimmedNonEmptyString)
1103
+ });
1104
+ var WrapStageMutation = import_effect6.Schema.Struct({
1105
+ op: import_effect6.Schema.Literal("wrap"),
1106
+ id: StageId,
1107
+ around: StageWrapperDescriptor,
1108
+ contributedBy: import_effect6.Schema.optional(TrimmedNonEmptyString)
1109
+ });
1110
+ var ReorderStageMutation = import_effect6.Schema.Struct({
1111
+ op: import_effect6.Schema.Literal("reorder"),
1112
+ id: StageId,
1113
+ before: import_effect6.Schema.optional(import_effect6.Schema.Array(StageId)),
1114
+ after: import_effect6.Schema.optional(import_effect6.Schema.Array(StageId)),
1115
+ contributedBy: import_effect6.Schema.optional(TrimmedNonEmptyString)
1116
+ });
1117
+ var StageMutation = import_effect6.Schema.Union([
1118
+ InsertStageMutation,
1119
+ RemoveStageMutation,
1120
+ ReplaceStageMutation,
1121
+ WrapStageMutation,
1122
+ ReorderStageMutation
1123
+ ]);
1124
+ var ResolutionGrantUse = import_effect6.Schema.Struct({
1125
+ kind: import_effect6.Schema.Literal("kernel-replacement"),
1126
+ target: TrimmedNonEmptyString,
1127
+ pluginId: TrimmedNonEmptyString
1128
+ });
1129
+ var ResolutionRecordEntry = import_effect6.Schema.Struct({
1130
+ stageId: StageId,
1131
+ contributedBy: TrimmedNonEmptyString,
1132
+ removedBy: import_effect6.Schema.optional(TrimmedNonEmptyString),
1133
+ replacedBy: import_effect6.Schema.optional(TrimmedNonEmptyString),
1134
+ wrappedBy: import_effect6.Schema.optional(import_effect6.Schema.Array(TrimmedNonEmptyString)),
1135
+ droppedAnchors: import_effect6.Schema.optional(import_effect6.Schema.Array(StageId)),
1136
+ isProtected: import_effect6.Schema.Boolean
1137
+ });
1138
+ var ResolvedPipeline = import_effect6.Schema.Struct({
1139
+ runId: import_effect6.Schema.optional(RunId),
1140
+ order: import_effect6.Schema.Array(StageId),
1141
+ record: import_effect6.Schema.Array(ResolutionRecordEntry),
1142
+ cycles: import_effect6.Schema.Array(import_effect6.Schema.Array(StageId)),
1143
+ grantUses: import_effect6.Schema.optional(import_effect6.Schema.Array(ResolutionGrantUse)),
1144
+ resolvedAt: import_effect6.Schema.optional(IsoDateTime)
1145
+ });
1146
+ var ResolutionRecord = ResolvedPipeline;
1147
+ var StageRunOutcome = import_effect6.Schema.Struct({
1148
+ stageId: StageId,
1149
+ result: StageResult,
1150
+ startedAt: IsoDateTime,
1151
+ finishedAt: IsoDateTime
1152
+ });
1153
+
1154
+ // packages/contracts/src/run-journal.ts
1155
+ var RunActor = import_effect7.Schema.Struct({
1156
+ kind: import_effect7.Schema.Literals(["operator", "agent", "server", "system"]),
1157
+ id: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString))
1158
+ });
1159
+ var RunCloseoutPhase = import_effect7.Schema.Literals([
1160
+ "queued",
1161
+ "commit",
1162
+ "push",
1163
+ "pr-review-merge",
1164
+ "pr-opened",
1165
+ "merge",
1166
+ "close-source",
1167
+ "completed"
1168
+ ]);
1169
+ var RunCloseoutPhaseOutcome = import_effect7.Schema.Literals(["started", "completed", "failed"]);
1170
+ var RunCloseoutStatus = import_effect7.Schema.Literals([
1171
+ "pending",
1172
+ "running",
1173
+ "completed",
1174
+ "needs-attention",
1175
+ "failed"
1176
+ ]);
1177
+ var RunCloseoutState = import_effect7.Schema.Struct({
1178
+ phase: RunCloseoutPhase,
1179
+ status: RunCloseoutStatus,
1180
+ updatedAt: IsoDateTime,
1181
+ taskId: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1182
+ runtimeWorkspace: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1183
+ branch: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1184
+ prUrl: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1185
+ artifactRoot: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1186
+ iterations: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.Int)),
1187
+ feedback: import_effect7.Schema.optional(import_effect7.Schema.Array(import_effect7.Schema.String)),
1188
+ error: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1189
+ reason: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1190
+ merged: import_effect7.Schema.optional(import_effect7.Schema.Boolean),
1191
+ resumedAt: import_effect7.Schema.optional(import_effect7.Schema.NullOr(IsoDateTime)),
1192
+ completedAt: import_effect7.Schema.optional(import_effect7.Schema.NullOr(IsoDateTime))
1193
+ });
1194
+ var ApprovalDecision = import_effect7.Schema.Literals(["approve", "reject"]);
1195
+ var runRecordFields = {
1196
+ runId: TrimmedNonEmptyString,
1197
+ workspaceId: TrimmedNonEmptyString,
1198
+ taskId: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1199
+ threadId: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1200
+ mode: import_effect7.Schema.Literals(["local", "remote"]),
1201
+ runtimeAdapter: import_effect7.Schema.Literal("pi"),
1202
+ createdAt: IsoDateTime,
1203
+ startedAt: import_effect7.Schema.NullOr(IsoDateTime),
1204
+ completedAt: import_effect7.Schema.NullOr(IsoDateTime),
1205
+ endpointId: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1206
+ hostId: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1207
+ worktreePath: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1208
+ artifactRoot: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1209
+ logRoot: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1210
+ sessionPath: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1211
+ sessionLogPath: import_effect7.Schema.NullOr(TrimmedNonEmptyString),
1212
+ pid: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.Int)),
1213
+ piSession: import_effect7.Schema.optional(import_effect7.Schema.Unknown),
1214
+ piSessionPrivate: import_effect7.Schema.optional(import_effect7.Schema.Unknown),
1215
+ updatedAt: IsoDateTime,
1216
+ title: TrimmedNonEmptyString,
1217
+ projectRoot: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1218
+ errorText: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1219
+ latestMessageId: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1220
+ prUrl: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1221
+ leaseId: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1222
+ serverCloseout: import_effect7.Schema.optional(import_effect7.Schema.NullOr(RunCloseoutState)),
1223
+ model: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1224
+ runtimeMode: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1225
+ interactionMode: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1226
+ runMode: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1227
+ initialPrompt: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1228
+ baselineMode: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1229
+ prMode: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.Literals(["auto", "ask", "off"]))),
1230
+ initiatedBy: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1231
+ sourceTask: import_effect7.Schema.optional(import_effect7.Schema.Unknown),
1232
+ serverPid: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.Int)),
1233
+ latestSteeringAt: import_effect7.Schema.optional(import_effect7.Schema.NullOr(IsoDateTime)),
1234
+ latestSteeringDeliveredAt: import_effect7.Schema.optional(import_effect7.Schema.NullOr(IsoDateTime)),
1235
+ statusDetail: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1236
+ planning: import_effect7.Schema.optional(import_effect7.Schema.Unknown),
1237
+ branch: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString))
1238
+ };
1239
+ var RunJournalRecord = import_effect7.Schema.Struct({
1240
+ ...runRecordFields,
1241
+ status: RunStatus
1242
+ });
1243
+ var RunRecordPatch = import_effect7.Schema.Struct({
1244
+ runId: import_effect7.Schema.optional(runRecordFields.runId),
1245
+ workspaceId: import_effect7.Schema.optional(runRecordFields.workspaceId),
1246
+ taskId: import_effect7.Schema.optional(runRecordFields.taskId),
1247
+ threadId: import_effect7.Schema.optional(runRecordFields.threadId),
1248
+ mode: import_effect7.Schema.optional(runRecordFields.mode),
1249
+ runtimeAdapter: import_effect7.Schema.optional(runRecordFields.runtimeAdapter),
1250
+ createdAt: import_effect7.Schema.optional(runRecordFields.createdAt),
1251
+ startedAt: import_effect7.Schema.optional(runRecordFields.startedAt),
1252
+ completedAt: import_effect7.Schema.optional(runRecordFields.completedAt),
1253
+ endpointId: import_effect7.Schema.optional(runRecordFields.endpointId),
1254
+ hostId: import_effect7.Schema.optional(runRecordFields.hostId),
1255
+ worktreePath: import_effect7.Schema.optional(runRecordFields.worktreePath),
1256
+ artifactRoot: import_effect7.Schema.optional(runRecordFields.artifactRoot),
1257
+ logRoot: import_effect7.Schema.optional(runRecordFields.logRoot),
1258
+ sessionPath: import_effect7.Schema.optional(runRecordFields.sessionPath),
1259
+ sessionLogPath: import_effect7.Schema.optional(runRecordFields.sessionLogPath),
1260
+ pid: runRecordFields.pid,
1261
+ piSession: runRecordFields.piSession,
1262
+ piSessionPrivate: runRecordFields.piSessionPrivate,
1263
+ updatedAt: import_effect7.Schema.optional(runRecordFields.updatedAt),
1264
+ title: import_effect7.Schema.optional(runRecordFields.title),
1265
+ projectRoot: runRecordFields.projectRoot,
1266
+ errorText: runRecordFields.errorText,
1267
+ latestMessageId: runRecordFields.latestMessageId,
1268
+ prUrl: runRecordFields.prUrl,
1269
+ leaseId: runRecordFields.leaseId,
1270
+ serverCloseout: runRecordFields.serverCloseout,
1271
+ model: runRecordFields.model,
1272
+ runtimeMode: runRecordFields.runtimeMode,
1273
+ interactionMode: runRecordFields.interactionMode,
1274
+ runMode: runRecordFields.runMode,
1275
+ initialPrompt: runRecordFields.initialPrompt,
1276
+ baselineMode: runRecordFields.baselineMode,
1277
+ prMode: runRecordFields.prMode,
1278
+ initiatedBy: runRecordFields.initiatedBy,
1279
+ sourceTask: runRecordFields.sourceTask,
1280
+ serverPid: runRecordFields.serverPid,
1281
+ latestSteeringAt: runRecordFields.latestSteeringAt,
1282
+ latestSteeringDeliveredAt: runRecordFields.latestSteeringDeliveredAt,
1283
+ statusDetail: runRecordFields.statusDetail,
1284
+ planning: runRecordFields.planning,
1285
+ branch: runRecordFields.branch
1286
+ });
1287
+ var journalEnvelopeFields = {
1288
+ v: import_effect7.Schema.Literal(1),
1289
+ seq: PositiveInt,
1290
+ at: IsoDateTime,
1291
+ runId: RunId
1292
+ };
1293
+ var RunStatusChangedEvent = import_effect7.Schema.Struct({
1294
+ ...journalEnvelopeFields,
1295
+ type: import_effect7.Schema.Literal("status-changed"),
1296
+ from: import_effect7.Schema.NullOr(RunStatus),
1297
+ to: RunStatus,
1298
+ reason: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1299
+ actor: import_effect7.Schema.optional(RunActor)
1300
+ });
1301
+ var RunRecordPatchEvent = import_effect7.Schema.Struct({
1302
+ ...journalEnvelopeFields,
1303
+ type: import_effect7.Schema.Literal("record-patch"),
1304
+ patch: RunRecordPatch
1305
+ });
1306
+ var RunTimelineEntryEvent = import_effect7.Schema.Struct({
1307
+ ...journalEnvelopeFields,
1308
+ type: import_effect7.Schema.Literal("timeline-entry"),
1309
+ payload: import_effect7.Schema.Unknown
1310
+ });
1311
+ var RunLogEntryEvent = import_effect7.Schema.Struct({
1312
+ ...journalEnvelopeFields,
1313
+ type: import_effect7.Schema.Literal("log-entry"),
1314
+ payload: import_effect7.Schema.Unknown
1315
+ });
1316
+ var RunApprovalRequestedEvent = import_effect7.Schema.Struct({
1317
+ ...journalEnvelopeFields,
1318
+ type: import_effect7.Schema.Literal("approval-requested"),
1319
+ requestId: TrimmedNonEmptyString,
1320
+ requestKind: TrimmedNonEmptyString,
1321
+ actionId: import_effect7.Schema.optional(import_effect7.Schema.NullOr(TrimmedNonEmptyString)),
1322
+ payload: import_effect7.Schema.Unknown
1323
+ });
1324
+ var RunApprovalResolvedEvent = import_effect7.Schema.Struct({
1325
+ ...journalEnvelopeFields,
1326
+ type: import_effect7.Schema.Literal("approval-resolved"),
1327
+ requestId: TrimmedNonEmptyString,
1328
+ decision: ApprovalDecision,
1329
+ note: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String)),
1330
+ actor: RunActor
1331
+ });
1332
+ var RunInputRequestedEvent = import_effect7.Schema.Struct({
1333
+ ...journalEnvelopeFields,
1334
+ type: import_effect7.Schema.Literal("input-requested"),
1335
+ requestId: TrimmedNonEmptyString,
1336
+ payload: import_effect7.Schema.Unknown
1337
+ });
1338
+ var RunInputResolvedEvent = import_effect7.Schema.Struct({
1339
+ ...journalEnvelopeFields,
1340
+ type: import_effect7.Schema.Literal("input-resolved"),
1341
+ requestId: TrimmedNonEmptyString,
1342
+ answers: import_effect7.Schema.Record(import_effect7.Schema.String, import_effect7.Schema.String),
1343
+ actor: RunActor
1344
+ });
1345
+ var RunSteeringEvent = import_effect7.Schema.Struct({
1346
+ ...journalEnvelopeFields,
1347
+ type: import_effect7.Schema.Literal("steering"),
1348
+ actor: RunActor,
1349
+ text: import_effect7.Schema.String
1350
+ });
1351
+ var RunAdoptedEvent = import_effect7.Schema.Struct({
1352
+ ...journalEnvelopeFields,
1353
+ type: import_effect7.Schema.Literal("adopted"),
1354
+ pid: import_effect7.Schema.NullOr(import_effect7.Schema.Int),
1355
+ serverPid: import_effect7.Schema.Int
1356
+ });
1357
+ var RunStallDetectedEvent = import_effect7.Schema.Struct({
1358
+ ...journalEnvelopeFields,
1359
+ type: import_effect7.Schema.Literal("stall-detected"),
1360
+ detail: import_effect7.Schema.String
1361
+ });
1362
+ var RunCloseoutPhaseEvent = import_effect7.Schema.Struct({
1363
+ ...journalEnvelopeFields,
1364
+ type: import_effect7.Schema.Literal("closeout-phase"),
1365
+ phase: RunCloseoutPhase,
1366
+ outcome: RunCloseoutPhaseOutcome,
1367
+ detail: import_effect7.Schema.optional(import_effect7.Schema.NullOr(import_effect7.Schema.String))
1368
+ });
1369
+ var RunPipelineResolvedEvent = import_effect7.Schema.Struct({
1370
+ ...journalEnvelopeFields,
1371
+ type: import_effect7.Schema.Literal("pipeline-resolved"),
1372
+ pipeline: ResolvedPipeline
1373
+ });
1374
+ var RunStageOutcomeEvent = import_effect7.Schema.Struct({
1375
+ ...journalEnvelopeFields,
1376
+ type: import_effect7.Schema.Literal("stage-outcome"),
1377
+ outcome: StageRunOutcome
1378
+ });
1379
+ var RunJournalEvent = import_effect7.Schema.Union([
1380
+ RunStatusChangedEvent,
1381
+ RunRecordPatchEvent,
1382
+ RunTimelineEntryEvent,
1383
+ RunLogEntryEvent,
1384
+ RunApprovalRequestedEvent,
1385
+ RunApprovalResolvedEvent,
1386
+ RunInputRequestedEvent,
1387
+ RunInputResolvedEvent,
1388
+ RunSteeringEvent,
1389
+ RunAdoptedEvent,
1390
+ RunStallDetectedEvent,
1391
+ RunCloseoutPhaseEvent,
1392
+ RunPipelineResolvedEvent,
1393
+ RunStageOutcomeEvent
1394
+ ]);
1395
+ // packages/contracts/src/run-session-journal.ts
1396
+ var RIG_RUN_STATUS_CHANGED = "rig.run.status-changed";
1397
+ var RIG_RUN_RECORD_PATCH = "rig.run.record-patch";
1398
+ var RIG_RUN_TIMELINE_ENTRY = "rig.run.timeline-entry";
1399
+ var RIG_RUN_LOG_ENTRY = "rig.run.log-entry";
1400
+ var RIG_RUN_APPROVAL_REQUESTED = "rig.run.approval-requested";
1401
+ var RIG_RUN_APPROVAL_RESOLVED = "rig.run.approval-resolved";
1402
+ var RIG_RUN_INPUT_REQUESTED = "rig.run.input-requested";
1403
+ var RIG_RUN_INPUT_RESOLVED = "rig.run.input-resolved";
1404
+ var RIG_RUN_STEERING = "rig.run.steering";
1405
+ var RIG_RUN_ADOPTED = "rig.run.adopted";
1406
+ var RIG_RUN_STALL_DETECTED = "rig.run.stall-detected";
1407
+ var RIG_RUN_CLOSEOUT_PHASE = "rig.run.closeout-phase";
1408
+ var RIG_RUN_PIPELINE_RESOLVED = "rig.run.pipeline-resolved";
1409
+ var RIG_RUN_STAGE_OUTCOME = "rig.run.stage-outcome";
1410
+ var RIG_STOP_SENTINEL = "<<RIG_STOP";
1411
+ var RIG_STOP_SENTINEL_END = ">>";
1412
+ var RIG_PAUSE_SENTINEL = "<<RIG_PAUSE";
1413
+ var RIG_RESUME_SENTINEL = "<<RIG_RESUME";
1414
+ var RIG_CONTROL_SENTINEL_END = ">>";
1415
+ var RIG_INBOX_RESOLUTION_SENTINEL = "<<RIG_INBOX_RESOLUTION";
1416
+ var CUSTOM_TYPE_FOR = {
1417
+ "status-changed": RIG_RUN_STATUS_CHANGED,
1418
+ "record-patch": RIG_RUN_RECORD_PATCH,
1419
+ "timeline-entry": RIG_RUN_TIMELINE_ENTRY,
1420
+ "log-entry": RIG_RUN_LOG_ENTRY,
1421
+ "approval-requested": RIG_RUN_APPROVAL_REQUESTED,
1422
+ "approval-resolved": RIG_RUN_APPROVAL_RESOLVED,
1423
+ "input-requested": RIG_RUN_INPUT_REQUESTED,
1424
+ "input-resolved": RIG_RUN_INPUT_RESOLVED,
1425
+ steering: RIG_RUN_STEERING,
1426
+ adopted: RIG_RUN_ADOPTED,
1427
+ "stall-detected": RIG_RUN_STALL_DETECTED,
1428
+ "closeout-phase": RIG_RUN_CLOSEOUT_PHASE,
1429
+ "pipeline-resolved": RIG_RUN_PIPELINE_RESOLVED,
1430
+ "stage-outcome": RIG_RUN_STAGE_OUTCOME
1431
+ };
1432
+ var TYPE_FOR_CUSTOM = {
1433
+ [RIG_RUN_STATUS_CHANGED]: "status-changed",
1434
+ [RIG_RUN_RECORD_PATCH]: "record-patch",
1435
+ [RIG_RUN_TIMELINE_ENTRY]: "timeline-entry",
1436
+ [RIG_RUN_LOG_ENTRY]: "log-entry",
1437
+ [RIG_RUN_APPROVAL_REQUESTED]: "approval-requested",
1438
+ [RIG_RUN_APPROVAL_RESOLVED]: "approval-resolved",
1439
+ [RIG_RUN_INPUT_REQUESTED]: "input-requested",
1440
+ [RIG_RUN_INPUT_RESOLVED]: "input-resolved",
1441
+ [RIG_RUN_STEERING]: "steering",
1442
+ [RIG_RUN_ADOPTED]: "adopted",
1443
+ [RIG_RUN_STALL_DETECTED]: "stall-detected",
1444
+ [RIG_RUN_CLOSEOUT_PHASE]: "closeout-phase",
1445
+ [RIG_RUN_PIPELINE_RESOLVED]: "pipeline-resolved",
1446
+ [RIG_RUN_STAGE_OUTCOME]: "stage-outcome"
1447
+ };
1448
+ // packages/contracts/src/workflow-journal.ts
1449
+ var RIG_WORKFLOW_STARTED = "rig.workflow.started";
1450
+ var RIG_WORKFLOW_TARGET_SELECTED = "rig.workflow.target.selected";
1451
+ var RIG_WORKFLOW_TASK_SELECTED = "rig.workflow.task.selected";
1452
+ var RIG_WORKFLOW_STATUS_CHANGED = "rig.workflow.status.changed";
1453
+ var RIG_WORKFLOW_OPERATOR_NOTE = "rig.workflow.operator.note";
1454
+ var RIG_WORKFLOW_INBOX_REQUESTED = "rig.workflow.inbox.requested";
1455
+ var RIG_WORKFLOW_INBOX_RESOLVED = "rig.workflow.inbox.resolved";
1456
+ // packages/contracts/src/run-status.ts
1457
+ var OPERATOR_INACTIVE_RUN_STATUSES = new Set([
1458
+ "completed",
1459
+ "complete",
1460
+ "done",
1461
+ "success",
1462
+ "succeeded",
1463
+ "passed",
1464
+ "failed",
1465
+ "failure",
1466
+ "error",
1467
+ "errored",
1468
+ "stopped",
1469
+ "cancelled",
1470
+ "canceled",
1471
+ "aborted",
1472
+ "abort",
1473
+ "merged",
1474
+ "closed",
1475
+ "skipped",
1476
+ "needs-attention",
1477
+ "needs_attention"
1478
+ ]);
1479
+ // packages/contracts/src/run-read-model.ts
1480
+ var RUN_READ_MODEL_CAPABILITY_ID = "rig.runs.read-model";
1481
+ var RUN_READ_MODEL = makeCapabilityId(RUN_READ_MODEL_CAPABILITY_ID);
1482
+ // packages/contracts/src/conversation.ts
1483
+ var import_effect8 = require("effect");
1484
+ var EngineMessageRole = import_effect8.Schema.Literals(["user", "assistant", "system"]);
1485
+ var EngineMessageState = import_effect8.Schema.Literals([
1486
+ "streaming",
1487
+ "completed",
1488
+ "interrupted",
1489
+ "errored"
1490
+ ]);
1491
+ var ConversationSummary = import_effect8.Schema.Struct({
1492
+ id: ConversationId,
1493
+ runId: RunId,
1494
+ title: TrimmedNonEmptyString,
1495
+ createdAt: IsoDateTime,
1496
+ updatedAt: IsoDateTime
1497
+ });
1498
+ var EngineMessage = import_effect8.Schema.Struct({
1499
+ id: MessageId,
1500
+ conversationId: ConversationId,
1501
+ role: EngineMessageRole,
1502
+ text: import_effect8.Schema.String,
1503
+ attachments: import_effect8.Schema.Array(import_effect8.Schema.Unknown),
1504
+ state: EngineMessageState,
1505
+ createdAt: IsoDateTime,
1506
+ completedAt: import_effect8.Schema.NullOr(IsoDateTime)
1507
+ });
1508
+ var EngineAction = import_effect8.Schema.Struct({
1509
+ id: ActionId,
1510
+ runId: RunId,
1511
+ messageId: import_effect8.Schema.NullOr(MessageId),
1512
+ actionType: TrimmedNonEmptyString,
1513
+ title: TrimmedNonEmptyString,
1514
+ detail: import_effect8.Schema.NullOr(import_effect8.Schema.String),
1515
+ state: TrimmedNonEmptyString,
1516
+ payload: import_effect8.Schema.Unknown,
1517
+ startedAt: IsoDateTime,
1518
+ completedAt: import_effect8.Schema.NullOr(IsoDateTime)
1519
+ });
1520
+ var EngineLogTone = import_effect8.Schema.Literals(["thinking", "tool", "info", "error"]);
1521
+ var EngineRunLog = import_effect8.Schema.Struct({
1522
+ id: TrimmedNonEmptyString,
1523
+ runId: RunId,
1524
+ title: TrimmedNonEmptyString,
1525
+ detail: import_effect8.Schema.NullOr(import_effect8.Schema.String),
1526
+ tone: EngineLogTone,
1527
+ status: import_effect8.Schema.NullOr(TrimmedNonEmptyString),
1528
+ payload: import_effect8.Schema.Unknown,
1529
+ createdAt: IsoDateTime
1530
+ });
1531
+ // packages/contracts/src/plugin.ts
1532
+ var import_effect10 = require("effect");
1533
+
1534
+ // packages/contracts/src/kernel.ts
1535
+ var import_effect9 = require("effect");
1536
+ var CapabilityTag = import_effect9.Schema.Literals([
1537
+ "kernel",
1538
+ "journal",
1539
+ "stage-runner",
1540
+ "transport",
1541
+ "loader-policy"
1542
+ ]);
1543
+ var CapabilityProviderRef = import_effect9.Schema.Struct({
1544
+ capability: CapabilityTag,
1545
+ pluginId: TrimmedNonEmptyString
1546
+ });
1547
+ var CapabilityReplacement = import_effect9.Schema.Struct({
1548
+ capability: CapabilityTag,
1549
+ providerPluginId: TrimmedNonEmptyString
1550
+ });
1551
+ var CapabilityReplacementSpec = import_effect9.Schema.Union([
1552
+ CapabilityReplacement,
1553
+ TrimmedNonEmptyString
1554
+ ]);
1555
+ var KernelReplacementGrant = import_effect9.Schema.Struct({
1556
+ pluginId: TrimmedNonEmptyString,
1557
+ grantedBy: import_effect9.Schema.optional(TrimmedNonEmptyString),
1558
+ reason: import_effect9.Schema.optional(import_effect9.Schema.String)
1559
+ });
1560
+ var CapabilityGrants = import_effect9.Schema.Struct({
1561
+ capabilityPrecedence: import_effect9.Schema.optional(import_effect9.Schema.Record(import_effect9.Schema.String, import_effect9.Schema.Array(TrimmedNonEmptyString))),
1562
+ kernelReplacementGrants: import_effect9.Schema.optional(import_effect9.Schema.Array(KernelReplacementGrant))
1563
+ });
1564
+ var KernelBootErrorCode = import_effect9.Schema.Literals([
1565
+ "BootIncoherent",
1566
+ "AmbiguousCapability",
1567
+ "MissingCapability",
1568
+ "KernelReplacementDenied",
1569
+ "PipelineUnresolvable"
1570
+ ]);
1571
+ var KernelBootError = import_effect9.Schema.Struct({
1572
+ code: KernelBootErrorCode,
1573
+ message: TrimmedNonEmptyString,
1574
+ capability: import_effect9.Schema.optional(CapabilityTag),
1575
+ stageId: import_effect9.Schema.optional(TrimmedNonEmptyString),
1576
+ pluginIds: import_effect9.Schema.optional(import_effect9.Schema.Array(TrimmedNonEmptyString))
1577
+ });
1578
+
1579
+ class BootIncoherent extends Error {
1580
+ code = "BootIncoherent";
1581
+ }
1582
+
1583
+ class AmbiguousCapability extends Error {
1584
+ code = "AmbiguousCapability";
1585
+ }
1586
+
1587
+ class MissingCapability extends Error {
1588
+ code = "MissingCapability";
1589
+ }
1590
+
1591
+ class KernelReplacementDenied extends Error {
1592
+ code = "KernelReplacementDenied";
1593
+ }
1594
+
1595
+ class PipelineUnresolvable extends Error {
1596
+ code = "PipelineUnresolvable";
1597
+ }
1598
+ var CapabilityResolutionStatus = import_effect9.Schema.Literals(["resolved", "ambiguous", "missing", "replaced"]);
1599
+ var CapabilityResolutionRecord = import_effect9.Schema.Struct({
1600
+ capability: CapabilityTag,
1601
+ status: CapabilityResolutionStatus,
1602
+ selectedPluginId: import_effect9.Schema.NullOr(TrimmedNonEmptyString),
1603
+ candidatePluginIds: import_effect9.Schema.Array(TrimmedNonEmptyString),
1604
+ precedenceUsed: import_effect9.Schema.Boolean,
1605
+ replacementUsed: import_effect9.Schema.optional(CapabilityReplacement),
1606
+ error: import_effect9.Schema.optional(import_effect9.Schema.String)
1607
+ });
1608
+ var KernelResolutionRecord = import_effect9.Schema.Struct({
1609
+ resolvedAt: IsoDateTime,
1610
+ capabilities: import_effect9.Schema.Array(CapabilityResolutionRecord),
1611
+ pipeline: import_effect9.Schema.optional(ResolvedPipeline)
1612
+ });
1613
+ var BootResultDescriptor = import_effect9.Schema.Struct({
1614
+ kernelPluginId: TrimmedNonEmptyString,
1615
+ pluginIds: import_effect9.Schema.Array(TrimmedNonEmptyString),
1616
+ resolution: KernelResolutionRecord
1617
+ });
1618
+ var JournalEvent = import_effect9.Schema.Struct({
1619
+ type: TrimmedNonEmptyString,
1620
+ runId: import_effect9.Schema.optional(RunId),
1621
+ at: IsoDateTime,
1622
+ payload: import_effect9.Schema.Unknown
1623
+ });
1624
+ var PLACEMENT_RUN_TRANSPORT = makeCapabilityId("transport.placement-run");
1625
+
1626
+ // packages/contracts/src/plugin.ts
1627
+ var ValidatorCategory = import_effect10.Schema.Literals([
1628
+ "boundary",
1629
+ "contract",
1630
+ "integration",
1631
+ "regression",
1632
+ "external",
1633
+ "custom"
1634
+ ]);
1635
+ var ValidatorRegistration = import_effect10.Schema.Struct({
1636
+ id: import_effect10.Schema.String,
1637
+ category: ValidatorCategory,
1638
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1639
+ });
1640
+ var AgentSessionHookEvent = import_effect10.Schema.Literals([
1641
+ "PreToolUse",
1642
+ "PostToolUse",
1643
+ "UserPromptSubmit",
1644
+ "Stop",
1645
+ "SessionStart",
1646
+ "SessionEnd"
1647
+ ]);
1648
+ var HookEvent = AgentSessionHookEvent;
1649
+ var HookMatcher = import_effect10.Schema.Union([
1650
+ import_effect10.Schema.Struct({ kind: import_effect10.Schema.Literal("all") }),
1651
+ import_effect10.Schema.Struct({ kind: import_effect10.Schema.Literal("tool"), name: import_effect10.Schema.String }),
1652
+ import_effect10.Schema.Struct({ kind: import_effect10.Schema.Literal("glob"), pattern: import_effect10.Schema.String })
1653
+ ]);
1654
+ var HookRegistration = import_effect10.Schema.Struct({
1655
+ id: import_effect10.Schema.String,
1656
+ event: AgentSessionHookEvent,
1657
+ matcher: HookMatcher,
1658
+ command: import_effect10.Schema.optional(import_effect10.Schema.String),
1659
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1660
+ });
1661
+ var SkillRegistration = import_effect10.Schema.Struct({
1662
+ id: import_effect10.Schema.String,
1663
+ path: import_effect10.Schema.String,
1664
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1665
+ });
1666
+ var RepoSourceRegistration = import_effect10.Schema.Struct({
1667
+ id: import_effect10.Schema.String,
1668
+ url: import_effect10.Schema.String,
1669
+ defaultPath: import_effect10.Schema.optional(import_effect10.Schema.String),
1670
+ description: import_effect10.Schema.optional(import_effect10.Schema.String),
1671
+ defaultBranch: import_effect10.Schema.optional(import_effect10.Schema.String),
1672
+ remoteEnvVar: import_effect10.Schema.optional(import_effect10.Schema.String),
1673
+ checkoutEnvVar: import_effect10.Schema.optional(import_effect10.Schema.String)
1674
+ });
1675
+ var AgentRoleRegistration = import_effect10.Schema.Struct({
1676
+ id: import_effect10.Schema.String,
1677
+ defaultModel: import_effect10.Schema.optional(import_effect10.Schema.String),
1678
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1679
+ });
1680
+ var TaskFieldExtension = import_effect10.Schema.Struct({
1681
+ id: import_effect10.Schema.String,
1682
+ fieldName: import_effect10.Schema.String,
1683
+ schemaJson: import_effect10.Schema.String
1684
+ });
1685
+ var TaskSourceKind = import_effect10.Schema.String;
1686
+ var TaskSourceRegistration = import_effect10.Schema.Struct({
1687
+ id: import_effect10.Schema.String,
1688
+ kind: import_effect10.Schema.String,
1689
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1690
+ });
1691
+ var CliCommandRegistration = import_effect10.Schema.Struct({
1692
+ id: import_effect10.Schema.String,
1693
+ family: import_effect10.Schema.optional(import_effect10.Schema.String),
1694
+ command: import_effect10.Schema.optional(import_effect10.Schema.String),
1695
+ description: import_effect10.Schema.optional(import_effect10.Schema.String),
1696
+ usage: import_effect10.Schema.optional(import_effect10.Schema.String),
1697
+ aliases: import_effect10.Schema.optional(import_effect10.Schema.Array(import_effect10.Schema.String)),
1698
+ projectRequired: import_effect10.Schema.optional(import_effect10.Schema.Boolean),
1699
+ rootDefault: import_effect10.Schema.optional(import_effect10.Schema.Boolean),
1700
+ productRoot: import_effect10.Schema.optional(import_effect10.Schema.Boolean),
1701
+ subcommands: import_effect10.Schema.optional(import_effect10.Schema.Array(import_effect10.Schema.String))
1702
+ });
1703
+ var CapabilityRunSchema = import_effect10.Schema.declare((u) => typeof u === "function", { identifier: "CapabilityRun" });
1704
+ var ProductCapabilityRegistration = import_effect10.Schema.Struct({
1705
+ id: import_effect10.Schema.String,
1706
+ title: import_effect10.Schema.String,
1707
+ description: import_effect10.Schema.optional(import_effect10.Schema.String),
1708
+ commandId: import_effect10.Schema.optional(import_effect10.Schema.String),
1709
+ panelId: import_effect10.Schema.optional(import_effect10.Schema.String),
1710
+ run: import_effect10.Schema.optional(CapabilityRunSchema)
1711
+ });
1712
+ var PanelRegistration = import_effect10.Schema.Struct({
1713
+ id: import_effect10.Schema.String,
1714
+ slot: import_effect10.Schema.String,
1715
+ title: import_effect10.Schema.String,
1716
+ capabilityId: import_effect10.Schema.optional(import_effect10.Schema.String),
1717
+ badge: import_effect10.Schema.optional(import_effect10.Schema.String),
1718
+ disabled: import_effect10.Schema.optional(import_effect10.Schema.Boolean),
1719
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1720
+ });
1721
+ var BlockerClassifierRegistration = import_effect10.Schema.Struct({
1722
+ id: import_effect10.Schema.String,
1723
+ description: import_effect10.Schema.optional(import_effect10.Schema.String),
1724
+ priority: import_effect10.Schema.optional(import_effect10.Schema.Number)
1725
+ });
1726
+ var SessionExtensionRegistration = import_effect10.Schema.Struct({
1727
+ id: import_effect10.Schema.String,
1728
+ description: import_effect10.Schema.optional(import_effect10.Schema.String)
1729
+ });
1730
+ var SeedEntrypointRegistration = import_effect10.Schema.Struct({
1731
+ id: import_effect10.Schema.String,
1732
+ description: import_effect10.Schema.optional(import_effect10.Schema.String),
1733
+ basename: import_effect10.Schema.optional(import_effect10.Schema.String),
1734
+ workerArg: import_effect10.Schema.optional(import_effect10.Schema.String),
1735
+ insidePty: import_effect10.Schema.optional(import_effect10.Schema.Boolean)
1736
+ });
1737
+ var PluginContributes = import_effect10.Schema.Struct({
1738
+ validators: import_effect10.Schema.optional(import_effect10.Schema.Array(ValidatorRegistration)),
1739
+ hooks: import_effect10.Schema.optional(import_effect10.Schema.Array(HookRegistration)),
1740
+ skills: import_effect10.Schema.optional(import_effect10.Schema.Array(SkillRegistration)),
1741
+ repoSources: import_effect10.Schema.optional(import_effect10.Schema.Array(RepoSourceRegistration)),
1742
+ agentRoles: import_effect10.Schema.optional(import_effect10.Schema.Array(AgentRoleRegistration)),
1743
+ taskFieldSchemas: import_effect10.Schema.optional(import_effect10.Schema.Array(TaskFieldExtension)),
1744
+ taskSources: import_effect10.Schema.optional(import_effect10.Schema.Array(TaskSourceRegistration)),
1745
+ cliCommands: import_effect10.Schema.optional(import_effect10.Schema.Array(CliCommandRegistration)),
1746
+ stages: import_effect10.Schema.optional(import_effect10.Schema.Array(Stage)),
1747
+ stageMutations: import_effect10.Schema.optional(import_effect10.Schema.Array(StageMutation)),
1748
+ capabilities: import_effect10.Schema.optional(import_effect10.Schema.Array(ProductCapabilityRegistration)),
1749
+ panels: import_effect10.Schema.optional(import_effect10.Schema.Array(PanelRegistration)),
1750
+ blockerClassifiers: import_effect10.Schema.optional(import_effect10.Schema.Array(BlockerClassifierRegistration)),
1751
+ sessionExtensions: import_effect10.Schema.optional(import_effect10.Schema.Array(SessionExtensionRegistration)),
1752
+ seedEntrypoints: import_effect10.Schema.optional(import_effect10.Schema.Array(SeedEntrypointRegistration))
1753
+ });
1754
+ var RigPlugin = import_effect10.Schema.Struct({
1755
+ name: import_effect10.Schema.String,
1756
+ version: import_effect10.Schema.String,
1757
+ provides: import_effect10.Schema.optional(import_effect10.Schema.Array(CapabilityTag)),
1758
+ requires: import_effect10.Schema.optional(import_effect10.Schema.Array(CapabilityTag)),
1759
+ replaces: import_effect10.Schema.optional(import_effect10.Schema.Array(CapabilityReplacementSpec)),
1760
+ contributes: import_effect10.Schema.optional(PluginContributes)
1761
+ });
1762
+ // packages/contracts/src/plugin-hooks.ts
1763
+ var import_effect11 = require("effect");
1764
+ var HookToolInput = import_effect11.Schema.Record(import_effect11.Schema.String, import_effect11.Schema.Unknown);
1765
+ var HookContext = import_effect11.Schema.Struct({
1766
+ event: AgentSessionHookEvent,
1767
+ toolName: import_effect11.Schema.optional(import_effect11.Schema.String),
1768
+ toolInput: HookToolInput,
1769
+ filePaths: import_effect11.Schema.Array(import_effect11.Schema.String),
1770
+ projectRoot: import_effect11.Schema.String,
1771
+ taskId: import_effect11.Schema.String
1772
+ });
1773
+ var HookDecision = import_effect11.Schema.Literals(["allow", "block"]);
1774
+ var HookResult = import_effect11.Schema.Struct({
1775
+ decision: HookDecision,
1776
+ reason: import_effect11.Schema.optional(import_effect11.Schema.String),
1777
+ systemMessage: import_effect11.Schema.optional(import_effect11.Schema.String)
1778
+ });
1779
+ // packages/contracts/src/config.ts
1780
+ var import_effect13 = require("effect");
1781
+
1782
+ // packages/contracts/src/supervisor-journal.ts
1783
+ var import_effect12 = require("effect");
1784
+ var SupervisorStopReason = import_effect12.Schema.Literals([
1785
+ "all-done",
1786
+ "all-human-blocked",
1787
+ "max-tasks",
1788
+ "budget",
1789
+ "judge-stop",
1790
+ "operator-stop",
1791
+ "source-error"
1792
+ ]);
1793
+ var SupervisorSelectionPolicy = import_effect12.Schema.Literals(["rank", "max-unblock", "blocking-only"]);
1794
+ var SupervisorStatus = import_effect12.Schema.Literals(["running", "idle", "stopped", "finished"]);
1795
+ var TaskClosureSummary = import_effect12.Schema.Struct({
1796
+ taskId: TaskId,
1797
+ runId: RunId,
1798
+ prUrl: import_effect12.Schema.NullOr(import_effect12.Schema.String),
1799
+ mergeGate: import_effect12.Schema.NullOr(import_effect12.Schema.Literals(["passed", "blocked", "skipped"])),
1800
+ acceptanceChecked: import_effect12.Schema.Array(import_effect12.Schema.Struct({
1801
+ item: import_effect12.Schema.String,
1802
+ met: import_effect12.Schema.Boolean
1803
+ })),
1804
+ unblockedTaskIds: import_effect12.Schema.Array(TaskId)
1805
+ });
1806
+ var SupervisorStartedEvent = import_effect12.Schema.Struct({
1807
+ kind: import_effect12.Schema.Literal("supervisor.started"),
1808
+ at: IsoDateTime,
1809
+ options: import_effect12.Schema.Unknown
1810
+ });
1811
+ var SupervisorSelectionPlannedEvent = import_effect12.Schema.Struct({
1812
+ kind: import_effect12.Schema.Literal("supervisor.selection-planned"),
1813
+ at: IsoDateTime,
1814
+ taskIds: import_effect12.Schema.Array(TaskId),
1815
+ policy: SupervisorSelectionPolicy
1816
+ });
1817
+ var SupervisorDispatchStartedEvent = import_effect12.Schema.Struct({
1818
+ kind: import_effect12.Schema.Literal("supervisor.dispatch-started"),
1819
+ at: IsoDateTime,
1820
+ taskId: TaskId,
1821
+ score: NonNegativeInt
1822
+ });
1823
+ var SupervisorDispatchConfirmedEvent = import_effect12.Schema.Struct({
1824
+ kind: import_effect12.Schema.Literal("supervisor.dispatch-confirmed"),
1825
+ at: IsoDateTime,
1826
+ taskId: TaskId,
1827
+ runId: RunId,
1828
+ dispatchHandle: import_effect12.Schema.optional(import_effect12.Schema.NullOr(import_effect12.Schema.String))
1829
+ });
1830
+ var SupervisorDispatchEvent = import_effect12.Schema.Struct({
1831
+ kind: import_effect12.Schema.Literal("supervisor.dispatch"),
1832
+ at: IsoDateTime,
1833
+ taskId: TaskId,
1834
+ runId: RunId,
1835
+ score: NonNegativeInt,
1836
+ dispatchHandle: import_effect12.Schema.optional(import_effect12.Schema.NullOr(import_effect12.Schema.String))
1837
+ });
1838
+ var SupervisorOutcomeEvent = import_effect12.Schema.Struct({
1839
+ kind: import_effect12.Schema.Literal("supervisor.outcome"),
1840
+ at: IsoDateTime,
1841
+ taskId: TaskId,
1842
+ runId: RunId,
1843
+ status: RunStatus,
1844
+ failed: import_effect12.Schema.Boolean,
1845
+ unblockedTaskIds: import_effect12.Schema.Array(TaskId),
1846
+ closure: import_effect12.Schema.optional(TaskClosureSummary)
1847
+ });
1848
+ var SupervisorSkippedEvent = import_effect12.Schema.Struct({
1849
+ kind: import_effect12.Schema.Literal("supervisor.skipped"),
1850
+ at: IsoDateTime,
1851
+ taskId: TaskId,
1852
+ reason: import_effect12.Schema.String
1853
+ });
1854
+ var SupervisorIdleEvent = import_effect12.Schema.Struct({
1855
+ kind: import_effect12.Schema.Literal("supervisor.idle"),
1856
+ at: IsoDateTime,
1857
+ reason: SupervisorStopReason
1858
+ });
1859
+ var SupervisorStoppedEvent = import_effect12.Schema.Struct({
1860
+ kind: import_effect12.Schema.Literal("supervisor.stopped"),
1861
+ at: IsoDateTime,
1862
+ reason: SupervisorStopReason
1863
+ });
1864
+ var SupervisorFinishedEvent = import_effect12.Schema.Struct({
1865
+ kind: import_effect12.Schema.Literal("supervisor.finished"),
1866
+ at: IsoDateTime,
1867
+ processed: NonNegativeInt,
1868
+ succeeded: NonNegativeInt,
1869
+ failed: NonNegativeInt,
1870
+ skipped: import_effect12.Schema.optional(NonNegativeInt),
1871
+ idleReason: import_effect12.Schema.NullOr(SupervisorStopReason)
1872
+ });
1873
+ var SupervisorEvent = import_effect12.Schema.Union([
1874
+ SupervisorStartedEvent,
1875
+ SupervisorSelectionPlannedEvent,
1876
+ SupervisorDispatchStartedEvent,
1877
+ SupervisorDispatchConfirmedEvent,
1878
+ SupervisorDispatchEvent,
1879
+ SupervisorOutcomeEvent,
1880
+ SupervisorSkippedEvent,
1881
+ SupervisorIdleEvent,
1882
+ SupervisorStoppedEvent,
1883
+ SupervisorFinishedEvent
1884
+ ]);
1885
+ var SupervisorProjection = import_effect12.Schema.Struct({
1886
+ status: SupervisorStatus,
1887
+ processed: NonNegativeInt,
1888
+ succeeded: NonNegativeInt,
1889
+ failed: NonNegativeInt,
1890
+ skipped: NonNegativeInt,
1891
+ current: import_effect12.Schema.NullOr(import_effect12.Schema.Struct({ taskId: TaskId, runId: RunId })),
1892
+ plannedOrder: import_effect12.Schema.Array(TaskId),
1893
+ selectionPolicy: import_effect12.Schema.NullOr(SupervisorSelectionPolicy),
1894
+ concurrency: import_effect12.Schema.NullOr(NonNegativeInt),
1895
+ idleReason: import_effect12.Schema.NullOr(SupervisorStopReason),
1896
+ stopReason: import_effect12.Schema.NullOr(SupervisorStopReason),
1897
+ closures: import_effect12.Schema.Array(TaskClosureSummary),
1898
+ anomalies: import_effect12.Schema.Array(import_effect12.Schema.String)
1899
+ });
1900
+
1901
+ // packages/contracts/src/config.ts
1902
+ var WorkspaceIsolation = import_effect13.Schema.Literals([
1903
+ "worktree",
1904
+ "directory"
1905
+ ]);
1906
+ var WorkspaceCheckout = WorkspaceIsolation;
1907
+ var WorkspaceSandbox = import_effect13.Schema.Literals(["enforce", "auto", "off"]);
1908
+ var ScopeSearchPrefix = import_effect13.Schema.Struct({
1909
+ prefix: import_effect13.Schema.String,
1910
+ matchStartsWith: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1911
+ matchExact: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String))
1912
+ });
1913
+ var ScopeNormalizationRules = import_effect13.Schema.Struct({
1914
+ stripPrefixes: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1915
+ searchPrefixes: import_effect13.Schema.optional(import_effect13.Schema.Array(ScopeSearchPrefix))
1916
+ });
1917
+ var WorkspaceConfig = import_effect13.Schema.Struct({
1918
+ mainRepo: import_effect13.Schema.String,
1919
+ checkout: import_effect13.Schema.optional(WorkspaceCheckout),
1920
+ isolation: import_effect13.Schema.optional(WorkspaceIsolation),
1921
+ sandbox: import_effect13.Schema.optional(WorkspaceSandbox),
1922
+ scopeNormalization: import_effect13.Schema.optional(ScopeNormalizationRules)
1923
+ });
1924
+ var TaskSourceConfig = import_effect13.Schema.Struct({
1925
+ kind: import_effect13.Schema.String,
1926
+ path: import_effect13.Schema.optional(import_effect13.Schema.String),
1927
+ owner: import_effect13.Schema.optional(import_effect13.Schema.String),
1928
+ repo: import_effect13.Schema.optional(import_effect13.Schema.String),
1929
+ labels: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1930
+ state: import_effect13.Schema.optional(import_effect13.Schema.Literals(["open", "closed", "all"])),
1931
+ url: import_effect13.Schema.optional(import_effect13.Schema.String),
1932
+ options: import_effect13.Schema.optional(import_effect13.Schema.Record(import_effect13.Schema.String, import_effect13.Schema.Unknown))
1933
+ });
1934
+ var RuntimeHarness = import_effect13.Schema.Literal("pi");
1935
+ var RigRuntimeMode = import_effect13.Schema.Literals(["yolo", "approval-required"]);
1936
+ var PiRuntimeConfig = import_effect13.Schema.Struct({
1937
+ packages: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String))
1938
+ });
1939
+ var RigServerConfig = import_effect13.Schema.Struct({
1940
+ host: import_effect13.Schema.optional(import_effect13.Schema.String),
1941
+ relayUrl: import_effect13.Schema.optional(import_effect13.Schema.String),
1942
+ registryUrl: import_effect13.Schema.optional(import_effect13.Schema.String),
1943
+ sshTarget: import_effect13.Schema.optional(import_effect13.Schema.String),
1944
+ checkout: import_effect13.Schema.optional(import_effect13.Schema.String)
1945
+ });
1946
+ var RuntimePositiveInt = import_effect13.Schema.Int.check(import_effect13.Schema.isGreaterThanOrEqualTo(1));
1947
+ var RuntimeSupervisorConfig = import_effect13.Schema.Struct({
1948
+ concurrency: import_effect13.Schema.optional(RuntimePositiveInt),
1949
+ pauseOnAttention: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
1950
+ stopWhen: import_effect13.Schema.optional(import_effect13.Schema.Array(SupervisorStopReason)),
1951
+ maxTasks: import_effect13.Schema.optional(RuntimePositiveInt),
1952
+ selectionPolicy: import_effect13.Schema.optional(SupervisorSelectionPolicy),
1953
+ failFast: import_effect13.Schema.optional(import_effect13.Schema.Boolean)
1954
+ });
1955
+ var RuntimeDriftConfig = import_effect13.Schema.Struct({
1956
+ enabled: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
1957
+ failOnDrift: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
1958
+ docsGlobs: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1959
+ ignoreGlobs: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1960
+ judge: import_effect13.Schema.optional(import_effect13.Schema.Boolean)
1961
+ });
1962
+ var RuntimePlanningConfig = import_effect13.Schema.Struct({
1963
+ architectRole: import_effect13.Schema.optional(import_effect13.Schema.String),
1964
+ autoResolveFromCode: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
1965
+ materialize: import_effect13.Schema.optional(import_effect13.Schema.Literals(["dry-run", "create"]))
1966
+ });
1967
+ var RuntimeConfig = import_effect13.Schema.Struct({
1968
+ agentRoles: import_effect13.Schema.optional(import_effect13.Schema.Record(import_effect13.Schema.String, import_effect13.Schema.Unknown)),
1969
+ timeouts: import_effect13.Schema.optional(import_effect13.Schema.Record(import_effect13.Schema.String, import_effect13.Schema.Number)),
1970
+ harness: import_effect13.Schema.optional(RuntimeHarness),
1971
+ model: import_effect13.Schema.optional(import_effect13.Schema.String),
1972
+ mode: import_effect13.Schema.optional(RigRuntimeMode),
1973
+ pi: import_effect13.Schema.optional(PiRuntimeConfig),
1974
+ server: import_effect13.Schema.optional(RigServerConfig),
1975
+ capabilities: import_effect13.Schema.optional(CapabilityGrants),
1976
+ supervisor: import_effect13.Schema.optional(RuntimeSupervisorConfig),
1977
+ drift: import_effect13.Schema.optional(RuntimeDriftConfig),
1978
+ planning: import_effect13.Schema.optional(RuntimePlanningConfig)
1979
+ });
1980
+ var ProjectIdentity = import_effect13.Schema.Struct({
1981
+ name: import_effect13.Schema.String,
1982
+ repo: import_effect13.Schema.optional(import_effect13.Schema.String)
1983
+ });
1984
+ var PlanningConfig = import_effect13.Schema.Struct({
1985
+ mode: import_effect13.Schema.optional(import_effect13.Schema.Literals(["auto", "always", "off"])),
1986
+ requireForLabels: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
1987
+ skipForLabels: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String))
1988
+ });
1989
+ var GitHubProjectStatusConfig = import_effect13.Schema.Struct({
1990
+ enabled: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
1991
+ projectId: import_effect13.Schema.optional(import_effect13.Schema.String),
1992
+ statusFieldId: import_effect13.Schema.optional(import_effect13.Schema.String),
1993
+ statuses: import_effect13.Schema.optional(import_effect13.Schema.Struct({
1994
+ running: import_effect13.Schema.optional(import_effect13.Schema.String),
1995
+ prOpen: import_effect13.Schema.optional(import_effect13.Schema.String),
1996
+ ciFixing: import_effect13.Schema.optional(import_effect13.Schema.String),
1997
+ merging: import_effect13.Schema.optional(import_effect13.Schema.String),
1998
+ done: import_effect13.Schema.optional(import_effect13.Schema.String),
1999
+ needsAttention: import_effect13.Schema.optional(import_effect13.Schema.String)
2000
+ }))
2001
+ });
2002
+ var GitHubConfig = import_effect13.Schema.Struct({
2003
+ issueUpdates: import_effect13.Schema.optional(import_effect13.Schema.Literals(["all", "lifecycle", "minimal", "off"])),
2004
+ projects: import_effect13.Schema.optional(GitHubProjectStatusConfig)
2005
+ });
2006
+ var AutomationConfig = import_effect13.Schema.Struct({
2007
+ maxValidationAttempts: import_effect13.Schema.optional(import_effect13.Schema.Number),
2008
+ maxPrFixIterations: import_effect13.Schema.optional(import_effect13.Schema.Number)
2009
+ });
2010
+ var PullRequestConfig = import_effect13.Schema.Struct({
2011
+ mode: import_effect13.Schema.optional(import_effect13.Schema.Literals(["auto", "ask", "off"])),
2012
+ watchChecks: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
2013
+ autoFixChecks: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
2014
+ autoFixReview: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
2015
+ pendingTimeoutMs: import_effect13.Schema.optional(import_effect13.Schema.Number),
2016
+ pendingPollMs: import_effect13.Schema.optional(import_effect13.Schema.Number)
2017
+ });
2018
+ var MergeConfig = import_effect13.Schema.Struct({
2019
+ mode: import_effect13.Schema.optional(import_effect13.Schema.Literals(["auto", "off", "pr-ready"])),
2020
+ method: import_effect13.Schema.optional(import_effect13.Schema.Literals(["repo-default", "squash", "merge", "rebase"])),
2021
+ deleteBranch: import_effect13.Schema.optional(import_effect13.Schema.Union([import_effect13.Schema.Literal("repo-default"), import_effect13.Schema.Boolean])),
2022
+ allowedFailures: import_effect13.Schema.optional(import_effect13.Schema.Array(import_effect13.Schema.String)),
2023
+ bypass: import_effect13.Schema.optional(import_effect13.Schema.Boolean)
2024
+ });
2025
+ var IssueAnalysisConfig = import_effect13.Schema.Struct({
2026
+ enabled: import_effect13.Schema.optional(import_effect13.Schema.Boolean),
2027
+ harness: import_effect13.Schema.optional(import_effect13.Schema.Literal("pi")),
2028
+ model: import_effect13.Schema.optional(import_effect13.Schema.String),
2029
+ mode: import_effect13.Schema.optional(import_effect13.Schema.Literals(["continuous", "off"]))
2030
+ });
2031
+ var ReviewConfig = import_effect13.Schema.Struct({
2032
+ mode: import_effect13.Schema.optional(import_effect13.Schema.Literals(["off", "advisory", "required"])),
2033
+ provider: import_effect13.Schema.optional(import_effect13.Schema.Literals(["greptile", "github"]))
2034
+ });
2035
+ var RigConfig = import_effect13.Schema.Struct({
2036
+ project: ProjectIdentity,
2037
+ plugins: import_effect13.Schema.Array(RigPlugin),
2038
+ taskSource: TaskSourceConfig,
2039
+ workspace: WorkspaceConfig,
2040
+ runtime: import_effect13.Schema.optional(RuntimeConfig),
2041
+ planning: import_effect13.Schema.optional(PlanningConfig),
2042
+ github: import_effect13.Schema.optional(GitHubConfig),
2043
+ automation: import_effect13.Schema.optional(AutomationConfig),
2044
+ pr: import_effect13.Schema.optional(PullRequestConfig),
2045
+ merge: import_effect13.Schema.optional(MergeConfig),
2046
+ review: import_effect13.Schema.optional(ReviewConfig),
2047
+ issueAnalysis: import_effect13.Schema.optional(IssueAnalysisConfig),
2048
+ capabilities: import_effect13.Schema.optional(CapabilityGrants),
2049
+ env: import_effect13.Schema.optional(import_effect13.Schema.Record(import_effect13.Schema.String, import_effect13.Schema.String))
2050
+ });
2051
+ // packages/contracts/src/policy.ts
2052
+ var import_effect14 = require("effect");
2053
+ var PolicyDecision = import_effect14.Schema.Literals(["allow", "warn", "block"]);
2054
+ var PolicyMode = import_effect14.Schema.Literals(["off", "observe", "enforce"]);
2055
+ var PolicyDecisionSummary = import_effect14.Schema.Struct({
2056
+ id: TrimmedNonEmptyString,
2057
+ runId: RunId,
2058
+ actionId: import_effect14.Schema.NullOr(ActionId),
2059
+ decision: PolicyDecision,
2060
+ mode: PolicyMode,
2061
+ matchedRules: import_effect14.Schema.Array(TrimmedNonEmptyString),
2062
+ reason: import_effect14.Schema.String,
2063
+ createdAt: IsoDateTime
2064
+ });
2065
+ // packages/contracts/src/guard.ts
2066
+ var POLICY_VERSION = 1;
2067
+ // packages/contracts/src/tool-registry.ts
2068
+ var RUNTIME_SHELL_TOOL_NAMES = [
2069
+ "bash",
2070
+ "sh",
2071
+ "zsh",
2072
+ "git",
2073
+ "bun",
2074
+ "node",
2075
+ "python3",
2076
+ "rg",
2077
+ "grep",
2078
+ "sed",
2079
+ "cat",
2080
+ "ls",
2081
+ "find",
2082
+ "tsc",
2083
+ "gh",
2084
+ "mkdir",
2085
+ "rm",
2086
+ "mv",
2087
+ "cp",
2088
+ "touch",
2089
+ "pwd",
2090
+ "head",
2091
+ "tail",
2092
+ "wc",
2093
+ "sort",
2094
+ "uniq",
2095
+ "awk",
2096
+ "xargs",
2097
+ "dirname",
2098
+ "basename",
2099
+ "realpath",
2100
+ "env",
2101
+ "jq",
2102
+ "tee",
2103
+ "which"
2104
+ ];
2105
+ var RUNTIME_FILE_TOOL_NAMES = [
2106
+ "rig-read",
2107
+ "rig-write",
2108
+ "rig-edit",
2109
+ "rig-glob",
2110
+ "rig-grep"
2111
+ ];
2112
+ var RUNTIME_BROWSER_TOOL_NAMES = [
2113
+ "rig-browser-launch",
2114
+ "rig-browser-check",
2115
+ "rig-browser-attach-info",
2116
+ "rig-browser-e2e",
2117
+ "rig-browser-reset-profile"
2118
+ ];
2119
+ // packages/contracts/src/validation.ts
2120
+ var import_effect15 = require("effect");
2121
+ var ValidationStatus = import_effect15.Schema.Literals([
2122
+ "pending",
2123
+ "running",
2124
+ "passed",
2125
+ "failed",
2126
+ "skipped"
2127
+ ]);
2128
+ var ValidationSummary = import_effect15.Schema.Struct({
2129
+ id: ValidationResultId,
2130
+ runId: RunId,
2131
+ taskId: import_effect15.Schema.NullOr(TaskId),
2132
+ validatorKey: TrimmedNonEmptyString,
2133
+ status: ValidationStatus,
2134
+ output: import_effect15.Schema.Unknown,
2135
+ startedAt: IsoDateTime,
2136
+ completedAt: import_effect15.Schema.NullOr(IsoDateTime)
2137
+ });
2138
+ // packages/contracts/src/review.ts
2139
+ var import_effect16 = require("effect");
2140
+ var ReviewMode = import_effect16.Schema.Literals(["off", "advisory", "required"]);
2141
+ var ReviewStatus = import_effect16.Schema.Literals(["pending", "running", "approved", "rejected", "error"]);
2142
+ var ReviewSummary = import_effect16.Schema.Struct({
2143
+ id: ReviewResultId,
2144
+ runId: RunId,
2145
+ taskId: import_effect16.Schema.NullOr(TaskId),
2146
+ provider: TrimmedNonEmptyString,
2147
+ mode: ReviewMode,
2148
+ status: ReviewStatus,
2149
+ summary: import_effect16.Schema.NullOr(import_effect16.Schema.String),
2150
+ output: import_effect16.Schema.Unknown,
2151
+ createdAt: IsoDateTime,
2152
+ completedAt: import_effect16.Schema.NullOr(IsoDateTime)
2153
+ });
2154
+ // packages/contracts/src/artifact.ts
2155
+ var import_effect17 = require("effect");
2156
+ var ArtifactSummary = import_effect17.Schema.Struct({
2157
+ id: ArtifactId,
2158
+ runId: RunId,
2159
+ taskId: import_effect17.Schema.NullOr(TaskId),
2160
+ kind: TrimmedNonEmptyString,
2161
+ label: TrimmedNonEmptyString,
2162
+ path: import_effect17.Schema.NullOr(TrimmedNonEmptyString),
2163
+ url: import_effect17.Schema.NullOr(TrimmedNonEmptyString),
2164
+ metadata: import_effect17.Schema.Record(import_effect17.Schema.String, import_effect17.Schema.Unknown),
2165
+ createdAt: IsoDateTime
2166
+ });
2167
+ // packages/contracts/src/remote.ts
2168
+ var import_effect18 = require("effect");
2169
+ var RemoteRuntimeAdapter = import_effect18.Schema.Literal("pi");
2170
+ var RemoteEndpoint = import_effect18.Schema.Struct({
2171
+ id: RemoteEndpointId,
2172
+ alias: TrimmedNonEmptyString,
2173
+ host: TrimmedNonEmptyString,
2174
+ port: import_effect18.Schema.Int.check(import_effect18.Schema.isGreaterThanOrEqualTo(1)).check(import_effect18.Schema.isLessThanOrEqualTo(65535)),
2175
+ token: import_effect18.Schema.String,
2176
+ tokenConfigured: import_effect18.Schema.optional(import_effect18.Schema.Boolean),
2177
+ autoConnect: import_effect18.Schema.optional(import_effect18.Schema.Boolean),
2178
+ addedAt: IsoDateTime,
2179
+ lastConnectedAt: import_effect18.Schema.NullOr(IsoDateTime)
2180
+ });
2181
+ var RemoteConnectionStatus = import_effect18.Schema.Literals([
2182
+ "disconnected",
2183
+ "connecting",
2184
+ "authenticating",
2185
+ "connected",
2186
+ "reconnecting",
2187
+ "error"
2188
+ ]);
2189
+ var RemoteConnectionSummary = import_effect18.Schema.Struct({
2190
+ endpointId: RemoteEndpointId,
2191
+ status: RemoteConnectionStatus,
2192
+ error: import_effect18.Schema.NullOr(import_effect18.Schema.String),
2193
+ connectedAt: import_effect18.Schema.NullOr(IsoDateTime),
2194
+ tokenExpiresAt: import_effect18.Schema.NullOr(IsoDateTime),
2195
+ latencyMs: import_effect18.Schema.NullOr(import_effect18.Schema.Number),
2196
+ subscribedEvents: import_effect18.Schema.Array(import_effect18.Schema.String)
2197
+ });
2198
+ var RemoteConnectionStatusChanged = import_effect18.Schema.Struct({
2199
+ endpointId: import_effect18.Schema.String,
2200
+ endpointAlias: import_effect18.Schema.String,
2201
+ status: RemoteConnectionStatus,
2202
+ previousStatus: RemoteConnectionStatus,
2203
+ error: import_effect18.Schema.NullOr(import_effect18.Schema.String),
2204
+ connectedAt: import_effect18.Schema.NullOr(import_effect18.Schema.String),
2205
+ latencyMs: import_effect18.Schema.NullOr(import_effect18.Schema.Number),
2206
+ timestamp: import_effect18.Schema.String
2207
+ });
2208
+ var RemoteOrchestratorState = import_effect18.Schema.Struct({
2209
+ activeTaskId: import_effect18.Schema.NullOr(import_effect18.Schema.String),
2210
+ activeIteration: import_effect18.Schema.NullOr(import_effect18.Schema.Number),
2211
+ maxIterations: import_effect18.Schema.Number,
2212
+ isPaused: import_effect18.Schema.Boolean,
2213
+ isRunning: import_effect18.Schema.Boolean,
2214
+ totalCompleted: NonNegativeInt,
2215
+ totalFailed: NonNegativeInt,
2216
+ lastActivity: import_effect18.Schema.NullOr(IsoDateTime)
2217
+ });
2218
+ var RemoteOrchestrationSummary = import_effect18.Schema.Struct({
2219
+ orchestrationId: TrimmedNonEmptyString,
2220
+ endpointId: RemoteEndpointId,
2221
+ status: import_effect18.Schema.Literals(["running", "paused", "stopped", "completed"]),
2222
+ totalTasks: NonNegativeInt,
2223
+ totalGroups: NonNegativeInt,
2224
+ maxParallelism: NonNegativeInt,
2225
+ startedAt: IsoDateTime
2226
+ });
2227
+ var RemoteIterationOutput = import_effect18.Schema.Struct({
2228
+ taskId: import_effect18.Schema.optional(import_effect18.Schema.String),
2229
+ iteration: import_effect18.Schema.optional(import_effect18.Schema.Number),
2230
+ output: import_effect18.Schema.optional(import_effect18.Schema.String),
2231
+ startedAt: import_effect18.Schema.optional(IsoDateTime),
2232
+ endedAt: import_effect18.Schema.optional(IsoDateTime),
2233
+ durationMs: import_effect18.Schema.optional(import_effect18.Schema.Number),
2234
+ isRunning: import_effect18.Schema.optional(import_effect18.Schema.Boolean)
2235
+ });
2236
+ var RemoteRunnerRegisterInput = import_effect18.Schema.Struct({
2237
+ workspaceId: WorkspaceId,
2238
+ hostId: TrimmedNonEmptyString,
2239
+ name: TrimmedNonEmptyString,
2240
+ baseUrl: TrimmedNonEmptyString,
2241
+ workspacePath: import_effect18.Schema.optional(TrimmedNonEmptyString),
2242
+ transport: import_effect18.Schema.optional(TrimmedNonEmptyString),
2243
+ hostname: import_effect18.Schema.optional(TrimmedNonEmptyString),
2244
+ region: import_effect18.Schema.optional(TrimmedNonEmptyString),
2245
+ labels: import_effect18.Schema.optional(import_effect18.Schema.Array(TrimmedNonEmptyString)),
2246
+ capabilities: import_effect18.Schema.optional(import_effect18.Schema.Array(TrimmedNonEmptyString)),
2247
+ runtimeAdapters: import_effect18.Schema.optional(import_effect18.Schema.Array(RemoteRuntimeAdapter)),
2248
+ status: import_effect18.Schema.optional(WorkspaceRemoteHostStatus),
2249
+ currentLeaseCount: import_effect18.Schema.optional(import_effect18.Schema.Number)
2250
+ });
2251
+ var RemoteRunnerHeartbeatInput = import_effect18.Schema.Struct({
2252
+ workspaceId: WorkspaceId,
2253
+ hostId: TrimmedNonEmptyString,
2254
+ status: WorkspaceRemoteHostStatus,
2255
+ currentLeaseCount: import_effect18.Schema.optional(import_effect18.Schema.Number),
2256
+ observedAt: import_effect18.Schema.optional(IsoDateTime)
2257
+ });
2258
+ var RemoteRunnerLifecycleResult = import_effect18.Schema.Struct({
2259
+ ok: import_effect18.Schema.Boolean,
2260
+ workspaceId: WorkspaceId,
2261
+ hostId: TrimmedNonEmptyString,
2262
+ acceptedAt: IsoDateTime,
2263
+ heartbeatIntervalMs: import_effect18.Schema.Number
2264
+ });
2265
+ var RemoteRunClaimInput = import_effect18.Schema.Struct({
2266
+ workspaceId: WorkspaceId,
2267
+ hostId: TrimmedNonEmptyString,
2268
+ runtimeAdapters: import_effect18.Schema.optional(import_effect18.Schema.Array(RemoteRuntimeAdapter))
2269
+ });
2270
+ var RemoteRunLeaseSummary = import_effect18.Schema.Struct({
2271
+ leaseId: TrimmedNonEmptyString,
2272
+ runId: TrimmedNonEmptyString,
2273
+ workspaceId: WorkspaceId,
2274
+ title: TrimmedNonEmptyString,
2275
+ runtimeAdapter: RemoteRuntimeAdapter,
2276
+ model: import_effect18.Schema.NullOr(TrimmedNonEmptyString),
2277
+ runtimeMode: RuntimeMode,
2278
+ interactionMode: ProviderInteractionMode,
2279
+ executionTarget: RunExecutionTarget,
2280
+ remoteHostId: import_effect18.Schema.NullOr(TrimmedNonEmptyString),
2281
+ claimedAt: IsoDateTime
2282
+ });
2283
+ var RemoteRunConversationEntry = import_effect18.Schema.Struct({
2284
+ role: import_effect18.Schema.Literals(["user", "assistant", "system"]),
2285
+ text: import_effect18.Schema.String,
2286
+ createdAt: IsoDateTime
2287
+ });
2288
+ var RemoteRunExecutionBundle = import_effect18.Schema.Struct({
2289
+ workspaceId: WorkspaceId,
2290
+ runId: TrimmedNonEmptyString,
2291
+ leaseId: TrimmedNonEmptyString,
2292
+ workspacePath: import_effect18.Schema.NullOr(TrimmedNonEmptyString),
2293
+ runtimeAdapter: RemoteRuntimeAdapter,
2294
+ model: import_effect18.Schema.NullOr(TrimmedNonEmptyString),
2295
+ runtimeMode: RuntimeMode,
2296
+ interactionMode: ProviderInteractionMode,
2297
+ prompt: import_effect18.Schema.String,
2298
+ conversation: import_effect18.Schema.Array(RemoteRunConversationEntry),
2299
+ taskId: import_effect18.Schema.NullOr(TrimmedNonEmptyString),
2300
+ taskTitle: import_effect18.Schema.NullOr(TrimmedNonEmptyString)
2301
+ });
2302
+ var RemoteRunClaimResult = import_effect18.Schema.Struct({
2303
+ ok: import_effect18.Schema.Boolean,
2304
+ workspaceId: WorkspaceId,
2305
+ hostId: TrimmedNonEmptyString,
2306
+ acceptedAt: IsoDateTime,
2307
+ lease: import_effect18.Schema.NullOr(RemoteRunLeaseSummary),
2308
+ bundle: import_effect18.Schema.NullOr(RemoteRunExecutionBundle)
2309
+ });
2310
+ var RemoteRunReleaseInput = import_effect18.Schema.Struct({
2311
+ workspaceId: WorkspaceId,
2312
+ hostId: TrimmedNonEmptyString,
2313
+ runId: TrimmedNonEmptyString,
2314
+ leaseId: TrimmedNonEmptyString,
2315
+ status: import_effect18.Schema.optional(WorkspaceRemoteHostStatus)
2316
+ });
2317
+ var RemoteRunReleaseResult = import_effect18.Schema.Struct({
2318
+ ok: import_effect18.Schema.Boolean,
2319
+ workspaceId: WorkspaceId,
2320
+ hostId: TrimmedNonEmptyString,
2321
+ runId: TrimmedNonEmptyString,
2322
+ leaseId: TrimmedNonEmptyString,
2323
+ acceptedAt: IsoDateTime
2324
+ });
2325
+ var RemoteRunStartInput = import_effect18.Schema.Struct({
2326
+ workspaceId: WorkspaceId,
2327
+ hostId: TrimmedNonEmptyString,
2328
+ runId: TrimmedNonEmptyString,
2329
+ leaseId: TrimmedNonEmptyString
2330
+ });
2331
+ var RemoteRunStartResult = import_effect18.Schema.Struct({
2332
+ ok: import_effect18.Schema.Boolean,
2333
+ workspaceId: WorkspaceId,
2334
+ hostId: TrimmedNonEmptyString,
2335
+ runId: TrimmedNonEmptyString,
2336
+ leaseId: TrimmedNonEmptyString,
2337
+ runtimeId: TrimmedNonEmptyString,
2338
+ acceptedAt: IsoDateTime
2339
+ });
2340
+ var RemoteRunLogInput = import_effect18.Schema.Struct({
2341
+ workspaceId: WorkspaceId,
2342
+ hostId: TrimmedNonEmptyString,
2343
+ runId: TrimmedNonEmptyString,
2344
+ leaseId: TrimmedNonEmptyString,
2345
+ title: TrimmedNonEmptyString,
2346
+ detail: import_effect18.Schema.optional(import_effect18.Schema.String),
2347
+ tone: import_effect18.Schema.optional(EngineLogTone),
2348
+ status: import_effect18.Schema.optional(TrimmedNonEmptyString),
2349
+ payload: import_effect18.Schema.optional(import_effect18.Schema.Unknown)
2350
+ });
2351
+ var RemoteRunMessageInput = import_effect18.Schema.Struct({
2352
+ workspaceId: WorkspaceId,
2353
+ hostId: TrimmedNonEmptyString,
2354
+ runId: TrimmedNonEmptyString,
2355
+ leaseId: TrimmedNonEmptyString,
2356
+ messageId: import_effect18.Schema.optional(TrimmedNonEmptyString),
2357
+ text: import_effect18.Schema.String,
2358
+ state: import_effect18.Schema.optional(import_effect18.Schema.Literals(["streaming", "completed"]))
2359
+ });
2360
+ var RemoteRunMutationResult = import_effect18.Schema.Struct({
2361
+ ok: import_effect18.Schema.Boolean,
2362
+ workspaceId: WorkspaceId,
2363
+ hostId: TrimmedNonEmptyString,
2364
+ runId: TrimmedNonEmptyString,
2365
+ leaseId: TrimmedNonEmptyString,
2366
+ acceptedAt: IsoDateTime
2367
+ });
2368
+ var RemoteRunCompleteInput = import_effect18.Schema.Struct({
2369
+ workspaceId: WorkspaceId,
2370
+ hostId: TrimmedNonEmptyString,
2371
+ runId: TrimmedNonEmptyString,
2372
+ leaseId: TrimmedNonEmptyString
2373
+ });
2374
+ var RemoteRunFailInput = import_effect18.Schema.Struct({
2375
+ workspaceId: WorkspaceId,
2376
+ hostId: TrimmedNonEmptyString,
2377
+ runId: TrimmedNonEmptyString,
2378
+ leaseId: TrimmedNonEmptyString,
2379
+ errorText: import_effect18.Schema.optional(import_effect18.Schema.String)
2380
+ });
2381
+ var RemoteRunArtifactInput = import_effect18.Schema.Struct({
2382
+ workspaceId: WorkspaceId,
2383
+ hostId: TrimmedNonEmptyString,
2384
+ runId: TrimmedNonEmptyString,
2385
+ leaseId: TrimmedNonEmptyString,
2386
+ kind: TrimmedNonEmptyString,
2387
+ label: TrimmedNonEmptyString,
2388
+ filename: TrimmedNonEmptyString,
2389
+ contentType: TrimmedNonEmptyString,
2390
+ contentBase64: TrimmedNonEmptyString
2391
+ });
2392
+ var RemoteRunArtifactResult = import_effect18.Schema.Struct({
2393
+ ok: import_effect18.Schema.Boolean,
2394
+ workspaceId: WorkspaceId,
2395
+ hostId: TrimmedNonEmptyString,
2396
+ runId: TrimmedNonEmptyString,
2397
+ leaseId: TrimmedNonEmptyString,
2398
+ acceptedAt: IsoDateTime,
2399
+ artifactPath: TrimmedNonEmptyString
2400
+ });
2401
+ var RemoteRunArtifactSummary = import_effect18.Schema.Struct({
2402
+ workspaceId: WorkspaceId,
2403
+ runId: TrimmedNonEmptyString,
2404
+ hostId: TrimmedNonEmptyString,
2405
+ leaseId: TrimmedNonEmptyString,
2406
+ kind: TrimmedNonEmptyString,
2407
+ label: TrimmedNonEmptyString,
2408
+ filename: TrimmedNonEmptyString,
2409
+ contentType: TrimmedNonEmptyString,
2410
+ uploadedAt: IsoDateTime,
2411
+ byteSize: import_effect18.Schema.Number,
2412
+ artifactPath: TrimmedNonEmptyString,
2413
+ downloadPath: TrimmedNonEmptyString
2414
+ });
2415
+ var RemoteRunArtifactsResult = import_effect18.Schema.Struct({
2416
+ workspaceId: WorkspaceId,
2417
+ runId: TrimmedNonEmptyString,
2418
+ artifacts: import_effect18.Schema.Array(RemoteRunArtifactSummary)
2419
+ });
2420
+ // packages/contracts/src/terminal.ts
2421
+ var import_effect19 = require("effect");
2422
+ var DEFAULT_TERMINAL_ID = "default";
2423
+ var TrimmedNonEmptyStringSchema = TrimmedNonEmptyString;
2424
+ var TerminalColsSchema = import_effect19.Schema.Int.check(import_effect19.Schema.isGreaterThanOrEqualTo(20)).check(import_effect19.Schema.isLessThanOrEqualTo(400));
2425
+ var TerminalRowsSchema = import_effect19.Schema.Int.check(import_effect19.Schema.isGreaterThanOrEqualTo(5)).check(import_effect19.Schema.isLessThanOrEqualTo(200));
2426
+ var TerminalIdSchema = TrimmedNonEmptyStringSchema.check(import_effect19.Schema.isMaxLength(128));
2427
+ var TerminalEnvKeySchema = import_effect19.Schema.String.check(import_effect19.Schema.isPattern(/^[A-Za-z_][A-Za-z0-9_]*$/)).check(import_effect19.Schema.isMaxLength(128));
2428
+ var TerminalEnvValueSchema = import_effect19.Schema.String.check(import_effect19.Schema.isMaxLength(8192));
2429
+ var TerminalEnvSchema = import_effect19.Schema.Record(TerminalEnvKeySchema, TerminalEnvValueSchema).check(import_effect19.Schema.isMaxProperties(128));
2430
+ var TerminalIdWithDefaultSchema = TerminalIdSchema.pipe(import_effect19.Schema.withDecodingDefault(() => DEFAULT_TERMINAL_ID));
2431
+ var TerminalThreadInput = import_effect19.Schema.Struct({
2432
+ threadId: TrimmedNonEmptyStringSchema
2433
+ });
2434
+ var TerminalSessionInput = import_effect19.Schema.Struct({
2435
+ ...TerminalThreadInput.fields,
2436
+ terminalId: TerminalIdWithDefaultSchema
2437
+ });
2438
+ var TerminalOpenInput = import_effect19.Schema.Struct({
2439
+ ...TerminalSessionInput.fields,
2440
+ cwd: TrimmedNonEmptyStringSchema,
2441
+ cols: import_effect19.Schema.optional(TerminalColsSchema),
2442
+ rows: import_effect19.Schema.optional(TerminalRowsSchema),
2443
+ env: import_effect19.Schema.optional(TerminalEnvSchema)
2444
+ });
2445
+ var TerminalWriteInput = import_effect19.Schema.Struct({
2446
+ ...TerminalSessionInput.fields,
2447
+ data: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()).check(import_effect19.Schema.isMaxLength(65536))
2448
+ });
2449
+ var TerminalResizeInput = import_effect19.Schema.Struct({
2450
+ ...TerminalSessionInput.fields,
2451
+ cols: TerminalColsSchema,
2452
+ rows: TerminalRowsSchema
2453
+ });
2454
+ var TerminalClearInput = TerminalSessionInput;
2455
+ var TerminalRestartInput = import_effect19.Schema.Struct({
2456
+ ...TerminalThreadInput.fields,
2457
+ cwd: TrimmedNonEmptyStringSchema,
2458
+ cols: TerminalColsSchema,
2459
+ rows: TerminalRowsSchema,
2460
+ env: import_effect19.Schema.optional(TerminalEnvSchema)
2461
+ });
2462
+ var TerminalCloseInput = import_effect19.Schema.Struct({
2463
+ ...TerminalThreadInput.fields,
2464
+ terminalId: import_effect19.Schema.optional(TerminalIdSchema),
2465
+ deleteHistory: import_effect19.Schema.optional(import_effect19.Schema.Boolean)
2466
+ });
2467
+ var TerminalSessionStatus = import_effect19.Schema.Literals(["starting", "running", "exited", "error"]);
2468
+ var TerminalSessionSnapshot = import_effect19.Schema.Struct({
2469
+ threadId: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()),
2470
+ terminalId: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()),
2471
+ cwd: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()),
2472
+ status: TerminalSessionStatus,
2473
+ pid: import_effect19.Schema.NullOr(import_effect19.Schema.Int.check(import_effect19.Schema.isGreaterThan(0))),
2474
+ history: import_effect19.Schema.String,
2475
+ exitCode: import_effect19.Schema.NullOr(import_effect19.Schema.Int),
2476
+ exitSignal: import_effect19.Schema.NullOr(import_effect19.Schema.String),
2477
+ updatedAt: import_effect19.Schema.String
2478
+ });
2479
+ var TerminalEventBaseSchema = import_effect19.Schema.Struct({
2480
+ threadId: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()),
2481
+ terminalId: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty()),
2482
+ createdAt: import_effect19.Schema.String
2483
+ });
2484
+ var TerminalStartedEvent = import_effect19.Schema.Struct({
2485
+ ...TerminalEventBaseSchema.fields,
2486
+ type: import_effect19.Schema.Literal("started"),
2487
+ snapshot: TerminalSessionSnapshot
2488
+ });
2489
+ var TerminalOutputEvent = import_effect19.Schema.Struct({
2490
+ ...TerminalEventBaseSchema.fields,
2491
+ type: import_effect19.Schema.Literal("output"),
2492
+ data: import_effect19.Schema.String
2493
+ });
2494
+ var TerminalExitedEvent = import_effect19.Schema.Struct({
2495
+ ...TerminalEventBaseSchema.fields,
2496
+ type: import_effect19.Schema.Literal("exited"),
2497
+ exitCode: import_effect19.Schema.NullOr(import_effect19.Schema.Int),
2498
+ exitSignal: import_effect19.Schema.NullOr(import_effect19.Schema.String)
2499
+ });
2500
+ var TerminalErrorEvent = import_effect19.Schema.Struct({
2501
+ ...TerminalEventBaseSchema.fields,
2502
+ type: import_effect19.Schema.Literal("error"),
2503
+ message: import_effect19.Schema.String.check(import_effect19.Schema.isNonEmpty())
2504
+ });
2505
+ var TerminalClearedEvent = import_effect19.Schema.Struct({
2506
+ ...TerminalEventBaseSchema.fields,
2507
+ type: import_effect19.Schema.Literal("cleared")
2508
+ });
2509
+ var TerminalRestartedEvent = import_effect19.Schema.Struct({
2510
+ ...TerminalEventBaseSchema.fields,
2511
+ type: import_effect19.Schema.Literal("restarted"),
2512
+ snapshot: TerminalSessionSnapshot
2513
+ });
2514
+ var TerminalActivityEvent = import_effect19.Schema.Struct({
2515
+ ...TerminalEventBaseSchema.fields,
2516
+ type: import_effect19.Schema.Literal("activity"),
2517
+ hasRunningSubprocess: import_effect19.Schema.Boolean
2518
+ });
2519
+ var TerminalEvent = import_effect19.Schema.Union([
2520
+ TerminalStartedEvent,
2521
+ TerminalOutputEvent,
2522
+ TerminalExitedEvent,
2523
+ TerminalErrorEvent,
2524
+ TerminalClearedEvent,
2525
+ TerminalRestartedEvent,
2526
+ TerminalActivityEvent
2527
+ ]);
2528
+ // packages/contracts/src/provider.ts
2529
+ var import_effect21 = require("effect");
2530
+
2531
+ // packages/contracts/src/model.ts
2532
+ var import_effect20 = require("effect");
2533
+ var CODEX_REASONING_EFFORT_OPTIONS = ["xhigh", "high", "medium", "low"];
2534
+ var CodexModelOptions = import_effect20.Schema.Struct({
2535
+ reasoningEffort: import_effect20.Schema.optional(import_effect20.Schema.Literals(CODEX_REASONING_EFFORT_OPTIONS)),
2536
+ fastMode: import_effect20.Schema.optional(import_effect20.Schema.Boolean)
2537
+ });
2538
+ var ClaudeModelOptions = import_effect20.Schema.Struct({});
2539
+ var ProviderModelOptions = import_effect20.Schema.Struct({
2540
+ codex: import_effect20.Schema.optional(CodexModelOptions),
2541
+ claude: import_effect20.Schema.optional(ClaudeModelOptions)
2542
+ });
2543
+ var MODEL_OPTIONS_BY_PROVIDER = {
2544
+ codex: [
2545
+ { slug: "gpt-5.4", name: "GPT-5.4" },
2546
+ { slug: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
2547
+ { slug: "gpt-5.3-codex-spark", name: "GPT-5.3 Codex Spark" },
2548
+ { slug: "gpt-5.2-codex", name: "GPT-5.2 Codex" },
2549
+ { slug: "gpt-5.2", name: "GPT-5.2" }
2550
+ ],
2551
+ claude: [
2552
+ { slug: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
2553
+ { slug: "claude-opus-4-1", name: "Claude Opus 4.1" },
2554
+ { slug: "claude-3-7-sonnet-latest", name: "Claude 3.7 Sonnet" }
2555
+ ]
2556
+ };
2557
+ var DEFAULT_MODEL_BY_PROVIDER = {
2558
+ codex: "gpt-5.4",
2559
+ claude: "claude-sonnet-4-6"
2560
+ };
2561
+ var MODEL_SLUG_ALIASES_BY_PROVIDER = {
2562
+ codex: {
2563
+ "5.4": "gpt-5.4",
2564
+ "5.3": "gpt-5.3-codex",
2565
+ "gpt-5.3": "gpt-5.3-codex",
2566
+ "5.3-spark": "gpt-5.3-codex-spark",
2567
+ "gpt-5.3-spark": "gpt-5.3-codex-spark"
2568
+ },
2569
+ claude: {
2570
+ sonnet: "claude-sonnet-4-6",
2571
+ opus: "claude-opus-4-1",
2572
+ "3.7-sonnet": "claude-3-7-sonnet-latest"
2573
+ }
2574
+ };
2575
+ var REASONING_EFFORT_OPTIONS_BY_PROVIDER = {
2576
+ codex: CODEX_REASONING_EFFORT_OPTIONS,
2577
+ claude: []
2578
+ };
2579
+ var DEFAULT_REASONING_EFFORT_BY_PROVIDER = {
2580
+ codex: "high",
2581
+ claude: null
2582
+ };
2583
+
2584
+ // packages/contracts/src/provider.ts
2585
+ var TrimmedNonEmptyStringSchema2 = TrimmedNonEmptyString;
2586
+ var ProviderSessionStatus = import_effect21.Schema.Literals([
2587
+ "connecting",
2588
+ "ready",
2589
+ "running",
2590
+ "error",
2591
+ "closed"
2592
+ ]);
2593
+ var ProviderSession = import_effect21.Schema.Struct({
2594
+ provider: ProviderKind,
2595
+ status: ProviderSessionStatus,
2596
+ runtimeMode: RuntimeMode,
2597
+ cwd: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2598
+ model: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2599
+ threadId: ThreadId,
2600
+ resumeCursor: import_effect21.Schema.optional(import_effect21.Schema.Unknown),
2601
+ activeTurnId: import_effect21.Schema.optional(TurnId),
2602
+ createdAt: IsoDateTime,
2603
+ updatedAt: IsoDateTime,
2604
+ lastError: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2)
2605
+ });
2606
+ var CodexProviderStartOptions = import_effect21.Schema.Struct({
2607
+ binaryPath: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2608
+ homePath: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2)
2609
+ });
2610
+ var ProviderStartOptions = import_effect21.Schema.Struct({
2611
+ codex: import_effect21.Schema.optional(CodexProviderStartOptions)
2612
+ });
2613
+ var ProviderSessionStartInput = import_effect21.Schema.Struct({
2614
+ threadId: ThreadId,
2615
+ provider: import_effect21.Schema.optional(ProviderKind),
2616
+ cwd: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2617
+ model: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2618
+ modelOptions: import_effect21.Schema.optional(ProviderModelOptions),
2619
+ resumeCursor: import_effect21.Schema.optional(import_effect21.Schema.Unknown),
2620
+ serviceTier: import_effect21.Schema.optional(import_effect21.Schema.NullOr(ProviderServiceTier)),
2621
+ approvalPolicy: import_effect21.Schema.optional(ProviderApprovalPolicy),
2622
+ sandboxMode: import_effect21.Schema.optional(ProviderSandboxMode),
2623
+ providerOptions: import_effect21.Schema.optional(ProviderStartOptions),
2624
+ runtimeMode: RuntimeMode
2625
+ });
2626
+ var ProviderSendTurnInput = import_effect21.Schema.Struct({
2627
+ threadId: ThreadId,
2628
+ input: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2.check(import_effect21.Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_INPUT_CHARS))),
2629
+ attachments: import_effect21.Schema.optional(import_effect21.Schema.Array(ChatAttachment).check(import_effect21.Schema.isMaxLength(PROVIDER_SEND_TURN_MAX_ATTACHMENTS))),
2630
+ model: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2631
+ serviceTier: import_effect21.Schema.optional(import_effect21.Schema.NullOr(ProviderServiceTier)),
2632
+ modelOptions: import_effect21.Schema.optional(ProviderModelOptions),
2633
+ interactionMode: import_effect21.Schema.optional(ProviderInteractionMode)
2634
+ });
2635
+ var ProviderTurnStartResult = import_effect21.Schema.Struct({
2636
+ threadId: ThreadId,
2637
+ turnId: TurnId,
2638
+ resumeCursor: import_effect21.Schema.optional(import_effect21.Schema.Unknown)
2639
+ });
2640
+ var ProviderInterruptTurnInput = import_effect21.Schema.Struct({
2641
+ threadId: ThreadId,
2642
+ turnId: import_effect21.Schema.optional(TurnId)
2643
+ });
2644
+ var ProviderStopSessionInput = import_effect21.Schema.Struct({
2645
+ threadId: ThreadId
2646
+ });
2647
+ var ProviderRespondToRequestInput = import_effect21.Schema.Struct({
2648
+ threadId: ThreadId,
2649
+ requestId: ApprovalRequestId,
2650
+ decision: ProviderApprovalDecision
2651
+ });
2652
+ var ProviderRespondToUserInputInput = import_effect21.Schema.Struct({
2653
+ threadId: ThreadId,
2654
+ requestId: ApprovalRequestId,
2655
+ answers: ProviderUserInputAnswers
2656
+ });
2657
+ var ProviderEventKind = import_effect21.Schema.Literals(["session", "notification", "request", "error"]);
2658
+ var ProviderEvent = import_effect21.Schema.Struct({
2659
+ id: EventId,
2660
+ kind: ProviderEventKind,
2661
+ provider: ProviderKind,
2662
+ threadId: ThreadId,
2663
+ createdAt: IsoDateTime,
2664
+ method: TrimmedNonEmptyStringSchema2,
2665
+ message: import_effect21.Schema.optional(TrimmedNonEmptyStringSchema2),
2666
+ turnId: import_effect21.Schema.optional(TurnId),
2667
+ itemId: import_effect21.Schema.optional(ProviderItemId),
2668
+ requestId: import_effect21.Schema.optional(ApprovalRequestId),
2669
+ requestKind: import_effect21.Schema.optional(ProviderRequestKind),
2670
+ textDelta: import_effect21.Schema.optional(import_effect21.Schema.String),
2671
+ payload: import_effect21.Schema.optional(import_effect21.Schema.Unknown)
2672
+ });
2673
+ // packages/contracts/src/keybindings.ts
2674
+ var import_effect22 = require("effect");
2675
+ var MAX_KEYBINDING_VALUE_LENGTH = 64;
2676
+ var MAX_KEYBINDING_WHEN_LENGTH = 256;
2677
+ var MAX_WHEN_EXPRESSION_DEPTH = 64;
2678
+ var MAX_SCRIPT_ID_LENGTH = 24;
2679
+ var MAX_KEYBINDINGS_COUNT = 256;
2680
+ var STATIC_KEYBINDING_COMMANDS = [
2681
+ "terminal.toggle",
2682
+ "terminal.split",
2683
+ "terminal.new",
2684
+ "terminal.close",
2685
+ "diff.toggle",
2686
+ "chat.new",
2687
+ "chat.newLocal",
2688
+ "editor.openFavorite"
2689
+ ];
2690
+ var SCRIPT_RUN_COMMAND_PATTERN = import_effect22.Schema.TemplateLiteral([
2691
+ import_effect22.Schema.Literal("script."),
2692
+ import_effect22.Schema.NonEmptyString.check(import_effect22.Schema.isMaxLength(MAX_SCRIPT_ID_LENGTH), import_effect22.Schema.isPattern(/^[a-z0-9][a-z0-9-]*$/)),
2693
+ import_effect22.Schema.Literal(".run")
2694
+ ]);
2695
+ var KeybindingCommand = import_effect22.Schema.Union([
2696
+ import_effect22.Schema.Literals(STATIC_KEYBINDING_COMMANDS),
2697
+ SCRIPT_RUN_COMMAND_PATTERN
2698
+ ]);
2699
+ var KeybindingValue = TrimmedString.check(import_effect22.Schema.isMinLength(1), import_effect22.Schema.isMaxLength(MAX_KEYBINDING_VALUE_LENGTH));
2700
+ var KeybindingWhen = TrimmedString.check(import_effect22.Schema.isMinLength(1), import_effect22.Schema.isMaxLength(MAX_KEYBINDING_WHEN_LENGTH));
2701
+ var KeybindingRule = import_effect22.Schema.Struct({
2702
+ key: KeybindingValue,
2703
+ command: KeybindingCommand,
2704
+ when: import_effect22.Schema.optional(KeybindingWhen)
2705
+ });
2706
+ var KeybindingsConfig = import_effect22.Schema.Array(KeybindingRule).check(import_effect22.Schema.isMaxLength(MAX_KEYBINDINGS_COUNT));
2707
+ var KeybindingShortcut = import_effect22.Schema.Struct({
2708
+ key: KeybindingValue,
2709
+ metaKey: import_effect22.Schema.Boolean,
2710
+ ctrlKey: import_effect22.Schema.Boolean,
2711
+ shiftKey: import_effect22.Schema.Boolean,
2712
+ altKey: import_effect22.Schema.Boolean,
2713
+ modKey: import_effect22.Schema.Boolean
2714
+ });
2715
+ var KeybindingWhenNode = import_effect22.Schema.Union([
2716
+ import_effect22.Schema.Struct({
2717
+ type: import_effect22.Schema.Literal("identifier"),
2718
+ name: import_effect22.Schema.NonEmptyString
2719
+ }),
2720
+ import_effect22.Schema.Struct({
2721
+ type: import_effect22.Schema.Literal("not"),
2722
+ node: import_effect22.Schema.suspend(() => KeybindingWhenNode)
2723
+ }),
2724
+ import_effect22.Schema.Struct({
2725
+ type: import_effect22.Schema.Literal("and"),
2726
+ left: import_effect22.Schema.suspend(() => KeybindingWhenNode),
2727
+ right: import_effect22.Schema.suspend(() => KeybindingWhenNode)
2728
+ }),
2729
+ import_effect22.Schema.Struct({
2730
+ type: import_effect22.Schema.Literal("or"),
2731
+ left: import_effect22.Schema.suspend(() => KeybindingWhenNode),
2732
+ right: import_effect22.Schema.suspend(() => KeybindingWhenNode)
2733
+ })
2734
+ ]);
2735
+ var ResolvedKeybindingRule = import_effect22.Schema.Struct({
2736
+ command: KeybindingCommand,
2737
+ shortcut: KeybindingShortcut,
2738
+ whenAst: import_effect22.Schema.optional(KeybindingWhenNode)
2739
+ }).annotate({ parseOptions: { onExcessProperty: "ignore" } });
2740
+ var ResolvedKeybindingsConfig = import_effect22.Schema.Array(ResolvedKeybindingRule).check(import_effect22.Schema.isMaxLength(MAX_KEYBINDINGS_COUNT));
2741
+ // packages/contracts/src/git.ts
2742
+ var import_effect23 = require("effect");
2743
+ var TrimmedNonEmptyStringSchema3 = TrimmedNonEmptyString;
2744
+ var GitStackedAction = import_effect23.Schema.Literals(["commit", "commit_push", "commit_push_pr"]);
2745
+ var GitCommitStepStatus = import_effect23.Schema.Literals(["created", "skipped_no_changes"]);
2746
+ var GitPushStepStatus = import_effect23.Schema.Literals([
2747
+ "pushed",
2748
+ "skipped_not_requested",
2749
+ "skipped_up_to_date"
2750
+ ]);
2751
+ var GitBranchStepStatus = import_effect23.Schema.Literals(["created", "skipped_not_requested"]);
2752
+ var GitPrStepStatus = import_effect23.Schema.Literals([
2753
+ "created",
2754
+ "opened_existing",
2755
+ "skipped_not_requested"
2756
+ ]);
2757
+ var GitStatusPrState = import_effect23.Schema.Literals(["open", "closed", "merged"]);
2758
+ var GitBranch = import_effect23.Schema.Struct({
2759
+ name: TrimmedNonEmptyStringSchema3,
2760
+ isRemote: import_effect23.Schema.optional(import_effect23.Schema.Boolean),
2761
+ remoteName: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2762
+ current: import_effect23.Schema.Boolean,
2763
+ isDefault: import_effect23.Schema.Boolean,
2764
+ worktreePath: TrimmedNonEmptyStringSchema3.pipe(import_effect23.Schema.NullOr)
2765
+ });
2766
+ var GitWorktree = import_effect23.Schema.Struct({
2767
+ path: TrimmedNonEmptyStringSchema3,
2768
+ branch: TrimmedNonEmptyStringSchema3
2769
+ });
2770
+ var GitStatusInput = import_effect23.Schema.Struct({
2771
+ cwd: TrimmedNonEmptyStringSchema3
2772
+ });
2773
+ var GitPullInput = import_effect23.Schema.Struct({
2774
+ cwd: TrimmedNonEmptyStringSchema3
2775
+ });
2776
+ var GitReadWorkingTreePatchInput = import_effect23.Schema.Struct({
2777
+ cwd: TrimmedNonEmptyStringSchema3,
2778
+ relativePath: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3)
2779
+ });
2780
+ var GitRunStackedActionInput = import_effect23.Schema.Struct({
2781
+ cwd: TrimmedNonEmptyStringSchema3,
2782
+ action: GitStackedAction,
2783
+ commitMessage: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3.check(import_effect23.Schema.isMaxLength(1e4))),
2784
+ featureBranch: import_effect23.Schema.optional(import_effect23.Schema.Boolean)
2785
+ });
2786
+ var GitListBranchesInput = import_effect23.Schema.Struct({
2787
+ cwd: TrimmedNonEmptyStringSchema3
2788
+ });
2789
+ var GitCreateWorktreeInput = import_effect23.Schema.Struct({
2790
+ cwd: TrimmedNonEmptyStringSchema3,
2791
+ branch: TrimmedNonEmptyStringSchema3,
2792
+ newBranch: TrimmedNonEmptyStringSchema3,
2793
+ path: import_effect23.Schema.NullOr(TrimmedNonEmptyStringSchema3)
2794
+ });
2795
+ var GitRemoveWorktreeInput = import_effect23.Schema.Struct({
2796
+ cwd: TrimmedNonEmptyStringSchema3,
2797
+ path: TrimmedNonEmptyStringSchema3,
2798
+ force: import_effect23.Schema.optional(import_effect23.Schema.Boolean)
2799
+ });
2800
+ var GitCreateBranchInput = import_effect23.Schema.Struct({
2801
+ cwd: TrimmedNonEmptyStringSchema3,
2802
+ branch: TrimmedNonEmptyStringSchema3
2803
+ });
2804
+ var GitCheckoutInput = import_effect23.Schema.Struct({
2805
+ cwd: TrimmedNonEmptyStringSchema3,
2806
+ branch: TrimmedNonEmptyStringSchema3
2807
+ });
2808
+ var GitInitInput = import_effect23.Schema.Struct({
2809
+ cwd: TrimmedNonEmptyStringSchema3
2810
+ });
2811
+ var GitStatusPr = import_effect23.Schema.Struct({
2812
+ number: PositiveInt,
2813
+ title: TrimmedNonEmptyStringSchema3,
2814
+ url: import_effect23.Schema.String,
2815
+ baseBranch: TrimmedNonEmptyStringSchema3,
2816
+ headBranch: TrimmedNonEmptyStringSchema3,
2817
+ state: GitStatusPrState
2818
+ });
2819
+ var GitStatusResult = import_effect23.Schema.Struct({
2820
+ branch: TrimmedNonEmptyStringSchema3.pipe(import_effect23.Schema.NullOr),
2821
+ hasWorkingTreeChanges: import_effect23.Schema.Boolean,
2822
+ workingTree: import_effect23.Schema.Struct({
2823
+ files: import_effect23.Schema.Array(import_effect23.Schema.Struct({
2824
+ path: TrimmedNonEmptyStringSchema3,
2825
+ insertions: NonNegativeInt,
2826
+ deletions: NonNegativeInt
2827
+ })),
2828
+ insertions: NonNegativeInt,
2829
+ deletions: NonNegativeInt
2830
+ }),
2831
+ hasUpstream: import_effect23.Schema.Boolean,
2832
+ aheadCount: NonNegativeInt,
2833
+ behindCount: NonNegativeInt,
2834
+ pr: import_effect23.Schema.NullOr(GitStatusPr)
2835
+ });
2836
+ var GitListBranchesResult = import_effect23.Schema.Struct({
2837
+ branches: import_effect23.Schema.Array(GitBranch),
2838
+ isRepo: import_effect23.Schema.Boolean
2839
+ });
2840
+ var GitCreateWorktreeResult = import_effect23.Schema.Struct({
2841
+ worktree: GitWorktree
2842
+ });
2843
+ var GitRunStackedActionResult = import_effect23.Schema.Struct({
2844
+ action: GitStackedAction,
2845
+ branch: import_effect23.Schema.Struct({
2846
+ status: GitBranchStepStatus,
2847
+ name: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3)
2848
+ }),
2849
+ commit: import_effect23.Schema.Struct({
2850
+ status: GitCommitStepStatus,
2851
+ commitSha: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2852
+ subject: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3)
2853
+ }),
2854
+ push: import_effect23.Schema.Struct({
2855
+ status: GitPushStepStatus,
2856
+ branch: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2857
+ upstreamBranch: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2858
+ setUpstream: import_effect23.Schema.optional(import_effect23.Schema.Boolean)
2859
+ }),
2860
+ pr: import_effect23.Schema.Struct({
2861
+ status: GitPrStepStatus,
2862
+ url: import_effect23.Schema.optional(import_effect23.Schema.String),
2863
+ number: import_effect23.Schema.optional(PositiveInt),
2864
+ baseBranch: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2865
+ headBranch: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3),
2866
+ title: import_effect23.Schema.optional(TrimmedNonEmptyStringSchema3)
2867
+ })
2868
+ });
2869
+ var GitPullResult = import_effect23.Schema.Struct({
2870
+ status: import_effect23.Schema.Literals(["pulled", "skipped_up_to_date"]),
2871
+ branch: TrimmedNonEmptyStringSchema3,
2872
+ upstreamBranch: TrimmedNonEmptyStringSchema3.pipe(import_effect23.Schema.NullOr)
2873
+ });
2874
+ var GitReadWorkingTreePatchResult = import_effect23.Schema.Struct({
2875
+ diff: import_effect23.Schema.String
2876
+ });
2877
+ // packages/contracts/src/editor.ts
2878
+ var import_effect24 = require("effect");
2879
+ var EDITORS = [
2880
+ { id: "cursor", label: "Cursor", command: "cursor" },
2881
+ { id: "vscode", label: "VS Code", command: "code" },
2882
+ { id: "zed", label: "Zed", command: "zed" },
2883
+ { id: "file-manager", label: "File Manager", command: null }
2884
+ ];
2885
+ var EditorId = import_effect24.Schema.Literals(EDITORS.map((e) => e.id));
2886
+ var OpenInEditorInput = import_effect24.Schema.Struct({
2887
+ cwd: TrimmedNonEmptyString,
2888
+ editor: EditorId
2889
+ });
2890
+ // packages/contracts/src/project.ts
2891
+ var import_effect25 = require("effect");
2892
+ var PROJECT_SEARCH_ENTRIES_MAX_LIMIT = 200;
2893
+ var PROJECT_LIST_DIRECTORY_MAX_LIMIT = 500;
2894
+ var PROJECT_WRITE_FILE_PATH_MAX_LENGTH = 512;
2895
+ var PROJECT_READ_FILE_MAX_BYTES = 512 * 1024;
2896
+ var ProjectSearchEntriesInput = import_effect25.Schema.Struct({
2897
+ cwd: TrimmedNonEmptyString,
2898
+ query: TrimmedNonEmptyString.check(import_effect25.Schema.isMaxLength(256)),
2899
+ limit: PositiveInt.check(import_effect25.Schema.isLessThanOrEqualTo(PROJECT_SEARCH_ENTRIES_MAX_LIMIT))
2900
+ });
2901
+ var ProjectEntryKind = import_effect25.Schema.Literals(["file", "directory"]);
2902
+ var ProjectEntry = import_effect25.Schema.Struct({
2903
+ path: TrimmedNonEmptyString,
2904
+ kind: ProjectEntryKind,
2905
+ parentPath: import_effect25.Schema.optional(TrimmedNonEmptyString)
2906
+ });
2907
+ var ProjectSearchEntriesResult = import_effect25.Schema.Struct({
2908
+ entries: import_effect25.Schema.Array(ProjectEntry),
2909
+ truncated: import_effect25.Schema.Boolean
2910
+ });
2911
+ var ProjectListDirectoryInput = import_effect25.Schema.Struct({
2912
+ cwd: TrimmedNonEmptyString,
2913
+ relativePath: TrimmedNonEmptyString.check(import_effect25.Schema.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH)),
2914
+ limit: PositiveInt.check(import_effect25.Schema.isLessThanOrEqualTo(PROJECT_LIST_DIRECTORY_MAX_LIMIT))
2915
+ });
2916
+ var ProjectDirectoryEntry = import_effect25.Schema.Struct({
2917
+ name: TrimmedNonEmptyString,
2918
+ relativePath: TrimmedNonEmptyString,
2919
+ kind: ProjectEntryKind,
2920
+ sizeBytes: import_effect25.Schema.optional(NonNegativeInt),
2921
+ modifiedAt: import_effect25.Schema.optional(import_effect25.Schema.String)
2922
+ });
2923
+ var ProjectListDirectoryResult = import_effect25.Schema.Struct({
2924
+ entries: import_effect25.Schema.Array(ProjectDirectoryEntry),
2925
+ truncated: import_effect25.Schema.Boolean
2926
+ });
2927
+ var ProjectWriteFileInput = import_effect25.Schema.Struct({
2928
+ cwd: TrimmedNonEmptyString,
2929
+ relativePath: TrimmedNonEmptyString.check(import_effect25.Schema.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH)),
2930
+ contents: import_effect25.Schema.String
2931
+ });
2932
+ var ProjectWriteFileResult = import_effect25.Schema.Struct({
2933
+ relativePath: TrimmedNonEmptyString
2934
+ });
2935
+ var ProjectReadFileInput = import_effect25.Schema.Struct({
2936
+ cwd: TrimmedNonEmptyString,
2937
+ relativePath: TrimmedNonEmptyString.check(import_effect25.Schema.isMaxLength(PROJECT_WRITE_FILE_PATH_MAX_LENGTH))
2938
+ });
2939
+ var ProjectReadFileResult = import_effect25.Schema.Struct({
2940
+ relativePath: TrimmedNonEmptyString,
2941
+ contents: import_effect25.Schema.String,
2942
+ truncated: import_effect25.Schema.Boolean,
2943
+ sizeBytes: NonNegativeInt,
2944
+ maxBytes: PositiveInt
2945
+ });
2946
+ var PROJECT_READ_FILE_MAX_BYTES_VALUE = PROJECT_READ_FILE_MAX_BYTES;
2947
+ // packages/contracts/src/setup.ts
2948
+ var PROJECT_SETUP_CAPABILITY_ID = "cap:project-setup";
2949
+ var PROJECT_SETUP = makeCapabilityId(PROJECT_SETUP_CAPABILITY_ID);
2950
+ // packages/contracts/src/host.ts
2951
+ var HOST_RUN_CAPABILITY_ID = "cap:host-run";
2952
+ var HOST_RUN = makeCapabilityId(HOST_RUN_CAPABILITY_ID);
2953
+ // packages/contracts/src/run-identity.ts
2954
+ var RUN_IDENTITY_ENV_CAPABILITY_ID = "cap:run-identity-env";
2955
+ var RUN_IDENTITY_ENV = makeCapabilityId(RUN_IDENTITY_ENV_CAPABILITY_ID);
2956
+ // packages/contracts/src/prompt.ts
2957
+ var PRIOR_PROGRESS_PROMPT_CAPABILITY_ID = "prompt.prior-progress";
2958
+ var PRIOR_PROGRESS_PROMPT = makeCapabilityId(PRIOR_PROGRESS_PROMPT_CAPABILITY_ID);
2959
+ // packages/contracts/src/task-source.ts
2960
+ var TASK_SOURCE_UPDATE_CAPABILITY_ID = "task-sources.update";
2961
+ var TASK_SOURCE_UPDATE = makeCapabilityId(TASK_SOURCE_UPDATE_CAPABILITY_ID);
2962
+ var TASK_IO_SERVICE_CAPABILITY_ID = "task-sources.task-io";
2963
+ var TASK_IO_SERVICE_CAPABILITY = makeCapabilityId(TASK_IO_SERVICE_CAPABILITY_ID);
2964
+ // packages/contracts/src/task-data.ts
2965
+ var TASK_DATA_SERVICE_CAPABILITY_ID = "task-sources.task-data";
2966
+ var TASK_DATA_SERVICE_CAPABILITY = makeCapabilityId(TASK_DATA_SERVICE_CAPABILITY_ID);
2967
+ // packages/contracts/src/task-state-store.ts
2968
+ var TASK_STATE_STORE_CAPABILITY_ID = "task-state.store";
2969
+ var TASK_STATE_STORE = makeCapabilityId(TASK_STATE_STORE_CAPABILITY_ID);
2970
+ // packages/contracts/src/task-artifacts.ts
2971
+ var TASK_ARTIFACTS_CAPABILITY_ID = "task-state.artifacts";
2972
+ var TASK_ARTIFACTS = makeCapabilityId(TASK_ARTIFACTS_CAPABILITY_ID);
2973
+ // packages/contracts/src/task-context-renderer.ts
2974
+ var TASK_CONTEXT_RENDERER_CAPABILITY_ID = "provider.task-context-renderer";
2975
+ var TASK_CONTEXT_RENDERER = makeCapabilityId(TASK_CONTEXT_RENDERER_CAPABILITY_ID);
2976
+ // packages/contracts/src/task-tracker-state.ts
2977
+ var TASK_TRACKER_LIFECYCLE_STATUSES = [
2978
+ "draft",
2979
+ "open",
2980
+ "ready",
2981
+ "queued",
2982
+ "in_progress",
2983
+ "under_review",
2984
+ "blocked",
2985
+ "completed",
2986
+ "cancelled"
2987
+ ];
2988
+ var TASK_TRACKER_STALE_CLAIM_MS = 24 * 60 * 60 * 1000;
2989
+ var TASK_TRACKER_RECONCILIATION_POLICY_CAPABILITY_ID = "lifecycle.task-tracker-reconciliation-policy";
2990
+ var TASK_TRACKER_RECONCILIATION_POLICY = makeCapabilityId(TASK_TRACKER_RECONCILIATION_POLICY_CAPABILITY_ID);
2991
+ var TASK_TRACKER_READINESS_POLICY_CAPABILITY_ID = "scheduler.task-tracker-readiness-policy";
2992
+ var TASK_TRACKER_READINESS_POLICY = makeCapabilityId(TASK_TRACKER_READINESS_POLICY_CAPABILITY_ID);
2993
+ var TASK_TRACKER_REPO_LOCATOR_CAPABILITY_ID = "task-state.tracker-repo-locator";
2994
+ var TASK_TRACKER_REPO_LOCATOR = makeCapabilityId(TASK_TRACKER_REPO_LOCATOR_CAPABILITY_ID);
2995
+ var TASK_TRACKER_STATE_CAPABILITY_ID = "task-state.tracker-state";
2996
+ var TASK_TRACKER_STATE = makeCapabilityId(TASK_TRACKER_STATE_CAPABILITY_ID);
2997
+ // packages/contracts/src/cli-output.ts
2998
+ var import_effect26 = require("effect");
2999
+ var CLI_OUTPUT_VERSION = 1;
3000
+ var RigCliOutputEnvelope = import_effect26.Schema.Struct({
3001
+ v: import_effect26.Schema.Literal(1),
3002
+ command: import_effect26.Schema.String,
3003
+ data: import_effect26.Schema.Unknown
3004
+ });
3005
+ var CliTaskSummary = import_effect26.Schema.Struct({
3006
+ id: import_effect26.Schema.NullOr(import_effect26.Schema.String),
3007
+ title: import_effect26.Schema.NullOr(import_effect26.Schema.String),
3008
+ status: import_effect26.Schema.NullOr(import_effect26.Schema.String),
3009
+ source: import_effect26.Schema.optional(import_effect26.Schema.String),
3010
+ url: import_effect26.Schema.optional(import_effect26.Schema.String),
3011
+ number: import_effect26.Schema.optional(import_effect26.Schema.Number),
3012
+ labels: import_effect26.Schema.optional(import_effect26.Schema.Array(import_effect26.Schema.Unknown)),
3013
+ assignees: import_effect26.Schema.optional(import_effect26.Schema.Array(import_effect26.Schema.Unknown)),
3014
+ readiness: import_effect26.Schema.optional(import_effect26.Schema.Union([import_effect26.Schema.String, import_effect26.Schema.Boolean])),
3015
+ validators: import_effect26.Schema.optional(import_effect26.Schema.Array(import_effect26.Schema.Unknown)),
3016
+ raw: import_effect26.Schema.optional(import_effect26.Schema.Unknown)
3017
+ });
3018
+ var CliTaskFilters = import_effect26.Schema.Struct({
3019
+ assignee: import_effect26.Schema.optional(import_effect26.Schema.String),
3020
+ state: import_effect26.Schema.optional(import_effect26.Schema.String),
3021
+ status: import_effect26.Schema.optional(import_effect26.Schema.String),
3022
+ limit: import_effect26.Schema.optional(import_effect26.Schema.Number)
3023
+ });
3024
+ var CliRunRecord = import_effect26.Schema.Record(import_effect26.Schema.String, import_effect26.Schema.Unknown);
3025
+ var CliInboxRecord = import_effect26.Schema.Record(import_effect26.Schema.String, import_effect26.Schema.Unknown);
3026
+ var CliDoctorCheck = import_effect26.Schema.Struct({
3027
+ id: import_effect26.Schema.String,
3028
+ label: import_effect26.Schema.String,
3029
+ status: import_effect26.Schema.Literals(["pass", "warn", "fail"]),
3030
+ detail: import_effect26.Schema.optional(import_effect26.Schema.String),
3031
+ remediation: import_effect26.Schema.optional(import_effect26.Schema.String)
3032
+ });
3033
+ var CliServerConnection = import_effect26.Schema.Union([
3034
+ import_effect26.Schema.Struct({ kind: import_effect26.Schema.Literal("local"), mode: import_effect26.Schema.Literal("auto") }),
3035
+ import_effect26.Schema.Struct({ kind: import_effect26.Schema.Literal("remote"), baseUrl: import_effect26.Schema.String })
3036
+ ]);
3037
+ var CliRepoConnectionState = import_effect26.Schema.Struct({
3038
+ selected: import_effect26.Schema.String,
3039
+ project: import_effect26.Schema.optional(import_effect26.Schema.String),
3040
+ linkedAt: import_effect26.Schema.optional(import_effect26.Schema.String),
3041
+ serverProjectRoot: import_effect26.Schema.optional(import_effect26.Schema.String),
3042
+ serverProjectRootAlias: import_effect26.Schema.optional(import_effect26.Schema.String),
3043
+ serverProjectRootBaseUrl: import_effect26.Schema.optional(import_effect26.Schema.String)
3044
+ });
3045
+ var CliRemoteProjectLink = import_effect26.Schema.Struct({
3046
+ ok: import_effect26.Schema.Boolean,
3047
+ status: import_effect26.Schema.String,
3048
+ alias: import_effect26.Schema.optional(import_effect26.Schema.String),
3049
+ baseUrl: import_effect26.Schema.optional(import_effect26.Schema.String),
3050
+ repoSlug: import_effect26.Schema.optional(import_effect26.Schema.String),
3051
+ serverProjectRoot: import_effect26.Schema.optional(import_effect26.Schema.String),
3052
+ source: import_effect26.Schema.optional(import_effect26.Schema.String),
3053
+ prepared: import_effect26.Schema.optional(import_effect26.Schema.Boolean),
3054
+ validated: import_effect26.Schema.optional(import_effect26.Schema.Boolean),
3055
+ statusCode: import_effect26.Schema.optional(import_effect26.Schema.Number),
3056
+ message: import_effect26.Schema.String,
3057
+ hint: import_effect26.Schema.String,
3058
+ next: import_effect26.Schema.optional(import_effect26.Schema.String),
3059
+ skippedCandidates: import_effect26.Schema.optional(import_effect26.Schema.Array(import_effect26.Schema.String))
3060
+ });
3061
+ var RigTaskListOutput = import_effect26.Schema.Struct({
3062
+ v: import_effect26.Schema.Literal(1),
3063
+ command: import_effect26.Schema.Literal("task list"),
3064
+ data: import_effect26.Schema.Struct({
3065
+ count: import_effect26.Schema.Number,
3066
+ filters: CliTaskFilters,
3067
+ raw: import_effect26.Schema.Boolean,
3068
+ tasks: import_effect26.Schema.Array(CliTaskSummary)
3069
+ })
3070
+ });
3071
+ var RigTaskShowOutput = import_effect26.Schema.Struct({
3072
+ v: import_effect26.Schema.Literal(1),
3073
+ command: import_effect26.Schema.Literal("task show"),
3074
+ data: import_effect26.Schema.Struct({
3075
+ task: CliTaskSummary,
3076
+ raw: import_effect26.Schema.Boolean
3077
+ })
3078
+ });
3079
+ var RigRunListOutput = import_effect26.Schema.Struct({
3080
+ v: import_effect26.Schema.Literal(1),
3081
+ command: import_effect26.Schema.Literal("run list"),
3082
+ data: import_effect26.Schema.Struct({
3083
+ runs: import_effect26.Schema.Array(CliRunRecord),
3084
+ source: import_effect26.Schema.Literals(["local", "server"])
3085
+ })
3086
+ });
3087
+ var RigRunShowOutput = import_effect26.Schema.Struct({
3088
+ v: import_effect26.Schema.Literal(1),
3089
+ command: import_effect26.Schema.Literal("run show"),
3090
+ data: CliRunRecord
3091
+ });
3092
+ var RigServerUseOutput = import_effect26.Schema.Struct({
3093
+ v: import_effect26.Schema.Literal(1),
3094
+ command: import_effect26.Schema.Literal("server use"),
3095
+ data: import_effect26.Schema.Struct({
3096
+ selected: import_effect26.Schema.String,
3097
+ repo: import_effect26.Schema.NullOr(CliRepoConnectionState),
3098
+ remoteProjectLink: import_effect26.Schema.NullOr(CliRemoteProjectLink)
3099
+ })
3100
+ });
3101
+ var RigServerStatusOutput = import_effect26.Schema.Struct({
3102
+ v: import_effect26.Schema.Literal(1),
3103
+ command: import_effect26.Schema.Literal("server status"),
3104
+ data: import_effect26.Schema.Struct({
3105
+ selected: import_effect26.Schema.String,
3106
+ repo: import_effect26.Schema.NullOr(CliRepoConnectionState),
3107
+ connections: import_effect26.Schema.Record(import_effect26.Schema.String, CliServerConnection),
3108
+ remoteProjectLink: import_effect26.Schema.NullOr(CliRemoteProjectLink)
3109
+ })
3110
+ });
3111
+ var RigServerRepairLinkOutput = import_effect26.Schema.Struct({
3112
+ v: import_effect26.Schema.Literal(1),
3113
+ command: import_effect26.Schema.Literal("server repair-link"),
3114
+ data: CliRemoteProjectLink
3115
+ });
3116
+ var RigInboxApprovalsOutput = import_effect26.Schema.Struct({
3117
+ v: import_effect26.Schema.Literal(1),
3118
+ command: import_effect26.Schema.Literal("inbox approvals"),
3119
+ data: import_effect26.Schema.Struct({
3120
+ approvals: import_effect26.Schema.Array(CliInboxRecord)
3121
+ })
3122
+ });
3123
+ var RigInboxInputsOutput = import_effect26.Schema.Struct({
3124
+ v: import_effect26.Schema.Literal(1),
3125
+ command: import_effect26.Schema.Literal("inbox inputs"),
3126
+ data: import_effect26.Schema.Struct({
3127
+ requests: import_effect26.Schema.Array(CliInboxRecord)
3128
+ })
3129
+ });
3130
+ var RigDoctorCheckOutput = import_effect26.Schema.Struct({
3131
+ v: import_effect26.Schema.Literal(1),
3132
+ command: import_effect26.Schema.Literal("doctor check"),
3133
+ data: import_effect26.Schema.Struct({
3134
+ checks: import_effect26.Schema.Array(CliDoctorCheck),
3135
+ failures: import_effect26.Schema.Number
3136
+ })
3137
+ });
3138
+ var RigStatsData = import_effect26.Schema.Struct({
3139
+ since: import_effect26.Schema.NullOr(import_effect26.Schema.String),
3140
+ totalRuns: import_effect26.Schema.Number,
3141
+ statusCounts: import_effect26.Schema.Record(import_effect26.Schema.String, import_effect26.Schema.Number),
3142
+ completedRuns: import_effect26.Schema.Number,
3143
+ failedRuns: import_effect26.Schema.Number,
3144
+ needsAttentionRuns: import_effect26.Schema.Number,
3145
+ completionRate: import_effect26.Schema.NullOr(import_effect26.Schema.Number),
3146
+ failureRate: import_effect26.Schema.NullOr(import_effect26.Schema.Number),
3147
+ needsAttentionRate: import_effect26.Schema.NullOr(import_effect26.Schema.Number),
3148
+ medianCompletionMs: import_effect26.Schema.NullOr(import_effect26.Schema.Number),
3149
+ steeringTotal: import_effect26.Schema.Number,
3150
+ steeringPerRun: import_effect26.Schema.NullOr(import_effect26.Schema.Number),
3151
+ stallTotal: import_effect26.Schema.Number,
3152
+ approvalsRequested: import_effect26.Schema.Number,
3153
+ approvalsApproved: import_effect26.Schema.Number,
3154
+ approvalsRejected: import_effect26.Schema.Number,
3155
+ approvalsPending: import_effect26.Schema.Number
3156
+ });
3157
+ var RigStatsOutput = import_effect26.Schema.Struct({
3158
+ v: import_effect26.Schema.Literal(1),
3159
+ command: import_effect26.Schema.Literal("stats show"),
3160
+ data: RigStatsData
3161
+ });
3162
+ // packages/contracts/src/protocol-version.ts
3163
+ var RIG_PROTOCOL_VERSION = 1;
3164
+ // packages/contracts/src/help-catalog.ts
3165
+ var HELP_CATALOG_CAPABILITY_ID = "rig.help.catalog";
3166
+ var HELP_CATALOG = makeCapabilityId(HELP_CATALOG_CAPABILITY_ID);
3167
+ // packages/contracts/src/planning.ts
3168
+ var import_effect27 = require("effect");
3169
+ var ClarificationStatus = import_effect27.Schema.Literals([
3170
+ "open",
3171
+ "resolved-from-code",
3172
+ "resolved-by-human",
3173
+ "deferred"
3174
+ ]);
3175
+ var OpenQuestion = import_effect27.Schema.Struct({
3176
+ id: TrimmedNonEmptyString,
3177
+ question: TrimmedNonEmptyString,
3178
+ status: ClarificationStatus,
3179
+ resolution: import_effect27.Schema.NullOr(import_effect27.Schema.String)
3180
+ });
3181
+ var UserStory = import_effect27.Schema.Struct({
3182
+ id: TrimmedNonEmptyString,
3183
+ title: TrimmedNonEmptyString,
3184
+ priority: PositiveInt
3185
+ });
3186
+ var FunctionalRequirement = import_effect27.Schema.Struct({
3187
+ id: TrimmedNonEmptyString,
3188
+ text: TrimmedNonEmptyString
3189
+ });
3190
+ var PlanTask = import_effect27.Schema.Struct({
3191
+ localId: TrimmedNonEmptyString,
3192
+ title: TrimmedNonEmptyString,
3193
+ description: import_effect27.Schema.String,
3194
+ acceptance: import_effect27.Schema.Array(import_effect27.Schema.String),
3195
+ scope: import_effect27.Schema.Array(TrimmedNonEmptyString),
3196
+ validationKeys: import_effect27.Schema.Array(TrimmedNonEmptyString),
3197
+ dependsOn: import_effect27.Schema.Array(TrimmedNonEmptyString),
3198
+ parent: import_effect27.Schema.NullOr(TrimmedNonEmptyString),
3199
+ parallelizable: import_effect27.Schema.Boolean
3200
+ });
3201
+ var PlanSpec = import_effect27.Schema.Struct({
3202
+ prdTitle: TrimmedNonEmptyString,
3203
+ userStories: import_effect27.Schema.Array(UserStory),
3204
+ functionalRequirements: import_effect27.Schema.Array(FunctionalRequirement),
3205
+ openQuestions: import_effect27.Schema.Array(OpenQuestion),
3206
+ tasks: import_effect27.Schema.Array(PlanTask),
3207
+ generatedAt: IsoDateTime
3208
+ });
3209
+ // packages/contracts/src/drift.ts
3210
+ var import_effect28 = require("effect");
3211
+ var DriftKind = import_effect28.Schema.Literals([
3212
+ "deleted-reference",
3213
+ "stale-anchor",
3214
+ "semantic-mismatch",
3215
+ "issue-mismatch"
3216
+ ]);
3217
+ var DriftConfidence = import_effect28.Schema.Literals(["high", "medium", "low"]);
3218
+ var DriftFinding = import_effect28.Schema.Struct({
3219
+ kind: DriftKind,
3220
+ docPath: TrimmedNonEmptyString,
3221
+ line: import_effect28.Schema.NullOr(PositiveInt),
3222
+ reference: import_effect28.Schema.NullOr(TrimmedNonEmptyString),
3223
+ detail: import_effect28.Schema.String,
3224
+ confidence: DriftConfidence
3225
+ });
3226
+ var DriftReport = import_effect28.Schema.Struct({
3227
+ generatedAt: IsoDateTime,
3228
+ scanned: NonNegativeInt,
3229
+ degraded: import_effect28.Schema.Boolean,
3230
+ findings: import_effect28.Schema.Array(DriftFinding)
3231
+ });
3232
+ // packages/contracts/src/rollups.ts
3233
+ var import_effect29 = require("effect");
3234
+ var PercentComplete = NonNegativeInt.check(import_effect29.Schema.isLessThanOrEqualTo(100));
3235
+ var EpicRollup = import_effect29.Schema.Struct({
3236
+ epicKey: TrimmedNonEmptyString,
3237
+ total: NonNegativeInt,
3238
+ percentComplete: PercentComplete,
3239
+ blockedCount: NonNegativeInt,
3240
+ humanBlockedCount: NonNegativeInt,
3241
+ inFlightCount: NonNegativeInt,
3242
+ byStatus: import_effect29.Schema.Record(import_effect29.Schema.String, NonNegativeInt)
3243
+ });
3244
+ var AssigneeRollup = import_effect29.Schema.Struct({
3245
+ assignee: TrimmedNonEmptyString,
3246
+ openTaskCount: NonNegativeInt,
3247
+ inFlightRunCount: NonNegativeInt,
3248
+ prsAwaitingReview: NonNegativeInt,
3249
+ blockers: import_effect29.Schema.Array(TaskId)
3250
+ });
3251
+ var WorkspaceRollups = import_effect29.Schema.Struct({
3252
+ epics: import_effect29.Schema.Array(EpicRollup),
3253
+ assignees: import_effect29.Schema.Array(AssigneeRollup),
3254
+ generatedAt: IsoDateTime
3255
+ });
3256
+ // packages/contracts/src/panel-protocol.ts
3257
+ var RIG_RUN_STOP_PANEL_ACTION = "rig-run:stop";
3258
+ var RIG_CAPABILITY_PANEL_SLOT = "capability";
3259
+ var RIG_SUPERVISOR_PANEL_ID = "supervisor";
3260
+ // packages/contracts/src/control-plane-types.ts
3261
+ var PR_MERGE_GATE_CAPABILITY_ID = "rig.mergeGate.resolveHeadSha";
3262
+ var PR_MERGE_GATE = makeCapabilityId(PR_MERGE_GATE_CAPABILITY_ID);
3263
+ // packages/contracts/src/dependency-preflight.ts
3264
+ var DEPENDENCY_PREFLIGHT_CAPABILITY_ID = "workspace.dependency-preflight";
3265
+ var DEPENDENCY_PREFLIGHT_CAPABILITY = makeCapabilityId(DEPENDENCY_PREFLIGHT_CAPABILITY_ID);
3266
+ // packages/contracts/src/workspace-config.ts
3267
+ var WORKSPACE_CONFIG_ENSURE_CAPABILITY_ID = "workspace.config.ensure";
3268
+ var WORKSPACE_CONFIG_ENSURE = makeCapabilityId(WORKSPACE_CONFIG_ENSURE_CAPABILITY_ID);
3269
+ // packages/contracts/src/layout.ts
3270
+ var RIG_DEFINITION_DIRNAME = "rig";
3271
+ var RIG_STATE_DIRNAME = ".rig";
3272
+ var RIG_ARTIFACTS_DIRNAME = "artifacts";
3273
+ // packages/contracts/src/errors.ts
3274
+ class CliError extends Error {
3275
+ exitCode;
3276
+ hint;
3277
+ constructor(message, exitCode = 1, options = {}) {
3278
+ super(message);
3279
+ this.name = "CliError";
3280
+ this.exitCode = exitCode;
3281
+ if (options.hint?.trim()) {
3282
+ this.hint = options.hint.trim();
3283
+ }
3284
+ }
3285
+ }
3286
+ // packages/contracts/src/lifecycle-capabilities.ts
3287
+ var TASK_VERIFY_CAPABILITY_ID = "default-lifecycle.task-verify";
3288
+ var TASK_VALIDATION_CAPABILITY_ID = "default-lifecycle.task-validation";
3289
+ var COMPLETION_VERIFICATION_CAPABILITY_ID = "default-lifecycle.completion-verification";
3290
+ var RUN_CLOSEOUT_CAPABILITY_ID = "default-lifecycle.run-closeout";
3291
+ var TASK_SOURCE_REFLECTION_CAPABILITY_ID = "default-lifecycle.task-source-reflection";
3292
+ var LIFECYCLE_GIT_AGENT_CAPABILITY_ID = "default-lifecycle.git-agent";
3293
+ var TASK_VERIFY_CAPABILITY = makeCapabilityId(TASK_VERIFY_CAPABILITY_ID);
3294
+ var TASK_VALIDATION_CAPABILITY = makeCapabilityId(TASK_VALIDATION_CAPABILITY_ID);
3295
+ var COMPLETION_VERIFICATION_CAPABILITY = makeCapabilityId(COMPLETION_VERIFICATION_CAPABILITY_ID);
3296
+ var LIFECYCLE_GIT_AGENT = makeCapabilityId(LIFECYCLE_GIT_AGENT_CAPABILITY_ID);
3297
+ var TASK_SOURCE_REFLECTION = makeCapabilityId(TASK_SOURCE_REFLECTION_CAPABILITY_ID);
3298
+ var RUN_CLOSEOUT_CAPABILITY = makeCapabilityId(RUN_CLOSEOUT_CAPABILITY_ID);
3299
+ // packages/contracts/src/browser.ts
3300
+ var BROWSER_CONTRACT_SERVICE_CAPABILITY_ID = "browser.contract";
3301
+ var BROWSER_CONTRACT_SERVICE_CAPABILITY = makeCapabilityId(BROWSER_CONTRACT_SERVICE_CAPABILITY_ID);
3302
+ // packages/contracts/src/memory.ts
3303
+ var MEMORY_SERVICE_CAPABILITY_ID = "memory.service";
3304
+ var NO_MATCH_RETRIEVAL_CANONICAL_KEY = "__memory_recall__:none";
3305
+ var MEMORY = makeCapabilityId(MEMORY_SERVICE_CAPABILITY_ID);
3306
+ // packages/contracts/src/notify.ts
3307
+ var NOTIFY_SERVICE_CAPABILITY_ID = "notify.dispatch";
3308
+ var NOTIFY_SERVICE_CAPABILITY = makeCapabilityId(NOTIFY_SERVICE_CAPABILITY_ID);
3309
+ // packages/contracts/src/collab-session-viewer.ts
3310
+ var COLLAB_SESSION_VIEWER_CAPABILITY_ID = "collab.session-viewer";
3311
+ var COLLAB_SESSION_VIEWER_CAPABILITY = makeCapabilityId(COLLAB_SESSION_VIEWER_CAPABILITY_ID);
3312
+ // packages/contracts/src/provider-instructions.ts
3313
+ var RUNTIME_INSTRUCTION_SERVICE_CAPABILITY_ID = "provider.runtime-instructions";
3314
+ var RUNTIME_INSTRUCTION = makeCapabilityId(RUNTIME_INSTRUCTION_SERVICE_CAPABILITY_ID);
3315
+ // packages/contracts/src/session-asset-materializer.ts
3316
+ var SESSION_ASSET_MATERIALIZER_CAPABILITY_ID = "provider.session-asset-materializer";
3317
+ var SESSION_ASSET_MATERIALIZER = makeCapabilityId(SESSION_ASSET_MATERIALIZER_CAPABILITY_ID);
3318
+ // packages/contracts/src/isolation.ts
3319
+ var ISOLATION_BACKEND_CAPABILITY_ID = "isolation.backend";
3320
+ var ISOLATION_BACKEND = makeCapabilityId(ISOLATION_BACKEND_CAPABILITY_ID);
3321
+ // packages/contracts/src/managed-repos.ts
3322
+ var REPO_NATIVE_GIT_CAPABILITY_ID = "native-toolchain.git";
3323
+ var REPO_NATIVE_GIT = makeCapabilityId(REPO_NATIVE_GIT_CAPABILITY_ID);
3324
+ var NATIVE_TOOLCHAIN_GIT_CAPABILITY_ID = REPO_NATIVE_GIT_CAPABILITY_ID;
3325
+ var NATIVE_TOOLCHAIN_GIT = REPO_NATIVE_GIT;
3326
+ var REPO_GIT_BINARY_CAPABILITY_ID = "repos.git-binary";
3327
+ var REPO_GIT_BINARY = makeCapabilityId(REPO_GIT_BINARY_CAPABILITY_ID);
3328
+ var REPO_CHANGE_SET_CAPABILITY_ID = "repos.change-set";
3329
+ var REPO_CHANGE_SET = makeCapabilityId(REPO_CHANGE_SET_CAPABILITY_ID);
3330
+ var REPO_OPERATIONS_CAPABILITY_ID = "repos.operations";
3331
+ var REPO_OPERATIONS_CAPABILITY = makeCapabilityId(REPO_OPERATIONS_CAPABILITY_ID);
3332
+ var MANAGED_REPO_SERVICE_CAPABILITY_ID = "managed-repos.service";
3333
+ var MANAGED_REPO_SERVICE_CAPABILITY = makeCapabilityId(MANAGED_REPO_SERVICE_CAPABILITY_ID);
3334
+ // packages/contracts/src/github.ts
3335
+ var GITHUB_PROVIDER_CAPABILITY_ID = "github.provider";
3336
+ var GITHUB_PROVIDER = makeCapabilityId(GITHUB_PROVIDER_CAPABILITY_ID);
3337
+ var ISSUE_TRIAGE_CAPABILITY_ID = "cap:issue-triage";
3338
+ var ISSUE_TRIAGE = makeCapabilityId(ISSUE_TRIAGE_CAPABILITY_ID);
3339
+ // packages/contracts/src/doctor.ts
3340
+ var DOCTOR_RUNNER_CAPABILITY_ID = "doctor.runner";
3341
+ var DOCTOR = makeCapabilityId(DOCTOR_RUNNER_CAPABILITY_ID);
3342
+ // packages/contracts/src/run-dispatch.ts
3343
+ var RUN_DISPATCH_CAPABILITY_ID = "rig.runs.dispatch";
3344
+ var RUN_DISPATCH = makeCapabilityId(RUN_DISPATCH_CAPABILITY_ID);
3345
+ // packages/contracts/src/run-discovery.ts
3346
+ var RUN_DISCOVERY_CAPABILITY_ID = "rig.runs.discovery";
3347
+ var RUN_DISCOVERY = makeCapabilityId(RUN_DISCOVERY_CAPABILITY_ID);
3348
+ // packages/contracts/src/run-registry-backbone.ts
3349
+ var RUN_REGISTRY_BACKBONE_CAPABILITY_ID = "transport.run-registry-backbone";
3350
+ var RUN_REGISTRY_BACKBONE = makeCapabilityId(RUN_REGISTRY_BACKBONE_CAPABILITY_ID);
3351
+ // packages/contracts/src/tool-materializer.ts
3352
+ var TOOL_MATERIALIZER_CAPABILITY_ID = "provider.tool-materializer";
3353
+ var TOOL_MATERIALIZER = makeCapabilityId(TOOL_MATERIALIZER_CAPABILITY_ID);
3354
+ // packages/contracts/src/toolchain-sources.ts
3355
+ var GUARD_TOOLCHAIN_SOURCES_CAPABILITY_ID = "rig.toolchain.sources.guard";
3356
+ var LIFECYCLE_TOOLCHAIN_SOURCES_CAPABILITY_ID = "rig.toolchain.sources.lifecycle";
3357
+ var GUARD_TOOLCHAIN_SOURCES = makeCapabilityId(GUARD_TOOLCHAIN_SOURCES_CAPABILITY_ID);
3358
+ var LIFECYCLE_TOOLCHAIN_SOURCES = makeCapabilityId(LIFECYCLE_TOOLCHAIN_SOURCES_CAPABILITY_ID);
3359
+ // packages/contracts/src/native-toolchain.ts
3360
+ var NATIVE_TOOLCHAIN_BINARY_BUILD_CAPABILITY_ID = "native-toolchain.binary-build";
3361
+ var NATIVE_TOOLCHAIN_BINARY_BUILD = makeCapabilityId(NATIVE_TOOLCHAIN_BINARY_BUILD_CAPABILITY_ID);
3362
+ // packages/contracts/src/cockpit.ts
3363
+ var TASK_PROJECTION_CAPABILITY_ID = makeCapabilityId("rig:task-projection");
3364
+ var DISPATCH_OUTCOME_CAPABILITY_ID = makeCapabilityId("rig:dispatch-outcome");
3365
+ // packages/contracts/src/docs-drift.ts
3366
+ var DOCS_DRIFT_VALIDATOR_ID = "std:docs-drift";
3367
+ var DOCS_DRIFT_CLI_ID = "std:drift";
3368
+ var DOCS_DRIFT_STAGE_ID = "docs-drift";
3369
+ var DOCS_DRIFT_CAPABILITY_ID = "std:docs-drift-capability";
3370
+ // packages/contracts/src/cli-runner.ts
3371
+ var CLI_RUNNER_CAPABILITY_ID = "rig.cli.runner";
3372
+ var CLI_RUNNER = makeCapabilityId(CLI_RUNNER_CAPABILITY_ID);
3373
+ })