@h-rig/contracts 0.0.0-e2e-live.20260630085347

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 (200) hide show
  1. package/README.md +14 -0
  2. package/dist/index.cjs +3442 -0
  3. package/dist/index.mjs +3401 -0
  4. package/dist/src/agent-roles.d.ts +8 -0
  5. package/dist/src/agent-roles.js +1 -0
  6. package/dist/src/artifact.d.ts +13 -0
  7. package/dist/src/artifact.js +56 -0
  8. package/dist/src/baseSchemas.d.ts +63 -0
  9. package/dist/src/baseSchemas.js +72 -0
  10. package/dist/src/blocker-classifier.d.ts +21 -0
  11. package/dist/src/blocker-classifier.js +13 -0
  12. package/dist/src/browser.d.ts +80 -0
  13. package/dist/src/browser.js +13 -0
  14. package/dist/src/capability-id.d.ts +22 -0
  15. package/dist/src/capability-id.js +8 -0
  16. package/dist/src/cli-output.d.ts +348 -0
  17. package/dist/src/cli-output.js +190 -0
  18. package/dist/src/cli-runner.d.ts +43 -0
  19. package/dist/src/cli-runner.js +13 -0
  20. package/dist/src/cockpit.d.ts +58 -0
  21. package/dist/src/cockpit.js +13 -0
  22. package/dist/src/collab-session-viewer.d.ts +36 -0
  23. package/dist/src/collab-session-viewer.js +13 -0
  24. package/dist/src/config.d.ts +553 -0
  25. package/dist/src/config.js +822 -0
  26. package/dist/src/control-plane-types.d.ts +323 -0
  27. package/dist/src/control-plane-types.js +13 -0
  28. package/dist/src/conversation.d.ts +50 -0
  29. package/dist/src/conversation.js +98 -0
  30. package/dist/src/dependency-preflight.d.ts +43 -0
  31. package/dist/src/dependency-preflight.js +13 -0
  32. package/dist/src/docs-drift.d.ts +10 -0
  33. package/dist/src/docs-drift.js +12 -0
  34. package/dist/src/doctor.d.ts +90 -0
  35. package/dist/src/doctor.js +13 -0
  36. package/dist/src/drift.d.ts +28 -0
  37. package/dist/src/drift.js +69 -0
  38. package/dist/src/editor.d.ts +25 -0
  39. package/dist/src/editor.js +58 -0
  40. package/dist/src/errors.d.ts +13 -0
  41. package/dist/src/errors.js +17 -0
  42. package/dist/src/git.d.ts +152 -0
  43. package/dist/src/git.js +196 -0
  44. package/dist/src/github.d.ts +295 -0
  45. package/dist/src/github.js +17 -0
  46. package/dist/src/graph.d.ts +360 -0
  47. package/dist/src/graph.js +229 -0
  48. package/dist/src/guard.d.ts +118 -0
  49. package/dist/src/guard.js +15 -0
  50. package/dist/src/harness-events.d.ts +8 -0
  51. package/dist/src/harness-events.js +1 -0
  52. package/dist/src/harness-profile-state.d.ts +10 -0
  53. package/dist/src/harness-profile-state.js +13 -0
  54. package/dist/src/help-catalog.d.ts +41 -0
  55. package/dist/src/help-catalog.js +13 -0
  56. package/dist/src/host.d.ts +41 -0
  57. package/dist/src/host.js +13 -0
  58. package/dist/src/identity.d.ts +44 -0
  59. package/dist/src/identity.js +1 -0
  60. package/dist/src/index.d.ts +98 -0
  61. package/dist/src/index.js +3401 -0
  62. package/dist/src/isolation.d.ts +213 -0
  63. package/dist/src/isolation.js +13 -0
  64. package/dist/src/kernel.d.ts +200 -0
  65. package/dist/src/kernel.js +261 -0
  66. package/dist/src/keybindings.d.ts +71 -0
  67. package/dist/src/keybindings.js +122 -0
  68. package/dist/src/layout.d.ts +44 -0
  69. package/dist/src/layout.js +8 -0
  70. package/dist/src/lifecycle-capabilities.d.ts +224 -0
  71. package/dist/src/lifecycle-capabilities.js +45 -0
  72. package/dist/src/managed-repos.d.ts +339 -0
  73. package/dist/src/managed-repos.js +37 -0
  74. package/dist/src/memory.d.ts +199 -0
  75. package/dist/src/memory.js +15 -0
  76. package/dist/src/model.d.ts +13 -0
  77. package/dist/src/model.js +9 -0
  78. package/dist/src/native-toolchain.d.ts +46 -0
  79. package/dist/src/native-toolchain.js +13 -0
  80. package/dist/src/notify.d.ts +46 -0
  81. package/dist/src/notify.js +13 -0
  82. package/dist/src/orchestration.d.ts +43 -0
  83. package/dist/src/orchestration.js +98 -0
  84. package/dist/src/panel-protocol.d.ts +17 -0
  85. package/dist/src/panel-protocol.js +10 -0
  86. package/dist/src/pi-session.d.ts +113 -0
  87. package/dist/src/pi-session.js +1 -0
  88. package/dist/src/placement.d.ts +47 -0
  89. package/dist/src/placement.js +13 -0
  90. package/dist/src/planning.d.ts +64 -0
  91. package/dist/src/planning.js +90 -0
  92. package/dist/src/plugin-hooks.d.ts +51 -0
  93. package/dist/src/plugin-hooks.js +386 -0
  94. package/dist/src/plugin.d.ts +476 -0
  95. package/dist/src/plugin.js +384 -0
  96. package/dist/src/policy.d.ts +16 -0
  97. package/dist/src/policy.js +59 -0
  98. package/dist/src/product-entrypoint.d.ts +22 -0
  99. package/dist/src/product-entrypoint.js +13 -0
  100. package/dist/src/project.d.ts +71 -0
  101. package/dist/src/project.js +110 -0
  102. package/dist/src/prompt.d.ts +29 -0
  103. package/dist/src/prompt.js +13 -0
  104. package/dist/src/protocol-version.d.ts +21 -0
  105. package/dist/src/protocol-version.js +6 -0
  106. package/dist/src/provider-instructions.d.ts +41 -0
  107. package/dist/src/provider-instructions.js +13 -0
  108. package/dist/src/provider.d.ts +105 -0
  109. package/dist/src/provider.js +194 -0
  110. package/dist/src/remote-control.d.ts +93 -0
  111. package/dist/src/remote-control.js +26 -0
  112. package/dist/src/remote.d.ts +318 -0
  113. package/dist/src/remote.js +634 -0
  114. package/dist/src/review.d.ts +18 -0
  115. package/dist/src/review.js +61 -0
  116. package/dist/src/rollups.d.ts +41 -0
  117. package/dist/src/rollups.js +70 -0
  118. package/dist/src/run-control.d.ts +164 -0
  119. package/dist/src/run-control.js +13 -0
  120. package/dist/src/run-discovery.d.ts +83 -0
  121. package/dist/src/run-discovery.js +13 -0
  122. package/dist/src/run-dispatch.d.ts +34 -0
  123. package/dist/src/run-dispatch.js +13 -0
  124. package/dist/src/run-identity.d.ts +47 -0
  125. package/dist/src/run-identity.js +13 -0
  126. package/dist/src/run-journal.d.ts +694 -0
  127. package/dist/src/run-journal.js +569 -0
  128. package/dist/src/run-queue.d.ts +36 -0
  129. package/dist/src/run-queue.js +13 -0
  130. package/dist/src/run-read-model.d.ts +200 -0
  131. package/dist/src/run-read-model.js +13 -0
  132. package/dist/src/run-record.d.ts +45 -0
  133. package/dist/src/run-record.js +1 -0
  134. package/dist/src/run-registry-backbone.d.ts +56 -0
  135. package/dist/src/run-registry-backbone.js +13 -0
  136. package/dist/src/run-session-journal.d.ts +154 -0
  137. package/dist/src/run-session-journal.js +87 -0
  138. package/dist/src/run-status.d.ts +10 -0
  139. package/dist/src/run-status.js +27 -0
  140. package/dist/src/run-timeline.d.ts +7 -0
  141. package/dist/src/run-timeline.js +1 -0
  142. package/dist/src/runtime-secrets.d.ts +10 -0
  143. package/dist/src/runtime-secrets.js +13 -0
  144. package/dist/src/runtime-task-context.d.ts +82 -0
  145. package/dist/src/runtime-task-context.js +1 -0
  146. package/dist/src/runtime.d.ts +103 -0
  147. package/dist/src/runtime.js +210 -0
  148. package/dist/src/session-asset-materializer.d.ts +35 -0
  149. package/dist/src/session-asset-materializer.js +13 -0
  150. package/dist/src/session-hook-materializer.d.ts +41 -0
  151. package/dist/src/session-hook-materializer.js +13 -0
  152. package/dist/src/setup.d.ts +154 -0
  153. package/dist/src/setup.js +13 -0
  154. package/dist/src/stage.d.ts +245 -0
  155. package/dist/src/stage.js +169 -0
  156. package/dist/src/supervisor-journal.d.ts +204 -0
  157. package/dist/src/supervisor-journal.js +336 -0
  158. package/dist/src/supervisor-loop.d.ts +40 -0
  159. package/dist/src/supervisor-loop.js +13 -0
  160. package/dist/src/task-artifacts.d.ts +53 -0
  161. package/dist/src/task-artifacts.js +13 -0
  162. package/dist/src/task-config.d.ts +22 -0
  163. package/dist/src/task-config.js +1 -0
  164. package/dist/src/task-context-renderer.d.ts +29 -0
  165. package/dist/src/task-context-renderer.js +13 -0
  166. package/dist/src/task-data.d.ts +196 -0
  167. package/dist/src/task-data.js +13 -0
  168. package/dist/src/task-graph-primitives.d.ts +47 -0
  169. package/dist/src/task-graph-primitives.js +1 -0
  170. package/dist/src/task-source.d.ts +167 -0
  171. package/dist/src/task-source.js +25 -0
  172. package/dist/src/task-state-metadata.d.ts +21 -0
  173. package/dist/src/task-state-metadata.js +1 -0
  174. package/dist/src/task-state-paths.d.ts +14 -0
  175. package/dist/src/task-state-paths.js +13 -0
  176. package/dist/src/task-state-store.d.ts +36 -0
  177. package/dist/src/task-state-store.js +17 -0
  178. package/dist/src/task-tracker-state.d.ts +101 -0
  179. package/dist/src/task-tracker-state.js +39 -0
  180. package/dist/src/terminal.d.ts +130 -0
  181. package/dist/src/terminal.js +161 -0
  182. package/dist/src/tool-materializer.d.ts +36 -0
  183. package/dist/src/tool-materializer.js +13 -0
  184. package/dist/src/tool-registry.d.ts +3 -0
  185. package/dist/src/tool-registry.js +58 -0
  186. package/dist/src/toolchain-sources.d.ts +54 -0
  187. package/dist/src/toolchain-sources.js +17 -0
  188. package/dist/src/transport-config.d.ts +161 -0
  189. package/dist/src/transport-config.js +15 -0
  190. package/dist/src/validation.d.ts +14 -0
  191. package/dist/src/validation.js +63 -0
  192. package/dist/src/workflow-journal.d.ts +125 -0
  193. package/dist/src/workflow-journal.js +27 -0
  194. package/dist/src/workspace-config.d.ts +18 -0
  195. package/dist/src/workspace-config.js +13 -0
  196. package/dist/src/workspace-service.d.ts +16 -0
  197. package/dist/src/workspace-service.js +13 -0
  198. package/dist/src/workspace.d.ts +204 -0
  199. package/dist/src/workspace.js +195 -0
  200. package/package.json +79 -0
@@ -0,0 +1,634 @@
1
+ // @bun
2
+ // packages/contracts/src/remote.ts
3
+ import { Schema as Schema6 } from "effect";
4
+
5
+ // packages/contracts/src/baseSchemas.ts
6
+ import { Schema } from "effect";
7
+ var TrimmedString = Schema.Trim;
8
+ var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
9
+ var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
10
+ var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
11
+ var IsoDateTime = Schema.String;
12
+ var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
13
+ var ThreadId = makeEntityId("ThreadId");
14
+ var ProjectId = makeEntityId("ProjectId");
15
+ var WorkspaceId = makeEntityId("WorkspaceId");
16
+ var GraphId = makeEntityId("GraphId");
17
+ var TaskId = makeEntityId("TaskId");
18
+ var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
22
+ var EngineRuntimeId = makeEntityId("EngineRuntimeId");
23
+ var ConversationId = makeEntityId("ConversationId");
24
+ var ActionId = makeEntityId("ActionId");
25
+ var ArtifactId = makeEntityId("ArtifactId");
26
+ var WorktreeId = makeEntityId("WorktreeId");
27
+ var ValidationResultId = makeEntityId("ValidationResultId");
28
+ var ReviewResultId = makeEntityId("ReviewResultId");
29
+ var CommandId = makeEntityId("CommandId");
30
+ var EventId = makeEntityId("EventId");
31
+ var MessageId = makeEntityId("MessageId");
32
+ var TurnId = makeEntityId("TurnId");
33
+ var ProviderItemId = makeEntityId("ProviderItemId");
34
+ var RuntimeSessionId = makeEntityId("RuntimeSessionId");
35
+ var RuntimeItemId = makeEntityId("RuntimeItemId");
36
+ var RuntimeRequestId = makeEntityId("RuntimeRequestId");
37
+ var RuntimeTaskId = makeEntityId("RuntimeTaskId");
38
+ var ApprovalRequestId = makeEntityId("ApprovalRequestId");
39
+ var CheckpointRef = makeEntityId("CheckpointRef");
40
+ var RemoteEndpointId = makeEntityId("RemoteEndpointId");
41
+
42
+ // packages/contracts/src/conversation.ts
43
+ import { Schema as Schema2 } from "effect";
44
+ var EngineMessageRole = Schema2.Literals(["user", "assistant", "system"]);
45
+ var EngineMessageState = Schema2.Literals([
46
+ "streaming",
47
+ "completed",
48
+ "interrupted",
49
+ "errored"
50
+ ]);
51
+ var ConversationSummary = Schema2.Struct({
52
+ id: ConversationId,
53
+ runId: RunId,
54
+ title: TrimmedNonEmptyString,
55
+ createdAt: IsoDateTime,
56
+ updatedAt: IsoDateTime
57
+ });
58
+ var EngineMessage = Schema2.Struct({
59
+ id: MessageId,
60
+ conversationId: ConversationId,
61
+ role: EngineMessageRole,
62
+ text: Schema2.String,
63
+ attachments: Schema2.Array(Schema2.Unknown),
64
+ state: EngineMessageState,
65
+ createdAt: IsoDateTime,
66
+ completedAt: Schema2.NullOr(IsoDateTime)
67
+ });
68
+ var EngineAction = Schema2.Struct({
69
+ id: ActionId,
70
+ runId: RunId,
71
+ messageId: Schema2.NullOr(MessageId),
72
+ actionType: TrimmedNonEmptyString,
73
+ title: TrimmedNonEmptyString,
74
+ detail: Schema2.NullOr(Schema2.String),
75
+ state: TrimmedNonEmptyString,
76
+ payload: Schema2.Unknown,
77
+ startedAt: IsoDateTime,
78
+ completedAt: Schema2.NullOr(IsoDateTime)
79
+ });
80
+ var EngineLogTone = Schema2.Literals(["thinking", "tool", "info", "error"]);
81
+ var EngineRunLog = Schema2.Struct({
82
+ id: TrimmedNonEmptyString,
83
+ runId: RunId,
84
+ title: TrimmedNonEmptyString,
85
+ detail: Schema2.NullOr(Schema2.String),
86
+ tone: EngineLogTone,
87
+ status: Schema2.NullOr(TrimmedNonEmptyString),
88
+ payload: Schema2.Unknown,
89
+ createdAt: IsoDateTime
90
+ });
91
+
92
+ // packages/contracts/src/orchestration.ts
93
+ import { Schema as Schema3 } from "effect";
94
+ var ProviderKind = Schema3.Literals(["codex", "claude"]);
95
+ var ProviderApprovalPolicy = Schema3.Literals([
96
+ "untrusted",
97
+ "on-failure",
98
+ "on-request",
99
+ "never"
100
+ ]);
101
+ var ProviderSandboxMode = Schema3.Literals([
102
+ "read-only",
103
+ "workspace-write",
104
+ "danger-full-access"
105
+ ]);
106
+ var ProviderServiceTier = Schema3.Literals(["fast", "flex"]);
107
+ var RuntimeMode = Schema3.Literals(["approval-required", "full-access"]);
108
+ var ProviderInteractionMode = Schema3.Literals(["default", "plan"]);
109
+ var ProviderRequestKind = Schema3.Literals(["command", "file-read", "file-change"]);
110
+ var ProviderApprovalDecision = Schema3.Literals([
111
+ "accept",
112
+ "acceptForSession",
113
+ "decline",
114
+ "cancel"
115
+ ]);
116
+ var ProviderUserInputAnswers = Schema3.Record(Schema3.String, Schema3.Unknown);
117
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
118
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
119
+ var ChatAttachmentId = TrimmedNonEmptyString.check(Schema3.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema3.isPattern(/^[a-z0-9_-]+$/i));
120
+ var ChatImageAttachment = Schema3.Struct({
121
+ type: Schema3.Literal("image"),
122
+ id: ChatAttachmentId,
123
+ name: TrimmedNonEmptyString.check(Schema3.isMaxLength(255)),
124
+ mimeType: TrimmedNonEmptyString.check(Schema3.isMaxLength(100), Schema3.isPattern(/^image\//i)),
125
+ sizeBytes: NonNegativeInt.check(Schema3.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
126
+ });
127
+ var ChatAttachment = Schema3.Union([ChatImageAttachment]);
128
+
129
+ // packages/contracts/src/runtime.ts
130
+ import { Schema as Schema4 } from "effect";
131
+ var RunKind = Schema4.Literals(["adhoc", "task", "batch", "validation", "review"]);
132
+ var RunMode = Schema4.Literals(["interactive", "autonomous", "supervised"]);
133
+ var RunStatus = Schema4.Literals([
134
+ "created",
135
+ "queued",
136
+ "preparing",
137
+ "running",
138
+ "waiting-approval",
139
+ "waiting-user-input",
140
+ "paused",
141
+ "validating",
142
+ "reviewing",
143
+ "closing-out",
144
+ "needs-attention",
145
+ "completed",
146
+ "failed",
147
+ "stopped"
148
+ ]);
149
+ var EngineSandboxMode = Schema4.Literals([
150
+ "read-only",
151
+ "workspace-write",
152
+ "danger-full-access"
153
+ ]);
154
+ var IsolationMode = Schema4.Literals(["none", "env", "worktree"]);
155
+ var RuntimeStatus = Schema4.Literals([
156
+ "prepared",
157
+ "starting",
158
+ "running",
159
+ "interrupted",
160
+ "exited",
161
+ "failed",
162
+ "destroyed"
163
+ ]);
164
+ var RunExecutionTarget = Schema4.Literals(["local", "remote"]);
165
+ var RunSummary = Schema4.Struct({
166
+ id: RunId,
167
+ workspaceId: WorkspaceId,
168
+ taskId: Schema4.NullOr(TaskId),
169
+ title: TrimmedNonEmptyString,
170
+ runKind: RunKind,
171
+ mode: RunMode,
172
+ runtimeMode: RuntimeMode,
173
+ interactionMode: ProviderInteractionMode,
174
+ status: RunStatus,
175
+ runtimeAdapter: Schema4.Literal("pi"),
176
+ model: Schema4.NullOr(TrimmedNonEmptyString),
177
+ initialPrompt: Schema4.NullOr(Schema4.String),
178
+ executionTarget: Schema4.optional(RunExecutionTarget),
179
+ remoteHostId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
180
+ remoteLeaseId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
181
+ remoteLeaseClaimedAt: Schema4.optional(Schema4.NullOr(IsoDateTime)),
182
+ activeRuntimeId: Schema4.NullOr(EngineRuntimeId),
183
+ latestMessageId: Schema4.NullOr(TrimmedNonEmptyString),
184
+ pendingApprovalCount: NonNegativeInt,
185
+ pendingUserInputCount: NonNegativeInt,
186
+ branch: Schema4.NullOr(TrimmedNonEmptyString),
187
+ worktreePath: Schema4.NullOr(TrimmedNonEmptyString),
188
+ errorText: Schema4.NullOr(Schema4.String),
189
+ createdAt: IsoDateTime,
190
+ updatedAt: IsoDateTime,
191
+ startedAt: Schema4.NullOr(IsoDateTime),
192
+ completedAt: Schema4.NullOr(IsoDateTime)
193
+ });
194
+ var RuntimeSummary = Schema4.Struct({
195
+ id: EngineRuntimeId,
196
+ workspaceId: WorkspaceId,
197
+ runId: RunId,
198
+ adapterKind: Schema4.Literal("pi"),
199
+ executionTarget: Schema4.optional(RunExecutionTarget),
200
+ remoteHostId: Schema4.optional(Schema4.NullOr(TrimmedNonEmptyString)),
201
+ status: RuntimeStatus,
202
+ sandboxMode: EngineSandboxMode,
203
+ isolationMode: IsolationMode,
204
+ workspaceDir: Schema4.NullOr(TrimmedNonEmptyString),
205
+ homeDir: Schema4.NullOr(TrimmedNonEmptyString),
206
+ tmpDir: Schema4.NullOr(TrimmedNonEmptyString),
207
+ cacheDir: Schema4.NullOr(TrimmedNonEmptyString),
208
+ logsDir: Schema4.NullOr(TrimmedNonEmptyString),
209
+ stateDir: Schema4.NullOr(TrimmedNonEmptyString),
210
+ sessionDir: Schema4.NullOr(TrimmedNonEmptyString),
211
+ sessionLogPath: Schema4.NullOr(TrimmedNonEmptyString),
212
+ pid: Schema4.NullOr(NonNegativeInt),
213
+ startedAt: Schema4.NullOr(IsoDateTime),
214
+ updatedAt: IsoDateTime,
215
+ exitedAt: Schema4.NullOr(IsoDateTime)
216
+ });
217
+ var ApprovalStatus = Schema4.Literals(["pending", "resolved"]);
218
+ var ApprovalSummary = Schema4.Struct({
219
+ id: TrimmedNonEmptyString,
220
+ runId: RunId,
221
+ actionId: Schema4.NullOr(TrimmedNonEmptyString),
222
+ requestKind: TrimmedNonEmptyString,
223
+ status: ApprovalStatus,
224
+ payload: Schema4.Unknown,
225
+ createdAt: IsoDateTime,
226
+ resolvedAt: Schema4.NullOr(IsoDateTime)
227
+ });
228
+ var UserInputRequestSummary = Schema4.Struct({
229
+ id: TrimmedNonEmptyString,
230
+ runId: RunId,
231
+ status: ApprovalStatus,
232
+ payload: Schema4.Unknown,
233
+ createdAt: IsoDateTime,
234
+ resolvedAt: Schema4.NullOr(IsoDateTime)
235
+ });
236
+ var WorktreeSummary = Schema4.Struct({
237
+ id: WorktreeId,
238
+ workspaceId: WorkspaceId,
239
+ runId: RunId,
240
+ taskId: Schema4.NullOr(TaskId),
241
+ branchName: TrimmedNonEmptyString,
242
+ path: TrimmedNonEmptyString,
243
+ status: TrimmedNonEmptyString,
244
+ createdAt: IsoDateTime,
245
+ cleanedAt: Schema4.NullOr(IsoDateTime)
246
+ });
247
+
248
+ // packages/contracts/src/workspace.ts
249
+ import { Schema as Schema5 } from "effect";
250
+ var WorkspaceSourceKind = Schema5.Literals(["native", "rig-import", "manual", "remote"]);
251
+ var WorkspaceTopologyStatus = Schema5.Literals(["empty", "ready", "degraded"]);
252
+ var WorkspaceRemoteFleetStatus = Schema5.Literals(["empty", "ready", "degraded"]);
253
+ var WorkspaceServiceFabricStatus = Schema5.Literals([
254
+ "empty",
255
+ "booting",
256
+ "ready",
257
+ "degraded",
258
+ "stopped"
259
+ ]);
260
+ var WorkspaceRemoteHostStatus = Schema5.Literals([
261
+ "registering",
262
+ "ready",
263
+ "busy",
264
+ "degraded",
265
+ "draining",
266
+ "offline",
267
+ "quarantined"
268
+ ]);
269
+ var WorkspaceTopologyServiceSummary = Schema5.Struct({
270
+ name: TrimmedNonEmptyString,
271
+ relativeRootPath: TrimmedNonEmptyString,
272
+ runtime: TrimmedNonEmptyString,
273
+ port: Schema5.NullOr(Schema5.Number),
274
+ healthcheck: Schema5.NullOr(TrimmedNonEmptyString),
275
+ sourceOfTruth: Schema5.Struct({
276
+ code: Schema5.NullOr(TrimmedNonEmptyString),
277
+ tests: Schema5.NullOr(TrimmedNonEmptyString),
278
+ infra: Schema5.NullOr(TrimmedNonEmptyString),
279
+ deploy: Schema5.NullOr(TrimmedNonEmptyString),
280
+ dependencies: Schema5.NullOr(TrimmedNonEmptyString)
281
+ }),
282
+ splitReadyChecklist: Schema5.Array(TrimmedNonEmptyString)
283
+ });
284
+ var WorkspaceTopologySummary = Schema5.Struct({
285
+ compiledAt: IsoDateTime,
286
+ status: WorkspaceTopologyStatus,
287
+ manifestCount: Schema5.Number,
288
+ serviceCount: Schema5.Number,
289
+ services: Schema5.Array(WorkspaceTopologyServiceSummary),
290
+ warnings: Schema5.Array(Schema5.String)
291
+ });
292
+ var WorkspaceRemoteHostSummary = Schema5.Struct({
293
+ id: TrimmedNonEmptyString,
294
+ name: TrimmedNonEmptyString,
295
+ baseUrl: TrimmedNonEmptyString,
296
+ workspacePath: Schema5.NullOr(TrimmedNonEmptyString),
297
+ transport: TrimmedNonEmptyString,
298
+ hostname: Schema5.NullOr(TrimmedNonEmptyString),
299
+ region: Schema5.NullOr(TrimmedNonEmptyString),
300
+ labels: Schema5.Array(TrimmedNonEmptyString),
301
+ capabilities: Schema5.Array(TrimmedNonEmptyString),
302
+ runtimeAdapters: Schema5.Array(Schema5.Literal("pi")),
303
+ status: WorkspaceRemoteHostStatus,
304
+ currentLeaseCount: Schema5.Number,
305
+ lastHeartbeatAt: Schema5.NullOr(IsoDateTime),
306
+ registeredAt: IsoDateTime,
307
+ manifestPath: TrimmedNonEmptyString
308
+ });
309
+ var WorkspaceRemoteFleetSummary = Schema5.Struct({
310
+ updatedAt: IsoDateTime,
311
+ status: WorkspaceRemoteFleetStatus,
312
+ manifestCount: Schema5.Number,
313
+ hostCount: Schema5.Number,
314
+ onlineHostCount: Schema5.Number,
315
+ hosts: Schema5.Array(WorkspaceRemoteHostSummary),
316
+ warnings: Schema5.Array(Schema5.String)
317
+ });
318
+ var WorkspaceServiceFabricServiceSummary = Schema5.Struct({
319
+ name: TrimmedNonEmptyString,
320
+ relativeRootPath: TrimmedNonEmptyString,
321
+ mode: Schema5.Literals(["stub", "process"]),
322
+ port: Schema5.Number,
323
+ healthcheck: TrimmedNonEmptyString,
324
+ routePrefix: Schema5.NullOr(TrimmedNonEmptyString),
325
+ status: Schema5.Literals(["planned", "booting", "healthy", "degraded", "failed", "stopped"]),
326
+ pid: Schema5.NullOr(Schema5.Number),
327
+ logPath: Schema5.NullOr(TrimmedNonEmptyString)
328
+ });
329
+ var WorkspaceServiceFabricSummary = Schema5.Struct({
330
+ updatedAt: IsoDateTime,
331
+ status: WorkspaceServiceFabricStatus,
332
+ serviceCount: Schema5.Number,
333
+ healthyServiceCount: Schema5.Number,
334
+ stateDir: TrimmedNonEmptyString,
335
+ services: Schema5.Array(WorkspaceServiceFabricServiceSummary),
336
+ warnings: Schema5.Array(Schema5.String)
337
+ });
338
+ var WorkspaceSummary = Schema5.Struct({
339
+ id: WorkspaceId,
340
+ title: TrimmedNonEmptyString,
341
+ rootPath: TrimmedNonEmptyString,
342
+ sourceKind: WorkspaceSourceKind,
343
+ defaultRuntimeAdapter: Schema5.optional(Schema5.Literal("pi")),
344
+ defaultProvider: Schema5.optional(ProviderKind),
345
+ defaultModel: Schema5.NullOr(TrimmedNonEmptyString),
346
+ topology: Schema5.optional(WorkspaceTopologySummary),
347
+ remoteFleet: Schema5.optional(WorkspaceRemoteFleetSummary),
348
+ serviceFabric: Schema5.optional(WorkspaceServiceFabricSummary),
349
+ createdAt: IsoDateTime,
350
+ updatedAt: IsoDateTime
351
+ });
352
+
353
+ // packages/contracts/src/remote.ts
354
+ var RemoteRuntimeAdapter = Schema6.Literal("pi");
355
+ var RemoteEndpoint = Schema6.Struct({
356
+ id: RemoteEndpointId,
357
+ alias: TrimmedNonEmptyString,
358
+ host: TrimmedNonEmptyString,
359
+ port: Schema6.Int.check(Schema6.isGreaterThanOrEqualTo(1)).check(Schema6.isLessThanOrEqualTo(65535)),
360
+ token: Schema6.String,
361
+ tokenConfigured: Schema6.optional(Schema6.Boolean),
362
+ autoConnect: Schema6.optional(Schema6.Boolean),
363
+ addedAt: IsoDateTime,
364
+ lastConnectedAt: Schema6.NullOr(IsoDateTime)
365
+ });
366
+ var RemoteConnectionStatus = Schema6.Literals([
367
+ "disconnected",
368
+ "connecting",
369
+ "authenticating",
370
+ "connected",
371
+ "reconnecting",
372
+ "error"
373
+ ]);
374
+ var RemoteConnectionSummary = Schema6.Struct({
375
+ endpointId: RemoteEndpointId,
376
+ status: RemoteConnectionStatus,
377
+ error: Schema6.NullOr(Schema6.String),
378
+ connectedAt: Schema6.NullOr(IsoDateTime),
379
+ tokenExpiresAt: Schema6.NullOr(IsoDateTime),
380
+ latencyMs: Schema6.NullOr(Schema6.Number),
381
+ subscribedEvents: Schema6.Array(Schema6.String)
382
+ });
383
+ var RemoteConnectionStatusChanged = Schema6.Struct({
384
+ endpointId: Schema6.String,
385
+ endpointAlias: Schema6.String,
386
+ status: RemoteConnectionStatus,
387
+ previousStatus: RemoteConnectionStatus,
388
+ error: Schema6.NullOr(Schema6.String),
389
+ connectedAt: Schema6.NullOr(Schema6.String),
390
+ latencyMs: Schema6.NullOr(Schema6.Number),
391
+ timestamp: Schema6.String
392
+ });
393
+ var RemoteOrchestratorState = Schema6.Struct({
394
+ activeTaskId: Schema6.NullOr(Schema6.String),
395
+ activeIteration: Schema6.NullOr(Schema6.Number),
396
+ maxIterations: Schema6.Number,
397
+ isPaused: Schema6.Boolean,
398
+ isRunning: Schema6.Boolean,
399
+ totalCompleted: NonNegativeInt,
400
+ totalFailed: NonNegativeInt,
401
+ lastActivity: Schema6.NullOr(IsoDateTime)
402
+ });
403
+ var RemoteOrchestrationSummary = Schema6.Struct({
404
+ orchestrationId: TrimmedNonEmptyString,
405
+ endpointId: RemoteEndpointId,
406
+ status: Schema6.Literals(["running", "paused", "stopped", "completed"]),
407
+ totalTasks: NonNegativeInt,
408
+ totalGroups: NonNegativeInt,
409
+ maxParallelism: NonNegativeInt,
410
+ startedAt: IsoDateTime
411
+ });
412
+ var RemoteIterationOutput = Schema6.Struct({
413
+ taskId: Schema6.optional(Schema6.String),
414
+ iteration: Schema6.optional(Schema6.Number),
415
+ output: Schema6.optional(Schema6.String),
416
+ startedAt: Schema6.optional(IsoDateTime),
417
+ endedAt: Schema6.optional(IsoDateTime),
418
+ durationMs: Schema6.optional(Schema6.Number),
419
+ isRunning: Schema6.optional(Schema6.Boolean)
420
+ });
421
+ var RemoteRunnerRegisterInput = Schema6.Struct({
422
+ workspaceId: WorkspaceId,
423
+ hostId: TrimmedNonEmptyString,
424
+ name: TrimmedNonEmptyString,
425
+ baseUrl: TrimmedNonEmptyString,
426
+ workspacePath: Schema6.optional(TrimmedNonEmptyString),
427
+ transport: Schema6.optional(TrimmedNonEmptyString),
428
+ hostname: Schema6.optional(TrimmedNonEmptyString),
429
+ region: Schema6.optional(TrimmedNonEmptyString),
430
+ labels: Schema6.optional(Schema6.Array(TrimmedNonEmptyString)),
431
+ capabilities: Schema6.optional(Schema6.Array(TrimmedNonEmptyString)),
432
+ runtimeAdapters: Schema6.optional(Schema6.Array(RemoteRuntimeAdapter)),
433
+ status: Schema6.optional(WorkspaceRemoteHostStatus),
434
+ currentLeaseCount: Schema6.optional(Schema6.Number)
435
+ });
436
+ var RemoteRunnerHeartbeatInput = Schema6.Struct({
437
+ workspaceId: WorkspaceId,
438
+ hostId: TrimmedNonEmptyString,
439
+ status: WorkspaceRemoteHostStatus,
440
+ currentLeaseCount: Schema6.optional(Schema6.Number),
441
+ observedAt: Schema6.optional(IsoDateTime)
442
+ });
443
+ var RemoteRunnerLifecycleResult = Schema6.Struct({
444
+ ok: Schema6.Boolean,
445
+ workspaceId: WorkspaceId,
446
+ hostId: TrimmedNonEmptyString,
447
+ acceptedAt: IsoDateTime,
448
+ heartbeatIntervalMs: Schema6.Number
449
+ });
450
+ var RemoteRunClaimInput = Schema6.Struct({
451
+ workspaceId: WorkspaceId,
452
+ hostId: TrimmedNonEmptyString,
453
+ runtimeAdapters: Schema6.optional(Schema6.Array(RemoteRuntimeAdapter))
454
+ });
455
+ var RemoteRunLeaseSummary = Schema6.Struct({
456
+ leaseId: TrimmedNonEmptyString,
457
+ runId: TrimmedNonEmptyString,
458
+ workspaceId: WorkspaceId,
459
+ title: TrimmedNonEmptyString,
460
+ runtimeAdapter: RemoteRuntimeAdapter,
461
+ model: Schema6.NullOr(TrimmedNonEmptyString),
462
+ runtimeMode: RuntimeMode,
463
+ interactionMode: ProviderInteractionMode,
464
+ executionTarget: RunExecutionTarget,
465
+ remoteHostId: Schema6.NullOr(TrimmedNonEmptyString),
466
+ claimedAt: IsoDateTime
467
+ });
468
+ var RemoteRunConversationEntry = Schema6.Struct({
469
+ role: Schema6.Literals(["user", "assistant", "system"]),
470
+ text: Schema6.String,
471
+ createdAt: IsoDateTime
472
+ });
473
+ var RemoteRunExecutionBundle = Schema6.Struct({
474
+ workspaceId: WorkspaceId,
475
+ runId: TrimmedNonEmptyString,
476
+ leaseId: TrimmedNonEmptyString,
477
+ workspacePath: Schema6.NullOr(TrimmedNonEmptyString),
478
+ runtimeAdapter: RemoteRuntimeAdapter,
479
+ model: Schema6.NullOr(TrimmedNonEmptyString),
480
+ runtimeMode: RuntimeMode,
481
+ interactionMode: ProviderInteractionMode,
482
+ prompt: Schema6.String,
483
+ conversation: Schema6.Array(RemoteRunConversationEntry),
484
+ taskId: Schema6.NullOr(TrimmedNonEmptyString),
485
+ taskTitle: Schema6.NullOr(TrimmedNonEmptyString)
486
+ });
487
+ var RemoteRunClaimResult = Schema6.Struct({
488
+ ok: Schema6.Boolean,
489
+ workspaceId: WorkspaceId,
490
+ hostId: TrimmedNonEmptyString,
491
+ acceptedAt: IsoDateTime,
492
+ lease: Schema6.NullOr(RemoteRunLeaseSummary),
493
+ bundle: Schema6.NullOr(RemoteRunExecutionBundle)
494
+ });
495
+ var RemoteRunReleaseInput = Schema6.Struct({
496
+ workspaceId: WorkspaceId,
497
+ hostId: TrimmedNonEmptyString,
498
+ runId: TrimmedNonEmptyString,
499
+ leaseId: TrimmedNonEmptyString,
500
+ status: Schema6.optional(WorkspaceRemoteHostStatus)
501
+ });
502
+ var RemoteRunReleaseResult = Schema6.Struct({
503
+ ok: Schema6.Boolean,
504
+ workspaceId: WorkspaceId,
505
+ hostId: TrimmedNonEmptyString,
506
+ runId: TrimmedNonEmptyString,
507
+ leaseId: TrimmedNonEmptyString,
508
+ acceptedAt: IsoDateTime
509
+ });
510
+ var RemoteRunStartInput = Schema6.Struct({
511
+ workspaceId: WorkspaceId,
512
+ hostId: TrimmedNonEmptyString,
513
+ runId: TrimmedNonEmptyString,
514
+ leaseId: TrimmedNonEmptyString
515
+ });
516
+ var RemoteRunStartResult = Schema6.Struct({
517
+ ok: Schema6.Boolean,
518
+ workspaceId: WorkspaceId,
519
+ hostId: TrimmedNonEmptyString,
520
+ runId: TrimmedNonEmptyString,
521
+ leaseId: TrimmedNonEmptyString,
522
+ runtimeId: TrimmedNonEmptyString,
523
+ acceptedAt: IsoDateTime
524
+ });
525
+ var RemoteRunLogInput = Schema6.Struct({
526
+ workspaceId: WorkspaceId,
527
+ hostId: TrimmedNonEmptyString,
528
+ runId: TrimmedNonEmptyString,
529
+ leaseId: TrimmedNonEmptyString,
530
+ title: TrimmedNonEmptyString,
531
+ detail: Schema6.optional(Schema6.String),
532
+ tone: Schema6.optional(EngineLogTone),
533
+ status: Schema6.optional(TrimmedNonEmptyString),
534
+ payload: Schema6.optional(Schema6.Unknown)
535
+ });
536
+ var RemoteRunMessageInput = Schema6.Struct({
537
+ workspaceId: WorkspaceId,
538
+ hostId: TrimmedNonEmptyString,
539
+ runId: TrimmedNonEmptyString,
540
+ leaseId: TrimmedNonEmptyString,
541
+ messageId: Schema6.optional(TrimmedNonEmptyString),
542
+ text: Schema6.String,
543
+ state: Schema6.optional(Schema6.Literals(["streaming", "completed"]))
544
+ });
545
+ var RemoteRunMutationResult = Schema6.Struct({
546
+ ok: Schema6.Boolean,
547
+ workspaceId: WorkspaceId,
548
+ hostId: TrimmedNonEmptyString,
549
+ runId: TrimmedNonEmptyString,
550
+ leaseId: TrimmedNonEmptyString,
551
+ acceptedAt: IsoDateTime
552
+ });
553
+ var RemoteRunCompleteInput = Schema6.Struct({
554
+ workspaceId: WorkspaceId,
555
+ hostId: TrimmedNonEmptyString,
556
+ runId: TrimmedNonEmptyString,
557
+ leaseId: TrimmedNonEmptyString
558
+ });
559
+ var RemoteRunFailInput = Schema6.Struct({
560
+ workspaceId: WorkspaceId,
561
+ hostId: TrimmedNonEmptyString,
562
+ runId: TrimmedNonEmptyString,
563
+ leaseId: TrimmedNonEmptyString,
564
+ errorText: Schema6.optional(Schema6.String)
565
+ });
566
+ var RemoteRunArtifactInput = Schema6.Struct({
567
+ workspaceId: WorkspaceId,
568
+ hostId: TrimmedNonEmptyString,
569
+ runId: TrimmedNonEmptyString,
570
+ leaseId: TrimmedNonEmptyString,
571
+ kind: TrimmedNonEmptyString,
572
+ label: TrimmedNonEmptyString,
573
+ filename: TrimmedNonEmptyString,
574
+ contentType: TrimmedNonEmptyString,
575
+ contentBase64: TrimmedNonEmptyString
576
+ });
577
+ var RemoteRunArtifactResult = Schema6.Struct({
578
+ ok: Schema6.Boolean,
579
+ workspaceId: WorkspaceId,
580
+ hostId: TrimmedNonEmptyString,
581
+ runId: TrimmedNonEmptyString,
582
+ leaseId: TrimmedNonEmptyString,
583
+ acceptedAt: IsoDateTime,
584
+ artifactPath: TrimmedNonEmptyString
585
+ });
586
+ var RemoteRunArtifactSummary = Schema6.Struct({
587
+ workspaceId: WorkspaceId,
588
+ runId: TrimmedNonEmptyString,
589
+ hostId: TrimmedNonEmptyString,
590
+ leaseId: TrimmedNonEmptyString,
591
+ kind: TrimmedNonEmptyString,
592
+ label: TrimmedNonEmptyString,
593
+ filename: TrimmedNonEmptyString,
594
+ contentType: TrimmedNonEmptyString,
595
+ uploadedAt: IsoDateTime,
596
+ byteSize: Schema6.Number,
597
+ artifactPath: TrimmedNonEmptyString,
598
+ downloadPath: TrimmedNonEmptyString
599
+ });
600
+ var RemoteRunArtifactsResult = Schema6.Struct({
601
+ workspaceId: WorkspaceId,
602
+ runId: TrimmedNonEmptyString,
603
+ artifacts: Schema6.Array(RemoteRunArtifactSummary)
604
+ });
605
+ export {
606
+ RemoteRunnerRegisterInput,
607
+ RemoteRunnerLifecycleResult,
608
+ RemoteRunnerHeartbeatInput,
609
+ RemoteRunStartResult,
610
+ RemoteRunStartInput,
611
+ RemoteRunReleaseResult,
612
+ RemoteRunReleaseInput,
613
+ RemoteRunMutationResult,
614
+ RemoteRunMessageInput,
615
+ RemoteRunLogInput,
616
+ RemoteRunLeaseSummary,
617
+ RemoteRunFailInput,
618
+ RemoteRunExecutionBundle,
619
+ RemoteRunConversationEntry,
620
+ RemoteRunCompleteInput,
621
+ RemoteRunClaimResult,
622
+ RemoteRunClaimInput,
623
+ RemoteRunArtifactsResult,
624
+ RemoteRunArtifactSummary,
625
+ RemoteRunArtifactResult,
626
+ RemoteRunArtifactInput,
627
+ RemoteOrchestratorState,
628
+ RemoteOrchestrationSummary,
629
+ RemoteIterationOutput,
630
+ RemoteEndpoint,
631
+ RemoteConnectionSummary,
632
+ RemoteConnectionStatusChanged,
633
+ RemoteConnectionStatus
634
+ };
@@ -0,0 +1,18 @@
1
+ import { Schema } from "effect";
2
+ export declare const ReviewMode: Schema.Literals<readonly ["off", "advisory", "required"]>;
3
+ export type ReviewMode = typeof ReviewMode.Type;
4
+ export declare const ReviewStatus: Schema.Literals<readonly ["pending", "running", "approved", "rejected", "error"]>;
5
+ export type ReviewStatus = typeof ReviewStatus.Type;
6
+ export declare const ReviewSummary: Schema.Struct<{
7
+ readonly id: Schema.brand<Schema.Trim, "ReviewResultId">;
8
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
9
+ readonly taskId: Schema.NullOr<Schema.brand<Schema.Trim, "TaskId">>;
10
+ readonly provider: Schema.Trim;
11
+ readonly mode: Schema.Literals<readonly ["off", "advisory", "required"]>;
12
+ readonly status: Schema.Literals<readonly ["pending", "running", "approved", "rejected", "error"]>;
13
+ readonly summary: Schema.NullOr<Schema.String>;
14
+ readonly output: Schema.Unknown;
15
+ readonly createdAt: Schema.String;
16
+ readonly completedAt: Schema.NullOr<Schema.String>;
17
+ }>;
18
+ export type ReviewSummary = typeof ReviewSummary.Type;