@12ui/design 0.2.56 → 0.2.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +1 -1
- package/dist/branch-client.d.ts +2 -0
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +1 -0
- package/dist/branch-client.js.map +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +1 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-convert-command.d.ts.map +1 -1
- package/dist/cli-convert-command.js +110 -15
- package/dist/cli-convert-command.js.map +1 -1
- package/dist/cli-corpus-command.d.ts.map +1 -1
- package/dist/cli-corpus-command.js +5 -2
- package/dist/cli-corpus-command.js.map +1 -1
- package/dist/cli-corpus-evidence.d.ts.map +1 -1
- package/dist/cli-corpus-evidence.js +2 -1
- package/dist/cli-corpus-evidence.js.map +1 -1
- package/dist/cli-corpus-reference-downloads.d.ts +1 -0
- package/dist/cli-corpus-reference-downloads.d.ts.map +1 -1
- package/dist/cli-corpus-reference-downloads.js +13 -3
- package/dist/cli-corpus-reference-downloads.js.map +1 -1
- package/dist/cli-corpus-types.d.ts +2 -0
- package/dist/cli-corpus-types.d.ts.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 +6 -2
- 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 +68 -5
- package/dist/cli-improve-command.js.map +1 -1
- package/dist/cli-usage.js +2 -2
- package/dist/concept-input.d.ts +21 -0
- package/dist/concept-input.d.ts.map +1 -1
- package/dist/concept-input.js +32 -10
- package/dist/concept-input.js.map +1 -1
- package/dist/conversion-client.d.ts +39 -1
- package/dist/conversion-client.d.ts.map +1 -1
- package/dist/conversion-client.js +205 -3
- package/dist/conversion-client.js.map +1 -1
- package/dist/corpus-client.d.ts +7 -1
- package/dist/corpus-client.d.ts.map +1 -1
- package/dist/corpus-client.js +6 -2
- package/dist/corpus-client.js.map +1 -1
- package/dist/corpus-reference-download-retry.d.ts +68 -0
- package/dist/corpus-reference-download-retry.d.ts.map +1 -0
- package/dist/corpus-reference-download-retry.js +123 -0
- package/dist/corpus-reference-download-retry.js.map +1 -0
- package/dist/corpus-request-error.d.ts +17 -0
- package/dist/corpus-request-error.d.ts.map +1 -0
- package/dist/corpus-request-error.js +21 -0
- package/dist/corpus-request-error.js.map +1 -0
- package/dist/draft-run.d.ts +9 -0
- package/dist/draft-run.d.ts.map +1 -1
- package/dist/draft-run.js +22 -5
- package/dist/draft-run.js.map +1 -1
- package/dist/draft-workspace.d.ts +2 -1
- package/dist/draft-workspace.d.ts.map +1 -1
- package/dist/draft-workspace.js.map +1 -1
- package/dist/hosted-draft-identity.d.ts +1 -0
- package/dist/hosted-draft-identity.d.ts.map +1 -1
- package/dist/hosted-draft-identity.js +1 -0
- package/dist/hosted-draft-identity.js.map +1 -1
- package/dist/improve-added-specs.d.ts +9 -0
- package/dist/improve-added-specs.d.ts.map +1 -1
- package/dist/improve-added-specs.js +28 -7
- package/dist/improve-added-specs.js.map +1 -1
- package/dist/improve-bootstrap-secret.d.ts +35 -0
- package/dist/improve-bootstrap-secret.d.ts.map +1 -0
- package/dist/improve-bootstrap-secret.js +61 -0
- package/dist/improve-bootstrap-secret.js.map +1 -0
- package/dist/improve-capture-redirect.d.ts +46 -0
- package/dist/improve-capture-redirect.d.ts.map +1 -0
- package/dist/improve-capture-redirect.js +68 -0
- package/dist/improve-capture-redirect.js.map +1 -0
- package/dist/improve-concept.d.ts +14 -1
- package/dist/improve-concept.d.ts.map +1 -1
- package/dist/improve-concept.js +29 -8
- package/dist/improve-concept.js.map +1 -1
- package/dist/improve-conversion-attempts.d.ts +9 -5
- package/dist/improve-conversion-attempts.d.ts.map +1 -1
- package/dist/improve-conversion-attempts.js +6 -1
- package/dist/improve-conversion-attempts.js.map +1 -1
- package/dist/improve-conversion-stage.d.ts +7 -0
- package/dist/improve-conversion-stage.d.ts.map +1 -1
- package/dist/improve-conversion-stage.js +188 -171
- package/dist/improve-conversion-stage.js.map +1 -1
- package/dist/improve-convert-progress.d.ts +36 -0
- package/dist/improve-convert-progress.d.ts.map +1 -0
- package/dist/improve-convert-progress.js +43 -0
- package/dist/improve-convert-progress.js.map +1 -0
- package/dist/improve-convert-resilience.d.ts +44 -53
- package/dist/improve-convert-resilience.d.ts.map +1 -1
- package/dist/improve-convert-resilience.js +51 -58
- package/dist/improve-convert-resilience.js.map +1 -1
- package/dist/improve-delivery-stages.d.ts.map +1 -1
- package/dist/improve-delivery-stages.js +4 -0
- package/dist/improve-delivery-stages.js.map +1 -1
- package/dist/improve-generation-stages.d.ts.map +1 -1
- package/dist/improve-generation-stages.js +32 -3
- package/dist/improve-generation-stages.js.map +1 -1
- package/dist/improve-icon-svg.d.ts +47 -0
- package/dist/improve-icon-svg.d.ts.map +1 -0
- package/dist/improve-icon-svg.js +83 -0
- package/dist/improve-icon-svg.js.map +1 -0
- package/dist/improve-kit-ignore.d.ts +32 -0
- package/dist/improve-kit-ignore.d.ts.map +1 -0
- package/dist/improve-kit-ignore.js +111 -0
- package/dist/improve-kit-ignore.js.map +1 -0
- package/dist/improve-kit-readme.d.ts.map +1 -1
- package/dist/improve-kit-readme.js +101 -11
- package/dist/improve-kit-readme.js.map +1 -1
- package/dist/improve-kit-stall.d.ts +48 -2
- package/dist/improve-kit-stall.d.ts.map +1 -1
- package/dist/improve-kit-stall.js +167 -15
- package/dist/improve-kit-stall.js.map +1 -1
- package/dist/improve-kit-status.d.ts +36 -0
- package/dist/improve-kit-status.d.ts.map +1 -1
- package/dist/improve-kit-status.js +74 -4
- package/dist/improve-kit-status.js.map +1 -1
- package/dist/improve-options.d.ts +6 -0
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +3 -0
- package/dist/improve-options.js.map +1 -1
- package/dist/improve-plan-annotated-render.d.ts +13 -1
- package/dist/improve-plan-annotated-render.d.ts.map +1 -1
- package/dist/improve-plan-annotated-render.js +21 -0
- package/dist/improve-plan-annotated-render.js.map +1 -1
- package/dist/improve-plan-annotator.d.ts +5 -0
- package/dist/improve-plan-annotator.d.ts.map +1 -1
- package/dist/improve-plan-annotator.js +1 -0
- package/dist/improve-plan-annotator.js.map +1 -1
- package/dist/improve-run-summary.d.ts.map +1 -1
- package/dist/improve-run-summary.js +51 -5
- package/dist/improve-run-summary.js.map +1 -1
- package/dist/improve-stage-shared.d.ts +39 -1
- package/dist/improve-stage-shared.d.ts.map +1 -1
- package/dist/improve-stage-shared.js +80 -3
- package/dist/improve-stage-shared.js.map +1 -1
- package/dist/improve-terminal-event.d.ts.map +1 -1
- package/dist/improve-terminal-event.js +7 -1
- package/dist/improve-terminal-event.js.map +1 -1
- package/dist/improve-token-patch.d.ts +2 -0
- package/dist/improve-token-patch.d.ts.map +1 -1
- package/dist/improve-token-patch.js +23 -5
- package/dist/improve-token-patch.js.map +1 -1
- package/dist/improve-workspace.d.ts +84 -7
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +16 -1
- package/dist/improve-workspace.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +123 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-tool-definitions.js +1 -1
- package/dist/mcp-tool-definitions.js.map +1 -1
- package/dist/mcp-tool-handler.d.ts.map +1 -1
- package/dist/mcp-tool-handler.js +3 -0
- package/dist/mcp-tool-handler.js.map +1 -1
- package/dist/redesign-capture.d.ts +1 -0
- package/dist/redesign-capture.d.ts.map +1 -1
- package/dist/redesign-capture.js +6 -0
- package/dist/redesign-capture.js.map +1 -1
- package/dist/responsive-alternative-materializer.d.ts +19 -0
- package/dist/responsive-alternative-materializer.d.ts.map +1 -0
- package/dist/responsive-alternative-materializer.js +76 -0
- package/dist/responsive-alternative-materializer.js.map +1 -0
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/skills/12ui-design/SKILL.md +7 -1
- package/skills/12ui-design/improve.md +20 -5
- package/skills/12ui-design/inspire.md +1 -1
|
@@ -2,6 +2,7 @@ import { selectorLabel } from './improve-dom-anchor.js';
|
|
|
2
2
|
import { formatImproveBounds, improveCarriedRasterLayers, improveFrameMappingLine, } from './improve-kit-assets.js';
|
|
3
3
|
import { renderImproveRasterLayers } from './improve-raster-layers-section.js';
|
|
4
4
|
import { formatImproveSourceHint } from './improve-source-hints.js';
|
|
5
|
+
import { fontTokenName } from './improve-token-patch.js';
|
|
5
6
|
/** Tokens shown inline; the rest stay in `token-patch.css`, which keeps them all. */
|
|
6
7
|
export const IMPROVE_PLAN_TOKEN_LIMIT = 12;
|
|
7
8
|
/** Selectors per token line. Fifty-four on one line is not a readable plan. */
|
|
@@ -33,8 +34,20 @@ const header = (args) => [
|
|
|
33
34
|
`- Source repository: ${args.repo ? `\`${args.repo}\`` : 'not supplied; file hints are unresolved'}`,
|
|
34
35
|
'',
|
|
35
36
|
];
|
|
37
|
+
/**
|
|
38
|
+
* The design's font, named as a fact rather than fetched (F23).
|
|
39
|
+
*
|
|
40
|
+
* The token patch used to open with a Google Fonts `@import`, which is a
|
|
41
|
+
* network dependency and a CSP hazard the repository never asked for. The plan
|
|
42
|
+
* says which family the design uses and leaves the loading to whatever the
|
|
43
|
+
* repository already does.
|
|
44
|
+
*/
|
|
45
|
+
export const improveFontLines = (fonts) => fonts.map(({ family, weights }) => (`- Fonts: **${family}** (weights ${weights.join(', ')}), declared as \`${fontTokenName(family)}\``
|
|
46
|
+
+ ' — the patch imports nothing. Load the family the way this repository already loads fonts:'
|
|
47
|
+
+ ' self-host it, or add it to the existing loader.'));
|
|
36
48
|
const tokens = (patch) => {
|
|
37
49
|
const lines = ['## Tokens — apply once', '', '- Apply `token-patch.css` through the existing global token or theme entry point.'];
|
|
50
|
+
lines.push(...improveFontLines(patch.fontLoads));
|
|
38
51
|
if (patch.tokens.length === 0) {
|
|
39
52
|
lines.push('- No recurring CSS-capable delta reached the two-node threshold.', '');
|
|
40
53
|
return lines;
|
|
@@ -98,6 +111,14 @@ const addedElements = (args) => {
|
|
|
98
111
|
if (repeated) {
|
|
99
112
|
lines.push('Entries that name an asset above are the same item, specified in full. Place each asset once.', '');
|
|
100
113
|
}
|
|
114
|
+
// Two files per icon, and which one a lane reaches for decides whether the
|
|
115
|
+
// icon renders in its colour or black (F30).
|
|
116
|
+
if (args.addedSpecs.some((spec) => spec.asset?.inline)) {
|
|
117
|
+
lines.push('Icon assets come as a pair. `<name>.svg` carries the design\'s declared colour and is the'
|
|
118
|
+
+ ' one to reference as an `<img>`, `background-image`, or `url()`;'
|
|
119
|
+
+ ' `<name>-inline.svg` paints with `currentColor` and works only inlined in the markup or'
|
|
120
|
+
+ ' as a `mask-image` whose call site sets the colour. Each spec below names its own pair.', '');
|
|
121
|
+
}
|
|
101
122
|
lines.push(...args.addedSpecs.map((spec) => {
|
|
102
123
|
const raster = args.rasterByIndex.get(spec.designIndex);
|
|
103
124
|
const kind = raster?.kind ?? args.computed.targetLeaves[spec.designIndex]?.kind ?? 'layer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-plan-annotated-render.js","sourceRoot":"","sources":["../src/improve-plan-annotated-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-plan-annotated-render.js","sourceRoot":"","sources":["../src/improve-plan-annotated-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAmB,MAAM,2BAA2B,CAAC;AAGrF,OAAO,EAAE,aAAa,EAA0B,MAAM,0BAA0B,CAAC;AAiBjF,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,YAAY,GAAoC;IACpD,cAAc,EAAE,wEAAwE;IACxF,mBAAmB,EAAE,wEAAwE;UACzF,qEAAqE;IACzE,UAAU,EAAE,4EAA4E;UACpF,oCAAoC;CACzC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAE1E,MAAM,MAAM,GAAG,CAAC,IAIf,EAAY,EAAE,CAAC;IACd,iCAAiC;IACjC,EAAE;IACF,0BAA0B;IAC1B,EAAE;IACF,aAAa,IAAI,CAAC,IAAI,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACvD,cAAc,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe;UAC7D,kFAAkF;IACpF,cAAc,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe;UAChE,4EAA4E;IAC9E,YAAY,uBAAuB,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;QACjC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;KACnC,CAAC,EAAE;IACJ,4FAA4F;IAC5F,qFAAqF;IACrF,wBAAwB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,yCAAyC,EAAE;IACpG,EAAE;CACH,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAA2D,EACjD,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAChD,cAAc,MAAM,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,aAAa,CAAC,MAAM,CAAC,IAAI;MAChG,4FAA4F;MAC5F,kDAAkD,CACrD,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAY,EAAE;IACpD,MAAM,KAAK,GAAG,CAAC,wBAAwB,EAAE,EAAE,EAAE,mFAAmF,CAAC,CAAC;IAClI,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,kEAAkE,EAAE,EAAE,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,2BAA2B,CAAC;QAClE,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,KAAK,mBAAmB;cAC1E,eAAe,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACxE,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACrD,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,2EAA2E,CAAC,CAAC;IAC/H,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAqB,EAAU,EAAE,CAAC;IACpD,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/G,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC;CACrH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,cAAc,GAAG,CAAC,IAIvB,EAAY,EAAE;IACb,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9G,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACnC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC,EAAE,EAAE,CAAC,CAAC;QACR,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,IAAI,iBAAiB,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAC5D,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;WACzE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;WAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC7B,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACjC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC,EAAE,EAAE,CAAC,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAyB,EAAU,EAAE,CAAC,CAAC,GAAG;IAC7D,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;IACtG,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAE3B,MAAM,aAAa,GAAG,CAAC,IAItB,EAAY,EAAE;IACb,MAAM,KAAK,GAAG,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,yEAAyE;IACzE,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CACR,+FAA+F,EAC/F,EAAE,CACH,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,6CAA6C;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CACR,2FAA2F;cACzF,kEAAkE;cAClE,yFAAyF;cACzF,yFAAyF,EAC3F,EAAE,CACH,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;QAC3F,MAAM,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,uFAAuF;YACzF,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,WAAW,IAAI,CAAC,WAAW,KAAK,IAAI,MAAM,MAAM,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG;cAC5F,IAAI,MAAM,GAAG,CAAC;IACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,YAA2C,EAAY,EAAE;IAC1E,6EAA6E;IAC7E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACzD,OAAO;QACL,sBAAsB;QACtB,EAAE;QACF,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,sDAAsD,OAAO;iBAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAChG,CAAC,CAAC,oDAAoD;QACxD,uDAAuD;QACvD,uDAAuD;QACvD,sBAAsB;QACtB,4CAA4C;QAC5C,EAAE;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAa,EAAE,CAAC;IACjC,8BAA8B;IAC9B,EAAE;IACF,6FAA6F;IAC7F,yGAAyG;IACzG,4GAA4G;IAC5G,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,EAAE;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAQ1C,EAAU,EAAE;IACX,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,IAAI,EAAE,GAAG;YAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO;QACL,GAAG,MAAM,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,GAAG,yBAAyB,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;SAC7D,CAAC;QACF,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1B,GAAG,cAAc,CAAC;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;QACzF,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACrC,GAAG,UAAU,EAAE;KAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -11,5 +11,10 @@ export declare const writeImproveAnnotatedPlan: (args: {
|
|
|
11
11
|
planPath: string;
|
|
12
12
|
tokenPath: string;
|
|
13
13
|
artifacts: string[];
|
|
14
|
+
/** The families the repository has to load itself; the patch imports none (F23). */
|
|
15
|
+
fonts: Array<{
|
|
16
|
+
family: string;
|
|
17
|
+
weights: number[];
|
|
18
|
+
}>;
|
|
14
19
|
}>;
|
|
15
20
|
//# sourceMappingURL=improve-plan-annotator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-plan-annotator.d.ts","sourceRoot":"","sources":["../src/improve-plan-annotator.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,GAAU,MAAM;IACpD,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;CACvB,KAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-plan-annotator.d.ts","sourceRoot":"","sources":["../src/improve-plan-annotator.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,GAAU,MAAM;IACpD,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;CACvB,KAAG,OAAO,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oFAAoF;IACpF,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACrD,CAwDA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-plan-annotator.js","sourceRoot":"","sources":["../src/improve-plan-annotator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,0BAA0B,GAG3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,IAO/C,
|
|
1
|
+
{"version":3,"file":"improve-plan-annotator.js","sourceRoot":"","sources":["../src/improve-plan-annotator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-run-summary.d.ts","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"improve-run-summary.d.ts","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAmE7F;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM;IACxC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;CAClD,KAAG,MAeH,CAAC;AAmBF,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC;CAC7B,KAAG,MAuCH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,KAAG,OAAO,CAAC,MAAM,CAUjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,EAAE,SAAS,MAAM,KAAG,OAM9E,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { formatDuration } from './cli-progress.js';
|
|
2
3
|
import { readImproveKitAssets } from './improve-kit-assets.js';
|
|
3
|
-
import { IMPROVE_NO_APPROXIMATION_RULE, improveRecoveryLine, improveStageStatusLine, readImproveKitStatus, shellArg, } from './improve-kit-status.js';
|
|
4
|
+
import { IMPROVE_NO_APPROXIMATION_RULE, improvePickSlotHint, improveRecoveryLine, improveStageStatusLine, readImproveKitStatus, shellArg, } from './improve-kit-status.js';
|
|
5
|
+
import { improveCapturedUrlLine } from './improve-capture-redirect.js';
|
|
6
|
+
import { improveKitIgnoreNote } from './improve-kit-ignore.js';
|
|
4
7
|
import { improveAbandonedLines } from './improve-reset.js';
|
|
5
8
|
import { improvePaths } from './improve-workspace.js';
|
|
6
9
|
/**
|
|
@@ -28,10 +31,28 @@ const planLine = (record, status) => {
|
|
|
28
31
|
const headline = (record, status) => {
|
|
29
32
|
if (status.gateBlocked)
|
|
30
33
|
return 'Kit ready — coverage gate blocked the plan';
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
// "Fixed-layout fallback" named the OUTCOME and not the event, so a reader
|
|
35
|
+
// who had watched a silent wait could not tell the run had overrun anything
|
|
36
|
+
// (F8). Name what happened first: the plan is real, and it was built from a
|
|
37
|
+
// derivation because the responsive export did not settle.
|
|
38
|
+
if (record.convert?.layout === 'fixed') {
|
|
39
|
+
return 'Kit ready — responsive export stalled; plan from fixed-layout fallback';
|
|
40
|
+
}
|
|
33
41
|
return 'Kit ready';
|
|
34
42
|
};
|
|
43
|
+
/** What stalled and where it is written down, on the line after the headline. */
|
|
44
|
+
const fallbackLines = (record) => {
|
|
45
|
+
if (record.convert?.layout !== 'fixed')
|
|
46
|
+
return [];
|
|
47
|
+
const stall = record.convert.responsiveStall;
|
|
48
|
+
const id = stall?.conversionId ?? record.convert.sourceConversionId;
|
|
49
|
+
return [
|
|
50
|
+
`- Responsive export: stalled${stall
|
|
51
|
+
? ` after ${formatDuration(stall.waitedSeconds)} (bound ${formatDuration(stall.boundSeconds)})`
|
|
52
|
+
: ''}${id ? `, conversion ${id}` : ''}`
|
|
53
|
+
+ ' — read plan/STALL.md, which has the command that collects it later',
|
|
54
|
+
];
|
|
55
|
+
};
|
|
35
56
|
const assetsLine = (index) => {
|
|
36
57
|
if (index.assets.length === 0)
|
|
37
58
|
return 'Assets: none';
|
|
@@ -40,6 +61,15 @@ const assetsLine = (index) => {
|
|
|
40
61
|
return `Assets: ${index.assets.length} file${index.assets.length === 1 ? '' : 's'};`
|
|
41
62
|
+ ` raster layers to carry: ${carry.length > 0 ? carry.join(', ') : 'none declared'}`;
|
|
42
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* The kit is inside the repository and committable. One line, at the end, where
|
|
66
|
+
* the reader is already looking — the run never edits a `.gitignore` it cannot
|
|
67
|
+
* be sure about, so this is all it can honestly do (F17).
|
|
68
|
+
*/
|
|
69
|
+
const kitIgnoreLines = (record) => {
|
|
70
|
+
const note = improveKitIgnoreNote(record.kitIgnore);
|
|
71
|
+
return note ? [`- ${note}`] : [];
|
|
72
|
+
};
|
|
43
73
|
/**
|
|
44
74
|
* What a run prints when the draw is ready and nobody has chosen.
|
|
45
75
|
*
|
|
@@ -50,7 +80,6 @@ const assetsLine = (index) => {
|
|
|
50
80
|
*/
|
|
51
81
|
export const awaitingImprovePick = (args) => {
|
|
52
82
|
const slots = (args.record.draft?.candidates ?? []).map((candidate) => candidate.slot);
|
|
53
|
-
const last = slots.at(-1) ?? 'P';
|
|
54
83
|
return [
|
|
55
84
|
'',
|
|
56
85
|
'Draw ready — choose a candidate',
|
|
@@ -59,10 +88,21 @@ export const awaitingImprovePick = (args) => {
|
|
|
59
88
|
'- Nothing was converted. A conversion of a candidate nobody chose is money spent on a guess,'
|
|
60
89
|
+ ' and it cannot be cancelled once it starts.',
|
|
61
90
|
`- Kit: ${args.record.runDir}`,
|
|
91
|
+
...kitIgnoreLines(args.record),
|
|
62
92
|
`Next: 12ui improve ${shellArg(args.record.input.value)}`
|
|
63
|
-
+ ` --out-dir ${shellArg(args.record.runDir)}
|
|
93
|
+
+ ` --out-dir ${shellArg(args.record.runDir)}`
|
|
94
|
+
+ ` --from pick --pick ${improvePickSlotHint(args.record)}`,
|
|
64
95
|
].join('\n');
|
|
65
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* The page that was photographed, when it is not the page that was requested.
|
|
99
|
+
* One line, high in the summary, is what the notion app surface needed and did
|
|
100
|
+
* not get (F27).
|
|
101
|
+
*/
|
|
102
|
+
const capturedLines = (record) => {
|
|
103
|
+
const line = improveCapturedUrlLine(record);
|
|
104
|
+
return line ? [`- ${line}`] : [];
|
|
105
|
+
};
|
|
66
106
|
/** Which candidate the target came from, and why that one was converted. */
|
|
67
107
|
const convertedLine = (record) => {
|
|
68
108
|
if (record.target)
|
|
@@ -79,12 +119,15 @@ export const renderImproveRunSummary = (args) => {
|
|
|
79
119
|
'',
|
|
80
120
|
headline(args.record, args.status),
|
|
81
121
|
`- ${stages}`,
|
|
122
|
+
...capturedLines(args.record),
|
|
82
123
|
`- Target: ${args.status.targetMode}`,
|
|
124
|
+
...fallbackLines(args.record),
|
|
83
125
|
`- ${assetsLine(args.index)}`,
|
|
84
126
|
...convertedLine(args.record),
|
|
85
127
|
`- ${planLine(args.record, args.status)}`,
|
|
86
128
|
...improveAbandonedLines(args.record),
|
|
87
129
|
`- Kit: ${args.record.runDir}`,
|
|
130
|
+
...kitIgnoreLines(args.record),
|
|
88
131
|
`Next: read ${readme}`,
|
|
89
132
|
].join('\n');
|
|
90
133
|
}
|
|
@@ -93,12 +136,15 @@ export const renderImproveRunSummary = (args) => {
|
|
|
93
136
|
'INCOMPLETE',
|
|
94
137
|
`- Missing: ${args.status.missing.join(', ')}`,
|
|
95
138
|
`- ${stages}`,
|
|
139
|
+
...capturedLines(args.record),
|
|
96
140
|
`- Target: ${args.status.targetMode}`,
|
|
141
|
+
...fallbackLines(args.record),
|
|
97
142
|
`- ${assetsLine(args.index)}`,
|
|
98
143
|
...convertedLine(args.record),
|
|
99
144
|
`- ${planLine(args.record, args.status)}`,
|
|
100
145
|
...improveAbandonedLines(args.record),
|
|
101
146
|
`- Kit: ${args.record.runDir}`,
|
|
147
|
+
...kitIgnoreLines(args.record),
|
|
102
148
|
'- Recovery:',
|
|
103
149
|
...args.status.recovery.map(improveRecoveryLine),
|
|
104
150
|
`- ${IMPROVE_NO_APPROXIMATION_RULE}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-run-summary.js","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAA6B,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,GAET,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-run-summary.js","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { runDraftCommand } from './cli-draft-command.js';
|
|
|
3
3
|
import { captureImprovePage } from './redesign-capture.js';
|
|
4
4
|
import type { ImproveStopTarget } from './improve-stop-handler.js';
|
|
5
5
|
import type { RunJournalNotes } from './run-journal.js';
|
|
6
|
-
import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
|
|
6
|
+
import { type ImproveRecord, type ImproveStage, type ImproveStageOutcome } from './improve-workspace.js';
|
|
7
7
|
export type ImproveCommandDependencies = {
|
|
8
8
|
capture?: typeof captureImprovePage;
|
|
9
9
|
runDraft?: typeof runDraftCommand;
|
|
@@ -20,6 +20,15 @@ export type ImproveCommandDependencies = {
|
|
|
20
20
|
exit?: (code: number) => void;
|
|
21
21
|
};
|
|
22
22
|
export declare const improveSha256: (bytes: Uint8Array) => string;
|
|
23
|
+
/**
|
|
24
|
+
* The word for what this stage did, read off the record it just wrote (F28).
|
|
25
|
+
*
|
|
26
|
+
* The facts were always there — `convert.layout`, `convert.responsiveWarning`,
|
|
27
|
+
* `plan.gate` — and the README already printed them. Only `improve.json` said
|
|
28
|
+
* `settled` over a fixed-layout fallback and a gate-blocked plan, which is the
|
|
29
|
+
* one place a supervisor or a campaign parser looks.
|
|
30
|
+
*/
|
|
31
|
+
export declare const improveStageOutcome: (record: ImproveRecord, stage: ImproveStage) => ImproveStageOutcome;
|
|
23
32
|
export declare const noteImproveStage: (args: {
|
|
24
33
|
record: ImproveRecord;
|
|
25
34
|
stage: ImproveStage;
|
|
@@ -28,5 +37,34 @@ export declare const noteImproveStage: (args: {
|
|
|
28
37
|
outcome?: "settled" | "skipped";
|
|
29
38
|
write: boolean;
|
|
30
39
|
}) => Promise<ImproveRecord>;
|
|
40
|
+
/**
|
|
41
|
+
* The paid call this stage dispatched did not come back in this run.
|
|
42
|
+
*
|
|
43
|
+
* It rewrites the dispatched entry rather than adding one, so the price stays
|
|
44
|
+
* the price of the call that is still running and a resume still re-attaches
|
|
45
|
+
* to it. A stage with no entry bought nothing; it gets an unpriced `stalled`
|
|
46
|
+
* entry only when the run itself stalled, so `stages.plan.outcome` can say so
|
|
47
|
+
* instead of staying silent.
|
|
48
|
+
*/
|
|
49
|
+
export declare const markImproveStageStalled: (args: {
|
|
50
|
+
record: ImproveRecord;
|
|
51
|
+
stage: ImproveStage;
|
|
52
|
+
stalled: boolean;
|
|
53
|
+
}) => ImproveRecord;
|
|
54
|
+
/**
|
|
55
|
+
* The stage's paid work is in flight, priced, and written down before it can
|
|
56
|
+
* fail (F19).
|
|
57
|
+
*
|
|
58
|
+
* `improve.json` is the kit's spend ledger, and it only ever held stages that
|
|
59
|
+
* SETTLED. The pipedrive kit dispatched two parent conversions and settled
|
|
60
|
+
* neither, so its recorded ceiling was the draft's $0.242 and the lane had to
|
|
61
|
+
* publish a planning proxy in place of a receipt. A stage already recorded is
|
|
62
|
+
* left alone: a resume re-attaches to the conversion this entry paid for.
|
|
63
|
+
*/
|
|
64
|
+
export declare const noteImproveStageDispatched: (args: {
|
|
65
|
+
record: ImproveRecord;
|
|
66
|
+
stage: ImproveStage;
|
|
67
|
+
priceCeilingUsd: number;
|
|
68
|
+
}) => ImproveRecord;
|
|
31
69
|
export declare const markImproveStageSkipped: (record: ImproveRecord, stage: ImproveStage) => Promise<ImproveRecord>;
|
|
32
70
|
//# sourceMappingURL=improve-stage-shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAA0D,CAAC;AAE7G;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,aAAa,EACrB,OAAO,YAAY,KAClB,mBAIF,CAAC;AAOF,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,KAAG,OAAO,CAAC,aAAa,CA+BxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAG,aAcH,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,KAAG,aAaH,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,aAAa,EACrB,OAAO,YAAY,KAClB,OAAO,CAAC,aAAa,CAOtB,CAAC"}
|
|
@@ -2,20 +2,49 @@ import { createHash } from 'node:crypto';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { writeImproveRecord, } from './improve-workspace.js';
|
|
4
4
|
export const improveSha256 = (bytes) => createHash('sha256').update(bytes).digest('hex');
|
|
5
|
+
/**
|
|
6
|
+
* The word for what this stage did, read off the record it just wrote (F28).
|
|
7
|
+
*
|
|
8
|
+
* The facts were always there — `convert.layout`, `convert.responsiveWarning`,
|
|
9
|
+
* `plan.gate` — and the README already printed them. Only `improve.json` said
|
|
10
|
+
* `settled` over a fixed-layout fallback and a gate-blocked plan, which is the
|
|
11
|
+
* one place a supervisor or a campaign parser looks.
|
|
12
|
+
*/
|
|
13
|
+
export const improveStageOutcome = (record, stage) => {
|
|
14
|
+
if (stage === 'convert' && record.convert?.layout === 'fixed')
|
|
15
|
+
return 'fallback';
|
|
16
|
+
if (stage === 'plan' && record.plan?.gate === 'blocked')
|
|
17
|
+
return 'blocked';
|
|
18
|
+
return 'settled';
|
|
19
|
+
};
|
|
20
|
+
/** A priced entry whose paid call has not come back yet. */
|
|
21
|
+
const isPendingOutcome = (outcome) => (outcome === 'dispatched' || outcome === 'stalled');
|
|
5
22
|
export const noteImproveStage = async (args) => {
|
|
6
23
|
const previous = args.record.stages[args.stage];
|
|
24
|
+
// A stage recorded at DISPATCH is not a replay of anything: the paid call it
|
|
25
|
+
// priced is the one settling now, so settling completes that entry rather
|
|
26
|
+
// than counting a second run of the stage. A stage that STALLED holds the
|
|
27
|
+
// same entry — the resume is that call finishing, not a second run of it.
|
|
28
|
+
const pending = previous && isPendingOutcome(previous.outcome) ? previous : undefined;
|
|
29
|
+
const outcome = args.outcome ?? improveStageOutcome(args.record, args.stage);
|
|
7
30
|
const record = {
|
|
8
31
|
...args.record,
|
|
9
32
|
stages: {
|
|
10
33
|
...args.record.stages,
|
|
11
|
-
[args.stage]: previous ? {
|
|
34
|
+
[args.stage]: previous && !pending ? {
|
|
12
35
|
...previous,
|
|
13
36
|
replayCount: previous.replayCount + (args.replayed ? 1 : 0),
|
|
37
|
+
// A replay re-reads the outcome too, so a kit written before this
|
|
38
|
+
// field could tell the truth stops calling a fallback settled the
|
|
39
|
+
// first time it is resumed.
|
|
40
|
+
outcome,
|
|
14
41
|
} : {
|
|
42
|
+
...(pending?.dispatchedAt ? { dispatchedAt: pending.dispatchedAt } : {}),
|
|
15
43
|
settledAt: new Date().toISOString(),
|
|
16
44
|
replayCount: 0,
|
|
17
|
-
|
|
18
|
-
|
|
45
|
+
// The dispatch priced this call; a settlement never prices it lower.
|
|
46
|
+
priceCeilingUsd: Math.max(pending?.priceCeilingUsd ?? 0, args.priceCeilingUsd),
|
|
47
|
+
outcome,
|
|
19
48
|
},
|
|
20
49
|
},
|
|
21
50
|
};
|
|
@@ -23,6 +52,54 @@ export const noteImproveStage = async (args) => {
|
|
|
23
52
|
await writeImproveRecord(path.join(args.record.runDir, 'improve.json'), record);
|
|
24
53
|
return record;
|
|
25
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* The paid call this stage dispatched did not come back in this run.
|
|
57
|
+
*
|
|
58
|
+
* It rewrites the dispatched entry rather than adding one, so the price stays
|
|
59
|
+
* the price of the call that is still running and a resume still re-attaches
|
|
60
|
+
* to it. A stage with no entry bought nothing; it gets an unpriced `stalled`
|
|
61
|
+
* entry only when the run itself stalled, so `stages.plan.outcome` can say so
|
|
62
|
+
* instead of staying silent.
|
|
63
|
+
*/
|
|
64
|
+
export const markImproveStageStalled = (args) => {
|
|
65
|
+
const previous = args.record.stages[args.stage];
|
|
66
|
+
if (previous && previous.outcome !== 'dispatched')
|
|
67
|
+
return args.record;
|
|
68
|
+
if (!previous && !args.stalled)
|
|
69
|
+
return args.record;
|
|
70
|
+
return {
|
|
71
|
+
...args.record,
|
|
72
|
+
stages: {
|
|
73
|
+
...args.record.stages,
|
|
74
|
+
[args.stage]: {
|
|
75
|
+
...(previous ?? { replayCount: 0, priceCeilingUsd: 0 }),
|
|
76
|
+
outcome: 'stalled',
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* The stage's paid work is in flight, priced, and written down before it can
|
|
83
|
+
* fail (F19).
|
|
84
|
+
*
|
|
85
|
+
* `improve.json` is the kit's spend ledger, and it only ever held stages that
|
|
86
|
+
* SETTLED. The pipedrive kit dispatched two parent conversions and settled
|
|
87
|
+
* neither, so its recorded ceiling was the draft's $0.242 and the lane had to
|
|
88
|
+
* publish a planning proxy in place of a receipt. A stage already recorded is
|
|
89
|
+
* left alone: a resume re-attaches to the conversion this entry paid for.
|
|
90
|
+
*/
|
|
91
|
+
export const noteImproveStageDispatched = (args) => (args.record.stages[args.stage] ? args.record : {
|
|
92
|
+
...args.record,
|
|
93
|
+
stages: {
|
|
94
|
+
...args.record.stages,
|
|
95
|
+
[args.stage]: {
|
|
96
|
+
dispatchedAt: new Date().toISOString(),
|
|
97
|
+
replayCount: 0,
|
|
98
|
+
priceCeilingUsd: args.priceCeilingUsd,
|
|
99
|
+
outcome: 'dispatched',
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
});
|
|
26
103
|
export const markImproveStageSkipped = async (record, stage) => noteImproveStage({
|
|
27
104
|
record,
|
|
28
105
|
stage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-terminal-event.d.ts","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,yBAAyB,GAAI,MAAM;IAC9C,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,KAAG,MAEgC,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,GAAG,SAAS,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EACrB,cAAc,YAAY,KACzB,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"improve-terminal-event.d.ts","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,yBAAyB,GAAI,MAAM;IAC9C,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,KAAG,MAEgC,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,GAAG,SAAS,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EACrB,cAAc,YAAY,KACzB,YAAY,GAAG,SAUjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,MAAM;IACnD,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KAAG,OAAO,CAAC,MAAM,CA0CjB,CAAC"}
|
|
@@ -27,7 +27,13 @@ export const IMPROVE_SIGNALLED_AFTER_COMPLETION = 'improve_signalled_after_compl
|
|
|
27
27
|
export const improveUnsettledStage = (record, requestedTo) => {
|
|
28
28
|
const last = requestedTo ?? IMPROVE_STAGES[IMPROVE_STAGES.length - 1];
|
|
29
29
|
const bound = IMPROVE_STAGES.indexOf(last);
|
|
30
|
-
|
|
30
|
+
// A stage whose entry was written at DISPATCH has not settled either: the
|
|
31
|
+
// entry exists to price a paid call that is still out (F19), and reading it
|
|
32
|
+
// as a settlement would name the NEXT stage as the one a stalled run died in.
|
|
33
|
+
return IMPROVE_STAGES.slice(0, bound + 1).find((stage) => {
|
|
34
|
+
const entry = record.stages[stage];
|
|
35
|
+
return !entry || entry.outcome === 'dispatched' || entry.outcome === 'stalled';
|
|
36
|
+
});
|
|
31
37
|
};
|
|
32
38
|
/**
|
|
33
39
|
* Close this run's journal record with the reason, the stage, the hosted run
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-terminal-event.js","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAyB,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAyC,MAAM,wBAAwB,CAAC;AA6C/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAIzC,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;IACpC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;IAC/D,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,oCAAoC,CAAC;AAqBvF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAqB,EACrB,WAA0B,EACA,EAAE;IAC5B,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACvE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"improve-terminal-event.js","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { LayerDiffMatch, LayerLeaf } from './improve-layerdoc-types.js';
|
|
2
2
|
export declare const snapImproveDesignNumber: (field: string, input: unknown) => unknown;
|
|
3
3
|
export declare const snapImproveDesignValue: (field: string, value: unknown) => unknown;
|
|
4
|
+
/** The one place the design's font family is named, and what everything else points at. */
|
|
5
|
+
export declare const fontTokenName: (family: string) => string;
|
|
4
6
|
export type ImproveTokenPatch = {
|
|
5
7
|
css: string;
|
|
6
8
|
tokens: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-token-patch.d.ts","sourceRoot":"","sources":["../src/improve-token-patch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAU7E,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OASvE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OAQtE,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-token-patch.d.ts","sourceRoot":"","sources":["../src/improve-token-patch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAU7E,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OASvE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OAQtE,CAAC;AAYF,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAAqC,CAAC;AAarF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrG,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,cAAc,EAAE,EAClC,QAAQ,SAAS,SAAS,EAAE,EAC5B,QAAO,SAAS,SAAS,EAAO,KAC/B,iBAoFF,CAAC"}
|
|
@@ -38,9 +38,15 @@ const cssProperty = (field) => {
|
|
|
38
38
|
return field;
|
|
39
39
|
return undefined;
|
|
40
40
|
};
|
|
41
|
+
/** The one place the design's font family is named, and what everything else points at. */
|
|
42
|
+
export const fontTokenName = (family) => `--font-${cssName(family)}`;
|
|
43
|
+
const fontStack = (family) => `'${family.replace(/'/gu, "\\'")}', sans-serif`;
|
|
41
44
|
const cssValue = (field, value) => {
|
|
45
|
+
// A recurring font-family delta resolves to the family token above rather
|
|
46
|
+
// than repeating its stack, so a repository that swaps the loaded family
|
|
47
|
+
// swaps it in one declaration.
|
|
42
48
|
if (field === 'googleFontFamily')
|
|
43
|
-
return `
|
|
49
|
+
return `var(${fontTokenName(String(value))})`;
|
|
44
50
|
if ((field === 'fontSizePx' || field === 'fittedFontSizePx') && typeof value === 'number')
|
|
45
51
|
return `${value}px`;
|
|
46
52
|
return String(value);
|
|
@@ -101,13 +107,25 @@ export const buildImproveTokenPatch = (entries, before, after = []) => {
|
|
|
101
107
|
const lines = [
|
|
102
108
|
'/* Proposed tokens from recurring target deltas. Review names in the owning design system. */',
|
|
103
109
|
];
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
110
|
+
// NO NETWORK IMPORT (F23). This file opened with
|
|
111
|
+
// `@import url('https://fonts.googleapis.com/css2?...')`, and the kit README
|
|
112
|
+
// makes applying it wholesale step 3 of "Start here" — so the one step a lane
|
|
113
|
+
// is told to apply without thinking was also the step that added a
|
|
114
|
+
// third-party font request, and a CSP and offline hazard, to a repository
|
|
115
|
+
// that declared no such dependency. Two of the four wave-2 lanes that got a
|
|
116
|
+
// token patch refused it on exactly that ground. The family is named as a
|
|
117
|
+
// token and as a comment; how it is loaded belongs to the repository.
|
|
118
|
+
for (const { family, weights } of fontLoads) {
|
|
119
|
+
lines.push(`/* Font: ${family} (weights ${weights.join(', ')}). Declared as a token only —`
|
|
120
|
+
+ ' this patch loads nothing over the network. Load the family the way this repository'
|
|
121
|
+
+ ' already loads fonts: self-host it, or add it to the existing loader. */');
|
|
107
122
|
}
|
|
108
123
|
lines.push('', ':root {');
|
|
109
|
-
|
|
124
|
+
for (const { family } of fontLoads)
|
|
125
|
+
lines.push(` ${fontTokenName(family)}: ${fontStack(family)};`);
|
|
126
|
+
if (tokens.length === 0 && fontLoads.length === 0) {
|
|
110
127
|
lines.push(' /* No recurring CSS-capable deltas (2+ matching nodes). */');
|
|
128
|
+
}
|
|
111
129
|
for (const token of tokens) {
|
|
112
130
|
lines.push(` /* selectors: ${token.selectors.join(', ')} */`);
|
|
113
131
|
lines.push(` ${token.name}: ${token.value};`);
|