@bluewombat/runtime 0.8.0 → 0.10.0
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/README.md +236 -142
- package/SPECS.md +138 -97
- package/dist/cli.js +35 -37
- package/dist/cli.js.map +1 -1
- package/dist/config/agent-shorthand.d.ts +24 -4
- package/dist/config/agent-shorthand.d.ts.map +1 -1
- package/dist/config/agent-shorthand.js +65 -28
- package/dist/config/agent-shorthand.js.map +1 -1
- package/dist/config/defaults.d.ts +0 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/find-config.d.ts +3 -2
- package/dist/config/find-config.d.ts.map +1 -1
- package/dist/config/find-config.js +4 -4
- package/dist/config/find-config.js.map +1 -1
- package/dist/config/home.d.ts +2 -0
- package/dist/config/home.d.ts.map +1 -1
- package/dist/config/home.js +4 -2
- package/dist/config/home.js.map +1 -1
- package/dist/config/load-config.d.ts +2 -2
- package/dist/config/load-config.d.ts.map +1 -1
- package/dist/config/load-config.js +342 -73
- package/dist/config/load-config.js.map +1 -1
- package/dist/config/parse-args.d.ts +1 -1
- package/dist/config/parse-args.d.ts.map +1 -1
- package/dist/config/parse-args.js +132 -103
- package/dist/config/parse-args.js.map +1 -1
- package/dist/config/types.d.ts +142 -38
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +13 -1
- package/dist/config/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loop/authority.d.ts +41 -5
- package/dist/loop/authority.d.ts.map +1 -1
- package/dist/loop/authority.js +68 -24
- package/dist/loop/authority.js.map +1 -1
- package/dist/loop/context.d.ts +23 -3
- package/dist/loop/context.d.ts.map +1 -1
- package/dist/loop/deliveries.d.ts +16 -16
- package/dist/loop/deliveries.d.ts.map +1 -1
- package/dist/loop/deliveries.js +35 -187
- package/dist/loop/deliveries.js.map +1 -1
- package/dist/loop/describe.d.ts +4 -6
- package/dist/loop/describe.d.ts.map +1 -1
- package/dist/loop/describe.js +2 -2
- package/dist/loop/describe.js.map +1 -1
- package/dist/loop/drive.d.ts +11 -7
- package/dist/loop/drive.d.ts.map +1 -1
- package/dist/loop/drive.js +24 -38
- package/dist/loop/drive.js.map +1 -1
- package/dist/loop/features.d.ts +23 -0
- package/dist/loop/features.d.ts.map +1 -0
- package/dist/loop/features.js +834 -0
- package/dist/loop/features.js.map +1 -0
- package/dist/loop/journal.d.ts +1 -1
- package/dist/loop/journal.js +2 -2
- package/dist/loop/journal.js.map +1 -1
- package/dist/loop/lock.d.ts +1 -1
- package/dist/loop/lock.js +1 -1
- package/dist/loop/open-host.d.ts.map +1 -1
- package/dist/loop/open-host.js +132 -31
- package/dist/loop/open-host.js.map +1 -1
- package/dist/loop/probe.d.ts +1 -1
- package/dist/loop/probe.d.ts.map +1 -1
- package/dist/loop/probe.js +51 -22
- package/dist/loop/probe.js.map +1 -1
- package/dist/loop/process-tree.d.ts +1 -1
- package/dist/loop/process-tree.js +1 -1
- package/dist/loop/report.d.ts +9 -7
- package/dist/loop/report.d.ts.map +1 -1
- package/dist/loop/report.js +49 -106
- package/dist/loop/report.js.map +1 -1
- package/dist/loop/streams.d.ts +5 -5
- package/dist/loop/streams.d.ts.map +1 -1
- package/dist/loop/streams.js +3 -3
- package/dist/loop/streams.js.map +1 -1
- package/dist/loop/tick.d.ts +6 -4
- package/dist/loop/tick.d.ts.map +1 -1
- package/dist/loop/tick.js +50 -78
- package/dist/loop/tick.js.map +1 -1
- package/dist/loop/trace.d.ts +5 -5
- package/dist/loop/trace.d.ts.map +1 -1
- package/dist/loop/trace.js +5 -14
- package/dist/loop/trace.js.map +1 -1
- package/dist/loop/transformers.d.ts +18 -14
- package/dist/loop/transformers.d.ts.map +1 -1
- package/dist/loop/transformers.js +139 -74
- package/dist/loop/transformers.js.map +1 -1
- package/dist/loop/warm.d.ts +3 -3
- package/dist/loop/warm.js +4 -4
- package/dist/loop/warm.js.map +1 -1
- package/dist/loop/work-line.d.ts +1 -1
- package/dist/operator/agent-plugins.d.ts +11 -0
- package/dist/operator/agent-plugins.d.ts.map +1 -1
- package/dist/operator/agent-plugins.js +17 -11
- package/dist/operator/agent-plugins.js.map +1 -1
- package/dist/operator/board.d.ts +3 -8
- package/dist/operator/board.d.ts.map +1 -1
- package/dist/operator/board.js +2 -11
- package/dist/operator/board.js.map +1 -1
- package/dist/operator/cancel.d.ts +2 -2
- package/dist/operator/cancel.js +6 -6
- package/dist/operator/cancel.js.map +1 -1
- package/dist/operator/doctor.d.ts +9 -0
- package/dist/operator/doctor.d.ts.map +1 -1
- package/dist/operator/doctor.js +110 -53
- package/dist/operator/doctor.js.map +1 -1
- package/dist/operator/explain.d.ts +76 -0
- package/dist/operator/explain.d.ts.map +1 -0
- package/dist/operator/explain.js +585 -0
- package/dist/operator/explain.js.map +1 -0
- package/dist/operator/film.d.ts +3 -11
- package/dist/operator/film.d.ts.map +1 -1
- package/dist/operator/film.js +8 -93
- package/dist/operator/film.js.map +1 -1
- package/dist/operator/init.d.ts.map +1 -1
- package/dist/operator/init.js +52 -55
- package/dist/operator/init.js.map +1 -1
- package/dist/operator/live.js +1 -1
- package/dist/operator/live.js.map +1 -1
- package/dist/operator/log.js +12 -6
- package/dist/operator/log.js.map +1 -1
- package/dist/operator/release.d.ts +2 -2
- package/dist/operator/release.js +7 -7
- package/dist/operator/release.js.map +1 -1
- package/dist/operator/run.d.ts +25 -0
- package/dist/operator/run.d.ts.map +1 -0
- package/dist/operator/run.js +70 -0
- package/dist/operator/run.js.map +1 -0
- package/dist/operator/setup.d.ts.map +1 -1
- package/dist/operator/setup.js +22 -16
- package/dist/operator/setup.js.map +1 -1
- package/dist/plugins/manager.d.ts +33 -2
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +67 -0
- package/dist/plugins/manager.js.map +1 -1
- package/package.json +15 -16
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { runBreakdown } from "@bluewombat/feature-breakdown";
|
|
2
1
|
import { runImplementer, } from "@bluewombat/implementer";
|
|
3
2
|
import { runIntegrator } from "@bluewombat/integrator";
|
|
4
3
|
import { runIsolator } from "@bluewombat/isolator";
|
|
4
|
+
import { hasAgent, } from "../config/types.js";
|
|
5
5
|
import { failureNote } from "./trace.js";
|
|
6
6
|
const DEFAULT_MAX_ATTEMPTS = 3;
|
|
7
|
+
/** The Feature's config; a Feature is only judged when an Authority exists, and Host refuses to open without it. */
|
|
8
|
+
function featureOf(slots) {
|
|
9
|
+
if (slots.feature === undefined) {
|
|
10
|
+
throw new Error('A Feature was judged, but no "feature" is configured.');
|
|
11
|
+
}
|
|
12
|
+
return slots.feature;
|
|
13
|
+
}
|
|
7
14
|
const silent = () => { };
|
|
8
15
|
/**
|
|
9
16
|
* A Transformer's progress, as a line a person reads.
|
|
@@ -42,7 +49,7 @@ function progressWriter(slots) {
|
|
|
42
49
|
};
|
|
43
50
|
}
|
|
44
51
|
/**
|
|
45
|
-
* Wire the
|
|
52
|
+
* Wire the three execution Transformers into Conductor's Transformer Port.
|
|
46
53
|
*/
|
|
47
54
|
/**
|
|
48
55
|
* Why an Attempt ended, when it did not end well.
|
|
@@ -69,53 +76,131 @@ function reasonOf(trace) {
|
|
|
69
76
|
/**
|
|
70
77
|
* How long the agent of this pass may run.
|
|
71
78
|
*
|
|
72
|
-
*
|
|
73
|
-
* already refused the whole — or, before that, a validate.
|
|
79
|
+
* The unit names its producer. A Ticket or a Feature names a fix, and only when
|
|
80
|
+
* something already refused the whole — or, for a Ticket, before that, a validate.
|
|
74
81
|
*/
|
|
75
|
-
function commandTimeoutMs(input, slots) {
|
|
82
|
+
function commandTimeoutMs(input, slots, marked) {
|
|
83
|
+
if (input.stage === "feature") {
|
|
84
|
+
const feature = featureOf(slots);
|
|
85
|
+
if (input.validate === true) {
|
|
86
|
+
return hasAgent(feature.validate) ? feature.validate.timeoutMs : slots.timeoutMs;
|
|
87
|
+
}
|
|
88
|
+
return feature.fix.timeoutMs;
|
|
89
|
+
}
|
|
90
|
+
if (input.stage === "tests") {
|
|
91
|
+
const tests = slots.builder.tests;
|
|
92
|
+
return tests !== undefined && hasAgent(tests) ? tests.timeoutMs : slots.timeoutMs;
|
|
93
|
+
}
|
|
76
94
|
if (input.validate === true) {
|
|
77
|
-
|
|
95
|
+
const validate = slots.ticket.validate;
|
|
96
|
+
return validate !== undefined && hasAgent(validate) ? validate.timeoutMs : slots.timeoutMs;
|
|
78
97
|
}
|
|
79
|
-
if (input.stage === "
|
|
80
|
-
return slots.
|
|
98
|
+
if (input.stage === "ticket") {
|
|
99
|
+
return slots.ticket.fix?.timeoutMs ?? slots.timeoutMs;
|
|
81
100
|
}
|
|
82
|
-
return slots.builder.
|
|
101
|
+
return marked.e2e && slots.builder.e2e !== undefined
|
|
102
|
+
? slots.builder.e2e.timeoutMs
|
|
103
|
+
: slots.builder.producer.timeoutMs;
|
|
83
104
|
}
|
|
84
105
|
function attemptBudget(input, slots) {
|
|
85
106
|
if (input.produce === false || input.validate === true) {
|
|
86
107
|
return 1;
|
|
87
108
|
}
|
|
88
|
-
|
|
109
|
+
if (input.stage === "feature") {
|
|
110
|
+
return featureOf(slots).maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
|
|
111
|
+
}
|
|
112
|
+
const stage = input.stage === "ticket" ? slots.ticket : slots.builder;
|
|
89
113
|
return stage.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
|
|
90
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Implementer's Gates from the config's: the condition Host reads is Host's, and the Gate
|
|
117
|
+
* knows nothing of it. A Feature's Gate whose condition holds is left out, and said so.
|
|
118
|
+
*/
|
|
119
|
+
function gatesFor(gates, marked) {
|
|
120
|
+
const kept = [];
|
|
121
|
+
const skipped = [];
|
|
122
|
+
for (const { skipWhen, ...gate } of gates) {
|
|
123
|
+
if (skipWhen === "skip-test-e2e" && marked.skipsE2e) {
|
|
124
|
+
skipped.push({ id: gate.id, why: skipWhen });
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
kept.push(gate);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return { gates: kept, skipped };
|
|
131
|
+
}
|
|
132
|
+
/** A review runs its agent and then its Gates; with no agent, the Gates alone. */
|
|
133
|
+
function reviewWiring(review) {
|
|
134
|
+
return hasAgent(review)
|
|
135
|
+
? { builderArgv: review.cmd, gates: review.gates, repairGates: [] }
|
|
136
|
+
: { gates: review.gates, repairGates: [] };
|
|
137
|
+
}
|
|
91
138
|
/**
|
|
92
139
|
* Which command runs, and which Gate sequence judges it — decided together,
|
|
93
140
|
* so the two can never fall out of sync (see DECISIONS.md: every role gated
|
|
94
141
|
* independently, no shared list, no dispatch choosing between two buckets).
|
|
95
142
|
*/
|
|
96
|
-
function roleWiring(input, slots) {
|
|
97
|
-
if (input.
|
|
98
|
-
|
|
99
|
-
|
|
143
|
+
function roleWiring(input, slots, marked) {
|
|
144
|
+
if (input.stage === "tests") {
|
|
145
|
+
// The tests are written by their own agent, judged by their own Gates.
|
|
146
|
+
const tests = slots.builder.tests;
|
|
147
|
+
return tests === undefined || !hasAgent(tests)
|
|
100
148
|
? { gates: [], repairGates: [] }
|
|
101
|
-
: { builderArgv:
|
|
149
|
+
: { builderArgv: tests.cmd, gates: tests.gates, repairGates: [] };
|
|
150
|
+
}
|
|
151
|
+
if (input.stage === "feature") {
|
|
152
|
+
// The Feature's own sequences and its own fix, and nothing of a Ticket's.
|
|
153
|
+
const feature = featureOf(slots);
|
|
154
|
+
if (input.validate === true) {
|
|
155
|
+
const wiring = reviewWiring(feature.validate);
|
|
156
|
+
const own = gatesFor(feature.validate.gates, marked);
|
|
157
|
+
return { ...wiring, gates: own.gates, skipped: own.skipped };
|
|
158
|
+
}
|
|
159
|
+
if (input.produce === false) {
|
|
160
|
+
const own = gatesFor(feature.gates, marked);
|
|
161
|
+
return { gates: own.gates, repairGates: [], skipped: own.skipped };
|
|
162
|
+
}
|
|
163
|
+
const own = gatesFor(feature.fix.gates, marked);
|
|
164
|
+
return {
|
|
165
|
+
builderArgv: feature.fix.cmd,
|
|
166
|
+
gates: own.gates,
|
|
167
|
+
repairGates: [],
|
|
168
|
+
skipped: own.skipped,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
if (input.validate === true) {
|
|
172
|
+
const validate = slots.ticket.validate;
|
|
173
|
+
return validate === undefined ? { gates: [], repairGates: [] } : reviewWiring(validate);
|
|
174
|
+
}
|
|
175
|
+
if (input.recheck === true) {
|
|
176
|
+
// The unit's own checks again, once the work has been aligned with the line:
|
|
177
|
+
// `builder.gates`, the one list that says the code stands. Nothing is produced. The e2e
|
|
178
|
+
// Ticket's own Gates, when it is that Ticket.
|
|
179
|
+
const own = marked.e2e ? slots.builder.e2e : undefined;
|
|
180
|
+
return { gates: (own ?? slots.builder.producer).gates, repairGates: [] };
|
|
102
181
|
}
|
|
103
182
|
if (input.produce === false) {
|
|
104
183
|
// The one remaining judgement-only pass: re-checking the assembled
|
|
105
|
-
//
|
|
106
|
-
// judged by `
|
|
107
|
-
//
|
|
108
|
-
return { gates: slots.
|
|
184
|
+
// ticket with no producer of its own. No named role maps to it; it is
|
|
185
|
+
// judged by `ticket.gates`, its own sequence, untouched by any of the
|
|
186
|
+
// roles' own lists (see TicketSpec's doc comment).
|
|
187
|
+
return { gates: slots.ticket.gates, repairGates: [] };
|
|
109
188
|
}
|
|
110
|
-
if (input.stage === "
|
|
111
|
-
const fix = slots.
|
|
189
|
+
if (input.stage === "ticket") {
|
|
190
|
+
const fix = slots.ticket.fix;
|
|
112
191
|
if (fix === undefined) {
|
|
113
192
|
return { gates: [], repairGates: [] };
|
|
114
193
|
}
|
|
115
194
|
// Implementer picks repairArgv only when a report is present, and Conductor
|
|
116
|
-
// never produces
|
|
195
|
+
// never produces for a ticket without one. The fix command is the producer.
|
|
117
196
|
return { builderArgv: fix.cmd, gates: fix.gates, repairGates: [] };
|
|
118
197
|
}
|
|
198
|
+
if (marked.e2e && slots.builder.e2e !== undefined) {
|
|
199
|
+
// One command and one list for the first pass and for a repair: nothing of the shared
|
|
200
|
+
// builder is borrowed, so no refusal reaches an agent the Project did not name for it.
|
|
201
|
+
const { cmd, gates } = slots.builder.e2e;
|
|
202
|
+
return { builderArgv: cmd, gates, repairGates: gates };
|
|
203
|
+
}
|
|
119
204
|
const { producer, repair } = slots.builder;
|
|
120
205
|
return {
|
|
121
206
|
builderArgv: producer.cmd,
|
|
@@ -125,6 +210,20 @@ function roleWiring(input, slots) {
|
|
|
125
210
|
repairGates: repair.gates,
|
|
126
211
|
};
|
|
127
212
|
}
|
|
213
|
+
/** What the tracker says of the work this pass is about, read once as the pass starts. */
|
|
214
|
+
async function markedBy(input, slots) {
|
|
215
|
+
const key = input.context;
|
|
216
|
+
if (slots.marks === undefined || key === undefined) {
|
|
217
|
+
return { e2e: false, skipsE2e: false };
|
|
218
|
+
}
|
|
219
|
+
if (input.stage === "feature") {
|
|
220
|
+
return { e2e: false, skipsE2e: await slots.marks.featureSkipsE2e(key) };
|
|
221
|
+
}
|
|
222
|
+
if (input.stage === undefined || input.stage === "unit") {
|
|
223
|
+
return { e2e: await slots.marks.ticketIsE2e(key), skipsE2e: false };
|
|
224
|
+
}
|
|
225
|
+
return { e2e: false, skipsE2e: false };
|
|
226
|
+
}
|
|
128
227
|
export function createTransformers(slots) {
|
|
129
228
|
const write = progressWriter(slots);
|
|
130
229
|
const streams = slots.streams;
|
|
@@ -145,66 +244,29 @@ export function createTransformers(slots) {
|
|
|
145
244
|
});
|
|
146
245
|
return { outcome: result.outcome };
|
|
147
246
|
},
|
|
148
|
-
async breakDown(input) {
|
|
149
|
-
const result = await runBreakdown({
|
|
150
|
-
invocation: {
|
|
151
|
-
maxFeatureBytes: slots.maxFeatureBytes,
|
|
152
|
-
maxUnits: slots.maxUnits,
|
|
153
|
-
plannerArgv: slots.planner.cmd,
|
|
154
|
-
plannerDurationMs: slots.planner.timeoutMs,
|
|
155
|
-
// Not where the Planner agent itself reads from (that is the
|
|
156
|
-
// Project's own --read convention, untouched) — only where a
|
|
157
|
-
// planner Gate looks, once a Plan is otherwise accepted.
|
|
158
|
-
workspace: slots.workLineStable,
|
|
159
|
-
gates: slots.planner.gates,
|
|
160
|
-
},
|
|
161
|
-
featureJson: input.featureJson,
|
|
162
|
-
write,
|
|
163
|
-
...interrupt,
|
|
164
|
-
// `breakdown` is the name a Planner slot files its transcript under, so
|
|
165
|
-
// the stream and the prompt behind it land side by side.
|
|
166
|
-
...(streams === undefined
|
|
167
|
-
? {}
|
|
168
|
-
: { onChild: (about) => streams.open({ key: about.key, id: "breakdown" }) }),
|
|
169
|
-
});
|
|
170
|
-
if (result.outcome === "planned" && result.plan !== undefined) {
|
|
171
|
-
return {
|
|
172
|
-
outcome: "planned",
|
|
173
|
-
plannedAt: result.plan.planned_at,
|
|
174
|
-
subtasks: result.plan.subtasks.map((st) => ({
|
|
175
|
-
id: st.id,
|
|
176
|
-
intention: st.intention,
|
|
177
|
-
definition_of_done: st.definition_of_done,
|
|
178
|
-
depends_on: [...st.depends_on],
|
|
179
|
-
})),
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
if (result.outcome === "refused") {
|
|
183
|
-
return {
|
|
184
|
-
outcome: "refused",
|
|
185
|
-
code: result.code ?? "not-specifiable",
|
|
186
|
-
reason: result.reason ?? "FeatureBreakdown refused the Plan.",
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
if (result.outcome === "unavailable" || result.outcome === "interrupted") {
|
|
190
|
-
return { outcome: result.outcome };
|
|
191
|
-
}
|
|
192
|
-
return { outcome: "invalid-invocation" };
|
|
193
|
-
},
|
|
194
247
|
async implement(input) {
|
|
195
|
-
const
|
|
248
|
+
const marked = await markedBy(input, slots);
|
|
249
|
+
const wiring = roleWiring(input, slots, marked);
|
|
250
|
+
for (const gate of wiring.skipped ?? []) {
|
|
251
|
+
// A Gate that was not run is not one that passed: the film and the trace say so.
|
|
252
|
+
write({
|
|
253
|
+
event: "gate-skipped",
|
|
254
|
+
task_id: input.id,
|
|
255
|
+
gate_id: gate.id,
|
|
256
|
+
why: gate.why,
|
|
257
|
+
label: `${gate.id} not run: the Feature carries ${gate.why}`,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
196
260
|
const result = await runImplementer({
|
|
197
261
|
invocation: {
|
|
198
262
|
id: input.id,
|
|
199
263
|
intention: input.intention,
|
|
200
|
-
// Implementer always carries the flag and never reads it; an assembly
|
|
201
|
-
// has nothing to put in it, and the roles drop an empty one whole.
|
|
202
|
-
definitionOfDone: input.definitionOfDone ?? "",
|
|
203
264
|
workspace: input.workspace,
|
|
204
265
|
// Without this the report an outside judge sent back never reaches
|
|
205
266
|
// the producer, and the Attempt repeats blind.
|
|
206
267
|
...(input.report === undefined ? {} : { report: input.report }),
|
|
207
268
|
...(input.reportFrom === undefined ? {} : { reportFrom: input.reportFrom }),
|
|
269
|
+
...(input.firstAttempt === undefined ? {} : { firstAttempt: input.firstAttempt }),
|
|
208
270
|
...(input.context === undefined ? {} : { context: input.context }),
|
|
209
271
|
...(input.stage === undefined ? {} : { stage: input.stage }),
|
|
210
272
|
...(wiring.builderArgv === undefined ? {} : { builderArgv: wiring.builderArgv }),
|
|
@@ -217,7 +279,7 @@ export function createTransformers(slots) {
|
|
|
217
279
|
// A pass that makes nothing cannot make a different result on a second
|
|
218
280
|
// try: whoever asked for the judgement owns the retrying.
|
|
219
281
|
maxAttempts: attemptBudget(input, slots),
|
|
220
|
-
builderTimeoutMs: commandTimeoutMs(input, slots),
|
|
282
|
+
builderTimeoutMs: commandTimeoutMs(input, slots, marked),
|
|
221
283
|
},
|
|
222
284
|
write,
|
|
223
285
|
...interrupt,
|
|
@@ -262,7 +324,10 @@ export function createTransformers(slots) {
|
|
|
262
324
|
write,
|
|
263
325
|
...interrupt,
|
|
264
326
|
});
|
|
265
|
-
return {
|
|
327
|
+
return {
|
|
328
|
+
outcome: result.outcome,
|
|
329
|
+
...(result.changed === undefined ? {} : { changed: result.changed }),
|
|
330
|
+
};
|
|
266
331
|
},
|
|
267
332
|
};
|
|
268
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../src/loop/transformers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAGL,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAoB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAyB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAI1E,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAwCrD,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,MAAM,MAAM,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAE9B;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,KAAwB;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5E,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAuB;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH;;;;;;GAMG;AACH;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,KAAuB;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,KAA6C,EAC7C,KAAuB;IAEvB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CACpB,KAAgE,EAChE,KAAuB;IAEvB,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC1E,OAAO,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;AACnD,CAAC;AAWD;;;;GAIG;AACH,SAAS,UAAU,CACjB,KAAgE,EAChE,KAAuB;IAEvB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzC,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAChC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,0DAA0D;QAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,4EAA4E;QAC5E,2EAA2E;QAC3E,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3C,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,GAAG;QACzB,UAAU,EAAE,MAAM,CAAC,GAAG;QACtB,eAAe,EAAE,MAAM,CAAC,SAAS;QACjC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,MAAM,CAAC,KAAK;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;IAClG,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,KAAK;YACjB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;gBAC/B,UAAU,EAAE;oBACV,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;iBACnE;gBACD,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,KAAK;gBACL,GAAG,SAAS;aACb,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAK;YACnB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,UAAU,EAAE;oBACV,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;oBAC9B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;oBAC1C,6DAA6D;oBAC7D,6DAA6D;oBAC7D,yDAAyD;oBACzD,SAAS,EAAE,KAAK,CAAC,cAAc;oBAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;iBAC3B;gBACD,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK;gBACL,GAAG,SAAS;gBACZ,wEAAwE;gBACxE,yDAAyD;gBACzD,GAAG,CAAC,OAAO,KAAK,SAAS;oBACvB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;aAC/E,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9D,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;oBACjC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC1C,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;wBACzC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;qBAC/B,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,iBAAiB;oBACtC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,oCAAoC;iBAC9D,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACzE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAK;YACnB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,UAAU,EAAE;oBACV,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,sEAAsE;oBACtE,mEAAmE;oBACnE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;oBAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,mEAAmE;oBACnE,+CAA+C;oBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC5D,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;oBAChF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC7E,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;wBACtC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;oBAChD,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,uEAAuE;oBACvE,0DAA0D;oBAC1D,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;oBACxC,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;iBACjD;gBACD,KAAK;gBACL,GAAG,SAAS;gBACZ,GAAG,CAAC,OAAO,KAAK,SAAS;oBACvB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,OAAO,CAAC,IAAI,CAAC;4BACX,GAAG,EAAE,KAAK,CAAC,GAAG;4BACd,EAAE,EAAE,KAAK,CAAC,OAAO;4BACjB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM,EAAE,KAAK,CAAC,OAAO;yBACtB,CAAC;qBACL,CAAC;aACP,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,CAAC;oBACD,OAAO;wBACL,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;qBACjE,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAK;YACnB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,UAAU,EAAE;oBACV,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;iBAClF;gBACD,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,KAAK;gBACL,GAAG,SAAS;aACb,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../src/loop/transformers.ts"],"names":[],"mappings":"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"}
|
package/dist/loop/warm.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import type { PassSpec } from "../config/types.js";
|
|
|
3
3
|
import type { Journal } from "./journal.js";
|
|
4
4
|
import type { Trace } from "./trace.js";
|
|
5
5
|
/**
|
|
6
|
-
* Run the Project's
|
|
6
|
+
* Run the Project's Ticket warm command in a Ticket workspace.
|
|
7
7
|
*
|
|
8
|
-
* Isolation leaves a cold tree (no `node_modules`)
|
|
9
|
-
*
|
|
8
|
+
* Isolation leaves a cold tree (no `node_modules`). Warming the workspace
|
|
9
|
+
* once Isolation made it means the Builder starts with the install done.
|
|
10
10
|
*/
|
|
11
11
|
export declare function openWarm(input: {
|
|
12
12
|
pass: PassSpec;
|
package/dist/loop/warm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { runSlot } from "./run-slot.js";
|
|
2
2
|
/**
|
|
3
|
-
* Run the Project's
|
|
3
|
+
* Run the Project's Ticket warm command in a Ticket workspace.
|
|
4
4
|
*
|
|
5
|
-
* Isolation leaves a cold tree (no `node_modules`)
|
|
6
|
-
*
|
|
5
|
+
* Isolation leaves a cold tree (no `node_modules`). Warming the workspace
|
|
6
|
+
* once Isolation made it means the Builder starts with the install done.
|
|
7
7
|
*/
|
|
8
8
|
export function openWarm(input) {
|
|
9
9
|
return {
|
|
@@ -25,7 +25,7 @@ export function openWarm(input) {
|
|
|
25
25
|
cwd: workspace,
|
|
26
26
|
timeoutMs: durationMs,
|
|
27
27
|
});
|
|
28
|
-
if (flag
|
|
28
|
+
if (flag?.interrupted) {
|
|
29
29
|
return { outcome: "interrupted" };
|
|
30
30
|
}
|
|
31
31
|
if (run.error !== undefined) {
|
package/dist/loop/warm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warm.js","sourceRoot":"","sources":["../../src/loop/warm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAKxB;IACC,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QAChC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;YACjC,IAAI,IAAI,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;gBACxB,OAAO;gBACP,IAAI;gBACJ,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"warm.js","sourceRoot":"","sources":["../../src/loop/warm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAKxB;IACC,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QAChC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;YACjC,IAAI,IAAI,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;gBACxB,OAAO;gBACP,IAAI;gBACJ,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;oBACpB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;iBAC1B,CAAC,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,QAA8B,EAAE,CAAC;YACrD,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;oBACpB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzC,CAAC,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CACX,MAAM,CAAC,MAAM,GAAG,CAAC;oBACf,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,MAAM,MAAM,EAAE;oBACrD,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,GAAG,CAC7C,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC/B,CAAC;YACD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,KAAK,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/loop/work-line.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type WorkLineInput = {
|
|
|
33
33
|
* - `operators`: no reference is named, so `workLine.stable` is a work line
|
|
34
34
|
* the operator maintains — the fold lands there and that is final.
|
|
35
35
|
* - `unchecked`: a reference is named but this strategy cannot read one, so an
|
|
36
|
-
* explicit `workLine.stable` is taken on trust
|
|
36
|
+
* explicit `workLine.stable` is taken on trust.
|
|
37
37
|
* - `copy`: a reference is named and read. The directory is Host's copy of it,
|
|
38
38
|
* whether the operator chose the path or the default did.
|
|
39
39
|
* - `invalid`: something disagrees, and the run must not start.
|
|
@@ -11,4 +11,15 @@ import type { Finding } from "@bluewombat/manager-kit";
|
|
|
11
11
|
* lock pins.
|
|
12
12
|
*/
|
|
13
13
|
export declare function agentPluginFindings(label: string, argv: readonly string[], workLine: string | undefined): Finding[];
|
|
14
|
+
export type Request = {
|
|
15
|
+
id: string | undefined;
|
|
16
|
+
};
|
|
17
|
+
/** The requests of one `ai-plugin.json`; `undefined` when there is none. */
|
|
18
|
+
export declare function requestsOf(file: string): Request[] | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Why `requests` are not all pinned by `lockFile`, as deck would refuse them.
|
|
21
|
+
* A request whose id deck derives from its source is counted, not named.
|
|
22
|
+
*/
|
|
23
|
+
export declare function unpinnedIn(requests: Request[] | undefined, lockFile: string): string[];
|
|
24
|
+
export declare function isDirectory(path: string): boolean;
|
|
14
25
|
//# sourceMappingURL=agent-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugins.d.ts","sourceRoot":"","sources":["../../src/operator/agent-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,EAAE,CAUX"}
|
|
1
|
+
{"version":3,"file":"agent-plugins.d.ts","sourceRoot":"","sources":["../../src/operator/agent-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,EAAE,CAUX;AAsED,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjD,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAgB9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA8BtF;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMjD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { agentPartOf } from "../config/agent-shorthand.js";
|
|
3
|
+
import { agentPartOf, parseAppDeckProfile } from "../config/agent-shorthand.js";
|
|
4
4
|
/**
|
|
5
5
|
* What an agent pass will start its agent with, checked from the files alone.
|
|
6
6
|
*
|
|
@@ -18,8 +18,8 @@ export function agentPluginFindings(label, argv, workLine) {
|
|
|
18
18
|
for (const dir of part.pluginDirs) {
|
|
19
19
|
findings.push(pluginDirFinding(label, dir));
|
|
20
20
|
}
|
|
21
|
-
if (part.
|
|
22
|
-
findings.push(profileFinding(label, part.
|
|
21
|
+
if (part.appDeckProfile !== undefined) {
|
|
22
|
+
findings.push(profileFinding(label, part.appDeckProfile, workLine));
|
|
23
23
|
}
|
|
24
24
|
return findings;
|
|
25
25
|
}
|
|
@@ -38,8 +38,13 @@ function pluginDirFinding(label, dir) {
|
|
|
38
38
|
}
|
|
39
39
|
return { level: "ok", label: at, detail: dir };
|
|
40
40
|
}
|
|
41
|
-
function profileFinding(label,
|
|
42
|
-
const at = `${label} profile`;
|
|
41
|
+
function profileFinding(label, given, workLine) {
|
|
42
|
+
const at = `${label} app deck profile`;
|
|
43
|
+
const located = parseAppDeckProfile(given);
|
|
44
|
+
if (!located.ok) {
|
|
45
|
+
return { level: "fail", label: at, detail: located.reason };
|
|
46
|
+
}
|
|
47
|
+
const profile = given;
|
|
43
48
|
if (workLine === undefined || !isDirectory(workLine)) {
|
|
44
49
|
return {
|
|
45
50
|
level: "ok",
|
|
@@ -47,8 +52,9 @@ function profileFinding(label, profile, workLine) {
|
|
|
47
52
|
detail: `${profile} — read from the project once the work line exists`,
|
|
48
53
|
};
|
|
49
54
|
}
|
|
50
|
-
const
|
|
51
|
-
const
|
|
55
|
+
const appDir = join(workLine, located.root);
|
|
56
|
+
const base = requestsOf(join(appDir, "ai-plugin.json"));
|
|
57
|
+
const profileRoot = join(appDir, ".ai", "profiles", located.name);
|
|
52
58
|
const own = requestsOf(join(profileRoot, "ai-plugin.json"));
|
|
53
59
|
if (base === undefined && own === undefined) {
|
|
54
60
|
return {
|
|
@@ -58,7 +64,7 @@ function profileFinding(label, profile, workLine) {
|
|
|
58
64
|
};
|
|
59
65
|
}
|
|
60
66
|
const unpinned = [
|
|
61
|
-
...unpinnedIn(base, join(
|
|
67
|
+
...unpinnedIn(base, join(appDir, "ai-plugin.lock.json")),
|
|
62
68
|
...unpinnedIn(own, join(profileRoot, "ai-plugin.lock.json")),
|
|
63
69
|
];
|
|
64
70
|
if (unpinned.length > 0) {
|
|
@@ -82,7 +88,7 @@ function profileFinding(label, profile, workLine) {
|
|
|
82
88
|
};
|
|
83
89
|
}
|
|
84
90
|
/** The requests of one `ai-plugin.json`; `undefined` when there is none. */
|
|
85
|
-
function requestsOf(file) {
|
|
91
|
+
export function requestsOf(file) {
|
|
86
92
|
if (!existsSync(file)) {
|
|
87
93
|
return undefined;
|
|
88
94
|
}
|
|
@@ -104,7 +110,7 @@ function requestsOf(file) {
|
|
|
104
110
|
* Why `requests` are not all pinned by `lockFile`, as deck would refuse them.
|
|
105
111
|
* A request whose id deck derives from its source is counted, not named.
|
|
106
112
|
*/
|
|
107
|
-
function unpinnedIn(requests, lockFile) {
|
|
113
|
+
export function unpinnedIn(requests, lockFile) {
|
|
108
114
|
if (requests === undefined || requests.length === 0) {
|
|
109
115
|
return [];
|
|
110
116
|
}
|
|
@@ -138,7 +144,7 @@ function relativeName(file) {
|
|
|
138
144
|
const at = file.lastIndexOf("/.ai/profiles/");
|
|
139
145
|
return at === -1 ? "ai-plugin.lock.json" : file.slice(at + 1);
|
|
140
146
|
}
|
|
141
|
-
function isDirectory(path) {
|
|
147
|
+
export function isDirectory(path) {
|
|
142
148
|
try {
|
|
143
149
|
return statSync(path).isDirectory();
|
|
144
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugins.js","sourceRoot":"","sources":["../../src/operator/agent-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-plugins.js","sourceRoot":"","sources":["../../src/operator/agent-plugins.ts"],"names":[],"mappings":"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"}
|
package/dist/operator/board.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WorkLedger } from "@bluewombat/work-ledger";
|
|
2
|
-
export type
|
|
2
|
+
export type BoardTicket = {
|
|
3
3
|
key: string;
|
|
4
4
|
project: string;
|
|
5
5
|
state: string;
|
|
@@ -7,13 +7,8 @@ export type BoardFeature = {
|
|
|
7
7
|
received_at: number;
|
|
8
8
|
bail_expires_at?: number;
|
|
9
9
|
attempts_used?: number;
|
|
10
|
-
subtasks?: {
|
|
11
|
-
id: string;
|
|
12
|
-
state: string;
|
|
13
|
-
}[];
|
|
14
10
|
escalation?: {
|
|
15
11
|
kind: string;
|
|
16
|
-
subtask_id?: string;
|
|
17
12
|
};
|
|
18
13
|
invalid?: {
|
|
19
14
|
code: string;
|
|
@@ -30,6 +25,6 @@ export type BoardFeature = {
|
|
|
30
25
|
};
|
|
31
26
|
line: string;
|
|
32
27
|
};
|
|
33
|
-
export declare function boardOf(ledger: WorkLedger): Promise<
|
|
34
|
-
export declare function jsonOf(rows:
|
|
28
|
+
export declare function boardOf(ledger: WorkLedger): Promise<BoardTicket[]>;
|
|
29
|
+
export declare function jsonOf(rows: BoardTicket[]): unknown;
|
|
35
30
|
//# sourceMappingURL=board.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/operator/board.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/operator/board.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1F,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,cAAc,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAQxE;AAsDD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAEnD"}
|
package/dist/operator/board.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { describeTicket } from "../loop/trace.js";
|
|
2
2
|
export async function boardOf(ledger) {
|
|
3
3
|
const summaries = await ledger.list();
|
|
4
4
|
const rows = [];
|
|
@@ -30,22 +30,13 @@ function rowOf(aggregate) {
|
|
|
30
30
|
priority: aggregate.intention.priority,
|
|
31
31
|
received_at: aggregate.received_at,
|
|
32
32
|
attempts_used: aggregate.attempts_used,
|
|
33
|
-
line:
|
|
33
|
+
line: describeTicket(aggregate),
|
|
34
34
|
};
|
|
35
35
|
if (aggregate.bail !== undefined) {
|
|
36
36
|
row.bail_expires_at = aggregate.bail.expires_at;
|
|
37
37
|
}
|
|
38
|
-
if (aggregate.plan !== undefined) {
|
|
39
|
-
row.subtasks = aggregate.plan.subtasks.map((subtask) => ({
|
|
40
|
-
id: subtask.id,
|
|
41
|
-
state: subtask.state,
|
|
42
|
-
}));
|
|
43
|
-
}
|
|
44
38
|
if (aggregate.escalation !== undefined) {
|
|
45
39
|
row.escalation = { kind: aggregate.escalation.kind };
|
|
46
|
-
if (aggregate.escalation.subtask_id !== undefined) {
|
|
47
|
-
row.escalation.subtask_id = aggregate.escalation.subtask_id;
|
|
48
|
-
}
|
|
49
40
|
}
|
|
50
41
|
if (aggregate.invalid !== undefined) {
|
|
51
42
|
row.invalid = { code: aggregate.invalid.code, reason: aggregate.invalid.reason };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/operator/board.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/operator/board.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export type CancelInput = {
|
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* Abandon one
|
|
11
|
+
* Abandon one Ticket by key.
|
|
12
12
|
*
|
|
13
|
-
* The team still abandons in the
|
|
13
|
+
* The team still abandons in the TicketTracker. This is the hatch when the
|
|
14
14
|
* tracker cannot say the intention is gone — a manager with no `probe`, or
|
|
15
15
|
* an operator who already knows — and the ledger would otherwise freeze the
|
|
16
16
|
* Project. It takes the ledger lock: stop `run` first if it holds it.
|