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

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
@@ -0,0 +1,204 @@
1
+ import { Schema } from "effect";
2
+ export declare const SupervisorStopReason: Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>;
3
+ export type SupervisorStopReason = typeof SupervisorStopReason.Type;
4
+ export declare const SupervisorSelectionPolicy: Schema.Literals<readonly ["rank", "max-unblock", "blocking-only"]>;
5
+ export type SupervisorSelectionPolicy = typeof SupervisorSelectionPolicy.Type;
6
+ export declare const SupervisorStatus: Schema.Literals<readonly ["running", "idle", "stopped", "finished"]>;
7
+ export type SupervisorStatus = typeof SupervisorStatus.Type;
8
+ export declare const TaskClosureSummary: Schema.Struct<{
9
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
10
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
11
+ readonly prUrl: Schema.NullOr<Schema.String>;
12
+ readonly mergeGate: Schema.NullOr<Schema.Literals<readonly ["passed", "blocked", "skipped"]>>;
13
+ readonly acceptanceChecked: Schema.$Array<Schema.Struct<{
14
+ readonly item: Schema.String;
15
+ readonly met: Schema.Boolean;
16
+ }>>;
17
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
18
+ }>;
19
+ export type TaskClosureSummary = typeof TaskClosureSummary.Type;
20
+ export declare const SupervisorStartedEvent: Schema.Struct<{
21
+ readonly kind: Schema.Literal<"supervisor.started">;
22
+ readonly at: Schema.String;
23
+ readonly options: Schema.Unknown;
24
+ }>;
25
+ export type SupervisorStartedEvent = typeof SupervisorStartedEvent.Type;
26
+ export declare const SupervisorSelectionPlannedEvent: Schema.Struct<{
27
+ readonly kind: Schema.Literal<"supervisor.selection-planned">;
28
+ readonly at: Schema.String;
29
+ readonly taskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
30
+ readonly policy: Schema.Literals<readonly ["rank", "max-unblock", "blocking-only"]>;
31
+ }>;
32
+ export type SupervisorSelectionPlannedEvent = typeof SupervisorSelectionPlannedEvent.Type;
33
+ export declare const SupervisorDispatchStartedEvent: Schema.Struct<{
34
+ readonly kind: Schema.Literal<"supervisor.dispatch-started">;
35
+ readonly at: Schema.String;
36
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
37
+ readonly score: Schema.Int;
38
+ }>;
39
+ export type SupervisorDispatchStartedEvent = typeof SupervisorDispatchStartedEvent.Type;
40
+ export declare const SupervisorDispatchConfirmedEvent: Schema.Struct<{
41
+ readonly kind: Schema.Literal<"supervisor.dispatch-confirmed">;
42
+ readonly at: Schema.String;
43
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
44
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
45
+ readonly dispatchHandle: Schema.optional<Schema.NullOr<Schema.String>>;
46
+ }>;
47
+ export type SupervisorDispatchConfirmedEvent = typeof SupervisorDispatchConfirmedEvent.Type;
48
+ export declare const SupervisorDispatchEvent: Schema.Struct<{
49
+ readonly kind: Schema.Literal<"supervisor.dispatch">;
50
+ readonly at: Schema.String;
51
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
52
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
53
+ readonly score: Schema.Int;
54
+ readonly dispatchHandle: Schema.optional<Schema.NullOr<Schema.String>>;
55
+ }>;
56
+ export type SupervisorDispatchEvent = typeof SupervisorDispatchEvent.Type;
57
+ export declare const SupervisorOutcomeEvent: Schema.Struct<{
58
+ readonly kind: Schema.Literal<"supervisor.outcome">;
59
+ readonly at: Schema.String;
60
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
61
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
62
+ readonly status: Schema.Literals<readonly ["created", "queued", "preparing", "running", "waiting-approval", "waiting-user-input", "paused", "validating", "reviewing", "closing-out", "needs-attention", "completed", "failed", "stopped"]>;
63
+ readonly failed: Schema.Boolean;
64
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
65
+ readonly closure: Schema.optional<Schema.Struct<{
66
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
67
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
68
+ readonly prUrl: Schema.NullOr<Schema.String>;
69
+ readonly mergeGate: Schema.NullOr<Schema.Literals<readonly ["passed", "blocked", "skipped"]>>;
70
+ readonly acceptanceChecked: Schema.$Array<Schema.Struct<{
71
+ readonly item: Schema.String;
72
+ readonly met: Schema.Boolean;
73
+ }>>;
74
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
75
+ }>>;
76
+ }>;
77
+ export type SupervisorOutcomeEvent = typeof SupervisorOutcomeEvent.Type;
78
+ export declare const SupervisorSkippedEvent: Schema.Struct<{
79
+ readonly kind: Schema.Literal<"supervisor.skipped">;
80
+ readonly at: Schema.String;
81
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
82
+ readonly reason: Schema.String;
83
+ }>;
84
+ export type SupervisorSkippedEvent = typeof SupervisorSkippedEvent.Type;
85
+ export declare const SupervisorIdleEvent: Schema.Struct<{
86
+ readonly kind: Schema.Literal<"supervisor.idle">;
87
+ readonly at: Schema.String;
88
+ readonly reason: Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>;
89
+ }>;
90
+ export type SupervisorIdleEvent = typeof SupervisorIdleEvent.Type;
91
+ export declare const SupervisorStoppedEvent: Schema.Struct<{
92
+ readonly kind: Schema.Literal<"supervisor.stopped">;
93
+ readonly at: Schema.String;
94
+ readonly reason: Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>;
95
+ }>;
96
+ export type SupervisorStoppedEvent = typeof SupervisorStoppedEvent.Type;
97
+ export declare const SupervisorFinishedEvent: Schema.Struct<{
98
+ readonly kind: Schema.Literal<"supervisor.finished">;
99
+ readonly at: Schema.String;
100
+ readonly processed: Schema.Int;
101
+ readonly succeeded: Schema.Int;
102
+ readonly failed: Schema.Int;
103
+ readonly skipped: Schema.optional<Schema.Int>;
104
+ readonly idleReason: Schema.NullOr<Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>>;
105
+ }>;
106
+ export type SupervisorFinishedEvent = typeof SupervisorFinishedEvent.Type;
107
+ export declare const SupervisorEvent: Schema.Union<readonly [Schema.Struct<{
108
+ readonly kind: Schema.Literal<"supervisor.started">;
109
+ readonly at: Schema.String;
110
+ readonly options: Schema.Unknown;
111
+ }>, Schema.Struct<{
112
+ readonly kind: Schema.Literal<"supervisor.selection-planned">;
113
+ readonly at: Schema.String;
114
+ readonly taskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
115
+ readonly policy: Schema.Literals<readonly ["rank", "max-unblock", "blocking-only"]>;
116
+ }>, Schema.Struct<{
117
+ readonly kind: Schema.Literal<"supervisor.dispatch-started">;
118
+ readonly at: Schema.String;
119
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
120
+ readonly score: Schema.Int;
121
+ }>, Schema.Struct<{
122
+ readonly kind: Schema.Literal<"supervisor.dispatch-confirmed">;
123
+ readonly at: Schema.String;
124
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
125
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
126
+ readonly dispatchHandle: Schema.optional<Schema.NullOr<Schema.String>>;
127
+ }>, Schema.Struct<{
128
+ readonly kind: Schema.Literal<"supervisor.dispatch">;
129
+ readonly at: Schema.String;
130
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
131
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
132
+ readonly score: Schema.Int;
133
+ readonly dispatchHandle: Schema.optional<Schema.NullOr<Schema.String>>;
134
+ }>, Schema.Struct<{
135
+ readonly kind: Schema.Literal<"supervisor.outcome">;
136
+ readonly at: Schema.String;
137
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
138
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
139
+ readonly status: Schema.Literals<readonly ["created", "queued", "preparing", "running", "waiting-approval", "waiting-user-input", "paused", "validating", "reviewing", "closing-out", "needs-attention", "completed", "failed", "stopped"]>;
140
+ readonly failed: Schema.Boolean;
141
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
142
+ readonly closure: Schema.optional<Schema.Struct<{
143
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
144
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
145
+ readonly prUrl: Schema.NullOr<Schema.String>;
146
+ readonly mergeGate: Schema.NullOr<Schema.Literals<readonly ["passed", "blocked", "skipped"]>>;
147
+ readonly acceptanceChecked: Schema.$Array<Schema.Struct<{
148
+ readonly item: Schema.String;
149
+ readonly met: Schema.Boolean;
150
+ }>>;
151
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
152
+ }>>;
153
+ }>, Schema.Struct<{
154
+ readonly kind: Schema.Literal<"supervisor.skipped">;
155
+ readonly at: Schema.String;
156
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
157
+ readonly reason: Schema.String;
158
+ }>, Schema.Struct<{
159
+ readonly kind: Schema.Literal<"supervisor.idle">;
160
+ readonly at: Schema.String;
161
+ readonly reason: Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>;
162
+ }>, Schema.Struct<{
163
+ readonly kind: Schema.Literal<"supervisor.stopped">;
164
+ readonly at: Schema.String;
165
+ readonly reason: Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>;
166
+ }>, Schema.Struct<{
167
+ readonly kind: Schema.Literal<"supervisor.finished">;
168
+ readonly at: Schema.String;
169
+ readonly processed: Schema.Int;
170
+ readonly succeeded: Schema.Int;
171
+ readonly failed: Schema.Int;
172
+ readonly skipped: Schema.optional<Schema.Int>;
173
+ readonly idleReason: Schema.NullOr<Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>>;
174
+ }>]>;
175
+ export type SupervisorEvent = typeof SupervisorEvent.Type;
176
+ export declare const SupervisorProjection: Schema.Struct<{
177
+ readonly status: Schema.Literals<readonly ["running", "idle", "stopped", "finished"]>;
178
+ readonly processed: Schema.Int;
179
+ readonly succeeded: Schema.Int;
180
+ readonly failed: Schema.Int;
181
+ readonly skipped: Schema.Int;
182
+ readonly current: Schema.NullOr<Schema.Struct<{
183
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
184
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
185
+ }>>;
186
+ readonly plannedOrder: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
187
+ readonly selectionPolicy: Schema.NullOr<Schema.Literals<readonly ["rank", "max-unblock", "blocking-only"]>>;
188
+ readonly concurrency: Schema.NullOr<Schema.Int>;
189
+ readonly idleReason: Schema.NullOr<Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>>;
190
+ readonly stopReason: Schema.NullOr<Schema.Literals<readonly ["all-done", "all-human-blocked", "max-tasks", "budget", "judge-stop", "operator-stop", "source-error"]>>;
191
+ readonly closures: Schema.$Array<Schema.Struct<{
192
+ readonly taskId: Schema.brand<Schema.Trim, "TaskId">;
193
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
194
+ readonly prUrl: Schema.NullOr<Schema.String>;
195
+ readonly mergeGate: Schema.NullOr<Schema.Literals<readonly ["passed", "blocked", "skipped"]>>;
196
+ readonly acceptanceChecked: Schema.$Array<Schema.Struct<{
197
+ readonly item: Schema.String;
198
+ readonly met: Schema.Boolean;
199
+ }>>;
200
+ readonly unblockedTaskIds: Schema.$Array<Schema.brand<Schema.Trim, "TaskId">>;
201
+ }>>;
202
+ readonly anomalies: Schema.$Array<Schema.String>;
203
+ }>;
204
+ export type SupervisorProjection = typeof SupervisorProjection.Type;
@@ -0,0 +1,334 @@
1
+ // @bun
2
+ // packages/contracts/src/supervisor-journal.ts
3
+ import { Schema as Schema4 } from "effect";
4
+
5
+ // packages/contracts/src/baseSchemas.ts
6
+ import { Schema } from "effect";
7
+ var TrimmedString = Schema.Trim;
8
+ var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
9
+ var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
10
+ var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
11
+ var IsoDateTime = Schema.String;
12
+ var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
13
+ var ThreadId = makeEntityId("ThreadId");
14
+ var ProjectId = makeEntityId("ProjectId");
15
+ var WorkspaceId = makeEntityId("WorkspaceId");
16
+ var GraphId = makeEntityId("GraphId");
17
+ var TaskId = makeEntityId("TaskId");
18
+ var RunId = makeEntityId("RunId");
19
+ var 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/runtime.ts
43
+ import { Schema as Schema3 } from "effect";
44
+
45
+ // packages/contracts/src/orchestration.ts
46
+ import { Schema as Schema2 } from "effect";
47
+ var ProviderKind = Schema2.Literals(["codex", "claude"]);
48
+ var ProviderApprovalPolicy = Schema2.Literals([
49
+ "untrusted",
50
+ "on-failure",
51
+ "on-request",
52
+ "never"
53
+ ]);
54
+ var ProviderSandboxMode = Schema2.Literals([
55
+ "read-only",
56
+ "workspace-write",
57
+ "danger-full-access"
58
+ ]);
59
+ var ProviderServiceTier = Schema2.Literals(["fast", "flex"]);
60
+ var RuntimeMode = Schema2.Literals(["approval-required", "full-access"]);
61
+ var ProviderInteractionMode = Schema2.Literals(["default", "plan"]);
62
+ var ProviderRequestKind = Schema2.Literals(["command", "file-read", "file-change"]);
63
+ var ProviderApprovalDecision = Schema2.Literals([
64
+ "accept",
65
+ "acceptForSession",
66
+ "decline",
67
+ "cancel"
68
+ ]);
69
+ var ProviderUserInputAnswers = Schema2.Record(Schema2.String, Schema2.Unknown);
70
+ var PROVIDER_SEND_TURN_MAX_IMAGE_BYTES = 10 * 1024 * 1024;
71
+ var CHAT_ATTACHMENT_ID_MAX_CHARS = 128;
72
+ var ChatAttachmentId = TrimmedNonEmptyString.check(Schema2.isMaxLength(CHAT_ATTACHMENT_ID_MAX_CHARS), Schema2.isPattern(/^[a-z0-9_-]+$/i));
73
+ var ChatImageAttachment = Schema2.Struct({
74
+ type: Schema2.Literal("image"),
75
+ id: ChatAttachmentId,
76
+ name: TrimmedNonEmptyString.check(Schema2.isMaxLength(255)),
77
+ mimeType: TrimmedNonEmptyString.check(Schema2.isMaxLength(100), Schema2.isPattern(/^image\//i)),
78
+ sizeBytes: NonNegativeInt.check(Schema2.isLessThanOrEqualTo(PROVIDER_SEND_TURN_MAX_IMAGE_BYTES))
79
+ });
80
+ var ChatAttachment = Schema2.Union([ChatImageAttachment]);
81
+
82
+ // packages/contracts/src/runtime.ts
83
+ var RunKind = Schema3.Literals(["adhoc", "task", "batch", "validation", "review"]);
84
+ var RunMode = Schema3.Literals(["interactive", "autonomous", "supervised"]);
85
+ var RunStatus = Schema3.Literals([
86
+ "created",
87
+ "queued",
88
+ "preparing",
89
+ "running",
90
+ "waiting-approval",
91
+ "waiting-user-input",
92
+ "paused",
93
+ "validating",
94
+ "reviewing",
95
+ "closing-out",
96
+ "needs-attention",
97
+ "completed",
98
+ "failed",
99
+ "stopped"
100
+ ]);
101
+ var EngineSandboxMode = Schema3.Literals([
102
+ "read-only",
103
+ "workspace-write",
104
+ "danger-full-access"
105
+ ]);
106
+ var IsolationMode = Schema3.Literals(["none", "env", "worktree"]);
107
+ var RuntimeStatus = Schema3.Literals([
108
+ "prepared",
109
+ "starting",
110
+ "running",
111
+ "interrupted",
112
+ "exited",
113
+ "failed",
114
+ "destroyed"
115
+ ]);
116
+ var RunExecutionTarget = Schema3.Literals(["local", "remote"]);
117
+ var RunSummary = Schema3.Struct({
118
+ id: RunId,
119
+ workspaceId: WorkspaceId,
120
+ taskId: Schema3.NullOr(TaskId),
121
+ title: TrimmedNonEmptyString,
122
+ runKind: RunKind,
123
+ mode: RunMode,
124
+ runtimeMode: RuntimeMode,
125
+ interactionMode: ProviderInteractionMode,
126
+ status: RunStatus,
127
+ runtimeAdapter: Schema3.Literal("pi"),
128
+ model: Schema3.NullOr(TrimmedNonEmptyString),
129
+ initialPrompt: Schema3.NullOr(Schema3.String),
130
+ executionTarget: Schema3.optional(RunExecutionTarget),
131
+ remoteHostId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
132
+ remoteLeaseId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
133
+ remoteLeaseClaimedAt: Schema3.optional(Schema3.NullOr(IsoDateTime)),
134
+ activeRuntimeId: Schema3.NullOr(EngineRuntimeId),
135
+ latestMessageId: Schema3.NullOr(TrimmedNonEmptyString),
136
+ pendingApprovalCount: NonNegativeInt,
137
+ pendingUserInputCount: NonNegativeInt,
138
+ branch: Schema3.NullOr(TrimmedNonEmptyString),
139
+ worktreePath: Schema3.NullOr(TrimmedNonEmptyString),
140
+ errorText: Schema3.NullOr(Schema3.String),
141
+ createdAt: IsoDateTime,
142
+ updatedAt: IsoDateTime,
143
+ startedAt: Schema3.NullOr(IsoDateTime),
144
+ completedAt: Schema3.NullOr(IsoDateTime)
145
+ });
146
+ var RuntimeSummary = Schema3.Struct({
147
+ id: EngineRuntimeId,
148
+ workspaceId: WorkspaceId,
149
+ runId: RunId,
150
+ adapterKind: Schema3.Literal("pi"),
151
+ executionTarget: Schema3.optional(RunExecutionTarget),
152
+ remoteHostId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
153
+ status: RuntimeStatus,
154
+ sandboxMode: EngineSandboxMode,
155
+ isolationMode: IsolationMode,
156
+ workspaceDir: Schema3.NullOr(TrimmedNonEmptyString),
157
+ homeDir: Schema3.NullOr(TrimmedNonEmptyString),
158
+ tmpDir: Schema3.NullOr(TrimmedNonEmptyString),
159
+ cacheDir: Schema3.NullOr(TrimmedNonEmptyString),
160
+ logsDir: Schema3.NullOr(TrimmedNonEmptyString),
161
+ stateDir: Schema3.NullOr(TrimmedNonEmptyString),
162
+ sessionDir: Schema3.NullOr(TrimmedNonEmptyString),
163
+ sessionLogPath: Schema3.NullOr(TrimmedNonEmptyString),
164
+ pid: Schema3.NullOr(NonNegativeInt),
165
+ startedAt: Schema3.NullOr(IsoDateTime),
166
+ updatedAt: IsoDateTime,
167
+ exitedAt: Schema3.NullOr(IsoDateTime)
168
+ });
169
+ var ApprovalStatus = Schema3.Literals(["pending", "resolved"]);
170
+ var ApprovalSummary = Schema3.Struct({
171
+ id: TrimmedNonEmptyString,
172
+ runId: RunId,
173
+ actionId: Schema3.NullOr(TrimmedNonEmptyString),
174
+ requestKind: TrimmedNonEmptyString,
175
+ status: ApprovalStatus,
176
+ payload: Schema3.Unknown,
177
+ createdAt: IsoDateTime,
178
+ resolvedAt: Schema3.NullOr(IsoDateTime)
179
+ });
180
+ var UserInputRequestSummary = Schema3.Struct({
181
+ id: TrimmedNonEmptyString,
182
+ runId: RunId,
183
+ status: ApprovalStatus,
184
+ payload: Schema3.Unknown,
185
+ createdAt: IsoDateTime,
186
+ resolvedAt: Schema3.NullOr(IsoDateTime)
187
+ });
188
+ var WorktreeSummary = Schema3.Struct({
189
+ id: WorktreeId,
190
+ workspaceId: WorkspaceId,
191
+ runId: RunId,
192
+ taskId: Schema3.NullOr(TaskId),
193
+ branchName: TrimmedNonEmptyString,
194
+ path: TrimmedNonEmptyString,
195
+ status: TrimmedNonEmptyString,
196
+ createdAt: IsoDateTime,
197
+ cleanedAt: Schema3.NullOr(IsoDateTime)
198
+ });
199
+
200
+ // packages/contracts/src/supervisor-journal.ts
201
+ var SupervisorStopReason = Schema4.Literals([
202
+ "all-done",
203
+ "all-human-blocked",
204
+ "max-tasks",
205
+ "budget",
206
+ "judge-stop",
207
+ "operator-stop",
208
+ "source-error"
209
+ ]);
210
+ var SupervisorSelectionPolicy = Schema4.Literals(["rank", "max-unblock", "blocking-only"]);
211
+ var SupervisorStatus = Schema4.Literals(["running", "idle", "stopped", "finished"]);
212
+ var TaskClosureSummary = Schema4.Struct({
213
+ taskId: TaskId,
214
+ runId: RunId,
215
+ prUrl: Schema4.NullOr(Schema4.String),
216
+ mergeGate: Schema4.NullOr(Schema4.Literals(["passed", "blocked", "skipped"])),
217
+ acceptanceChecked: Schema4.Array(Schema4.Struct({
218
+ item: Schema4.String,
219
+ met: Schema4.Boolean
220
+ })),
221
+ unblockedTaskIds: Schema4.Array(TaskId)
222
+ });
223
+ var SupervisorStartedEvent = Schema4.Struct({
224
+ kind: Schema4.Literal("supervisor.started"),
225
+ at: IsoDateTime,
226
+ options: Schema4.Unknown
227
+ });
228
+ var SupervisorSelectionPlannedEvent = Schema4.Struct({
229
+ kind: Schema4.Literal("supervisor.selection-planned"),
230
+ at: IsoDateTime,
231
+ taskIds: Schema4.Array(TaskId),
232
+ policy: SupervisorSelectionPolicy
233
+ });
234
+ var SupervisorDispatchStartedEvent = Schema4.Struct({
235
+ kind: Schema4.Literal("supervisor.dispatch-started"),
236
+ at: IsoDateTime,
237
+ taskId: TaskId,
238
+ score: NonNegativeInt
239
+ });
240
+ var SupervisorDispatchConfirmedEvent = Schema4.Struct({
241
+ kind: Schema4.Literal("supervisor.dispatch-confirmed"),
242
+ at: IsoDateTime,
243
+ taskId: TaskId,
244
+ runId: RunId,
245
+ dispatchHandle: Schema4.optional(Schema4.NullOr(Schema4.String))
246
+ });
247
+ var SupervisorDispatchEvent = Schema4.Struct({
248
+ kind: Schema4.Literal("supervisor.dispatch"),
249
+ at: IsoDateTime,
250
+ taskId: TaskId,
251
+ runId: RunId,
252
+ score: NonNegativeInt,
253
+ dispatchHandle: Schema4.optional(Schema4.NullOr(Schema4.String))
254
+ });
255
+ var SupervisorOutcomeEvent = Schema4.Struct({
256
+ kind: Schema4.Literal("supervisor.outcome"),
257
+ at: IsoDateTime,
258
+ taskId: TaskId,
259
+ runId: RunId,
260
+ status: RunStatus,
261
+ failed: Schema4.Boolean,
262
+ unblockedTaskIds: Schema4.Array(TaskId),
263
+ closure: Schema4.optional(TaskClosureSummary)
264
+ });
265
+ var SupervisorSkippedEvent = Schema4.Struct({
266
+ kind: Schema4.Literal("supervisor.skipped"),
267
+ at: IsoDateTime,
268
+ taskId: TaskId,
269
+ reason: Schema4.String
270
+ });
271
+ var SupervisorIdleEvent = Schema4.Struct({
272
+ kind: Schema4.Literal("supervisor.idle"),
273
+ at: IsoDateTime,
274
+ reason: SupervisorStopReason
275
+ });
276
+ var SupervisorStoppedEvent = Schema4.Struct({
277
+ kind: Schema4.Literal("supervisor.stopped"),
278
+ at: IsoDateTime,
279
+ reason: SupervisorStopReason
280
+ });
281
+ var SupervisorFinishedEvent = Schema4.Struct({
282
+ kind: Schema4.Literal("supervisor.finished"),
283
+ at: IsoDateTime,
284
+ processed: NonNegativeInt,
285
+ succeeded: NonNegativeInt,
286
+ failed: NonNegativeInt,
287
+ skipped: Schema4.optional(NonNegativeInt),
288
+ idleReason: Schema4.NullOr(SupervisorStopReason)
289
+ });
290
+ var SupervisorEvent = Schema4.Union([
291
+ SupervisorStartedEvent,
292
+ SupervisorSelectionPlannedEvent,
293
+ SupervisorDispatchStartedEvent,
294
+ SupervisorDispatchConfirmedEvent,
295
+ SupervisorDispatchEvent,
296
+ SupervisorOutcomeEvent,
297
+ SupervisorSkippedEvent,
298
+ SupervisorIdleEvent,
299
+ SupervisorStoppedEvent,
300
+ SupervisorFinishedEvent
301
+ ]);
302
+ var SupervisorProjection = Schema4.Struct({
303
+ status: SupervisorStatus,
304
+ processed: NonNegativeInt,
305
+ succeeded: NonNegativeInt,
306
+ failed: NonNegativeInt,
307
+ skipped: NonNegativeInt,
308
+ current: Schema4.NullOr(Schema4.Struct({ taskId: TaskId, runId: RunId })),
309
+ plannedOrder: Schema4.Array(TaskId),
310
+ selectionPolicy: Schema4.NullOr(SupervisorSelectionPolicy),
311
+ concurrency: Schema4.NullOr(NonNegativeInt),
312
+ idleReason: Schema4.NullOr(SupervisorStopReason),
313
+ stopReason: Schema4.NullOr(SupervisorStopReason),
314
+ closures: Schema4.Array(TaskClosureSummary),
315
+ anomalies: Schema4.Array(Schema4.String)
316
+ });
317
+ export {
318
+ TaskClosureSummary,
319
+ SupervisorStoppedEvent,
320
+ SupervisorStopReason,
321
+ SupervisorStatus,
322
+ SupervisorStartedEvent,
323
+ SupervisorSkippedEvent,
324
+ SupervisorSelectionPolicy,
325
+ SupervisorSelectionPlannedEvent,
326
+ SupervisorProjection,
327
+ SupervisorOutcomeEvent,
328
+ SupervisorIdleEvent,
329
+ SupervisorFinishedEvent,
330
+ SupervisorEvent,
331
+ SupervisorDispatchStartedEvent,
332
+ SupervisorDispatchEvent,
333
+ SupervisorDispatchConfirmedEvent
334
+ };
@@ -0,0 +1,33 @@
1
+ import type { CapabilityId } from "./capability-id";
2
+ import type { TaskArtifactReadResult } from "./task-data";
3
+ export type TaskArtifactRef = {
4
+ readonly projectRoot: string;
5
+ readonly taskId?: string;
6
+ };
7
+ export type TaskArtifactListEntry = {
8
+ readonly path: string;
9
+ readonly sizeBytes: number;
10
+ readonly kind: "file" | "directory" | "other";
11
+ readonly modifiedAt?: string | null;
12
+ };
13
+ export type TaskArtifactWriteInput = TaskArtifactRef & {
14
+ readonly filename: string;
15
+ readonly content: string;
16
+ };
17
+ export type TaskArtifactReadInput = TaskArtifactRef & {
18
+ readonly filename: string;
19
+ readonly maxBytes?: number;
20
+ };
21
+ export type TaskArtifactWriteResult = {
22
+ readonly path: string;
23
+ readonly sizeBytes: number;
24
+ };
25
+ /** Task artifact directory/list/read/write vocabulary. */
26
+ export interface TaskArtifactsService {
27
+ artifactDir(input: TaskArtifactRef): string;
28
+ listArtifacts(input: TaskArtifactRef): Promise<readonly TaskArtifactListEntry[]>;
29
+ readArtifact(input: TaskArtifactReadInput): Promise<TaskArtifactReadResult>;
30
+ writeArtifact(input: TaskArtifactWriteInput): Promise<TaskArtifactWriteResult>;
31
+ }
32
+ export declare const TASK_ARTIFACTS_CAPABILITY_ID = "task-state.artifacts";
33
+ export declare const TASK_ARTIFACTS: CapabilityId<TaskArtifactsService>;
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/task-artifacts.ts
8
+ var TASK_ARTIFACTS_CAPABILITY_ID = "task-state.artifacts";
9
+ var TASK_ARTIFACTS = makeCapabilityId(TASK_ARTIFACTS_CAPABILITY_ID);
10
+ export {
11
+ TASK_ARTIFACTS_CAPABILITY_ID,
12
+ TASK_ARTIFACTS
13
+ };
@@ -0,0 +1,29 @@
1
+ import type { CapabilityId } from "./capability-id";
2
+ import type { RuntimeInstructionProvider } from "./provider-instructions";
3
+ import type { RigTask, TaskRecord } from "./task-source";
4
+ export type TaskContextRenderInput = {
5
+ readonly projectRoot: string;
6
+ readonly taskId?: string;
7
+ readonly task?: RigTask | TaskRecord | null;
8
+ readonly provider?: RuntimeInstructionProvider;
9
+ };
10
+ export type TaskScopeRenderInput = TaskContextRenderInput & {
11
+ readonly expandFiles?: boolean;
12
+ };
13
+ export type TaskPromptContextSection = {
14
+ readonly title: string;
15
+ readonly content: string;
16
+ };
17
+ export type TaskPromptContext = {
18
+ readonly taskId: string | null;
19
+ readonly sections: readonly TaskPromptContextSection[];
20
+ };
21
+ /** Provider/prompt-owned task info, scope, and dependency rendering vocabulary. */
22
+ export interface TaskContextRendererService {
23
+ renderTaskInfo(input: TaskContextRenderInput): Promise<TaskPromptContextSection>;
24
+ renderTaskScope(input: TaskScopeRenderInput): Promise<TaskPromptContextSection>;
25
+ renderTaskDependencies(input: TaskContextRenderInput): Promise<TaskPromptContextSection>;
26
+ renderPromptContext(input: TaskContextRenderInput): Promise<TaskPromptContext>;
27
+ }
28
+ export declare const TASK_CONTEXT_RENDERER_CAPABILITY_ID = "provider.task-context-renderer";
29
+ export declare const TASK_CONTEXT_RENDERER: CapabilityId<TaskContextRendererService>;
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/task-context-renderer.ts
8
+ var TASK_CONTEXT_RENDERER_CAPABILITY_ID = "provider.task-context-renderer";
9
+ var TASK_CONTEXT_RENDERER = makeCapabilityId(TASK_CONTEXT_RENDERER_CAPABILITY_ID);
10
+ export {
11
+ TASK_CONTEXT_RENDERER_CAPABILITY_ID,
12
+ TASK_CONTEXT_RENDERER
13
+ };