@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.
Files changed (132) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/cli-arguments.d.ts.map +1 -1
  3. package/dist/cli-arguments.js +2 -0
  4. package/dist/cli-arguments.js.map +1 -1
  5. package/dist/cli-conversion-derivation.d.ts +2 -1
  6. package/dist/cli-conversion-derivation.d.ts.map +1 -1
  7. package/dist/cli-conversion-derivation.js +9 -1
  8. package/dist/cli-conversion-derivation.js.map +1 -1
  9. package/dist/cli-convert-command.js +1 -1
  10. package/dist/cli-convert-command.js.map +1 -1
  11. package/dist/cli-draft-command.d.ts +11 -0
  12. package/dist/cli-draft-command.d.ts.map +1 -1
  13. package/dist/cli-draft-command.js +10 -1
  14. package/dist/cli-draft-command.js.map +1 -1
  15. package/dist/cli-help/design.d.ts +1 -1
  16. package/dist/cli-help/design.d.ts.map +1 -1
  17. package/dist/cli-help/design.js +8 -0
  18. package/dist/cli-help/design.js.map +1 -1
  19. package/dist/cli-help/index.d.ts +1 -1
  20. package/dist/cli-improve-command.d.ts.map +1 -1
  21. package/dist/cli-improve-command.js +257 -57
  22. package/dist/cli-improve-command.js.map +1 -1
  23. package/dist/cli-next-command.d.ts.map +1 -1
  24. package/dist/cli-next-command.js +44 -4
  25. package/dist/cli-next-command.js.map +1 -1
  26. package/dist/cli-usage.js +1 -1
  27. package/dist/improve-conversion-attempts.d.ts +92 -0
  28. package/dist/improve-conversion-attempts.d.ts.map +1 -0
  29. package/dist/improve-conversion-attempts.js +88 -0
  30. package/dist/improve-conversion-attempts.js.map +1 -0
  31. package/dist/improve-conversion-stage.d.ts +35 -0
  32. package/dist/improve-conversion-stage.d.ts.map +1 -0
  33. package/dist/improve-conversion-stage.js +381 -0
  34. package/dist/improve-conversion-stage.js.map +1 -0
  35. package/dist/improve-convert-resilience.d.ts +148 -0
  36. package/dist/improve-convert-resilience.d.ts.map +1 -0
  37. package/dist/improve-convert-resilience.js +266 -0
  38. package/dist/improve-convert-resilience.js.map +1 -0
  39. package/dist/improve-delivery-stages.d.ts +0 -6
  40. package/dist/improve-delivery-stages.d.ts.map +1 -1
  41. package/dist/improve-delivery-stages.js +5 -103
  42. package/dist/improve-delivery-stages.js.map +1 -1
  43. package/dist/improve-dom-diff.d.ts +2 -0
  44. package/dist/improve-dom-diff.d.ts.map +1 -1
  45. package/dist/improve-dom-diff.js +7 -0
  46. package/dist/improve-dom-diff.js.map +1 -1
  47. package/dist/improve-dom-gate.d.ts +7 -0
  48. package/dist/improve-dom-gate.d.ts.map +1 -1
  49. package/dist/improve-dom-gate.js +13 -0
  50. package/dist/improve-dom-gate.js.map +1 -1
  51. package/dist/improve-generation-stages.d.ts +3 -0
  52. package/dist/improve-generation-stages.d.ts.map +1 -1
  53. package/dist/improve-generation-stages.js +24 -7
  54. package/dist/improve-generation-stages.js.map +1 -1
  55. package/dist/improve-kit-assets.d.ts +129 -0
  56. package/dist/improve-kit-assets.d.ts.map +1 -0
  57. package/dist/improve-kit-assets.js +333 -0
  58. package/dist/improve-kit-assets.js.map +1 -0
  59. package/dist/improve-kit-readme.d.ts +11 -2
  60. package/dist/improve-kit-readme.d.ts.map +1 -1
  61. package/dist/improve-kit-readme.js +192 -21
  62. package/dist/improve-kit-readme.js.map +1 -1
  63. package/dist/improve-kit-stall.d.ts +67 -0
  64. package/dist/improve-kit-stall.d.ts.map +1 -0
  65. package/dist/improve-kit-stall.js +159 -0
  66. package/dist/improve-kit-stall.js.map +1 -0
  67. package/dist/improve-kit-status.d.ts +69 -0
  68. package/dist/improve-kit-status.d.ts.map +1 -0
  69. package/dist/improve-kit-status.js +145 -0
  70. package/dist/improve-kit-status.js.map +1 -0
  71. package/dist/improve-options.d.ts +13 -1
  72. package/dist/improve-options.d.ts.map +1 -1
  73. package/dist/improve-options.js +77 -15
  74. package/dist/improve-options.js.map +1 -1
  75. package/dist/improve-plan-annotated-render.d.ts +33 -0
  76. package/dist/improve-plan-annotated-render.d.ts.map +1 -0
  77. package/dist/improve-plan-annotated-render.js +175 -0
  78. package/dist/improve-plan-annotated-render.js.map +1 -0
  79. package/dist/improve-plan-annotator.d.ts +2 -1
  80. package/dist/improve-plan-annotator.d.ts.map +1 -1
  81. package/dist/improve-plan-annotator.js +21 -45
  82. package/dist/improve-plan-annotator.js.map +1 -1
  83. package/dist/improve-raster-layers-section.d.ts +21 -0
  84. package/dist/improve-raster-layers-section.d.ts.map +1 -0
  85. package/dist/improve-raster-layers-section.js +45 -0
  86. package/dist/improve-raster-layers-section.js.map +1 -0
  87. package/dist/improve-reset.d.ts +122 -0
  88. package/dist/improve-reset.d.ts.map +1 -0
  89. package/dist/improve-reset.js +141 -0
  90. package/dist/improve-reset.js.map +1 -0
  91. package/dist/improve-run-summary.d.ts +35 -0
  92. package/dist/improve-run-summary.d.ts.map +1 -0
  93. package/dist/improve-run-summary.js +134 -0
  94. package/dist/improve-run-summary.js.map +1 -0
  95. package/dist/improve-stage-runners.d.ts +2 -1
  96. package/dist/improve-stage-runners.d.ts.map +1 -1
  97. package/dist/improve-stage-runners.js +2 -1
  98. package/dist/improve-stage-runners.js.map +1 -1
  99. package/dist/improve-stage-shared.d.ts +6 -0
  100. package/dist/improve-stage-shared.d.ts.map +1 -1
  101. package/dist/improve-stage-shared.js.map +1 -1
  102. package/dist/improve-stop-handler.d.ts +73 -0
  103. package/dist/improve-stop-handler.d.ts.map +1 -0
  104. package/dist/improve-stop-handler.js +126 -0
  105. package/dist/improve-stop-handler.js.map +1 -0
  106. package/dist/improve-terminal-event.d.ts +118 -0
  107. package/dist/improve-terminal-event.d.ts.map +1 -0
  108. package/dist/improve-terminal-event.js +81 -0
  109. package/dist/improve-terminal-event.js.map +1 -0
  110. package/dist/improve-workspace.d.ts +25 -0
  111. package/dist/improve-workspace.d.ts.map +1 -1
  112. package/dist/improve-workspace.js +14 -0
  113. package/dist/improve-workspace.js.map +1 -1
  114. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  115. package/dist/legacy-skill-catalog.js +23 -3
  116. package/dist/legacy-skill-catalog.js.map +1 -1
  117. package/dist/redesign-capture.d.ts +16 -0
  118. package/dist/redesign-capture.d.ts.map +1 -1
  119. package/dist/redesign-capture.js +49 -3
  120. package/dist/redesign-capture.js.map +1 -1
  121. package/dist/run-journal-unfinished.d.ts +56 -0
  122. package/dist/run-journal-unfinished.d.ts.map +1 -0
  123. package/dist/run-journal-unfinished.js +126 -0
  124. package/dist/run-journal-unfinished.js.map +1 -0
  125. package/dist/run-journal.d.ts +25 -1
  126. package/dist/run-journal.d.ts.map +1 -1
  127. package/dist/run-journal.js +15 -1
  128. package/dist/run-journal.js.map +1 -1
  129. package/open-design.json +2 -2
  130. package/package.json +1 -1
  131. package/skills/12ui-design/SKILL.md +2 -0
  132. 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":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA+BhF,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CA0ExB,CAAC;AA6FF,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,CA6DxB,CAAC"}
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 { copyFile, cp, mkdir, readFile, stat, writeFile } from 'node:fs/promises';
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 { improveSha256, noteImproveStage, } from './improve-stage-shared.js';
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 runConvert({
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":"AAcA,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;CAClB,KAAG,OAAO,CAAC,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CA2CnD,CAAC"}
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"}
@@ -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;CACxB,KAAG,MAkBQ,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"}
@@ -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":"AAEA,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,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAMjC,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;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
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"}