@h-rig/contracts 0.0.6-alpha.16 → 0.0.6-alpha.160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3280 -0
- package/dist/index.mjs +3239 -0
- package/dist/src/agent-roles.d.ts +8 -0
- package/dist/src/artifact.d.ts +13 -0
- package/dist/src/artifact.js +3 -0
- package/dist/src/baseSchemas.d.ts +63 -0
- package/dist/src/baseSchemas.js +6 -0
- package/dist/src/browser.d.ts +80 -0
- package/dist/src/browser.js +13 -0
- package/dist/src/capability-id.d.ts +22 -0
- package/dist/src/capability-id.js +8 -0
- package/dist/src/cli-output.d.ts +348 -0
- package/dist/src/cli-output.js +190 -0
- package/dist/src/cli-runner.d.ts +43 -0
- package/dist/src/cli-runner.js +13 -0
- package/dist/src/collab-session-viewer.d.ts +36 -0
- package/dist/src/collab-session-viewer.js +13 -0
- package/dist/src/config.d.ts +551 -0
- package/dist/src/config.js +765 -162
- package/dist/src/control-plane-types.d.ts +323 -0
- package/dist/src/control-plane-types.js +13 -0
- package/dist/src/conversation.d.ts +50 -0
- package/dist/src/conversation.js +3 -0
- package/dist/src/dependency-preflight.d.ts +43 -0
- package/dist/src/dependency-preflight.js +13 -0
- package/dist/src/doctor.d.ts +90 -0
- package/dist/src/doctor.js +13 -0
- package/dist/src/drift.d.ts +28 -0
- package/dist/src/drift.js +69 -0
- package/dist/src/editor.d.ts +25 -0
- package/dist/src/editor.js +3 -0
- package/dist/src/errors.d.ts +13 -0
- package/dist/src/errors.js +17 -0
- package/dist/src/git.d.ts +144 -0
- package/dist/src/git.js +3 -0
- package/dist/src/github.d.ts +146 -0
- package/dist/src/github.js +17 -0
- package/dist/src/graph.d.ts +360 -0
- package/dist/src/graph.js +137 -1
- package/dist/src/guard.d.ts +111 -0
- package/dist/src/guard.js +6 -0
- package/dist/src/harness-events.d.ts +8 -0
- package/dist/src/harness-events.js +1 -0
- package/dist/src/help-catalog.d.ts +41 -0
- package/dist/src/help-catalog.js +13 -0
- package/dist/src/host.d.ts +41 -0
- package/dist/src/host.js +13 -0
- package/dist/src/identity.d.ts +44 -0
- package/dist/src/identity.js +1 -0
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.js +2661 -3970
- package/dist/src/isolation.d.ts +213 -0
- package/dist/src/isolation.js +13 -0
- package/dist/src/kernel.d.ts +200 -0
- package/dist/src/kernel.js +261 -0
- package/dist/src/keybindings.d.ts +71 -0
- package/dist/src/keybindings.js +3 -0
- package/dist/src/layout.d.ts +49 -0
- package/dist/src/layout.js +10 -0
- package/dist/src/lifecycle-capabilities.d.ts +128 -0
- package/dist/src/lifecycle-capabilities.js +25 -0
- package/dist/src/managed-repos.d.ts +136 -0
- package/dist/src/managed-repos.js +17 -0
- package/dist/src/memory.d.ts +199 -0
- package/dist/src/memory.js +15 -0
- package/dist/src/model.d.ts +77 -0
- package/dist/src/notify.d.ts +46 -0
- package/dist/src/notify.js +13 -0
- package/dist/src/orchestration.d.ts +43 -0
- package/dist/src/orchestration.js +28 -961
- package/dist/src/panel-protocol.d.ts +17 -0
- package/dist/src/panel-protocol.js +10 -0
- package/dist/src/pi-session.d.ts +113 -0
- package/dist/src/pi-session.js +1 -0
- package/dist/src/planning.d.ts +64 -0
- package/dist/src/planning.js +90 -0
- package/dist/src/plugin-hooks.d.ts +51 -0
- package/dist/src/plugin-hooks.js +386 -0
- package/dist/src/plugin.d.ts +476 -0
- package/dist/src/plugin.js +346 -64
- package/dist/src/policy.d.ts +16 -0
- package/dist/src/policy.js +3 -0
- package/dist/src/project.d.ts +71 -0
- package/dist/src/project.js +3 -0
- package/dist/src/prompt.d.ts +29 -0
- package/dist/src/prompt.js +13 -0
- package/dist/src/protocol-version.d.ts +21 -0
- package/dist/src/protocol-version.js +6 -0
- package/dist/src/provider-instructions.d.ts +41 -0
- package/dist/src/provider-instructions.js +13 -0
- package/dist/src/provider.d.ts +105 -0
- package/dist/src/provider.js +4 -824
- package/dist/src/remote.d.ts +318 -0
- package/dist/src/remote.js +238 -1078
- package/dist/src/review.d.ts +18 -0
- package/dist/src/review.js +3 -0
- package/dist/src/rollups.d.ts +41 -0
- package/dist/src/rollups.js +70 -0
- package/dist/src/run-discovery.d.ts +79 -0
- package/dist/src/run-discovery.js +13 -0
- package/dist/src/run-dispatch.d.ts +34 -0
- package/dist/src/run-dispatch.js +13 -0
- package/dist/src/run-identity.d.ts +47 -0
- package/dist/src/run-identity.js +13 -0
- package/dist/src/run-journal.d.ts +694 -0
- package/dist/src/run-journal.js +569 -0
- package/dist/src/run-read-model.d.ts +234 -0
- package/dist/src/run-read-model.js +13 -0
- package/dist/src/run-record.d.ts +45 -0
- package/dist/src/run-record.js +1 -0
- package/dist/src/run-registry-backbone.d.ts +56 -0
- package/dist/src/run-registry-backbone.js +13 -0
- package/dist/src/run-session-journal.d.ts +69 -0
- package/dist/src/run-session-journal.js +78 -0
- package/dist/src/run-status.d.ts +10 -0
- package/dist/src/run-status.js +27 -0
- package/dist/src/run-timeline.d.ts +7 -0
- package/dist/src/run-timeline.js +1 -0
- package/dist/src/runtime-task-context.d.ts +82 -0
- package/dist/src/runtime-task-context.js +1 -0
- package/dist/src/runtime.d.ts +103 -0
- package/dist/src/runtime.js +73 -906
- package/dist/src/session-asset-materializer.d.ts +35 -0
- package/dist/src/session-asset-materializer.js +13 -0
- package/dist/src/setup.d.ts +47 -0
- package/dist/src/setup.js +13 -0
- package/dist/src/stage.d.ts +245 -0
- package/dist/src/stage.js +169 -0
- package/dist/src/supervisor-journal.d.ts +204 -0
- package/dist/src/supervisor-journal.js +334 -0
- package/dist/src/task-data.d.ts +239 -0
- package/dist/src/task-data.js +13 -0
- package/dist/src/task-graph-primitives.d.ts +47 -0
- package/dist/src/task-graph-primitives.js +1 -0
- package/dist/src/task-source.d.ts +102 -0
- package/dist/src/task-source.js +12 -0
- package/dist/src/task-state-metadata.d.ts +21 -0
- package/dist/src/task-state-metadata.js +1 -0
- package/dist/src/terminal.d.ts +130 -0
- package/dist/src/terminal.js +3 -0
- package/dist/src/tool-materializer.d.ts +36 -0
- package/dist/src/tool-materializer.js +13 -0
- package/dist/src/tool-registry.d.ts +3 -0
- package/dist/src/tool-registry.js +58 -0
- package/dist/src/toolchain-sources.d.ts +54 -0
- package/dist/src/toolchain-sources.js +17 -0
- package/dist/src/validation.d.ts +14 -0
- package/dist/src/validation.js +3 -0
- package/dist/src/workflow-journal.d.ts +92 -0
- package/dist/src/workflow-journal.js +18 -0
- package/dist/src/workspace-config.d.ts +18 -0
- package/dist/src/workspace-config.js +13 -0
- package/dist/src/workspace.d.ts +204 -0
- package/dist/src/workspace.js +76 -911
- package/package.json +51 -4
- package/dist/src/engine.js +0 -2278
- package/dist/src/providerRuntime.js +0 -1630
- package/dist/src/rig.js +0 -2374
- package/dist/src/server.js +0 -1053
- package/dist/src/serviceFabric.js +0 -1066
- package/dist/src/ws.js +0 -2968
- /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
|
+
};
|