@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.
Files changed (117) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/branch-dispatch-loop.d.ts.map +1 -1
  3. package/dist/branch-dispatch-loop.js +117 -45
  4. package/dist/branch-dispatch-loop.js.map +1 -1
  5. package/dist/branch-run-observation.d.ts +7 -0
  6. package/dist/branch-run-observation.d.ts.map +1 -0
  7. package/dist/branch-run-observation.js +28 -0
  8. package/dist/branch-run-observation.js.map +1 -0
  9. package/dist/cli-corpus-command.d.ts.map +1 -1
  10. package/dist/cli-corpus-command.js +105 -68
  11. package/dist/cli-corpus-command.js.map +1 -1
  12. package/dist/cli-draft-command.d.ts +6 -0
  13. package/dist/cli-draft-command.d.ts.map +1 -1
  14. package/dist/cli-draft-command.js +33 -2
  15. package/dist/cli-draft-command.js.map +1 -1
  16. package/dist/cli-help/design.d.ts +4 -4
  17. package/dist/cli-help/design.d.ts.map +1 -1
  18. package/dist/cli-help/design.js +5 -3
  19. package/dist/cli-help/design.js.map +1 -1
  20. package/dist/cli-help/index.d.ts +4 -4
  21. package/dist/cli-improve-command.d.ts.map +1 -1
  22. package/dist/cli-improve-command.js +17 -1
  23. package/dist/cli-improve-command.js.map +1 -1
  24. package/dist/cli-usage.js +2 -2
  25. package/dist/corpus-client.d.ts +21 -15
  26. package/dist/corpus-client.d.ts.map +1 -1
  27. package/dist/corpus-client.js +15 -14
  28. package/dist/corpus-client.js.map +1 -1
  29. package/dist/corpus-reference-download-retry.d.ts +2 -2
  30. package/dist/corpus-reference-download-retry.js +2 -2
  31. package/dist/draft-identity.d.ts +9 -0
  32. package/dist/draft-identity.d.ts.map +1 -1
  33. package/dist/draft-identity.js +1 -0
  34. package/dist/draft-identity.js.map +1 -1
  35. package/dist/draft-run.d.ts +58 -8
  36. package/dist/draft-run.d.ts.map +1 -1
  37. package/dist/draft-run.js +80 -19
  38. package/dist/draft-run.js.map +1 -1
  39. package/dist/draft-workspace.d.ts +10 -0
  40. package/dist/draft-workspace.d.ts.map +1 -1
  41. package/dist/draft-workspace.js.map +1 -1
  42. package/dist/improve-core/improve-dom-gate.d.ts +24 -0
  43. package/dist/improve-core/improve-dom-gate.d.ts.map +1 -1
  44. package/dist/improve-core/improve-dom-gate.js +15 -0
  45. package/dist/improve-core/improve-dom-gate.js.map +1 -1
  46. package/dist/improve-core/improve-site-plan.d.ts +12 -1
  47. package/dist/improve-core/improve-site-plan.d.ts.map +1 -1
  48. package/dist/improve-core/improve-site-plan.js +12 -1
  49. package/dist/improve-core/improve-site-plan.js.map +1 -1
  50. package/dist/improve-delivery-stages.d.ts.map +1 -1
  51. package/dist/improve-delivery-stages.js +13 -2
  52. package/dist/improve-delivery-stages.js.map +1 -1
  53. package/dist/improve-dom-gate.d.ts +1 -1
  54. package/dist/improve-dom-gate.d.ts.map +1 -1
  55. package/dist/improve-dom-gate.js +1 -1
  56. package/dist/improve-dom-gate.js.map +1 -1
  57. package/dist/improve-generation-stages.d.ts.map +1 -1
  58. package/dist/improve-generation-stages.js +4 -0
  59. package/dist/improve-generation-stages.js.map +1 -1
  60. package/dist/improve-kit-status.d.ts.map +1 -1
  61. package/dist/improve-kit-status.js +14 -0
  62. package/dist/improve-kit-status.js.map +1 -1
  63. package/dist/improve-options.d.ts +13 -0
  64. package/dist/improve-options.d.ts.map +1 -1
  65. package/dist/improve-options.js +31 -1
  66. package/dist/improve-options.js.map +1 -1
  67. package/dist/improve-recheck-report.d.ts +26 -0
  68. package/dist/improve-recheck-report.d.ts.map +1 -0
  69. package/dist/improve-recheck-report.js +56 -0
  70. package/dist/improve-recheck-report.js.map +1 -0
  71. package/dist/improve-recheck.d.ts.map +1 -1
  72. package/dist/improve-recheck.js +4 -37
  73. package/dist/improve-recheck.js.map +1 -1
  74. package/dist/improve-run-summary.d.ts.map +1 -1
  75. package/dist/improve-run-summary.js +3 -3
  76. package/dist/improve-run-summary.js.map +1 -1
  77. package/dist/improve-site-plan.d.ts +2 -0
  78. package/dist/improve-site-plan.d.ts.map +1 -1
  79. package/dist/improve-site-plan.js.map +1 -1
  80. package/dist/improve-site-stage.d.ts.map +1 -1
  81. package/dist/improve-site-stage.js +2 -0
  82. package/dist/improve-site-stage.js.map +1 -1
  83. package/dist/improve-spend-ledger.d.ts +30 -9
  84. package/dist/improve-spend-ledger.d.ts.map +1 -1
  85. package/dist/improve-spend-ledger.js +135 -33
  86. package/dist/improve-spend-ledger.js.map +1 -1
  87. package/dist/improve-workspace.d.ts +35 -8
  88. package/dist/improve-workspace.d.ts.map +1 -1
  89. package/dist/improve-workspace.js +2 -0
  90. package/dist/improve-workspace.js.map +1 -1
  91. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  92. package/dist/legacy-skill-catalog.js +14 -0
  93. package/dist/legacy-skill-catalog.js.map +1 -1
  94. package/dist/mcp-tool-definitions.d.ts.map +1 -1
  95. package/dist/mcp-tool-definitions.js +2 -1
  96. package/dist/mcp-tool-definitions.js.map +1 -1
  97. package/dist/mcp-tool-handler.d.ts.map +1 -1
  98. package/dist/mcp-tool-handler.js +13 -5
  99. package/dist/mcp-tool-handler.js.map +1 -1
  100. package/dist/reference-search-mode.d.ts +84 -0
  101. package/dist/reference-search-mode.d.ts.map +1 -0
  102. package/dist/reference-search-mode.js +88 -0
  103. package/dist/reference-search-mode.js.map +1 -0
  104. package/dist/run-journal-in-flight.d.ts.map +1 -1
  105. package/dist/run-journal-in-flight.js +0 -0
  106. package/dist/run-journal-in-flight.js.map +1 -1
  107. package/dist/run-journal-unfinished.d.ts +1 -1
  108. package/dist/run-journal-unfinished.d.ts.map +1 -1
  109. package/dist/run-journal-unfinished.js +2 -3
  110. package/dist/run-journal-unfinished.js.map +1 -1
  111. package/dist/run-journal.d.ts +15 -0
  112. package/dist/run-journal.d.ts.map +1 -1
  113. package/dist/run-journal.js +32 -3
  114. package/dist/run-journal.js.map +1 -1
  115. package/open-design.json +2 -2
  116. package/package.json +1 -1
  117. 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.61 <command> ...
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":"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"}
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
- plan = applyBranchEnvelope(plan, envelope);
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
- // Another caller owns the paid call. Leave the slot dispatched; the run
137
- // poll reports its result. Note the FLAT error shape here.
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) || (error instanceof BranchApiError && error.status >= 500)) {
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
- snapshot();
200
+ if (observing)
201
+ snapshot();
152
202
  }
153
203
  };
154
204
  const poll = async () => {
155
205
  try {
156
- plan = applyBranchEnvelope(plan, await args.client.getRun(plan.runId, args.signal));
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
- while (plan.screens.length > 0 && !branchRunSettled(scheduleView(plan))) {
169
- if (stopped)
170
- break;
171
- if (now() >= deadline) {
172
- stopped = {
173
- code: 'run_timeout',
174
- message: `Branch run ${plan.runId} did not settle within the run budget.`,
175
- };
176
- break;
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
- announceBlocked();
179
- for (const slot of branchDispatchableSlots(scheduleView(plan), {
180
- inFlight,
181
- heldUntil,
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
- // Every turn publishes a snapshot, changed or not: a poller that sees only
187
- // "nothing yet" is the one that gives up and improvises.
270
+ observing = false;
271
+ announceBlocked();
188
272
  snapshot();
189
- if (active.size > 0) {
190
- await Promise.race([...active, sleep(pumpIntervalMs)]);
191
- continue;
192
- }
193
- // Nothing of ours is running. Either a sibling caller owns a slot, or every
194
- // remaining screen is inside its gate backoff; both resolve by waiting and
195
- // re-reading rather than by dispatching again.
196
- await poll();
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;AA8BF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc,yBAGb,KACA,OAAO,CAAC,mBAAmB,CAuI7B,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 { DEFAULT_INSPIRATION_MODE, INSPIRATION_MODES, TwelveUiCorpusClient, } from './corpus-client.js';
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
- const inspirationMode = (value) => {
24
- if (value === undefined)
25
- return DEFAULT_INSPIRATION_MODE;
26
- if (INSPIRATION_MODES.includes(value)) {
27
- return value;
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: `corpus ${action}`,
73
- typicalSeconds: action === 'inspire'
74
- ? OPERATION_DURATION_HINTS.corpusInspire
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: action === 'inspire'
80
- ? 'corpus inspire: retrieve one inspiration set'
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 report(manifest);
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":"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"}
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. */