@12ui/design 0.2.61 → 0.2.63
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/SKILL.md +1 -1
- package/dist/branch-dispatch-loop.d.ts.map +1 -1
- package/dist/branch-dispatch-loop.js +117 -45
- package/dist/branch-dispatch-loop.js.map +1 -1
- package/dist/branch-run-observation.d.ts +7 -0
- package/dist/branch-run-observation.d.ts.map +1 -0
- package/dist/branch-run-observation.js +28 -0
- package/dist/branch-run-observation.js.map +1 -0
- package/dist/cli-corpus-command.d.ts.map +1 -1
- package/dist/cli-corpus-command.js +105 -68
- package/dist/cli-corpus-command.js.map +1 -1
- package/dist/cli-draft-command.d.ts +6 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +33 -2
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +4 -4
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +5 -3
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +4 -4
- package/dist/cli-improve-command.d.ts.map +1 -1
- package/dist/cli-improve-command.js +17 -1
- package/dist/cli-improve-command.js.map +1 -1
- package/dist/cli-usage.js +2 -2
- package/dist/corpus-client.d.ts +21 -15
- package/dist/corpus-client.d.ts.map +1 -1
- package/dist/corpus-client.js +15 -14
- package/dist/corpus-client.js.map +1 -1
- package/dist/corpus-reference-download-retry.d.ts +2 -2
- package/dist/corpus-reference-download-retry.js +2 -2
- package/dist/draft-identity.d.ts +9 -0
- package/dist/draft-identity.d.ts.map +1 -1
- package/dist/draft-identity.js +1 -0
- package/dist/draft-identity.js.map +1 -1
- package/dist/draft-run.d.ts +58 -8
- package/dist/draft-run.d.ts.map +1 -1
- package/dist/draft-run.js +80 -19
- package/dist/draft-run.js.map +1 -1
- package/dist/draft-workspace.d.ts +10 -0
- package/dist/draft-workspace.d.ts.map +1 -1
- package/dist/draft-workspace.js.map +1 -1
- package/dist/improve-core/improve-dom-gate.d.ts +24 -0
- package/dist/improve-core/improve-dom-gate.d.ts.map +1 -1
- package/dist/improve-core/improve-dom-gate.js +15 -0
- package/dist/improve-core/improve-dom-gate.js.map +1 -1
- package/dist/improve-core/improve-site-plan.d.ts +12 -1
- package/dist/improve-core/improve-site-plan.d.ts.map +1 -1
- package/dist/improve-core/improve-site-plan.js +12 -1
- package/dist/improve-core/improve-site-plan.js.map +1 -1
- package/dist/improve-delivery-stages.d.ts.map +1 -1
- package/dist/improve-delivery-stages.js +13 -2
- package/dist/improve-delivery-stages.js.map +1 -1
- package/dist/improve-dom-gate.d.ts +1 -1
- package/dist/improve-dom-gate.d.ts.map +1 -1
- package/dist/improve-dom-gate.js +1 -1
- package/dist/improve-dom-gate.js.map +1 -1
- package/dist/improve-generation-stages.d.ts.map +1 -1
- package/dist/improve-generation-stages.js +4 -0
- package/dist/improve-generation-stages.js.map +1 -1
- package/dist/improve-kit-status.d.ts.map +1 -1
- package/dist/improve-kit-status.js +14 -0
- package/dist/improve-kit-status.js.map +1 -1
- package/dist/improve-options.d.ts +13 -0
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +31 -1
- package/dist/improve-options.js.map +1 -1
- package/dist/improve-recheck-report.d.ts +26 -0
- package/dist/improve-recheck-report.d.ts.map +1 -0
- package/dist/improve-recheck-report.js +56 -0
- package/dist/improve-recheck-report.js.map +1 -0
- package/dist/improve-recheck.d.ts.map +1 -1
- package/dist/improve-recheck.js +4 -37
- package/dist/improve-recheck.js.map +1 -1
- package/dist/improve-run-summary.d.ts.map +1 -1
- package/dist/improve-run-summary.js +3 -3
- package/dist/improve-run-summary.js.map +1 -1
- package/dist/improve-site-plan.d.ts +2 -0
- package/dist/improve-site-plan.d.ts.map +1 -1
- package/dist/improve-site-plan.js.map +1 -1
- package/dist/improve-site-stage.d.ts.map +1 -1
- package/dist/improve-site-stage.js +2 -0
- package/dist/improve-site-stage.js.map +1 -1
- package/dist/improve-spend-ledger.d.ts +30 -9
- package/dist/improve-spend-ledger.d.ts.map +1 -1
- package/dist/improve-spend-ledger.js +135 -33
- package/dist/improve-spend-ledger.js.map +1 -1
- package/dist/improve-workspace.d.ts +35 -8
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +2 -0
- package/dist/improve-workspace.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +14 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-tool-definitions.d.ts.map +1 -1
- package/dist/mcp-tool-definitions.js +2 -1
- package/dist/mcp-tool-definitions.js.map +1 -1
- package/dist/mcp-tool-handler.d.ts.map +1 -1
- package/dist/mcp-tool-handler.js +13 -5
- package/dist/mcp-tool-handler.js.map +1 -1
- package/dist/reference-search-mode.d.ts +84 -0
- package/dist/reference-search-mode.d.ts.map +1 -0
- package/dist/reference-search-mode.js +88 -0
- package/dist/reference-search-mode.js.map +1 -0
- package/dist/run-journal-in-flight.d.ts.map +1 -1
- package/dist/run-journal-in-flight.js +0 -0
- package/dist/run-journal-in-flight.js.map +1 -1
- package/dist/run-journal-unfinished.d.ts +1 -1
- package/dist/run-journal-unfinished.d.ts.map +1 -1
- package/dist/run-journal-unfinished.js +2 -3
- package/dist/run-journal-unfinished.js.map +1 -1
- package/dist/run-journal.d.ts +15 -0
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +32 -3
- package/dist/run-journal.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/skills/12ui-design/inspire.md +3 -1
package/SKILL.md
CHANGED
|
@@ -28,7 +28,7 @@ dispatch paid work when it is absent, rejected, or times out.
|
|
|
28
28
|
Use `12ui` when it is available on `PATH`. Otherwise invoke the pinned CLI that
|
|
29
29
|
the plugin's `open-design.json` MCP entry uses:
|
|
30
30
|
|
|
31
|
-
npx -y @12ui/design@0.2.
|
|
31
|
+
npx -y @12ui/design@0.2.63 <command> ...
|
|
32
32
|
|
|
33
33
|
Run `12ui auth status --json` (or its pinned `npx` equivalent) before the paid
|
|
34
34
|
preflight. A desktop user can authenticate with `12ui auth login`; a headless
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-dispatch-loop.d.ts","sourceRoot":"","sources":["../src/branch-dispatch-loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"branch-dispatch-loop.d.ts","sourceRoot":"","sources":["../src/branch-dispatch-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { observeBranchRun } from './branch-run-observation.js';
|
|
1
2
|
import { BranchApiError } from './branch-client.js';
|
|
2
3
|
import { branchBlockedSlots, branchDispatchableSlots, branchRunSettled, } from './branch-schedule.js';
|
|
3
4
|
import { applyBranchEnvelope } from './branch-plan.js';
|
|
@@ -31,6 +32,7 @@ const TERMINAL_CODES = new Set([
|
|
|
31
32
|
// only reaches a raw caller — but an unkeyed request refused once is refused
|
|
32
33
|
// identically forever, so holding the slot would spin. Stop the run.
|
|
33
34
|
'idempotency_key_required',
|
|
35
|
+
'run_state_invalid',
|
|
34
36
|
]);
|
|
35
37
|
const scheduleView = (plan) => (plan.screens.map((screen) => ({
|
|
36
38
|
slot: screen.slot,
|
|
@@ -49,12 +51,53 @@ export const runBranchDispatch = async (args) => {
|
|
|
49
51
|
const deadline = now() + (args.timeoutMs ?? BRANCH_RUN_TIMEOUT_MS);
|
|
50
52
|
let plan = args.plan;
|
|
51
53
|
let stopped = null;
|
|
54
|
+
let observing = true;
|
|
55
|
+
let signalStop;
|
|
56
|
+
const interruption = new Promise((resolve) => { signalStop = resolve; });
|
|
57
|
+
const stopObservation = (stop) => {
|
|
58
|
+
stopped ??= stop;
|
|
59
|
+
signalStop(stop);
|
|
60
|
+
};
|
|
61
|
+
const cancelObservation = () => stopObservation({ code: 'aborted', message: 'Branch run observation was cancelled.' });
|
|
62
|
+
args.signal?.addEventListener('abort', cancelObservation, { once: true });
|
|
63
|
+
if (args.signal?.aborted)
|
|
64
|
+
cancelObservation();
|
|
65
|
+
const deadlineTimer = setTimeout(() => stopObservation({
|
|
66
|
+
code: 'run_timeout',
|
|
67
|
+
message: `Branch run ${plan.runId} did not settle within the run budget.`,
|
|
68
|
+
}), Math.max(0, deadline - now()));
|
|
52
69
|
const inFlight = new Set();
|
|
53
70
|
const heldUntil = {};
|
|
54
71
|
const active = new Set();
|
|
55
72
|
const announcedBlocked = new Set();
|
|
56
73
|
const dispatchedAt = {};
|
|
57
74
|
const snapshot = () => args.onSnapshot?.({ plan, dispatchedAt });
|
|
75
|
+
const applyEnvelope = (envelope, observed = false) => {
|
|
76
|
+
const previous = new Map(plan.screens.map((screen) => [screen.slot, screen]));
|
|
77
|
+
const next = applyBranchEnvelope(plan, envelope);
|
|
78
|
+
plan = {
|
|
79
|
+
...next,
|
|
80
|
+
screens: next.screens.map((screen) => {
|
|
81
|
+
const before = previous.get(screen.slot);
|
|
82
|
+
if (before?.status === 'succeeded' && (screen.status === 'pending' || screen.status === 'dispatched')) {
|
|
83
|
+
return { ...screen, status: 'succeeded' };
|
|
84
|
+
}
|
|
85
|
+
if (screen.status !== 'pending' || !before || before.status === 'pending')
|
|
86
|
+
return screen;
|
|
87
|
+
if (before.status === 'failed') {
|
|
88
|
+
return { ...screen, status: before.status, ...(before.error ? { error: before.error } : {}) };
|
|
89
|
+
}
|
|
90
|
+
if (observed && !inFlight.has(screen.slot)) {
|
|
91
|
+
stopped ??= {
|
|
92
|
+
code: 'dispatch_unconfirmed',
|
|
93
|
+
message: `Run ${plan.runId} still reports ${screen.slot} as pending. Resume this run to continue the same attempt.`,
|
|
94
|
+
};
|
|
95
|
+
return screen;
|
|
96
|
+
}
|
|
97
|
+
return { ...screen, status: 'dispatched' };
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
};
|
|
58
101
|
const markDispatched = (slot) => {
|
|
59
102
|
plan = {
|
|
60
103
|
...plan,
|
|
@@ -102,7 +145,9 @@ export const runBranchDispatch = async (args) => {
|
|
|
102
145
|
const envelope = await args.client.dispatchScreen(plan.runId, slot, {
|
|
103
146
|
...(args.signal ? { signal: args.signal } : {}),
|
|
104
147
|
});
|
|
105
|
-
|
|
148
|
+
if (!observing)
|
|
149
|
+
return;
|
|
150
|
+
applyEnvelope(envelope);
|
|
106
151
|
const resolved = plan.screens.find((screen) => screen.slot === slot);
|
|
107
152
|
if (resolved?.status === 'succeeded')
|
|
108
153
|
emit({ kind: 'succeeded', slot });
|
|
@@ -116,6 +161,8 @@ export const runBranchDispatch = async (args) => {
|
|
|
116
161
|
}
|
|
117
162
|
}
|
|
118
163
|
catch (error) {
|
|
164
|
+
if (!observing)
|
|
165
|
+
return;
|
|
119
166
|
const code = error instanceof BranchApiError ? error.code : 'error';
|
|
120
167
|
const message = error instanceof Error ? error.message : String(error);
|
|
121
168
|
if (code === 'dependency_pending' || code === 'footer_reference_pending') {
|
|
@@ -132,12 +179,14 @@ export const runBranchDispatch = async (args) => {
|
|
|
132
179
|
: {}),
|
|
133
180
|
});
|
|
134
181
|
}
|
|
135
|
-
else if (code === 'candidate_in_flight'
|
|
136
|
-
|
|
137
|
-
|
|
182
|
+
else if (code === 'candidate_in_flight'
|
|
183
|
+
|| !(error instanceof BranchApiError)
|
|
184
|
+
|| error.status === 0 || error.status === 408 || (error.status >= 500 && error.code !== 'run_state_invalid')) {
|
|
185
|
+
// A lost response does not prove failure. Keep the same attempt in
|
|
186
|
+
// flight until the durable run reports its outcome.
|
|
138
187
|
emit({ kind: 'in-flight', slot });
|
|
139
188
|
}
|
|
140
|
-
else if (TERMINAL_CODES.has(code)
|
|
189
|
+
else if (TERMINAL_CODES.has(code)) {
|
|
141
190
|
markPending(slot);
|
|
142
191
|
stopped ??= { code, message };
|
|
143
192
|
}
|
|
@@ -148,14 +197,20 @@ export const runBranchDispatch = async (args) => {
|
|
|
148
197
|
}
|
|
149
198
|
finally {
|
|
150
199
|
inFlight.delete(slot);
|
|
151
|
-
|
|
200
|
+
if (observing)
|
|
201
|
+
snapshot();
|
|
152
202
|
}
|
|
153
203
|
};
|
|
154
204
|
const poll = async () => {
|
|
155
205
|
try {
|
|
156
|
-
|
|
206
|
+
applyEnvelope(await observeBranchRun(args.client, plan.runId, {
|
|
207
|
+
signal: args.signal,
|
|
208
|
+
timeoutMs: Math.max(1, Math.min(30_000, deadline - now())),
|
|
209
|
+
}), true);
|
|
157
210
|
}
|
|
158
211
|
catch (error) {
|
|
212
|
+
if (!observing)
|
|
213
|
+
return;
|
|
159
214
|
const code = error instanceof BranchApiError ? error.code : 'error';
|
|
160
215
|
if (TERMINAL_CODES.has(code))
|
|
161
216
|
stopped ??= { code, message: error.message };
|
|
@@ -165,47 +220,64 @@ export const runBranchDispatch = async (args) => {
|
|
|
165
220
|
const tracked = promise.finally(() => { active.delete(tracked); });
|
|
166
221
|
active.add(tracked);
|
|
167
222
|
};
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
code: '
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
|
|
223
|
+
try {
|
|
224
|
+
while (plan.screens.length > 0 && !branchRunSettled(scheduleView(plan))) {
|
|
225
|
+
if (stopped)
|
|
226
|
+
break;
|
|
227
|
+
if (args.signal?.aborted) {
|
|
228
|
+
stopped = { code: 'aborted', message: 'Branch run observation was cancelled.' };
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
if (now() >= deadline) {
|
|
232
|
+
stopped = {
|
|
233
|
+
code: 'run_timeout',
|
|
234
|
+
message: `Branch run ${plan.runId} did not settle within the run budget.`,
|
|
235
|
+
};
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
announceBlocked();
|
|
239
|
+
for (const slot of branchDispatchableSlots(scheduleView(plan), {
|
|
240
|
+
inFlight,
|
|
241
|
+
heldUntil,
|
|
242
|
+
now: now(),
|
|
243
|
+
})) {
|
|
244
|
+
track(dispatch(slot));
|
|
245
|
+
}
|
|
246
|
+
// Every turn publishes a snapshot, changed or not: a poller that sees only
|
|
247
|
+
// "nothing yet" is the one that gives up and improvises.
|
|
248
|
+
snapshot();
|
|
249
|
+
if (active.size > 0) {
|
|
250
|
+
await Promise.race([...active, sleep(pumpIntervalMs), interruption]);
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
// Nothing of ours is running. Either a sibling caller owns a slot, or every
|
|
254
|
+
// remaining screen is inside its gate backoff; both resolve by waiting and
|
|
255
|
+
// re-reading rather than by dispatching again.
|
|
256
|
+
await poll();
|
|
257
|
+
if (stopped || branchRunSettled(scheduleView(plan)))
|
|
258
|
+
break;
|
|
259
|
+
const nextOffer = Math.min(...Object.values(heldUntil).filter((until) => until > now()), now() + pollIntervalMs);
|
|
260
|
+
await Promise.race([
|
|
261
|
+
sleep(Math.max(pumpIntervalMs, Math.min(pollIntervalMs, nextOffer - now()))),
|
|
262
|
+
interruption,
|
|
263
|
+
]);
|
|
177
264
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
now: now(),
|
|
183
|
-
})) {
|
|
184
|
-
track(dispatch(slot));
|
|
265
|
+
// Preserve paid work, but local waiting ends at its deadline or cancellation.
|
|
266
|
+
// Late replies cannot publish after the caller receives its unresolved handle.
|
|
267
|
+
if (stopped?.code !== 'run_timeout' && stopped?.code !== 'aborted') {
|
|
268
|
+
await Promise.race([Promise.allSettled([...active]), interruption]);
|
|
185
269
|
}
|
|
186
|
-
|
|
187
|
-
|
|
270
|
+
observing = false;
|
|
271
|
+
announceBlocked();
|
|
188
272
|
snapshot();
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if (stopped || branchRunSettled(scheduleView(plan)))
|
|
198
|
-
break;
|
|
199
|
-
const nextOffer = Math.min(...Object.values(heldUntil).filter((until) => until > now()), now() + pollIntervalMs);
|
|
200
|
-
await sleep(Math.max(pumpIntervalMs, Math.min(pollIntervalMs, nextOffer - now())));
|
|
273
|
+
if (stopped)
|
|
274
|
+
emit({ kind: 'stopped', ...stopped });
|
|
275
|
+
return { plan, stopped };
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
observing = false;
|
|
279
|
+
clearTimeout(deadlineTimer);
|
|
280
|
+
args.signal?.removeEventListener('abort', cancelObservation);
|
|
201
281
|
}
|
|
202
|
-
// Whatever ended the loop, in-flight work still owns paid calls; let it land
|
|
203
|
-
// so its result reaches the sentinel instead of being lost.
|
|
204
|
-
await Promise.allSettled([...active]);
|
|
205
|
-
announceBlocked();
|
|
206
|
-
snapshot();
|
|
207
|
-
if (stopped)
|
|
208
|
-
emit({ kind: 'stopped', ...stopped });
|
|
209
|
-
return { plan, stopped };
|
|
210
282
|
};
|
|
211
283
|
//# sourceMappingURL=branch-dispatch-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-dispatch-loop.js","sourceRoot":"","sources":["../src/branch-dispatch-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch-dispatch-loop.js","sourceRoot":"","sources":["../src/branch-dispatch-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type BranchRunEnvelope, type TwelveUiBranchClient } from './branch-client.js';
|
|
2
|
+
/** A stuck read must not hide cancellation or the dispatch loop's deadline. */
|
|
3
|
+
export declare const observeBranchRun: (client: TwelveUiBranchClient, runId: string, options: {
|
|
4
|
+
signal?: AbortSignal;
|
|
5
|
+
timeoutMs: number;
|
|
6
|
+
}) => Promise<BranchRunEnvelope>;
|
|
7
|
+
//# sourceMappingURL=branch-run-observation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-run-observation.d.ts","sourceRoot":"","sources":["../src/branch-run-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEvG,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,oBAAoB,EAC5B,OAAO,MAAM,EACb,SAAS;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KACnD,OAAO,CAAC,iBAAiB,CAsB3B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BranchApiError } from './branch-client.js';
|
|
2
|
+
/** A stuck read must not hide cancellation or the dispatch loop's deadline. */
|
|
3
|
+
export const observeBranchRun = async (client, runId, options) => {
|
|
4
|
+
const controller = new AbortController();
|
|
5
|
+
let timer;
|
|
6
|
+
let abort = () => undefined;
|
|
7
|
+
const interruption = new Promise((_resolve, reject) => {
|
|
8
|
+
abort = () => {
|
|
9
|
+
controller.abort();
|
|
10
|
+
reject(new BranchApiError('Run observation was cancelled.', 0, 'aborted'));
|
|
11
|
+
};
|
|
12
|
+
options.signal?.addEventListener('abort', abort, { once: true });
|
|
13
|
+
if (options.signal?.aborted)
|
|
14
|
+
abort();
|
|
15
|
+
timer = setTimeout(() => {
|
|
16
|
+
controller.abort();
|
|
17
|
+
reject(new BranchApiError('The run status request timed out.', 0, 'observation_timeout'));
|
|
18
|
+
}, options.timeoutMs);
|
|
19
|
+
});
|
|
20
|
+
try {
|
|
21
|
+
return await Promise.race([client.getRun(runId, controller.signal), interruption]);
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
options.signal?.removeEventListener('abort', abort);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=branch-run-observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-run-observation.js","sourceRoot":"","sources":["../src/branch-run-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqD,MAAM,oBAAoB,CAAC;AAEvG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAA4B,EAC5B,KAAa,EACb,OAAoD,EACxB,EAAE;IAC9B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAgD,CAAC;IACrD,IAAI,KAAK,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC3D,KAAK,GAAG,GAAG,EAAE;YACX,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,cAAc,CAAC,gCAAgC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,KAAK,EAAE,CAAC;QACrC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,cAAc,CAAC,mCAAmC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC5F,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACrF,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-corpus-command.d.ts","sourceRoot":"","sources":["../src/cli-corpus-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM5E,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKnD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,KAAK,yBAAyB,GAAG;IAC/B,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACxC,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,iBAAiB,CAAC;CACtF,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-corpus-command.d.ts","sourceRoot":"","sources":["../src/cli-corpus-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM5E,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKnD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,KAAK,yBAAyB,GAAG;IAC/B,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACxC,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,iBAAiB,CAAC;CACtF,CAAC;AAgDF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc,yBAGb,KACA,OAAO,CAAC,mBAAmB,CAoG7B,CAAC"}
|
|
@@ -4,7 +4,8 @@ import { booleanFlag, stringFlag } from './cli-arguments.js';
|
|
|
4
4
|
import { CliRefusal } from './cli-refusal.js';
|
|
5
5
|
import { downloadCorpusInspiration, resumeCorpusInspiration, } from './cli-corpus-run.js';
|
|
6
6
|
import { INSPIRATION_MANIFEST_FILE, } from './cli-corpus-types.js';
|
|
7
|
-
import {
|
|
7
|
+
import { INSPIRATION_MODES, TwelveUiCorpusClient, } from './corpus-client.js';
|
|
8
|
+
import { referenceSearchMode } from './reference-search-mode.js';
|
|
8
9
|
import { readConversionConfig } from './config.js';
|
|
9
10
|
import { usageRefusal } from './cli-usage.js';
|
|
10
11
|
import { loadCorpusReferenceImage } from './cli-corpus-reference-image.js';
|
|
@@ -20,13 +21,31 @@ const positiveInteger = (value, fallback, name) => {
|
|
|
20
21
|
}
|
|
21
22
|
return parsed;
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/**
|
|
25
|
+
* `--mode`, else what the corpus will serve for this query.
|
|
26
|
+
*
|
|
27
|
+
* A text-only query takes the CLI-wide default, hedge. A query carrying
|
|
28
|
+
* `--reference-image` takes `REFERENCE_IMAGE_SEARCH_MODE`, and an explicit
|
|
29
|
+
* `--mode hedge` against one is refused here: the corpus 400s a hedge query
|
|
30
|
+
* that carries an image, and until this the combination resolved to hedge,
|
|
31
|
+
* failed at the service, and surfaced as an ambiguous-response message plus a
|
|
32
|
+
* `12ui corpus resume` loop that replayed the same 400. Released 0.2.61 still
|
|
33
|
+
* behaves that way; this is the fix.
|
|
34
|
+
*/
|
|
35
|
+
const inspirationMode = (value, referenceImage) => {
|
|
36
|
+
if (value !== undefined && !INSPIRATION_MODES.includes(value)) {
|
|
37
|
+
throw new Error(`--mode must be one of: ${INSPIRATION_MODES.join(', ')}`);
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
return referenceSearchMode({
|
|
41
|
+
...(value !== undefined ? { override: value } : {}),
|
|
42
|
+
referenceImage,
|
|
43
|
+
flag: '--mode',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new CliRefusal(error.message, 'corpus_mode_reference_image');
|
|
28
48
|
}
|
|
29
|
-
throw new Error(`--mode must be one of: ${INSPIRATION_MODES.join(', ')}`);
|
|
30
49
|
};
|
|
31
50
|
const readQuery = async (flags) => {
|
|
32
51
|
const query = stringFlag(flags, 'query')?.trim();
|
|
@@ -39,6 +58,60 @@ const readQuery = async (flags) => {
|
|
|
39
58
|
throw new Error('The corpus inspiration query must not be empty');
|
|
40
59
|
return value;
|
|
41
60
|
};
|
|
61
|
+
/** The command's stdout contract, shared by both actions. */
|
|
62
|
+
const reportCorpusSet = (outDir, manifest) => {
|
|
63
|
+
const summary = {
|
|
64
|
+
setId: manifest.response.setId,
|
|
65
|
+
mode: manifest.response.mode,
|
|
66
|
+
seed: manifest.response.seed,
|
|
67
|
+
outDir: path.resolve(outDir),
|
|
68
|
+
manifest: path.join(path.resolve(outDir), INSPIRATION_MANIFEST_FILE),
|
|
69
|
+
references: manifest.references,
|
|
70
|
+
};
|
|
71
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
72
|
+
return { setId: summary.setId, outDir: summary.outDir, manifest: summary.manifest };
|
|
73
|
+
};
|
|
74
|
+
/** `12ui corpus resume`: no mode, no query, and nothing paid. */
|
|
75
|
+
const resumeAction = async (args) => {
|
|
76
|
+
const progress = createLongRunningProgress({
|
|
77
|
+
label: 'corpus resume',
|
|
78
|
+
typicalSeconds: OPERATION_DURATION_HINTS.corpusResume,
|
|
79
|
+
quiet: args.quiet,
|
|
80
|
+
});
|
|
81
|
+
progress.brief({
|
|
82
|
+
request: 'corpus resume: recover an inspiration set already retrieved',
|
|
83
|
+
free: 'the recorded search replays free; only missing downloads are fetched',
|
|
84
|
+
done: `reference images + ${INSPIRATION_MANIFEST_FILE} in ${path.resolve(args.outDir)}`,
|
|
85
|
+
// Typically seconds; the quick-scope rule suppresses a numeric quote.
|
|
86
|
+
expectation: { typicalSeconds: OPERATION_DURATION_HINTS.corpusResume },
|
|
87
|
+
blocking: true,
|
|
88
|
+
});
|
|
89
|
+
progress.update({ stage: 'prepare' });
|
|
90
|
+
try {
|
|
91
|
+
const manifest = await resumeCorpusInspiration({
|
|
92
|
+
client: args.client,
|
|
93
|
+
outDir: args.outDir,
|
|
94
|
+
origin: args.origin,
|
|
95
|
+
onProgress: progress.update,
|
|
96
|
+
});
|
|
97
|
+
progress.finish('succeeded', {
|
|
98
|
+
artifacts: [{
|
|
99
|
+
name: 'inspiration set',
|
|
100
|
+
state: `recovered free (${manifest.references.length} reference(s))`,
|
|
101
|
+
path: path.join(path.resolve(args.outDir), INSPIRATION_MANIFEST_FILE),
|
|
102
|
+
}],
|
|
103
|
+
spend: 'nothing new — the recorded search was replayed',
|
|
104
|
+
});
|
|
105
|
+
return reportCorpusSet(args.outDir, manifest);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
progress.finish('stopped', {
|
|
109
|
+
detail: error instanceof Error ? error.message : String(error),
|
|
110
|
+
next: `re-run 12ui corpus resume --out-dir ${path.resolve(args.outDir)}; the replay stays free`,
|
|
111
|
+
});
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
42
115
|
export const runCorpusCommand = async (action, flags, dependencies = {
|
|
43
116
|
readConfig: readConversionConfig,
|
|
44
117
|
createClient: (config) => new TwelveUiCorpusClient(config),
|
|
@@ -68,79 +141,43 @@ export const runCorpusCommand = async (action, flags, dependencies = {
|
|
|
68
141
|
apiKey: stringFlag(flags, 'api-key'),
|
|
69
142
|
});
|
|
70
143
|
const client = dependencies.createClient(config);
|
|
144
|
+
const quiet = booleanFlag(flags, 'quiet');
|
|
145
|
+
if (action === 'resume') {
|
|
146
|
+
return await resumeAction({ client, outDir, origin: config.origin, quiet });
|
|
147
|
+
}
|
|
148
|
+
// Every refusal that reads only the caller's own flags lands BEFORE the
|
|
149
|
+
// progress brief, which quotes `paid: one corpus search request`. Quoting a
|
|
150
|
+
// price for a search the caller can never be sold is the one thing a
|
|
151
|
+
// flag-parse refusal exists to prevent: an unservable mode, an out-of-range
|
|
152
|
+
// `--count`, and a missing or empty query all used to print that line first.
|
|
153
|
+
// Splitting resume out above is what makes the order structural rather than
|
|
154
|
+
// remembered. `--reference-image` is deliberately NOT in that set: it may be
|
|
155
|
+
// a remote URL, so loading it is real work the brief is entitled to cover.
|
|
156
|
+
const referenceImagePath = stringFlag(flags, 'reference-image')?.trim();
|
|
157
|
+
const mode = inspirationMode(stringFlag(flags, 'mode'), Boolean(referenceImagePath));
|
|
158
|
+
const count = positiveInteger(stringFlag(flags, 'count'), 4, 'count');
|
|
159
|
+
if (count > 48)
|
|
160
|
+
throw new CliRefusal('--count must be at most 48', 'corpus_count_invalid');
|
|
161
|
+
const query = await readQuery(flags);
|
|
71
162
|
const progress = createLongRunningProgress({
|
|
72
|
-
label:
|
|
73
|
-
typicalSeconds:
|
|
74
|
-
|
|
75
|
-
: OPERATION_DURATION_HINTS.corpusResume,
|
|
76
|
-
quiet: booleanFlag(flags, 'quiet'),
|
|
163
|
+
label: 'corpus inspire',
|
|
164
|
+
typicalSeconds: OPERATION_DURATION_HINTS.corpusInspire,
|
|
165
|
+
quiet,
|
|
77
166
|
});
|
|
78
167
|
progress.brief({
|
|
79
|
-
request:
|
|
80
|
-
|
|
81
|
-
: 'corpus resume: recover an inspiration set already retrieved',
|
|
82
|
-
...(action === 'inspire'
|
|
83
|
-
? { paid: 'one corpus search request' }
|
|
84
|
-
: { free: 'the recorded search replays free; only missing downloads are fetched' }),
|
|
168
|
+
request: 'corpus inspire: retrieve one inspiration set',
|
|
169
|
+
paid: 'one corpus search request',
|
|
85
170
|
done: `reference images + ${INSPIRATION_MANIFEST_FILE} in ${path.resolve(outDir)}`,
|
|
86
171
|
// Typically seconds; the quick-scope rule suppresses a numeric quote.
|
|
87
|
-
expectation: {
|
|
88
|
-
typicalSeconds: action === 'inspire'
|
|
89
|
-
? OPERATION_DURATION_HINTS.corpusInspire
|
|
90
|
-
: OPERATION_DURATION_HINTS.corpusResume,
|
|
91
|
-
},
|
|
172
|
+
expectation: { typicalSeconds: OPERATION_DURATION_HINTS.corpusInspire },
|
|
92
173
|
blocking: true,
|
|
93
174
|
});
|
|
94
175
|
progress.update({ stage: 'prepare' });
|
|
95
|
-
const report = (manifest) => {
|
|
96
|
-
const summary = {
|
|
97
|
-
setId: manifest.response.setId,
|
|
98
|
-
mode: manifest.response.mode,
|
|
99
|
-
seed: manifest.response.seed,
|
|
100
|
-
outDir: path.resolve(outDir),
|
|
101
|
-
manifest: path.join(path.resolve(outDir), INSPIRATION_MANIFEST_FILE),
|
|
102
|
-
references: manifest.references,
|
|
103
|
-
};
|
|
104
|
-
console.log(JSON.stringify(summary, null, 2));
|
|
105
|
-
return { setId: summary.setId, outDir: summary.outDir, manifest: summary.manifest };
|
|
106
|
-
};
|
|
107
|
-
if (action === 'resume') {
|
|
108
|
-
try {
|
|
109
|
-
const manifest = await resumeCorpusInspiration({
|
|
110
|
-
client,
|
|
111
|
-
outDir,
|
|
112
|
-
origin: config.origin,
|
|
113
|
-
onProgress: progress.update,
|
|
114
|
-
});
|
|
115
|
-
progress.finish('succeeded', {
|
|
116
|
-
artifacts: [{
|
|
117
|
-
name: 'inspiration set',
|
|
118
|
-
state: `recovered free (${manifest.references.length} reference(s))`,
|
|
119
|
-
path: path.join(path.resolve(outDir), INSPIRATION_MANIFEST_FILE),
|
|
120
|
-
}],
|
|
121
|
-
spend: 'nothing new — the recorded search was replayed',
|
|
122
|
-
});
|
|
123
|
-
return report(manifest);
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
progress.finish('stopped', {
|
|
127
|
-
detail: error instanceof Error ? error.message : String(error),
|
|
128
|
-
next: `re-run 12ui corpus resume --out-dir ${path.resolve(outDir)}; the replay stays free`,
|
|
129
|
-
});
|
|
130
|
-
throw error;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
const count = positiveInteger(stringFlag(flags, 'count'), 4, 'count');
|
|
134
|
-
if (count > 48)
|
|
135
|
-
throw new CliRefusal('--count must be at most 48', 'corpus_count_invalid');
|
|
136
|
-
const mode = inspirationMode(stringFlag(flags, 'mode'));
|
|
137
|
-
const query = await readQuery(flags);
|
|
138
176
|
const request = {
|
|
139
177
|
q: query,
|
|
140
178
|
mode,
|
|
141
179
|
k: count,
|
|
142
180
|
};
|
|
143
|
-
const referenceImagePath = stringFlag(flags, 'reference-image')?.trim();
|
|
144
181
|
const referenceImage = referenceImagePath
|
|
145
182
|
? await loadCorpusReferenceImage(referenceImagePath)
|
|
146
183
|
: undefined;
|
|
@@ -162,7 +199,7 @@ export const runCorpusCommand = async (action, flags, dependencies = {
|
|
|
162
199
|
}],
|
|
163
200
|
spend: 'one corpus search request',
|
|
164
201
|
});
|
|
165
|
-
return
|
|
202
|
+
return reportCorpusSet(outDir, manifest);
|
|
166
203
|
}
|
|
167
204
|
catch (error) {
|
|
168
205
|
progress.finish('stopped', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-corpus-command.js","sourceRoot":"","sources":["../src/cli-corpus-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"cli-corpus-command.js","sourceRoot":"","sources":["../src/cli-corpus-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,12 @@ export type DraftExecutionResult = {
|
|
|
70
70
|
type DraftHostedDependencies = DraftCommandDependencies & {
|
|
71
71
|
hostedClient?: TwelveUiBranchClient;
|
|
72
72
|
};
|
|
73
|
+
/**
|
|
74
|
+
* The resumable handle for a run already on disk. Its `runKey` has to come out
|
|
75
|
+
* equal to the one that run claimed, so it is rebuilt from recorded fields
|
|
76
|
+
* only — including `corpus.explicitMode`, which exists for exactly this.
|
|
77
|
+
*/
|
|
78
|
+
export declare const preparedDraftFromDirectory: (runDir: string) => Promise<DraftPrepared>;
|
|
73
79
|
/** Foreground repair for the exact recorded run. Settled slots are never posted. */
|
|
74
80
|
export declare const repairDraftDispatch: (runDir: string, flags?: CliFlags, dependencies?: DraftHostedDependencies) => Promise<BranchRunEnvelope>;
|
|
75
81
|
/** Materialize a settled successful run once; polling remains the caller's job. */
|