@12ui/design 0.2.54 → 0.2.56
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/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +2 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-conversion-derivation.d.ts +2 -1
- package/dist/cli-conversion-derivation.d.ts.map +1 -1
- package/dist/cli-conversion-derivation.js +9 -1
- package/dist/cli-conversion-derivation.js.map +1 -1
- package/dist/cli-convert-command.js +1 -1
- package/dist/cli-convert-command.js.map +1 -1
- package/dist/cli-draft-command.d.ts +11 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +10 -1
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +1 -1
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +8 -0
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +1 -1
- package/dist/cli-improve-command.d.ts.map +1 -1
- package/dist/cli-improve-command.js +257 -57
- package/dist/cli-improve-command.js.map +1 -1
- package/dist/cli-next-command.d.ts.map +1 -1
- package/dist/cli-next-command.js +44 -4
- package/dist/cli-next-command.js.map +1 -1
- package/dist/cli-usage.js +1 -1
- package/dist/improve-conversion-attempts.d.ts +92 -0
- package/dist/improve-conversion-attempts.d.ts.map +1 -0
- package/dist/improve-conversion-attempts.js +88 -0
- package/dist/improve-conversion-attempts.js.map +1 -0
- package/dist/improve-conversion-stage.d.ts +35 -0
- package/dist/improve-conversion-stage.d.ts.map +1 -0
- package/dist/improve-conversion-stage.js +381 -0
- package/dist/improve-conversion-stage.js.map +1 -0
- package/dist/improve-convert-resilience.d.ts +148 -0
- package/dist/improve-convert-resilience.d.ts.map +1 -0
- package/dist/improve-convert-resilience.js +266 -0
- package/dist/improve-convert-resilience.js.map +1 -0
- package/dist/improve-delivery-stages.d.ts +0 -6
- package/dist/improve-delivery-stages.d.ts.map +1 -1
- package/dist/improve-delivery-stages.js +5 -103
- package/dist/improve-delivery-stages.js.map +1 -1
- package/dist/improve-dom-diff.d.ts +2 -0
- package/dist/improve-dom-diff.d.ts.map +1 -1
- package/dist/improve-dom-diff.js +7 -0
- package/dist/improve-dom-diff.js.map +1 -1
- package/dist/improve-dom-gate.d.ts +7 -0
- package/dist/improve-dom-gate.d.ts.map +1 -1
- package/dist/improve-dom-gate.js +13 -0
- package/dist/improve-dom-gate.js.map +1 -1
- package/dist/improve-generation-stages.d.ts +3 -0
- package/dist/improve-generation-stages.d.ts.map +1 -1
- package/dist/improve-generation-stages.js +24 -7
- package/dist/improve-generation-stages.js.map +1 -1
- package/dist/improve-kit-assets.d.ts +129 -0
- package/dist/improve-kit-assets.d.ts.map +1 -0
- package/dist/improve-kit-assets.js +333 -0
- package/dist/improve-kit-assets.js.map +1 -0
- package/dist/improve-kit-readme.d.ts +11 -2
- package/dist/improve-kit-readme.d.ts.map +1 -1
- package/dist/improve-kit-readme.js +192 -21
- package/dist/improve-kit-readme.js.map +1 -1
- package/dist/improve-kit-stall.d.ts +67 -0
- package/dist/improve-kit-stall.d.ts.map +1 -0
- package/dist/improve-kit-stall.js +159 -0
- package/dist/improve-kit-stall.js.map +1 -0
- package/dist/improve-kit-status.d.ts +69 -0
- package/dist/improve-kit-status.d.ts.map +1 -0
- package/dist/improve-kit-status.js +145 -0
- package/dist/improve-kit-status.js.map +1 -0
- package/dist/improve-options.d.ts +13 -1
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +77 -15
- package/dist/improve-options.js.map +1 -1
- package/dist/improve-plan-annotated-render.d.ts +33 -0
- package/dist/improve-plan-annotated-render.d.ts.map +1 -0
- package/dist/improve-plan-annotated-render.js +175 -0
- package/dist/improve-plan-annotated-render.js.map +1 -0
- package/dist/improve-plan-annotator.d.ts +2 -1
- package/dist/improve-plan-annotator.d.ts.map +1 -1
- package/dist/improve-plan-annotator.js +21 -45
- package/dist/improve-plan-annotator.js.map +1 -1
- package/dist/improve-raster-layers-section.d.ts +21 -0
- package/dist/improve-raster-layers-section.d.ts.map +1 -0
- package/dist/improve-raster-layers-section.js +45 -0
- package/dist/improve-raster-layers-section.js.map +1 -0
- package/dist/improve-reset.d.ts +122 -0
- package/dist/improve-reset.d.ts.map +1 -0
- package/dist/improve-reset.js +141 -0
- package/dist/improve-reset.js.map +1 -0
- package/dist/improve-run-summary.d.ts +35 -0
- package/dist/improve-run-summary.d.ts.map +1 -0
- package/dist/improve-run-summary.js +134 -0
- package/dist/improve-run-summary.js.map +1 -0
- package/dist/improve-stage-runners.d.ts +2 -1
- package/dist/improve-stage-runners.d.ts.map +1 -1
- package/dist/improve-stage-runners.js +2 -1
- package/dist/improve-stage-runners.js.map +1 -1
- package/dist/improve-stage-shared.d.ts +6 -0
- package/dist/improve-stage-shared.d.ts.map +1 -1
- package/dist/improve-stage-shared.js.map +1 -1
- package/dist/improve-stop-handler.d.ts +73 -0
- package/dist/improve-stop-handler.d.ts.map +1 -0
- package/dist/improve-stop-handler.js +126 -0
- package/dist/improve-stop-handler.js.map +1 -0
- package/dist/improve-terminal-event.d.ts +118 -0
- package/dist/improve-terminal-event.d.ts.map +1 -0
- package/dist/improve-terminal-event.js +81 -0
- package/dist/improve-terminal-event.js.map +1 -0
- package/dist/improve-workspace.d.ts +25 -0
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +14 -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 +23 -3
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/redesign-capture.d.ts +16 -0
- package/dist/redesign-capture.d.ts.map +1 -1
- package/dist/redesign-capture.js +49 -3
- package/dist/redesign-capture.js.map +1 -1
- package/dist/run-journal-unfinished.d.ts +56 -0
- package/dist/run-journal-unfinished.d.ts.map +1 -0
- package/dist/run-journal-unfinished.js +126 -0
- package/dist/run-journal-unfinished.js.map +1 -0
- package/dist/run-journal.d.ts +25 -1
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +15 -1
- package/dist/run-journal.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/skills/12ui-design/SKILL.md +2 -0
- package/skills/12ui-design/improve.md +68 -5
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { mkdir, rename, rm, stat } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { CONVERSION_DURATION_HINTS } from './cli-progress.js';
|
|
4
|
+
import { isCliRefusal } from './cli-refusal.js';
|
|
5
|
+
import { derivedOutputFilePath } from './cli-conversion-output-directory.js';
|
|
6
|
+
import { improveConversionAttemptCount, openImproveConversionAttempt, } from './improve-conversion-attempts.js';
|
|
7
|
+
import { readRunJournal } from './run-journal.js';
|
|
8
|
+
const UUID = /[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}/iu;
|
|
9
|
+
/**
|
|
10
|
+
* The fused median. It is what the wait was before a retry existed, and it is
|
|
11
|
+
* still the lower end of the default below.
|
|
12
|
+
*
|
|
13
|
+
* The premise that this bound did not cover `materializing_assets` does not
|
|
14
|
+
* survive the code: `waitForOperation` applies the deadline over the whole poll
|
|
15
|
+
* loop, stage-agnostic. Pipedrive is not a counter-example either — its
|
|
16
|
+
* conversion entered that stage about fifty minutes BEFORE the bound shipped,
|
|
17
|
+
* on 0.2.54.
|
|
18
|
+
*/
|
|
19
|
+
export const IMPROVE_RESPONSIVE_TIMEOUT_MS = CONVERSION_DURATION_HINTS.fused * 1_000;
|
|
20
|
+
export const IMPROVE_TEMPORARY_UNAVAILABLE_RETRY_DELAY_MS = 30_000;
|
|
21
|
+
/** At most one extra conversion, and only on a stall with nothing to derive. */
|
|
22
|
+
export const IMPROVE_CONVERT_STALL_ATTEMPTS = 2;
|
|
23
|
+
/**
|
|
24
|
+
* The floor `--convert-stall-seconds` refuses below: the conversion's own
|
|
25
|
+
* typical wall for the model in play. A bound inside the typical window would
|
|
26
|
+
* make the retry fire on a healthy run and buy the same design twice.
|
|
27
|
+
*
|
|
28
|
+
* `pro` has no measured hint of its own, so it borrows the standard wall and
|
|
29
|
+
* pays for that borrowing below: no automatic retry until somebody measures it.
|
|
30
|
+
*/
|
|
31
|
+
export const improveConvertStallFloorSeconds = (model) => (model === 'fast' ? CONVERSION_DURATION_HINTS.convertFast : CONVERSION_DURATION_HINTS.convert);
|
|
32
|
+
/**
|
|
33
|
+
* The DEFAULT bound, which used to be the fused median alone — 300s against a
|
|
34
|
+
* standard conversion's own 240s typical wall, a ratio of 1.25. That is inside
|
|
35
|
+
* the healthy population by any reading, and it stopped being free the moment
|
|
36
|
+
* the stall bought a second conversion: a healthy-but-above-median convert half
|
|
37
|
+
* would cost double, and nothing measures P(convert half > 300s | healthy).
|
|
38
|
+
*
|
|
39
|
+
* So the default now obeys the rule the floor states: twice the model's typical
|
|
40
|
+
* wall, or the fused median, whichever is larger. Standard 480s, fast 300s. An
|
|
41
|
+
* explicit `--convert-stall-seconds` is still allowed down to the floor — a
|
|
42
|
+
* caller who wants the tighter bound can ask for it and owns the consequence.
|
|
43
|
+
*/
|
|
44
|
+
export const improveConvertStallDefaultSeconds = (model) => Math.max(IMPROVE_RESPONSIVE_TIMEOUT_MS / 1_000, 2 * improveConvertStallFloorSeconds(model));
|
|
45
|
+
/**
|
|
46
|
+
* Whether the automatic retry may fire for this model.
|
|
47
|
+
*
|
|
48
|
+
* The retry's whole justification is that the bound sits outside the model's
|
|
49
|
+
* typical window, so it cannot fire on healthy work. `pro` has no measured
|
|
50
|
+
* typical wall — `CONVERSION_DURATION_HINTS` carries `convert` and
|
|
51
|
+
* `convertFast` and nothing else — so for pro that justification does not
|
|
52
|
+
* exist, and buying a second pro conversion on an unmeasured guess is the
|
|
53
|
+
* blind fix the study-first doctrine forbids. Pro stalls the way it did before
|
|
54
|
+
* the retry shipped: STALL.md, terminal event, recovery commands.
|
|
55
|
+
*/
|
|
56
|
+
export const improveConvertStallRetryAllowed = (model) => model !== 'pro';
|
|
57
|
+
/** The reason every stall abandonment carries, and the prefix that counts them. */
|
|
58
|
+
export const IMPROVE_CONVERT_STALL_REASON = 'convert stalled';
|
|
59
|
+
/** The reason `--fresh` writes when it rotates the base key away from a conversion. */
|
|
60
|
+
export const IMPROVE_FRESH_ABANDON_REASON = 'fresh requested after recorded conversion remained unavailable';
|
|
61
|
+
export const improveConvertStallReason = (seconds) => (`${IMPROVE_CONVERT_STALL_REASON} past ${seconds}s with no LayerDoc`);
|
|
62
|
+
/**
|
|
63
|
+
* How many conversions this KIT has already bought and abandoned to a stall.
|
|
64
|
+
*
|
|
65
|
+
* The retry used to be bounded per process and keyed on `randomUUID()`, so
|
|
66
|
+
* nothing about it survived the invocation: on the resume STALL.md asks for,
|
|
67
|
+
* attempt 1 rebuilt the deterministic base key, the server's dedupe attached it
|
|
68
|
+
* to the FIRST, known-stalled conversion, and the run waited out the whole bound
|
|
69
|
+
* on a run it had already declared dead before dispatching a third under
|
|
70
|
+
* another random key. Counting the durable abandonments makes the retry's
|
|
71
|
+
* identity reproducible across invocations and makes the bound a property of
|
|
72
|
+
* the kit rather than of one shell.
|
|
73
|
+
*
|
|
74
|
+
* The attempt ledger is counted alongside them, and the larger wins: a stall
|
|
75
|
+
* whose conversion never reported an id cannot be abandoned by id, so counting
|
|
76
|
+
* abandonments alone read that spend as zero and let the next resume buy
|
|
77
|
+
* another retry, and the one after that, forever.
|
|
78
|
+
*/
|
|
79
|
+
export const improveConvertStallCount = (record) => Math.max((record.abandonedConversions ?? [])
|
|
80
|
+
.filter((entry) => entry.reason.startsWith(IMPROVE_CONVERT_STALL_REASON))
|
|
81
|
+
.length, improveConversionAttemptCount(record, 'stall-retry'));
|
|
82
|
+
/**
|
|
83
|
+
* The idempotency key of the Nth conversion dispatched under one attempt key.
|
|
84
|
+
* The first is the key itself — the base key, or the `--fresh` key this
|
|
85
|
+
* invocation is spending — and every later one is derived from the count of
|
|
86
|
+
* stalls that preceded it, so two invocations of the same kit compute the same
|
|
87
|
+
* key for the same conversion even with no ledger to read.
|
|
88
|
+
*/
|
|
89
|
+
export const improveConvertRetryKey = (key, index) => (`${key}:stall:${index - 1}`);
|
|
90
|
+
/**
|
|
91
|
+
* The conversion a `--from convert` resume will attach to, read off the record.
|
|
92
|
+
*
|
|
93
|
+
* A resume never names an id. It rebuilds an idempotency key and the server's
|
|
94
|
+
* dedupe decides which conversion that key reaches, so this reads the key rules
|
|
95
|
+
* above backwards:
|
|
96
|
+
* - a settled convert block: the stage replays and buys nothing;
|
|
97
|
+
* - an open attempt in the ledger: the resume rebuilds the exact key that
|
|
98
|
+
* attempt was dispatched under, whether `--fresh` or the stall retry minted
|
|
99
|
+
* it, and lands back on the conversion it is still waiting for;
|
|
100
|
+
* - a kit that abandoned conversions to a stall with no ledger to read (one
|
|
101
|
+
* written before the ledger existed): `improveConvertRetryKey` reaches the
|
|
102
|
+
* newest of them, which is also what the base key reaches when only one was
|
|
103
|
+
* abandoned;
|
|
104
|
+
* - a kit whose base-key conversion `--fresh` rotated away from, again with no
|
|
105
|
+
* ledger: the resume rebuilds that base key and lands back on it.
|
|
106
|
+
*
|
|
107
|
+
* `fresh-rotated-away` is the only reading that leaves a conversion nothing can
|
|
108
|
+
* reach, and it now belongs to pre-ledger kits alone. The ledger is what ended
|
|
109
|
+
* it: the nonce is on the record before the conversion is dispatched.
|
|
110
|
+
*/
|
|
111
|
+
export const improveResumeConversion = (record) => {
|
|
112
|
+
const settled = record.convert?.sourceConversionId;
|
|
113
|
+
if (settled && UUID.test(settled))
|
|
114
|
+
return { id: settled, reason: 'settled' };
|
|
115
|
+
const open = openImproveConversionAttempt(record);
|
|
116
|
+
if (open) {
|
|
117
|
+
return {
|
|
118
|
+
...(open.conversionId ? { id: open.conversionId } : {}),
|
|
119
|
+
reason: open.reason,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
const abandoned = [...(record.abandonedConversions ?? [])].reverse();
|
|
123
|
+
const stalled = abandoned.find((entry) => entry.reason.startsWith(IMPROVE_CONVERT_STALL_REASON));
|
|
124
|
+
if (stalled)
|
|
125
|
+
return { id: stalled.id, reason: 'stall-retry' };
|
|
126
|
+
const rotated = abandoned.find((entry) => entry.reason === IMPROVE_FRESH_ABANDON_REASON);
|
|
127
|
+
return rotated ? { id: rotated.id, reason: 'fresh-rotated-away' } : undefined;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* The end of the line: this kit has spent every conversion the stall budget
|
|
131
|
+
* allows. It reads as a stall so the terminal event, `plan/STALL.md` and the
|
|
132
|
+
* recovery commands are all written exactly as a first stall's are.
|
|
133
|
+
*/
|
|
134
|
+
export const improveConvertStallExhausted = (args) => new Error(
|
|
135
|
+
// The stalled attempt's own text leads, because it is what carries the
|
|
136
|
+
// conversion id every downstream reader digs out of it — the terminal event,
|
|
137
|
+
// STALL.md's hosted run line, the abandonment ledger.
|
|
138
|
+
`${improveErrorText(args.cause)}\n\n`
|
|
139
|
+
+ `The wait ended at ${args.seconds}s and improve did not dispatch another conversion.`
|
|
140
|
+
+ ` This kit has already bought ${args.bought} conversion${args.bought === 1 ? '' : 's'}`
|
|
141
|
+
+ ' of this winner; each one keeps running and keeps billing, and none can be cancelled.'
|
|
142
|
+
+ (improveConvertStallRetryAllowed(args.model)
|
|
143
|
+
? ' Pass --fresh to buy one more under a new key once you have a reason to expect a different result.'
|
|
144
|
+
: ` There is no measured typical wall for the ${args.model} conversion model, so improve will not`
|
|
145
|
+
+ ' spend a second one on a guess. Pass --fresh to buy another deliberately.'), { cause: args.cause });
|
|
146
|
+
const RESPONSIVE_PARTIAL_FAILURE = 'could not be completed for every required viewport size';
|
|
147
|
+
export const improveErrorText = (error) => {
|
|
148
|
+
const detail = error;
|
|
149
|
+
return [
|
|
150
|
+
error instanceof Error ? error.message : String(error),
|
|
151
|
+
typeof detail?.stdout === 'string' ? detail.stdout : undefined,
|
|
152
|
+
typeof detail?.stderr === 'string' ? detail.stderr : undefined,
|
|
153
|
+
].filter((part) => Boolean(part)).join('\n');
|
|
154
|
+
};
|
|
155
|
+
export const isImproveTemporarilyUnavailable = (error) => (improveErrorText(error).toLowerCase().includes('temporarily unavailable'));
|
|
156
|
+
export const retryImproveTemporarilyUnavailable = async (args) => {
|
|
157
|
+
try {
|
|
158
|
+
return await args.action();
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (!isImproveTemporarilyUnavailable(error))
|
|
162
|
+
throw error;
|
|
163
|
+
(args.warn ?? console.warn)(`[retry] ${args.stage}: temporarily unavailable; retrying once after 30s`);
|
|
164
|
+
await (args.sleep ?? ((milliseconds) => new Promise((resolve) => {
|
|
165
|
+
setTimeout(resolve, milliseconds);
|
|
166
|
+
})))(IMPROVE_TEMPORARY_UNAVAILABLE_RETRY_DELAY_MS);
|
|
167
|
+
return args.action();
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* A wait that ended without the work, told apart from work that failed.
|
|
172
|
+
*
|
|
173
|
+
* They call for different records and different recoveries: a stall means the
|
|
174
|
+
* hosted run is probably still alive and still billing, and the kit's recovery
|
|
175
|
+
* commands resume it; a failure means there is nothing to resume. The journal
|
|
176
|
+
* has to be able to say which, and a stall must not overwrite a class the
|
|
177
|
+
* journal could already read off the error — an HTTP status, a refusal code.
|
|
178
|
+
*/
|
|
179
|
+
const STALL_TEXT = /timed out|timeout|deadline|did not settle|has not settled|not settled yet/iu;
|
|
180
|
+
export const improveStalled = (error) => {
|
|
181
|
+
if (isCliRefusal(error) || isImproveTemporarilyUnavailable(error))
|
|
182
|
+
return false;
|
|
183
|
+
const record = error;
|
|
184
|
+
if (typeof record?.status === 'number')
|
|
185
|
+
return false;
|
|
186
|
+
return STALL_TEXT.test(improveErrorText(error));
|
|
187
|
+
};
|
|
188
|
+
export const improveConversionIdFromText = (value) => {
|
|
189
|
+
const keyed = /(?:(?:"id"|"run_id")\s*:\s*"|conversion(?:\s+id)?[^0-9a-f]*)([0-9a-f-]{36})/iu
|
|
190
|
+
.exec(value)?.[1];
|
|
191
|
+
return keyed ?? UUID.exec(value)?.[0];
|
|
192
|
+
};
|
|
193
|
+
export const recordedImproveConversionId = async (record) => {
|
|
194
|
+
if (record.convert?.sourceConversionId && UUID.test(record.convert.sourceConversionId)) {
|
|
195
|
+
return record.convert.sourceConversionId;
|
|
196
|
+
}
|
|
197
|
+
const purchase = record.convert?.purchaseIds.find((id) => UUID.test(id));
|
|
198
|
+
if (purchase)
|
|
199
|
+
return purchase;
|
|
200
|
+
const journal = await readRunJournal({ workspace: record.runDir });
|
|
201
|
+
const targetLayerDoc = path.join(record.runDir, 'target', 'winner.layerdoc.json');
|
|
202
|
+
for (const entry of [...journal.entries].reverse()) {
|
|
203
|
+
if (entry.run_id
|
|
204
|
+
&& UUID.test(entry.run_id)
|
|
205
|
+
&& entry.writes?.includes(targetLayerDoc))
|
|
206
|
+
return entry.run_id;
|
|
207
|
+
}
|
|
208
|
+
return undefined;
|
|
209
|
+
};
|
|
210
|
+
export const responsiveFallbackReason = (error) => {
|
|
211
|
+
if (isImproveTemporarilyUnavailable(error))
|
|
212
|
+
return undefined;
|
|
213
|
+
const text = improveErrorText(error);
|
|
214
|
+
const normalized = text.toLowerCase();
|
|
215
|
+
if (normalized.includes(RESPONSIVE_PARTIAL_FAILURE)
|
|
216
|
+
|| /responsive html export[\s\S]*(?:did not|failed|running|timed out|deadline)/iu.test(text)
|
|
217
|
+
|| /responsive[\s\S]*(?:timeout|timed out|deadline exceeded)/iu.test(text)) {
|
|
218
|
+
return normalized.includes(RESPONSIVE_PARTIAL_FAILURE)
|
|
219
|
+
? 'Responsive HTML could not be completed for every required viewport size.'
|
|
220
|
+
: 'Responsive HTML did not settle before the improve stage deadline.';
|
|
221
|
+
}
|
|
222
|
+
return undefined;
|
|
223
|
+
};
|
|
224
|
+
export const fixedImproveHtml = async (targetDir) => {
|
|
225
|
+
const html = derivedOutputFilePath(targetDir, 'html_fixed');
|
|
226
|
+
const assets = `${html}.assets`;
|
|
227
|
+
if (!(await stat(html).catch(() => undefined))?.isFile()) {
|
|
228
|
+
throw new Error(`Fixed-layout derivation completed without ${html}`);
|
|
229
|
+
}
|
|
230
|
+
if (!(await stat(assets).catch(() => undefined))?.isDirectory()) {
|
|
231
|
+
throw new Error(`Fixed-layout derivation completed without ${assets}`);
|
|
232
|
+
}
|
|
233
|
+
return { html: path.resolve(html), assets: path.resolve(assets) };
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Clear the target directory between two attempts of the SAME transaction. The
|
|
237
|
+
* backup taken by `prepareImproveTargetAttempt` is untouched, so the previous
|
|
238
|
+
* good target is still recoverable; only the half-written attempt goes.
|
|
239
|
+
*/
|
|
240
|
+
export const resetImproveTargetAttempt = async (targetDir) => {
|
|
241
|
+
await rm(targetDir, { recursive: true, force: true });
|
|
242
|
+
await mkdir(targetDir, { recursive: true });
|
|
243
|
+
};
|
|
244
|
+
export const prepareImproveTargetAttempt = async (targetDir) => {
|
|
245
|
+
const backupDir = `${targetDir}.previous`;
|
|
246
|
+
const targetExists = Boolean(await stat(targetDir).catch(() => undefined));
|
|
247
|
+
const backupExists = Boolean(await stat(backupDir).catch(() => undefined));
|
|
248
|
+
if (backupExists) {
|
|
249
|
+
if (!targetExists)
|
|
250
|
+
await rename(backupDir, targetDir);
|
|
251
|
+
else
|
|
252
|
+
await rm(backupDir, { recursive: true, force: true });
|
|
253
|
+
}
|
|
254
|
+
if (await stat(targetDir).catch(() => undefined))
|
|
255
|
+
await rename(targetDir, backupDir);
|
|
256
|
+
await mkdir(targetDir, { recursive: true });
|
|
257
|
+
return {
|
|
258
|
+
commit: async () => rm(backupDir, { recursive: true, force: true }),
|
|
259
|
+
restore: async () => {
|
|
260
|
+
await rm(targetDir, { recursive: true, force: true });
|
|
261
|
+
if (await stat(backupDir).catch(() => undefined))
|
|
262
|
+
await rename(backupDir, targetDir);
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
//# sourceMappingURL=improve-convert-resilience.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-convert-resilience.js","sourceRoot":"","sources":["../src/improve-convert-resilience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import type { ImproveOptions } from './improve-options.js';
|
|
2
2
|
import { type ImproveCommandDependencies } from './improve-stage-shared.js';
|
|
3
3
|
import { type ImproveRecord } from './improve-workspace.js';
|
|
4
|
-
export declare const runImproveConvertStage: (args: {
|
|
5
|
-
record: ImproveRecord;
|
|
6
|
-
options: ImproveOptions;
|
|
7
|
-
dependencies: ImproveCommandDependencies;
|
|
8
|
-
price: number;
|
|
9
|
-
}) => Promise<ImproveRecord>;
|
|
10
4
|
export declare const runImprovePlanStage: (args: {
|
|
11
5
|
record: ImproveRecord;
|
|
12
6
|
options: ImproveOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA6FhF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CA8DxB,CAAC"}
|
|
@@ -1,115 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import sharp from 'sharp';
|
|
4
3
|
import { runConversionCommand } from './cli-convert-command.js';
|
|
5
|
-
import { CliRefusal } from './cli-refusal.js';
|
|
6
4
|
import { prepareOutputDirectory } from './cli-output-paths.js';
|
|
5
|
+
import { runImproveConversion } from './improve-conversion-stage.js';
|
|
7
6
|
import { writeImproveDomDiff } from './improve-dom-diff.js';
|
|
8
7
|
import { evaluateImproveGate } from './improve-dom-gate.js';
|
|
9
8
|
import { normalizeLayerDoc } from './improve-dom-scale.js';
|
|
10
9
|
import { canvasOfDoc, diffLayerDocs, flattenLayerDoc } from './improve-layerdoc-diff.js';
|
|
11
10
|
import { writeImproveAnnotatedPlan } from './improve-plan-annotator.js';
|
|
12
11
|
import { renderLayerChanges } from './improve-plan-render.js';
|
|
13
|
-
import {
|
|
12
|
+
import { noteImproveStage, } from './improve-stage-shared.js';
|
|
14
13
|
import { writeImproveRecord } from './improve-workspace.js';
|
|
15
|
-
const runConvert = async (args) => {
|
|
16
|
-
const artifacts = [];
|
|
17
|
-
const purchaseIds = [];
|
|
18
|
-
const collector = {
|
|
19
|
-
note: (facts) => {
|
|
20
|
-
artifacts.push(...(facts.artifacts ?? []));
|
|
21
|
-
purchaseIds.push(...(facts.purchased ?? []));
|
|
22
|
-
args.journal?.note(facts);
|
|
23
|
-
},
|
|
24
|
-
heartbeat: (progress) => { args.journal?.heartbeat(progress); },
|
|
25
|
-
};
|
|
26
|
-
await args.runner(['convert', args.input], {
|
|
27
|
-
output: args.output,
|
|
28
|
-
model: args.model,
|
|
29
|
-
'out-dir': args.outDir,
|
|
30
|
-
'idempotency-key': args.key,
|
|
31
|
-
quiet: true,
|
|
32
|
-
}, collector, { writeResult: () => undefined });
|
|
33
|
-
return { artifacts: [...new Set(artifacts)], purchaseIds: [...new Set(purchaseIds)] };
|
|
34
|
-
};
|
|
35
|
-
export const runImproveConvertStage = async (args) => {
|
|
36
|
-
if (args.record.convert)
|
|
37
|
-
return noteImproveStage({
|
|
38
|
-
record: args.record, stage: 'convert', priceCeilingUsd: args.price, replayed: true, write: true,
|
|
39
|
-
});
|
|
40
|
-
if (!args.record.pick && !args.record.target)
|
|
41
|
-
throw new Error('Cannot convert before pick');
|
|
42
|
-
await prepareOutputDirectory(args.options.paths.targetDir);
|
|
43
|
-
if (args.record.target?.kind === 'layerdoc') {
|
|
44
|
-
const bytes = await readFile(args.record.target.value);
|
|
45
|
-
canvasOfDoc(JSON.parse(bytes.toString('utf8')));
|
|
46
|
-
await copyFile(args.record.target.value, args.options.paths.targetLayerDoc);
|
|
47
|
-
const assetSource = `${args.record.target.value}.assets`;
|
|
48
|
-
if ((await stat(assetSource).catch(() => undefined))?.isDirectory()) {
|
|
49
|
-
await cp(assetSource, `${args.options.paths.targetLayerDoc}.assets`, { recursive: true });
|
|
50
|
-
}
|
|
51
|
-
let record = {
|
|
52
|
-
...args.record,
|
|
53
|
-
target: { ...args.record.target, sha256: improveSha256(bytes) },
|
|
54
|
-
convert: {
|
|
55
|
-
layerDoc: args.options.paths.targetLayerDoc,
|
|
56
|
-
html: '',
|
|
57
|
-
artifacts: [args.options.paths.targetLayerDoc],
|
|
58
|
-
purchaseIds: [],
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
record = await noteImproveStage({
|
|
62
|
-
record, stage: 'convert', priceCeilingUsd: args.price, replayed: false, write: false,
|
|
63
|
-
});
|
|
64
|
-
await writeImproveRecord(args.options.paths.record, record);
|
|
65
|
-
return record;
|
|
66
|
-
}
|
|
67
|
-
let input = args.record.pick?.imagePath;
|
|
68
|
-
let inputSha = args.record.pick?.sha256;
|
|
69
|
-
let recordBeforeConvert = args.record;
|
|
70
|
-
if (args.record.target?.kind === 'image') {
|
|
71
|
-
const bytes = await readFile(args.record.target.value);
|
|
72
|
-
const image = sharp(bytes, { animated: false, failOn: 'warning' });
|
|
73
|
-
const metadata = await image.metadata();
|
|
74
|
-
if (!metadata.width || !metadata.height || !['png', 'jpeg', 'webp'].includes(metadata.format ?? '')) {
|
|
75
|
-
throw new CliRefusal('--target image is not a usable PNG, JPEG, or WebP', 'improve_target_invalid');
|
|
76
|
-
}
|
|
77
|
-
await image.png().toFile(args.options.paths.winnerImage);
|
|
78
|
-
input = args.options.paths.winnerImage;
|
|
79
|
-
inputSha = improveSha256(bytes);
|
|
80
|
-
recordBeforeConvert = { ...args.record, target: { ...args.record.target, sha256: inputSha } };
|
|
81
|
-
}
|
|
82
|
-
if (!input || !inputSha)
|
|
83
|
-
throw new Error('Improve has no design image to convert');
|
|
84
|
-
const converted = await runConvert({
|
|
85
|
-
input,
|
|
86
|
-
outDir: args.options.paths.targetDir,
|
|
87
|
-
output: 'html',
|
|
88
|
-
model: args.record.conversionModel,
|
|
89
|
-
key: `improve-target:v1:${inputSha}:${args.record.conversionModel}`,
|
|
90
|
-
runner: args.dependencies.runConvert ?? runConversionCommand,
|
|
91
|
-
journal: args.dependencies.journal,
|
|
92
|
-
});
|
|
93
|
-
for (const expected of [args.options.paths.targetLayerDoc, args.options.paths.targetHtml]) {
|
|
94
|
-
if (!(await stat(expected).catch(() => undefined))?.isFile()) {
|
|
95
|
-
throw new Error(`Improve conversion completed without ${expected}`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
let record = {
|
|
99
|
-
...recordBeforeConvert,
|
|
100
|
-
convert: {
|
|
101
|
-
layerDoc: args.options.paths.targetLayerDoc,
|
|
102
|
-
html: args.options.paths.targetHtml,
|
|
103
|
-
artifacts: converted.artifacts,
|
|
104
|
-
purchaseIds: converted.purchaseIds,
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
record = await noteImproveStage({
|
|
108
|
-
record, stage: 'convert', priceCeilingUsd: args.price, replayed: false, write: false,
|
|
109
|
-
});
|
|
110
|
-
await writeImproveRecord(args.options.paths.record, record);
|
|
111
|
-
return record;
|
|
112
|
-
};
|
|
113
14
|
const syntheticLayerDiff = (beforeDoc, targetDoc) => {
|
|
114
15
|
const beforeCanvas = canvasOfDoc(beforeDoc);
|
|
115
16
|
const targetCanvas = canvasOfDoc(targetDoc);
|
|
@@ -141,7 +42,7 @@ const writeImagePlan = async (args) => {
|
|
|
141
42
|
if (args.record.planSourceConvert) {
|
|
142
43
|
if (!record.sourceConvert) {
|
|
143
44
|
await prepareOutputDirectory(args.options.paths.sourceConversionDir);
|
|
144
|
-
const source = await
|
|
45
|
+
const source = await runImproveConversion({
|
|
145
46
|
input: args.options.paths.sourceImage,
|
|
146
47
|
outDir: args.options.paths.sourceConversionDir,
|
|
147
48
|
output: 'layerdoc',
|
|
@@ -209,6 +110,7 @@ export const runImprovePlanStage = async (args) => {
|
|
|
209
110
|
beforePath: args.options.paths.currentDomDoc,
|
|
210
111
|
targetPath: args.options.paths.targetLayerDoc,
|
|
211
112
|
outDir: args.options.paths.planDir,
|
|
113
|
+
runDir: args.options.paths.runDir,
|
|
212
114
|
});
|
|
213
115
|
mode = 'dom-anchored';
|
|
214
116
|
gate = diff.gate.passed ? 'passed' : 'blocked';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-delivery-stages.js","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"improve-delivery-stages.js","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,8 @@ export declare const writeImproveDomDiff: (args: {
|
|
|
27
27
|
targetPath: string;
|
|
28
28
|
outDir: string;
|
|
29
29
|
gatePct?: number;
|
|
30
|
+
/** Kit root, so a blocked gate can name the raster layers by kit-relative path. */
|
|
31
|
+
runDir?: string;
|
|
30
32
|
}) => Promise<ImproveDomDiff & {
|
|
31
33
|
artifacts: string[];
|
|
32
34
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-dom-diff.d.ts","sourceRoot":"","sources":["../src/improve-dom-diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"improve-dom-diff.d.ts","sourceRoot":"","sources":["../src/improve-dom-diff.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE3F,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KAAG,cA2EH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAiDnD,CAAC"}
|
package/dist/improve-dom-diff.js
CHANGED
|
@@ -3,6 +3,7 @@ import path from 'node:path';
|
|
|
3
3
|
import { canvasOfDoc, computeLayerDeltas, diffLayerDocs, flattenLayerDoc, } from './improve-layerdoc-diff.js';
|
|
4
4
|
import { confidentMatches, impliedPaddingDeltas } from './improve-dom-anchor.js';
|
|
5
5
|
import { evaluateImproveGate, renderImproveGate } from './improve-dom-gate.js';
|
|
6
|
+
import { readImproveKitAssets } from './improve-kit-assets.js';
|
|
6
7
|
import { repairByNeighbourOffset } from './improve-dom-neighbour.js';
|
|
7
8
|
import { normalizeLayerDoc } from './improve-dom-scale.js';
|
|
8
9
|
import { renderDomChanges } from './improve-plan-render.js';
|
|
@@ -103,12 +104,18 @@ export const writeImproveDomDiff = async (args) => {
|
|
|
103
104
|
rm(path.join(args.outDir, 'plan-annotated.md'), { force: true }),
|
|
104
105
|
rm(path.join(args.outDir, 'token-patch.css'), { force: true }),
|
|
105
106
|
]);
|
|
107
|
+
const index = await readImproveKitAssets({
|
|
108
|
+
runDir: args.runDir ?? path.dirname(args.outDir),
|
|
109
|
+
layerDocPath: args.targetPath,
|
|
110
|
+
document: targetDoc,
|
|
111
|
+
});
|
|
106
112
|
await writeFile(gatePath, renderImproveGate({
|
|
107
113
|
gate: computed.gate,
|
|
108
114
|
result: computed.result,
|
|
109
115
|
beforePath: args.beforePath,
|
|
110
116
|
targetPath: args.targetPath,
|
|
111
117
|
designCoverage: computed.designCoverage,
|
|
118
|
+
rasterLayers: index.rasterLayers,
|
|
112
119
|
}), 'utf8');
|
|
113
120
|
return { ...computed, artifacts: [gatePath] };
|
|
114
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-dom-diff.js","sourceRoot":"","sources":["../src/improve-dom-diff.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"improve-dom-diff.js","sourceRoot":"","sources":["../src/improve-dom-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import type { ImproveRasterLayer } from './improve-kit-assets.js';
|
|
1
2
|
import type { ImproveGate, LayerDiffResult } from './improve-layerdoc-types.js';
|
|
2
3
|
/** Measured pilot separator: good route/state pairs were ~82%; the bad pair was ~25%. */
|
|
3
4
|
export declare const IMPROVE_DEFAULT_GATE_PCT = 60;
|
|
4
5
|
export declare const evaluateImproveGate: (coverage: number, thresholdPct?: number) => ImproveGate;
|
|
6
|
+
/**
|
|
7
|
+
* A blocked gate deletes `plan-annotated.md`, and with it the only copy of
|
|
8
|
+
* "Raster layers to carry". The assets are still on disk and still the design,
|
|
9
|
+
* so the instruction to carry them has to survive here or it exists nowhere.
|
|
10
|
+
*/
|
|
5
11
|
export declare const renderImproveGate: (args: {
|
|
6
12
|
gate: ImproveGate;
|
|
7
13
|
result: LayerDiffResult;
|
|
8
14
|
beforePath: string;
|
|
9
15
|
targetPath: string;
|
|
10
16
|
designCoverage: number;
|
|
17
|
+
rasterLayers?: readonly ImproveRasterLayer[];
|
|
11
18
|
}) => string;
|
|
12
19
|
//# sourceMappingURL=improve-dom-gate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-dom-gate.d.ts","sourceRoot":"","sources":["../src/improve-dom-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEhF,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,qBAAuC,KACtC,WAWF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-dom-gate.d.ts","sourceRoot":"","sources":["../src/improve-dom-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEhF,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,qBAAuC,KACtC,WAWF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9C,KAAG,MAyBQ,CAAC"}
|
package/dist/improve-dom-gate.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { renderImproveRasterLayers } from './improve-raster-layers-section.js';
|
|
1
2
|
/** Measured pilot separator: good route/state pairs were ~82%; the bad pair was ~25%. */
|
|
2
3
|
export const IMPROVE_DEFAULT_GATE_PCT = 60;
|
|
3
4
|
export const evaluateImproveGate = (coverage, thresholdPct = IMPROVE_DEFAULT_GATE_PCT) => {
|
|
@@ -12,6 +13,11 @@ export const evaluateImproveGate = (coverage, thresholdPct = IMPROVE_DEFAULT_GAT
|
|
|
12
13
|
thresholdPct,
|
|
13
14
|
};
|
|
14
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* A blocked gate deletes `plan-annotated.md`, and with it the only copy of
|
|
18
|
+
* "Raster layers to carry". The assets are still on disk and still the design,
|
|
19
|
+
* so the instruction to carry them has to survive here or it exists nowhere.
|
|
20
|
+
*/
|
|
15
21
|
export const renderImproveGate = (args) => [
|
|
16
22
|
'# DOM diff coverage gate',
|
|
17
23
|
'',
|
|
@@ -30,5 +36,12 @@ export const renderImproveGate = (args) => [
|
|
|
30
36
|
'- Re-capture the current page in the exact state depicted by the target, then run improve again.',
|
|
31
37
|
'- Otherwise use the responsive target and LayerDoc as an unanchored sidecar reference.',
|
|
32
38
|
'',
|
|
39
|
+
...(args.rasterLayers && args.rasterLayers.length > 0
|
|
40
|
+
? [
|
|
41
|
+
'No plan was emitted, but the target\'s raster layers are extracted and usable without one.',
|
|
42
|
+
'',
|
|
43
|
+
...renderImproveRasterLayers({ layers: args.rasterLayers }),
|
|
44
|
+
]
|
|
45
|
+
: []),
|
|
33
46
|
].join('\n');
|
|
34
47
|
//# sourceMappingURL=improve-dom-gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-dom-gate.js","sourceRoot":"","sources":["../src/improve-dom-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"improve-dom-gate.js","sourceRoot":"","sources":["../src/improve-dom-gate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAG/E,yFAAyF;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,YAAY,GAAG,wBAAwB,EAC1B,EAAE;IACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO;QACL,MAAM,EAAE,UAAU,GAAG,GAAG,IAAI,YAAY;QACxC,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,UAAU,GAAG,GAAG;QAC7B,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAOjC,EAAU,EAAE,CAAC;IACZ,0BAA0B;IAC1B,EAAE;IACF,iDAAiD;IACjD,EAAE;IACF,eAAe,IAAI,CAAC,UAAU,IAAI;IAClC,eAAe,IAAI,CAAC,UAAU,IAAI;IAClC,oCAAoC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG;IACzJ,0BAA0B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;IAChE,qCAAqC,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;IAC9E,EAAE;IACF,iFAAiF;IACjF,EAAE;IACF,yBAAyB;IACzB,EAAE;IACF,kGAAkG;IAClG,wFAAwF;IACxF,EAAE;IACF,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC;YACA,4FAA4F;YAC5F,EAAE;YACF,GAAG,yBAAyB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5D;QACD,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|