@12ui/design 0.2.56 → 0.2.58
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/artifact-materializer.d.ts.map +1 -1
- package/dist/artifact-materializer.js +4 -1
- package/dist/artifact-materializer.js.map +1 -1
- package/dist/branch-client.d.ts +86 -2
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +31 -0
- package/dist/branch-client.js.map +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +3 -1
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-capabilities.d.ts +1 -1
- package/dist/cli-conversion-derivation.js +2 -2
- package/dist/cli-conversion-derivation.js.map +1 -1
- package/dist/cli-convert-command.d.ts +2 -0
- package/dist/cli-convert-command.d.ts.map +1 -1
- package/dist/cli-convert-command.js +176 -38
- package/dist/cli-convert-command.js.map +1 -1
- package/dist/cli-corpus-command.js +2 -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-draft-command.d.ts +9 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +26 -1
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +7 -4
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +23 -6
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +9 -6
- package/dist/cli-help/index.d.ts.map +1 -1
- package/dist/cli-help/meta.d.ts +2 -2
- package/dist/cli-help/meta.d.ts.map +1 -1
- package/dist/cli-help/meta.js +4 -1
- package/dist/cli-help/meta.js.map +1 -1
- package/dist/cli-improve-command.d.ts.map +1 -1
- package/dist/cli-improve-command.js +273 -28
- package/dist/cli-improve-command.js.map +1 -1
- package/dist/cli-redesign-command.d.ts.map +1 -1
- package/dist/cli-redesign-command.js +97 -24
- package/dist/cli-redesign-command.js.map +1 -1
- package/dist/cli-run.d.ts.map +1 -1
- package/dist/cli-run.js +13 -3
- package/dist/cli-run.js.map +1 -1
- package/dist/cli-spend-command.d.ts +12 -1
- package/dist/cli-spend-command.d.ts.map +1 -1
- package/dist/cli-spend-command.js +94 -2
- package/dist/cli-spend-command.js.map +1 -1
- package/dist/cli-usage.js +5 -5
- package/dist/cli-usage.js.map +1 -1
- package/dist/concept-input.d.ts +6 -56
- package/dist/concept-input.d.ts.map +1 -1
- package/dist/concept-input.js +6 -65
- package/dist/concept-input.js.map +1 -1
- package/dist/conversion-client.d.ts +92 -3
- package/dist/conversion-client.d.ts.map +1 -1
- package/dist/conversion-client.js +317 -23
- 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 +3 -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 +15 -0
- package/dist/draft-run.d.ts.map +1 -1
- package/dist/draft-run.js +32 -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 +9 -0
- package/dist/hosted-draft-identity.d.ts.map +1 -1
- package/dist/hosted-draft-identity.js +2 -0
- package/dist/hosted-draft-identity.js.map +1 -1
- package/dist/improve-added-specs.d.ts +12 -31
- package/dist/improve-added-specs.d.ts.map +1 -1
- package/dist/improve-added-specs.js +64 -152
- package/dist/improve-added-specs.js.map +1 -1
- package/dist/improve-artifact-writer.d.ts +13 -0
- package/dist/improve-artifact-writer.d.ts.map +1 -0
- package/dist/improve-artifact-writer.js +27 -0
- package/dist/improve-artifact-writer.js.map +1 -0
- package/dist/improve-bootstrap-history.d.ts +21 -0
- package/dist/improve-bootstrap-history.d.ts.map +1 -0
- package/dist/improve-bootstrap-history.js +43 -0
- package/dist/improve-bootstrap-history.js.map +1 -0
- 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-branch-stage.d.ts +10 -0
- package/dist/improve-branch-stage.d.ts.map +1 -0
- package/dist/improve-branch-stage.js +325 -0
- package/dist/improve-branch-stage.js.map +1 -0
- package/dist/improve-capture-redirect.d.ts +65 -0
- package/dist/improve-capture-redirect.d.ts.map +1 -0
- package/dist/improve-capture-redirect.js +85 -0
- package/dist/improve-capture-redirect.js.map +1 -0
- package/dist/improve-capture-words.d.ts +43 -0
- package/dist/improve-capture-words.d.ts.map +1 -0
- package/dist/improve-capture-words.js +25 -0
- package/dist/improve-capture-words.js.map +1 -0
- package/dist/improve-concept.d.ts +6 -7
- package/dist/improve-concept.d.ts.map +1 -1
- package/dist/improve-concept.js +12 -38
- package/dist/improve-concept.js.map +1 -1
- package/dist/improve-conversion-attempts.d.ts +21 -9
- 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 +20 -2
- package/dist/improve-conversion-stage.d.ts.map +1 -1
- package/dist/improve-conversion-stage.js +386 -178
- package/dist/improve-conversion-stage.js.map +1 -1
- package/dist/improve-convert-progress.d.ts +44 -0
- package/dist/improve-convert-progress.d.ts.map +1 -0
- package/dist/improve-convert-progress.js +47 -0
- package/dist/improve-convert-progress.js.map +1 -0
- package/dist/improve-convert-resilience.d.ts +96 -58
- package/dist/improve-convert-resilience.d.ts.map +1 -1
- package/dist/improve-convert-resilience.js +128 -72
- package/dist/improve-convert-resilience.js.map +1 -1
- package/dist/improve-core/concept-input.d.ts +80 -0
- package/dist/improve-core/concept-input.d.ts.map +1 -0
- package/dist/improve-core/concept-input.js +92 -0
- package/dist/improve-core/concept-input.js.map +1 -0
- package/dist/improve-core/improve-added-specs.d.ts +62 -0
- package/dist/improve-core/improve-added-specs.d.ts.map +1 -0
- package/dist/improve-core/improve-added-specs.js +160 -0
- package/dist/improve-core/improve-added-specs.js.map +1 -0
- package/dist/improve-core/improve-artifacts.d.ts +18 -0
- package/dist/improve-core/improve-artifacts.d.ts.map +1 -0
- package/dist/improve-core/improve-artifacts.js +4 -0
- package/dist/improve-core/improve-artifacts.js.map +1 -0
- package/dist/improve-core/improve-concept.d.ts +7 -0
- package/dist/improve-core/improve-concept.d.ts.map +1 -0
- package/dist/improve-core/improve-concept.js +185 -0
- package/dist/improve-core/improve-concept.js.map +1 -0
- package/dist/improve-core/improve-discovery.d.ts +84 -0
- package/dist/improve-core/improve-discovery.d.ts.map +1 -0
- package/dist/improve-core/improve-discovery.js +154 -0
- package/dist/improve-core/improve-discovery.js.map +1 -0
- package/dist/improve-core/improve-dom-anchor.d.ts.map +1 -0
- package/dist/{improve-dom-anchor.js → improve-core/improve-dom-anchor.js} +2 -0
- package/dist/improve-core/improve-dom-anchor.js.map +1 -0
- package/dist/improve-core/improve-dom-diff.d.ts +59 -0
- package/dist/improve-core/improve-dom-diff.d.ts.map +1 -0
- package/dist/improve-core/improve-dom-diff.js +151 -0
- package/dist/improve-core/improve-dom-diff.js.map +1 -0
- package/dist/improve-core/improve-dom-extract.d.ts.map +1 -0
- package/dist/{improve-dom-extract.js → improve-core/improve-dom-extract.js} +2 -0
- package/dist/improve-core/improve-dom-extract.js.map +1 -0
- package/dist/improve-core/improve-dom-gate.d.ts +49 -0
- package/dist/improve-core/improve-dom-gate.d.ts.map +1 -0
- package/dist/improve-core/improve-dom-gate.js +99 -0
- package/dist/improve-core/improve-dom-gate.js.map +1 -0
- package/dist/improve-core/improve-dom-neighbour.d.ts.map +1 -0
- package/dist/{improve-dom-neighbour.js → improve-core/improve-dom-neighbour.js} +2 -0
- package/dist/improve-core/improve-dom-neighbour.js.map +1 -0
- package/dist/improve-core/improve-dom-scale.d.ts.map +1 -0
- package/dist/{improve-dom-scale.js → improve-core/improve-dom-scale.js} +2 -0
- package/dist/improve-core/improve-dom-scale.js.map +1 -0
- package/dist/improve-core/improve-icon-svg.d.ts +29 -0
- package/dist/improve-core/improve-icon-svg.d.ts.map +1 -0
- package/dist/improve-core/improve-icon-svg.js +85 -0
- package/dist/improve-core/improve-icon-svg.js.map +1 -0
- package/dist/improve-core/improve-kit-asset-model.d.ts +177 -0
- package/dist/improve-core/improve-kit-asset-model.d.ts.map +1 -0
- package/dist/improve-core/improve-kit-asset-model.js +269 -0
- package/dist/improve-core/improve-kit-asset-model.js.map +1 -0
- package/dist/improve-core/improve-layerdoc-diff.d.ts.map +1 -0
- package/dist/{improve-layerdoc-diff.js → improve-core/improve-layerdoc-diff.js} +2 -0
- package/dist/improve-core/improve-layerdoc-diff.js.map +1 -0
- package/dist/{improve-layerdoc-types.d.ts → improve-core/improve-layerdoc-types.d.ts} +9 -0
- package/dist/improve-core/improve-layerdoc-types.d.ts.map +1 -0
- package/dist/improve-core/improve-layerdoc-types.js +4 -0
- package/dist/improve-core/improve-layerdoc-types.js.map +1 -0
- package/dist/improve-core/improve-page-words.d.ts +180 -0
- package/dist/improve-core/improve-page-words.d.ts.map +1 -0
- package/dist/improve-core/improve-page-words.js +303 -0
- package/dist/improve-core/improve-page-words.js.map +1 -0
- package/dist/{improve-plan-annotated-render.d.ts → improve-core/improve-plan-annotated-render.d.ts} +19 -2
- package/dist/improve-core/improve-plan-annotated-render.d.ts.map +1 -0
- package/dist/{improve-plan-annotated-render.js → improve-core/improve-plan-annotated-render.js} +77 -28
- package/dist/improve-core/improve-plan-annotated-render.js.map +1 -0
- package/dist/improve-core/improve-plan-annotator.d.ts +34 -0
- package/dist/improve-core/improve-plan-annotator.d.ts.map +1 -0
- package/dist/improve-core/improve-plan-annotator.js +52 -0
- package/dist/improve-core/improve-plan-annotator.js.map +1 -0
- package/dist/{improve-plan-render.d.ts → improve-core/improve-plan-render.d.ts} +2 -1
- package/dist/improve-core/improve-plan-render.d.ts.map +1 -0
- package/dist/{improve-plan-render.js → improve-core/improve-plan-render.js} +7 -1
- package/dist/improve-core/improve-plan-render.js.map +1 -0
- package/dist/improve-core/improve-plan-vector-keep.d.ts +29 -0
- package/dist/improve-core/improve-plan-vector-keep.d.ts.map +1 -0
- package/dist/improve-core/improve-plan-vector-keep.js +68 -0
- package/dist/improve-core/improve-plan-vector-keep.js.map +1 -0
- package/dist/{improve-raster-layers-section.d.ts → improve-core/improve-raster-layers-section.d.ts} +9 -1
- package/dist/improve-core/improve-raster-layers-section.d.ts.map +1 -0
- package/dist/{improve-raster-layers-section.js → improve-core/improve-raster-layers-section.js} +5 -2
- package/dist/improve-core/improve-raster-layers-section.js.map +1 -0
- package/dist/improve-core/improve-refusal.d.ts +6 -0
- package/dist/improve-core/improve-refusal.d.ts.map +1 -0
- package/dist/improve-core/improve-refusal.js +27 -0
- package/dist/improve-core/improve-refusal.js.map +1 -0
- package/dist/improve-core/improve-retain.d.ts +121 -0
- package/dist/improve-core/improve-retain.d.ts.map +1 -0
- package/dist/improve-core/improve-retain.js +115 -0
- package/dist/improve-core/improve-retain.js.map +1 -0
- package/dist/improve-core/improve-site-plan.d.ts +75 -0
- package/dist/improve-core/improve-site-plan.d.ts.map +1 -0
- package/dist/improve-core/improve-site-plan.js +135 -0
- package/dist/improve-core/improve-site-plan.js.map +1 -0
- package/dist/improve-core/improve-site-shell.d.ts +56 -0
- package/dist/improve-core/improve-site-shell.d.ts.map +1 -0
- package/dist/improve-core/improve-site-shell.js +152 -0
- package/dist/improve-core/improve-site-shell.js.map +1 -0
- package/dist/improve-core/improve-site-tokens.d.ts +44 -0
- package/dist/improve-core/improve-site-tokens.d.ts.map +1 -0
- package/dist/improve-core/improve-site-tokens.js +87 -0
- package/dist/improve-core/improve-site-tokens.js.map +1 -0
- package/dist/improve-core/improve-source-hints.d.ts +25 -0
- package/dist/improve-core/improve-source-hints.d.ts.map +1 -0
- package/dist/improve-core/improve-source-hints.js +17 -0
- package/dist/improve-core/improve-source-hints.js.map +1 -0
- package/dist/{improve-token-patch.d.ts → improve-core/improve-token-patch.d.ts} +2 -0
- package/dist/improve-core/improve-token-patch.d.ts.map +1 -0
- package/dist/{improve-token-patch.js → improve-core/improve-token-patch.js} +25 -5
- package/dist/improve-core/improve-token-patch.js.map +1 -0
- package/dist/improve-core/index.d.ts +47 -0
- package/dist/improve-core/index.d.ts.map +1 -0
- package/dist/improve-core/index.js +49 -0
- package/dist/improve-core/index.js.map +1 -0
- package/dist/improve-delivery-stages.d.ts +6 -0
- package/dist/improve-delivery-stages.d.ts.map +1 -1
- package/dist/improve-delivery-stages.js +91 -6
- package/dist/improve-delivery-stages.js.map +1 -1
- package/dist/improve-dom-diff.d.ts +8 -24
- package/dist/improve-dom-diff.d.ts.map +1 -1
- package/dist/improve-dom-diff.js +23 -123
- package/dist/improve-dom-diff.js.map +1 -1
- package/dist/improve-dom-gate.d.ts +1 -18
- package/dist/improve-dom-gate.d.ts.map +1 -1
- package/dist/improve-dom-gate.js +1 -46
- package/dist/improve-dom-gate.js.map +1 -1
- package/dist/improve-generation-stages.d.ts +0 -2
- package/dist/improve-generation-stages.d.ts.map +1 -1
- package/dist/improve-generation-stages.js +191 -15
- package/dist/improve-generation-stages.js.map +1 -1
- package/dist/improve-kit-assets.d.ts +8 -116
- package/dist/improve-kit-assets.d.ts.map +1 -1
- package/dist/improve-kit-assets.js +9 -229
- package/dist/improve-kit-assets.js.map +1 -1
- 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 +4 -0
- package/dist/improve-kit-readme.d.ts.map +1 -1
- package/dist/improve-kit-readme.js +155 -24
- package/dist/improve-kit-readme.js.map +1 -1
- package/dist/improve-kit-stall.d.ts +51 -3
- package/dist/improve-kit-stall.d.ts.map +1 -1
- package/dist/improve-kit-stall.js +205 -21
- 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 +82 -7
- package/dist/improve-kit-status.js.map +1 -1
- package/dist/improve-options.d.ts +14 -0
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +95 -12
- package/dist/improve-options.js.map +1 -1
- package/dist/improve-passthrough-flags.d.ts +8 -0
- package/dist/improve-passthrough-flags.d.ts.map +1 -0
- package/dist/improve-passthrough-flags.js +11 -0
- package/dist/improve-passthrough-flags.js.map +1 -0
- package/dist/improve-plan-annotator.d.ts +13 -2
- package/dist/improve-plan-annotator.d.ts.map +1 -1
- package/dist/improve-plan-annotator.js +35 -37
- package/dist/improve-plan-annotator.js.map +1 -1
- package/dist/improve-pricing-plan.d.ts +3 -0
- package/dist/improve-pricing-plan.d.ts.map +1 -1
- package/dist/improve-pricing-plan.js +33 -5
- package/dist/improve-pricing-plan.js.map +1 -1
- package/dist/improve-recheck.d.ts +9 -0
- package/dist/improve-recheck.d.ts.map +1 -0
- package/dist/improve-recheck.js +200 -0
- package/dist/improve-recheck.js.map +1 -0
- package/dist/improve-reset.d.ts.map +1 -1
- package/dist/improve-reset.js +11 -0
- package/dist/improve-reset.js.map +1 -1
- package/dist/improve-run-summary.d.ts +6 -0
- package/dist/improve-run-summary.d.ts.map +1 -1
- package/dist/improve-run-summary.js +77 -7
- package/dist/improve-run-summary.js.map +1 -1
- package/dist/improve-site-plan.d.ts +57 -0
- package/dist/improve-site-plan.d.ts.map +1 -0
- package/dist/improve-site-plan.js +79 -0
- package/dist/improve-site-plan.js.map +1 -0
- package/dist/improve-site-shell.d.ts +11 -0
- package/dist/improve-site-shell.d.ts.map +1 -0
- package/dist/improve-site-shell.js +24 -0
- package/dist/improve-site-shell.js.map +1 -0
- package/dist/improve-site-stage.d.ts +10 -0
- package/dist/improve-site-stage.d.ts.map +1 -0
- package/dist/improve-site-stage.js +84 -0
- package/dist/improve-site-stage.js.map +1 -0
- package/dist/improve-site-tokens.d.ts +9 -0
- package/dist/improve-site-tokens.d.ts.map +1 -0
- package/dist/improve-site-tokens.js +17 -0
- package/dist/improve-site-tokens.js.map +1 -0
- package/dist/improve-source-hints.d.ts +3 -12
- package/dist/improve-source-hints.d.ts.map +1 -1
- package/dist/improve-source-hints.js +4 -5
- package/dist/improve-source-hints.js.map +1 -1
- package/dist/improve-spend-ledger.d.ts +69 -0
- package/dist/improve-spend-ledger.d.ts.map +1 -0
- package/dist/improve-spend-ledger.js +118 -0
- package/dist/improve-spend-ledger.js.map +1 -0
- package/dist/improve-stage-runners.d.ts +5 -2
- package/dist/improve-stage-runners.d.ts.map +1 -1
- package/dist/improve-stage-runners.js +5 -2
- package/dist/improve-stage-runners.js.map +1 -1
- package/dist/improve-stage-shared.d.ts +49 -2
- 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-stop-handler.d.ts +15 -0
- package/dist/improve-stop-handler.d.ts.map +1 -1
- package/dist/improve-stop-handler.js +74 -3
- package/dist/improve-stop-handler.js.map +1 -1
- package/dist/improve-terminal-event.d.ts.map +1 -1
- package/dist/improve-terminal-event.js +13 -4
- package/dist/improve-terminal-event.js.map +1 -1
- package/dist/improve-workspace.d.ts +282 -9
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +250 -78
- 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 +202 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-convert.js +1 -1
- package/dist/mcp-convert.js.map +1 -1
- package/dist/redesign-capture.d.ts +146 -15
- package/dist/redesign-capture.d.ts.map +1 -1
- package/dist/redesign-capture.js +182 -65
- package/dist/redesign-capture.js.map +1 -1
- package/dist/redesign-workspace.d.ts +13 -0
- package/dist/redesign-workspace.d.ts.map +1 -1
- package/dist/redesign-workspace.js +14 -0
- package/dist/redesign-workspace.js.map +1 -1
- package/dist/responsive-alternative-materializer.d.ts +24 -0
- package/dist/responsive-alternative-materializer.d.ts.map +1 -0
- package/dist/responsive-alternative-materializer.js +93 -0
- package/dist/responsive-alternative-materializer.js.map +1 -0
- package/dist/result-integrity.d.ts +38 -0
- package/dist/result-integrity.d.ts.map +1 -0
- package/dist/result-integrity.js +46 -0
- package/dist/result-integrity.js.map +1 -0
- package/dist/review-edit-source.d.ts.map +1 -1
- package/dist/review-edit-source.js +6 -2
- package/dist/review-edit-source.js.map +1 -1
- package/dist/review-edit.js +2 -2
- package/dist/review-edit.js.map +1 -1
- package/dist/review-prototype-gap.js +1 -1
- package/dist/review-prototype-gap.js.map +1 -1
- package/dist/spend-run-filter.d.ts +21 -0
- package/dist/spend-run-filter.d.ts.map +1 -0
- package/dist/spend-run-filter.js +65 -0
- package/dist/spend-run-filter.js.map +1 -0
- package/dist/spend-scoped-report-lines.d.ts +4 -0
- package/dist/spend-scoped-report-lines.d.ts.map +1 -0
- package/dist/spend-scoped-report-lines.js +46 -0
- package/dist/spend-scoped-report-lines.js.map +1 -0
- package/dist/spend-scoped-report.d.ts +28 -0
- package/dist/spend-scoped-report.d.ts.map +1 -0
- package/dist/spend-scoped-report.js +45 -0
- package/dist/spend-scoped-report.js.map +1 -0
- package/open-design.json +2 -2
- package/package.json +5 -5
- package/skills/12ui-design/SKILL.md +14 -4
- package/skills/12ui-design/improve.md +67 -5
- package/skills/12ui-design/inspire.md +1 -1
- package/dist/improve-dom-anchor.d.ts.map +0 -1
- package/dist/improve-dom-anchor.js.map +0 -1
- package/dist/improve-dom-extract.d.ts.map +0 -1
- package/dist/improve-dom-extract.js.map +0 -1
- package/dist/improve-dom-neighbour.d.ts.map +0 -1
- package/dist/improve-dom-neighbour.js.map +0 -1
- package/dist/improve-dom-scale.d.ts.map +0 -1
- package/dist/improve-dom-scale.js.map +0 -1
- package/dist/improve-layerdoc-diff.d.ts.map +0 -1
- package/dist/improve-layerdoc-diff.js.map +0 -1
- package/dist/improve-layerdoc-types.d.ts.map +0 -1
- package/dist/improve-layerdoc-types.js +0 -2
- package/dist/improve-layerdoc-types.js.map +0 -1
- package/dist/improve-plan-annotated-render.d.ts.map +0 -1
- package/dist/improve-plan-annotated-render.js.map +0 -1
- package/dist/improve-plan-render.d.ts.map +0 -1
- package/dist/improve-plan-render.js.map +0 -1
- package/dist/improve-raster-layers-section.d.ts.map +0 -1
- package/dist/improve-raster-layers-section.js.map +0 -1
- package/dist/improve-token-patch.d.ts.map +0 -1
- package/dist/improve-token-patch.js.map +0 -1
- /package/dist/{improve-dom-anchor.d.ts → improve-core/improve-dom-anchor.d.ts} +0 -0
- /package/dist/{improve-dom-extract.d.ts → improve-core/improve-dom-extract.d.ts} +0 -0
- /package/dist/{improve-dom-neighbour.d.ts → improve-core/improve-dom-neighbour.d.ts} +0 -0
- /package/dist/{improve-dom-scale.d.ts → improve-core/improve-dom-scale.d.ts} +0 -0
- /package/dist/{improve-layerdoc-diff.d.ts → improve-core/improve-layerdoc-diff.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-layerdoc-diff.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-layerdoc-diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EAEV,MAAM,6BAA6B,CAAC;AAErC;;;;;;;GAOG;AAEH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,eAAe,MAAM,CAAC;AAGnC,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAQH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAExE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,KAAG,SAAS,EAYvD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,MAAM,SAAS,GAAG,SAAS,KAAG,QAAQ,GAAG,SAM9D,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,kBAAe,KAAG,MAAM,GAAG,SAKlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,MAEjD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,MAAM,QAAQ,EAAE,OAAO,QAAQ,KAAG,MAcxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,EAAE,OAAO,SAAS,KAAG,OASrE,CAAC;AA0IF,eAAO,MAAM,iBAAiB,2MAIpB,CAAC;AAIX,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,EAAE,OAAO,SAAS,KAAG,UAAU,EAmBlF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,OAAO,EAClB,UAAU,OAAO,EACjB,UAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAO,KACnF,eAsDF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,KAAG,YAAY,CAAC,QAAQ,CAS/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-layerdoc-diff.js","sourceRoot":"","sources":["../../src/improve-core/improve-layerdoc-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** What a host can prove about the requested page and its capture. */
|
|
2
|
+
export type ImproveCaptureIdentity = 'matched' | 'redirected' | 'unrecorded' | 'image';
|
|
1
3
|
export type LayerBox = [number, number, number, number];
|
|
2
4
|
export type LayerLeaf = Record<string, unknown> & {
|
|
3
5
|
kind?: string;
|
|
@@ -105,5 +107,12 @@ export type ImproveGate = {
|
|
|
105
107
|
coverage: number;
|
|
106
108
|
coveragePct: number;
|
|
107
109
|
thresholdPct: number;
|
|
110
|
+
/** What the run can prove about the capture; the gate arbitrates on it (F42). */
|
|
111
|
+
captureIdentity: ImproveCaptureIdentity;
|
|
112
|
+
/**
|
|
113
|
+
* Passed on a proven capture while under the threshold — a large redesign,
|
|
114
|
+
* not a mismatch. The plan is emitted and says so.
|
|
115
|
+
*/
|
|
116
|
+
lowOverlap: boolean;
|
|
108
117
|
};
|
|
109
118
|
//# sourceMappingURL=improve-layerdoc-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-layerdoc-types.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-layerdoc-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-layerdoc-types.js","sourceRoot":"","sources":["../../src/improve-core/improve-layerdoc-types.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uEAAuE"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { type ImproveRetainPolicy } from './improve-retain.js';
|
|
2
|
+
/**
|
|
3
|
+
* THE PAGE'S OWN WORDS, CARRIED INTO THE PROMPT.
|
|
4
|
+
*
|
|
5
|
+
* WHY (measured, `.tmp/site-improve/degree-study/FINDINGS.md` finding 7): with
|
|
6
|
+
* the default toggles — copy and brand kept, layout and style free — an image
|
|
7
|
+
* edit that ALSO carried the page's own text kept the real copy verbatim
|
|
8
|
+
* ("Manage payments inside Zendesk", the 500px testimonial, the platform wall)
|
|
9
|
+
* across four structurally different compositions, while the same edit without
|
|
10
|
+
* it paraphrases and a text-only supply invents whole products ("Skyvia",
|
|
11
|
+
* "Loyalty Lion") that are not the caller's at all.
|
|
12
|
+
*
|
|
13
|
+
* The capture already holds this fact. Every /improve page and every CLI kit
|
|
14
|
+
* writes `domdoc.json` beside the screenshot — a LayerDoc-v2-shaped document
|
|
15
|
+
* whose leaves are the VISIBLE painted nodes with their rendered text, because
|
|
16
|
+
* `extractImproveDomInPage` already dropped scripts, styles, `display: none`,
|
|
17
|
+
* `visibility: hidden`, zero-opacity and zero-area nodes before it emitted
|
|
18
|
+
* one. Improve threw that text away and asked the model to read the copy back
|
|
19
|
+
* out of a screenshot.
|
|
20
|
+
*
|
|
21
|
+
* WHAT THIS IS NOT. It is not a summary, not a rewrite, and not a judgement
|
|
22
|
+
* about which words matter: it is the leaves in document order, deduplicated,
|
|
23
|
+
* whitespace-collapsed, and cut at a stated cap. Anything cleverer would be a
|
|
24
|
+
* second opinion about the page competing with the pixels the model is editing.
|
|
25
|
+
*
|
|
26
|
+
* Pure by construction (`tsconfig.improve-core.json`): the web page and the
|
|
27
|
+
* CLI both call it and both put the identical string on the wire, so a kit
|
|
28
|
+
* built in the browser and a kit built on a laptop ask for the same thing.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* The cut. `MAX_CREATE_PAGE_WORDS_CHARACTERS` in
|
|
32
|
+
* `workers/api/src/create/contract.ts` is its server-side twin and
|
|
33
|
+
* `improve-page-words.test.ts` fails if the two drift — a client that measures
|
|
34
|
+
* a different number either refuses text the service would take or puts an
|
|
35
|
+
* over-length field on the wire.
|
|
36
|
+
*
|
|
37
|
+
* It is a BUDGET, not a depth control and not a target. Nothing about a
|
|
38
|
+
* smaller number keeps the words above the fold — measured, `depth.mjs`: even
|
|
39
|
+
* at 600 characters chargedesk's carried text already reaches 93% of the way
|
|
40
|
+
* down its page, because a sparse page's few leaves are spread over its whole
|
|
41
|
+
* height. All the budget decides is whether a page fits WHOLE.
|
|
42
|
+
*
|
|
43
|
+
* WHY 2000 (`.tmp/site-improve/fullwords-study/FINDINGS.md`). The rule below
|
|
44
|
+
* carries the whole page or the screen, and that rule is only free if the
|
|
45
|
+
* pages whose whole text nearly fits actually clear the bar: chargedesk's page
|
|
46
|
+
* is 1627 characters and 12ui's is 1005. At 1500 chargedesk fell a hundred
|
|
47
|
+
* characters short and would have fallen back to a 40-character viewport,
|
|
48
|
+
* throwing away the largest win the study measured (page phrases rendered
|
|
49
|
+
* verbatim 7.1% -> 94.9%) for the tail of a list of integration names. 2000 is
|
|
50
|
+
* the smallest round budget that carries both whole; it is deliberately NOT
|
|
51
|
+
* large enough to make hubspot's 6233-character page fit, because that page is
|
|
52
|
+
* meant to fall back to its screen.
|
|
53
|
+
*/
|
|
54
|
+
export declare const IMPROVE_PAGE_WORDS_MAX_CHARACTERS = 2000;
|
|
55
|
+
/**
|
|
56
|
+
* THE FULL PAGE'S LEAVES, WHICH THE VIEWPORT DOCUMENT CANNOT HOLD.
|
|
57
|
+
*
|
|
58
|
+
* `domdoc.json` is the plan core's DOM-anchored geometry input, so it is
|
|
59
|
+
* extracted at `fullPage: false` and must stay that way: its `canvas` is one
|
|
60
|
+
* viewport and its `layers` are the leaves painted inside it. That also means
|
|
61
|
+
* the words stopped at the fold — measured on 2026-09-02 with the shipped
|
|
62
|
+
* extractor, chargedesk carried 40 characters against the full page's 1621,
|
|
63
|
+
* 12ui 145 against 1005, hubspot 666 against 6275.
|
|
64
|
+
*
|
|
65
|
+
* So the capture runs the SAME extractor a second time at `fullPage: true`
|
|
66
|
+
* and stores that document's leaves beside the viewport ones, under `words`.
|
|
67
|
+
* `canvas` and `layers` are untouched, byte for byte; nothing that reads
|
|
68
|
+
* geometry can see this field; and a capture written before it existed — or
|
|
69
|
+
* by a host that could not run the second extraction — simply has no `words`
|
|
70
|
+
* and falls back to `layers`, which is exactly what shipped before.
|
|
71
|
+
*
|
|
72
|
+
* WHY IT LIVES INSIDE `domdoc.json` rather than beside it. A second artifact
|
|
73
|
+
* would need an R2 key, an upload part, a serving route, an envelope href and
|
|
74
|
+
* a second authenticated fetch per page in the browser, and the words would
|
|
75
|
+
* then be able to go missing while the screenshot arrived. One file cannot be
|
|
76
|
+
* half-captured.
|
|
77
|
+
*/
|
|
78
|
+
export declare const IMPROVE_PAGE_WORDS_FULL_PAGE_FIELD = "words";
|
|
79
|
+
/**
|
|
80
|
+
* THE PROJECTION CONTRACT — the only fields a stored leaf must carry.
|
|
81
|
+
*
|
|
82
|
+
* `readableLeaf` below reads exactly these and nothing else, so a host that
|
|
83
|
+
* copies them has stored the whole of what this module can use, and the
|
|
84
|
+
* decisions (which kinds are words, what is hidden, what a tag suppresses,
|
|
85
|
+
* document order, dedupe, the cut) all stay here. The hosted capture service
|
|
86
|
+
* mirrors the copy in `services/site-capture/render.mjs`, whose test reads
|
|
87
|
+
* this constant out of this file and fails if the two lists drift; the CLI
|
|
88
|
+
* imports `improvePageWordLeaves` directly.
|
|
89
|
+
*
|
|
90
|
+
* Storing the leaves rather than a finished string is what keeps the cap a
|
|
91
|
+
* client-side policy: raising or lowering `IMPROVE_PAGE_WORDS_MAX_CHARACTERS`
|
|
92
|
+
* re-cuts every capture already taken, with no recapture and no paid call.
|
|
93
|
+
*/
|
|
94
|
+
export declare const IMPROVE_PAGE_WORDS_LEAF_FIELDS: readonly ["kind", "content", "hidden", "dom"];
|
|
95
|
+
/**
|
|
96
|
+
* A full-page document reduced to what `improvePageWords` reads.
|
|
97
|
+
*
|
|
98
|
+
* It makes no judgement about which leaves are words — it copies fields and
|
|
99
|
+
* drops geometry, styling and selectors, which is the whole reason it is safe
|
|
100
|
+
* to run at capture time. Measured on the same three pages: hubspot's full
|
|
101
|
+
* document is 266 KB and its projection 28 KB, against a 31 KB viewport
|
|
102
|
+
* document, so the words cost the kit about what one more small page costs
|
|
103
|
+
* rather than another megabyte.
|
|
104
|
+
*/
|
|
105
|
+
export declare const improvePageWordLeaves: (document: unknown) => Array<Record<string, unknown>>;
|
|
106
|
+
export type ImprovePageWordsOptions = {
|
|
107
|
+
/** Defaults to `IMPROVE_PAGE_WORDS_MAX_CHARACTERS`. */
|
|
108
|
+
limit?: number;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* THE WHOLE PAGE, OR THE SCREEN — NEVER A PREFIX OF THE PAGE.
|
|
112
|
+
*
|
|
113
|
+
* The document holds two lists: `words` is the WHOLE page's leaves (see
|
|
114
|
+
* `IMPROVE_PAGE_WORDS_FULL_PAGE_FIELD`) and `layers` is the first viewport's —
|
|
115
|
+
* the screen the model is actually looking at, since the reference image is
|
|
116
|
+
* one viewport tall. This returns the whole page's words when they fit the
|
|
117
|
+
* budget, and the screen's words when they do not.
|
|
118
|
+
*
|
|
119
|
+
* WHY THAT IS THE RULE, AND WHY IT IS NOT A TUNED THRESHOLD
|
|
120
|
+
* (`.tmp/site-improve/fullwords-study/FINDINGS.md`, 47 candidates over three
|
|
121
|
+
* sites; hubspot's two configurations bought three and two times on
|
|
122
|
+
* independent claims). The study bought both halves of the same question and
|
|
123
|
+
* they answered in opposite directions. The measure is copy survival — how
|
|
124
|
+
* many of a stated phrase list a candidate renders verbatim, OCR'd the same
|
|
125
|
+
* way for every arm — because it is the only instrument here that separated
|
|
126
|
+
* the arms by more than its own run-to-run spread:
|
|
127
|
+
*
|
|
128
|
+
* - Where the whole page was carried, it is the difference between a poster
|
|
129
|
+
* and a product page. chargedesk rendered 6.0% -> 95.1% of its page's 46
|
|
130
|
+
* phrases verbatim, and its own screen's phrases went 91.7% -> 100%, so
|
|
131
|
+
* nothing was crowded out. 12ui the same way. Nothing was invented: the
|
|
132
|
+
* real testimonials with their real attributions, the real gateway list,
|
|
133
|
+
* a real footer.
|
|
134
|
+
* - Where only the HEAD of a much longer page was carried, it bought nothing
|
|
135
|
+
* and cost the screen. hubspot (6233 characters) rendered 13-15% of its
|
|
136
|
+
* page whatever it was handed — the prefix included — while its own
|
|
137
|
+
* SCREEN's phrases fell to 58.7% and 72.8% across the two prefix passes,
|
|
138
|
+
* against 83.7%, 84.8% and 85.9% across three passes carrying the screen's
|
|
139
|
+
* words. Three against two, no overlap. The mechanism is dilution in one
|
|
140
|
+
* frame: 43 items to place instead of 23, each rendered smaller and less
|
|
141
|
+
* faithfully.
|
|
142
|
+
*
|
|
143
|
+
* The study also read a cookie-consent overlay and a collapse in candidate
|
|
144
|
+
* variety off the prefix arm. Neither survived replication (L-CAP: the overlay
|
|
145
|
+
* appears in about one candidate in four in EVERY configuration, including one
|
|
146
|
+
* whose request was byte-identical to the baseline; pairwise agreement on that
|
|
147
|
+
* page has been measured at 0.226, 0.357, 0.618 and 0.689 for one and the same
|
|
148
|
+
* configuration). Both are withdrawn there, and neither is load-bearing here.
|
|
149
|
+
*
|
|
150
|
+
* So the discriminator is not "how much of the page did the budget cover",
|
|
151
|
+
* which would be a threshold somebody tuned and which CLAUDE.md item 8
|
|
152
|
+
* forbids. It is a fact the capture declares and this module can read off the
|
|
153
|
+
* document in front of it: EITHER the page's words are all here, or they are
|
|
154
|
+
* not. A page whose words are all here is described completely; a page whose
|
|
155
|
+
* words are not is described completely only at its screen, so that is what
|
|
156
|
+
* is carried — which is exactly, byte for byte, what improve sent before the
|
|
157
|
+
* full-page field existed.
|
|
158
|
+
*
|
|
159
|
+
* The rule is free only because `IMPROVE_PAGE_WORDS_MAX_CHARACTERS` is 2000:
|
|
160
|
+
* at 1500 chargedesk's 1627-character page missed by a hundred characters and
|
|
161
|
+
* would have fallen back to a 40-character viewport, losing the largest win in
|
|
162
|
+
* the study. See that constant for why the budget is a budget.
|
|
163
|
+
*
|
|
164
|
+
* A document with neither list reads as a page with no words — a capture that
|
|
165
|
+
* failed, a document from a future version, `undefined` from a fetch that
|
|
166
|
+
* 404'd. Improve must still be able to run (CLAUDE.md item 5: prefer a valid
|
|
167
|
+
* artifact over a user-visible failure), and a run without the words is
|
|
168
|
+
* exactly what shipped before any of this existed.
|
|
169
|
+
*/
|
|
170
|
+
export declare const improvePageWords: (document: unknown, options?: ImprovePageWordsOptions) => string;
|
|
171
|
+
/**
|
|
172
|
+
* The words this run may carry, which is nothing at all when the visitor freed
|
|
173
|
+
* the copy. WITH `content` OFF THE PAGE'S WORDS ARE NOT CARRIED: the run has
|
|
174
|
+
* asked for them to be rewritten, and handing the model the old ones verbatim
|
|
175
|
+
* in the same breath is the contradiction the retain clause was rewritten to
|
|
176
|
+
* remove (`retain.source`, improve-retain.ts). One module answers it, so the
|
|
177
|
+
* web page and the CLI cannot disagree about what a toggle did.
|
|
178
|
+
*/
|
|
179
|
+
export declare const improvePageWordsFor: (document: unknown, retain: ImproveRetainPolicy, options?: ImprovePageWordsOptions) => string;
|
|
180
|
+
//# sourceMappingURL=improve-page-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-page-words.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-page-words.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AA4DtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kCAAkC,UAAU,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,+CAAgD,CAAC;AAE5F;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,OAAO,KAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBtF,CAAC;AA0CF,MAAM,MAAM,uBAAuB,GAAG;IACpC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,OAAO,EACjB,UAAS,uBAA4B,KACpC,MAgBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,OAAO,EACjB,QAAQ,mBAAmB,EAC3B,UAAS,uBAA4B,KACpC,MAEF,CAAC"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
// GENERATED — do not edit. Copied verbatim from
|
|
2
|
+
// packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
|
|
3
|
+
import { improveRetainKeeps } from './improve-retain.js';
|
|
4
|
+
/**
|
|
5
|
+
* THE PAGE'S OWN WORDS, CARRIED INTO THE PROMPT.
|
|
6
|
+
*
|
|
7
|
+
* WHY (measured, `.tmp/site-improve/degree-study/FINDINGS.md` finding 7): with
|
|
8
|
+
* the default toggles — copy and brand kept, layout and style free — an image
|
|
9
|
+
* edit that ALSO carried the page's own text kept the real copy verbatim
|
|
10
|
+
* ("Manage payments inside Zendesk", the 500px testimonial, the platform wall)
|
|
11
|
+
* across four structurally different compositions, while the same edit without
|
|
12
|
+
* it paraphrases and a text-only supply invents whole products ("Skyvia",
|
|
13
|
+
* "Loyalty Lion") that are not the caller's at all.
|
|
14
|
+
*
|
|
15
|
+
* The capture already holds this fact. Every /improve page and every CLI kit
|
|
16
|
+
* writes `domdoc.json` beside the screenshot — a LayerDoc-v2-shaped document
|
|
17
|
+
* whose leaves are the VISIBLE painted nodes with their rendered text, because
|
|
18
|
+
* `extractImproveDomInPage` already dropped scripts, styles, `display: none`,
|
|
19
|
+
* `visibility: hidden`, zero-opacity and zero-area nodes before it emitted
|
|
20
|
+
* one. Improve threw that text away and asked the model to read the copy back
|
|
21
|
+
* out of a screenshot.
|
|
22
|
+
*
|
|
23
|
+
* WHAT THIS IS NOT. It is not a summary, not a rewrite, and not a judgement
|
|
24
|
+
* about which words matter: it is the leaves in document order, deduplicated,
|
|
25
|
+
* whitespace-collapsed, and cut at a stated cap. Anything cleverer would be a
|
|
26
|
+
* second opinion about the page competing with the pixels the model is editing.
|
|
27
|
+
*
|
|
28
|
+
* Pure by construction (`tsconfig.improve-core.json`): the web page and the
|
|
29
|
+
* CLI both call it and both put the identical string on the wire, so a kit
|
|
30
|
+
* built in the browser and a kit built on a laptop ask for the same thing.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* The cut. `MAX_CREATE_PAGE_WORDS_CHARACTERS` in
|
|
34
|
+
* `workers/api/src/create/contract.ts` is its server-side twin and
|
|
35
|
+
* `improve-page-words.test.ts` fails if the two drift — a client that measures
|
|
36
|
+
* a different number either refuses text the service would take or puts an
|
|
37
|
+
* over-length field on the wire.
|
|
38
|
+
*
|
|
39
|
+
* It is a BUDGET, not a depth control and not a target. Nothing about a
|
|
40
|
+
* smaller number keeps the words above the fold — measured, `depth.mjs`: even
|
|
41
|
+
* at 600 characters chargedesk's carried text already reaches 93% of the way
|
|
42
|
+
* down its page, because a sparse page's few leaves are spread over its whole
|
|
43
|
+
* height. All the budget decides is whether a page fits WHOLE.
|
|
44
|
+
*
|
|
45
|
+
* WHY 2000 (`.tmp/site-improve/fullwords-study/FINDINGS.md`). The rule below
|
|
46
|
+
* carries the whole page or the screen, and that rule is only free if the
|
|
47
|
+
* pages whose whole text nearly fits actually clear the bar: chargedesk's page
|
|
48
|
+
* is 1627 characters and 12ui's is 1005. At 1500 chargedesk fell a hundred
|
|
49
|
+
* characters short and would have fallen back to a 40-character viewport,
|
|
50
|
+
* throwing away the largest win the study measured (page phrases rendered
|
|
51
|
+
* verbatim 7.1% -> 94.9%) for the tail of a list of integration names. 2000 is
|
|
52
|
+
* the smallest round budget that carries both whole; it is deliberately NOT
|
|
53
|
+
* large enough to make hubspot's 6233-character page fit, because that page is
|
|
54
|
+
* meant to fall back to its screen.
|
|
55
|
+
*/
|
|
56
|
+
export const IMPROVE_PAGE_WORDS_MAX_CHARACTERS = 2000;
|
|
57
|
+
/**
|
|
58
|
+
* THE CUT POLICY, STATED SO IT CAN BE READ OFF THE OUTPUT.
|
|
59
|
+
*
|
|
60
|
+
* Leaves are appended in document order. A leaf that would not fit WHOLE is
|
|
61
|
+
* skipped and the walk continues; the walk stops once fewer than
|
|
62
|
+
* `MINIMUM_REMAINING` characters remain. Nothing is ever truncated mid-leaf,
|
|
63
|
+
* because a mid-word cut is exactly the defect the study's own harness had:
|
|
64
|
+
* "improving customer s" is not the page's words, it is a fragment the model
|
|
65
|
+
* has to guess the end of.
|
|
66
|
+
*
|
|
67
|
+
* Skipping rather than stopping at the first oversized leaf matters for the
|
|
68
|
+
* pathological page whose FIRST leaf is a thousand-word paragraph: stopping
|
|
69
|
+
* there would carry nothing at all and improve would silently lose the whole
|
|
70
|
+
* feature on the pages that need it most.
|
|
71
|
+
*/
|
|
72
|
+
const MINIMUM_REMAINING = 40;
|
|
73
|
+
/** The leaf kinds that carry words a person reads on the page. */
|
|
74
|
+
const WORD_KINDS = new Set(['heading', 'text', 'button', 'input', 'photo']);
|
|
75
|
+
/**
|
|
76
|
+
* `icon` content is an icon IDENTIFIER (`lucide-search`, a `data-icon` value),
|
|
77
|
+
* not the page's words; `panel`, `decoration`, and `background` carry none.
|
|
78
|
+
* `photo` content is the image's alt or title text, which is kept on purpose:
|
|
79
|
+
* on chargedesk the platform names ARE logos, and an extractor that read only
|
|
80
|
+
* text nodes reported that page as 77 characters long (measured).
|
|
81
|
+
* An ALT-LESS logo wall therefore contributes nothing, which is the intent —
|
|
82
|
+
* there is no honest text to carry, and inventing one would be item 8's
|
|
83
|
+
* fabrication pole.
|
|
84
|
+
*/
|
|
85
|
+
const SKIPPED_TAGS = new Set(['script', 'style', 'noscript', 'template', 'head', 'meta', 'link', 'title']);
|
|
86
|
+
/** At least one letter or digit, or it is a glyph separator, not a word. */
|
|
87
|
+
const HAS_WORD = /[\p{L}\p{N}]/u;
|
|
88
|
+
const collapse = (value) => (typeof value === 'string' ? value.replace(/\s+/gu, ' ').trim() : '');
|
|
89
|
+
const readableLeaf = (leaf) => {
|
|
90
|
+
if (leaf.hidden === true)
|
|
91
|
+
return '';
|
|
92
|
+
if (typeof leaf.kind !== 'string' || !WORD_KINDS.has(leaf.kind))
|
|
93
|
+
return '';
|
|
94
|
+
const tag = leaf.dom && typeof leaf.dom === 'object' ? leaf.dom.tag : undefined;
|
|
95
|
+
if (typeof tag === 'string' && SKIPPED_TAGS.has(tag.toLowerCase()))
|
|
96
|
+
return '';
|
|
97
|
+
const content = collapse(leaf.content);
|
|
98
|
+
return HAS_WORD.test(content) ? content : '';
|
|
99
|
+
};
|
|
100
|
+
/** The separator the study's proven arm used; it reads as a list, not prose. */
|
|
101
|
+
const SEPARATOR = ' · ';
|
|
102
|
+
/**
|
|
103
|
+
* THE FULL PAGE'S LEAVES, WHICH THE VIEWPORT DOCUMENT CANNOT HOLD.
|
|
104
|
+
*
|
|
105
|
+
* `domdoc.json` is the plan core's DOM-anchored geometry input, so it is
|
|
106
|
+
* extracted at `fullPage: false` and must stay that way: its `canvas` is one
|
|
107
|
+
* viewport and its `layers` are the leaves painted inside it. That also means
|
|
108
|
+
* the words stopped at the fold — measured on 2026-09-02 with the shipped
|
|
109
|
+
* extractor, chargedesk carried 40 characters against the full page's 1621,
|
|
110
|
+
* 12ui 145 against 1005, hubspot 666 against 6275.
|
|
111
|
+
*
|
|
112
|
+
* So the capture runs the SAME extractor a second time at `fullPage: true`
|
|
113
|
+
* and stores that document's leaves beside the viewport ones, under `words`.
|
|
114
|
+
* `canvas` and `layers` are untouched, byte for byte; nothing that reads
|
|
115
|
+
* geometry can see this field; and a capture written before it existed — or
|
|
116
|
+
* by a host that could not run the second extraction — simply has no `words`
|
|
117
|
+
* and falls back to `layers`, which is exactly what shipped before.
|
|
118
|
+
*
|
|
119
|
+
* WHY IT LIVES INSIDE `domdoc.json` rather than beside it. A second artifact
|
|
120
|
+
* would need an R2 key, an upload part, a serving route, an envelope href and
|
|
121
|
+
* a second authenticated fetch per page in the browser, and the words would
|
|
122
|
+
* then be able to go missing while the screenshot arrived. One file cannot be
|
|
123
|
+
* half-captured.
|
|
124
|
+
*/
|
|
125
|
+
export const IMPROVE_PAGE_WORDS_FULL_PAGE_FIELD = 'words';
|
|
126
|
+
/**
|
|
127
|
+
* THE PROJECTION CONTRACT — the only fields a stored leaf must carry.
|
|
128
|
+
*
|
|
129
|
+
* `readableLeaf` below reads exactly these and nothing else, so a host that
|
|
130
|
+
* copies them has stored the whole of what this module can use, and the
|
|
131
|
+
* decisions (which kinds are words, what is hidden, what a tag suppresses,
|
|
132
|
+
* document order, dedupe, the cut) all stay here. The hosted capture service
|
|
133
|
+
* mirrors the copy in `services/site-capture/render.mjs`, whose test reads
|
|
134
|
+
* this constant out of this file and fails if the two lists drift; the CLI
|
|
135
|
+
* imports `improvePageWordLeaves` directly.
|
|
136
|
+
*
|
|
137
|
+
* Storing the leaves rather than a finished string is what keeps the cap a
|
|
138
|
+
* client-side policy: raising or lowering `IMPROVE_PAGE_WORDS_MAX_CHARACTERS`
|
|
139
|
+
* re-cuts every capture already taken, with no recapture and no paid call.
|
|
140
|
+
*/
|
|
141
|
+
export const IMPROVE_PAGE_WORDS_LEAF_FIELDS = ['kind', 'content', 'hidden', 'dom'];
|
|
142
|
+
/**
|
|
143
|
+
* A full-page document reduced to what `improvePageWords` reads.
|
|
144
|
+
*
|
|
145
|
+
* It makes no judgement about which leaves are words — it copies fields and
|
|
146
|
+
* drops geometry, styling and selectors, which is the whole reason it is safe
|
|
147
|
+
* to run at capture time. Measured on the same three pages: hubspot's full
|
|
148
|
+
* document is 266 KB and its projection 28 KB, against a 31 KB viewport
|
|
149
|
+
* document, so the words cost the kit about what one more small page costs
|
|
150
|
+
* rather than another megabyte.
|
|
151
|
+
*/
|
|
152
|
+
export const improvePageWordLeaves = (document) => {
|
|
153
|
+
if (!document || typeof document !== 'object' || Array.isArray(document))
|
|
154
|
+
return [];
|
|
155
|
+
const layers = document.layers;
|
|
156
|
+
if (!Array.isArray(layers))
|
|
157
|
+
return [];
|
|
158
|
+
const leaves = [];
|
|
159
|
+
for (const entry of layers) {
|
|
160
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry))
|
|
161
|
+
continue;
|
|
162
|
+
const leaf = entry;
|
|
163
|
+
const tag = leaf.dom && typeof leaf.dom === 'object' ? leaf.dom.tag : undefined;
|
|
164
|
+
leaves.push({
|
|
165
|
+
...(leaf.kind === undefined ? {} : { kind: leaf.kind }),
|
|
166
|
+
...(leaf.content === undefined ? {} : { content: leaf.content }),
|
|
167
|
+
...(leaf.hidden === true ? { hidden: true } : {}),
|
|
168
|
+
...(typeof tag === 'string' ? { dom: { tag } } : {}),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return leaves;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* The leaves this document offers, full page first.
|
|
175
|
+
*
|
|
176
|
+
* A document with neither reads as a page with no words — a capture that
|
|
177
|
+
* failed, a document from a future version, `undefined` from a fetch that
|
|
178
|
+
* 404'd. Improve must still be able to run (CLAUDE.md item 5: prefer a valid
|
|
179
|
+
* artifact over a user-visible failure).
|
|
180
|
+
*/
|
|
181
|
+
const arrayField = (document, field) => {
|
|
182
|
+
if (!document || typeof document !== 'object' || Array.isArray(document))
|
|
183
|
+
return null;
|
|
184
|
+
const value = document[field];
|
|
185
|
+
return Array.isArray(value) ? value : null;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* The budget for a walk that is allowed to carry everything, used to ask what
|
|
189
|
+
* the WHOLE page says before deciding whether it fits.
|
|
190
|
+
*/
|
|
191
|
+
const NO_BUDGET = Number.POSITIVE_INFINITY;
|
|
192
|
+
/** The walk: document order, deduplicated, cut, never mid-leaf. */
|
|
193
|
+
const walk = (source, limit) => {
|
|
194
|
+
const seen = new Set();
|
|
195
|
+
const parts = [];
|
|
196
|
+
let length = 0;
|
|
197
|
+
for (const entry of source) {
|
|
198
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry))
|
|
199
|
+
continue;
|
|
200
|
+
const content = readableLeaf(entry);
|
|
201
|
+
if (!content || seen.has(content))
|
|
202
|
+
continue;
|
|
203
|
+
const cost = (parts.length === 0 ? 0 : SEPARATOR.length) + [...content].length;
|
|
204
|
+
if (length + cost <= limit) {
|
|
205
|
+
seen.add(content);
|
|
206
|
+
parts.push(content);
|
|
207
|
+
length += cost;
|
|
208
|
+
}
|
|
209
|
+
if (limit - length < MINIMUM_REMAINING)
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
return parts.join(SEPARATOR);
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* THE WHOLE PAGE, OR THE SCREEN — NEVER A PREFIX OF THE PAGE.
|
|
216
|
+
*
|
|
217
|
+
* The document holds two lists: `words` is the WHOLE page's leaves (see
|
|
218
|
+
* `IMPROVE_PAGE_WORDS_FULL_PAGE_FIELD`) and `layers` is the first viewport's —
|
|
219
|
+
* the screen the model is actually looking at, since the reference image is
|
|
220
|
+
* one viewport tall. This returns the whole page's words when they fit the
|
|
221
|
+
* budget, and the screen's words when they do not.
|
|
222
|
+
*
|
|
223
|
+
* WHY THAT IS THE RULE, AND WHY IT IS NOT A TUNED THRESHOLD
|
|
224
|
+
* (`.tmp/site-improve/fullwords-study/FINDINGS.md`, 47 candidates over three
|
|
225
|
+
* sites; hubspot's two configurations bought three and two times on
|
|
226
|
+
* independent claims). The study bought both halves of the same question and
|
|
227
|
+
* they answered in opposite directions. The measure is copy survival — how
|
|
228
|
+
* many of a stated phrase list a candidate renders verbatim, OCR'd the same
|
|
229
|
+
* way for every arm — because it is the only instrument here that separated
|
|
230
|
+
* the arms by more than its own run-to-run spread:
|
|
231
|
+
*
|
|
232
|
+
* - Where the whole page was carried, it is the difference between a poster
|
|
233
|
+
* and a product page. chargedesk rendered 6.0% -> 95.1% of its page's 46
|
|
234
|
+
* phrases verbatim, and its own screen's phrases went 91.7% -> 100%, so
|
|
235
|
+
* nothing was crowded out. 12ui the same way. Nothing was invented: the
|
|
236
|
+
* real testimonials with their real attributions, the real gateway list,
|
|
237
|
+
* a real footer.
|
|
238
|
+
* - Where only the HEAD of a much longer page was carried, it bought nothing
|
|
239
|
+
* and cost the screen. hubspot (6233 characters) rendered 13-15% of its
|
|
240
|
+
* page whatever it was handed — the prefix included — while its own
|
|
241
|
+
* SCREEN's phrases fell to 58.7% and 72.8% across the two prefix passes,
|
|
242
|
+
* against 83.7%, 84.8% and 85.9% across three passes carrying the screen's
|
|
243
|
+
* words. Three against two, no overlap. The mechanism is dilution in one
|
|
244
|
+
* frame: 43 items to place instead of 23, each rendered smaller and less
|
|
245
|
+
* faithfully.
|
|
246
|
+
*
|
|
247
|
+
* The study also read a cookie-consent overlay and a collapse in candidate
|
|
248
|
+
* variety off the prefix arm. Neither survived replication (L-CAP: the overlay
|
|
249
|
+
* appears in about one candidate in four in EVERY configuration, including one
|
|
250
|
+
* whose request was byte-identical to the baseline; pairwise agreement on that
|
|
251
|
+
* page has been measured at 0.226, 0.357, 0.618 and 0.689 for one and the same
|
|
252
|
+
* configuration). Both are withdrawn there, and neither is load-bearing here.
|
|
253
|
+
*
|
|
254
|
+
* So the discriminator is not "how much of the page did the budget cover",
|
|
255
|
+
* which would be a threshold somebody tuned and which CLAUDE.md item 8
|
|
256
|
+
* forbids. It is a fact the capture declares and this module can read off the
|
|
257
|
+
* document in front of it: EITHER the page's words are all here, or they are
|
|
258
|
+
* not. A page whose words are all here is described completely; a page whose
|
|
259
|
+
* words are not is described completely only at its screen, so that is what
|
|
260
|
+
* is carried — which is exactly, byte for byte, what improve sent before the
|
|
261
|
+
* full-page field existed.
|
|
262
|
+
*
|
|
263
|
+
* The rule is free only because `IMPROVE_PAGE_WORDS_MAX_CHARACTERS` is 2000:
|
|
264
|
+
* at 1500 chargedesk's 1627-character page missed by a hundred characters and
|
|
265
|
+
* would have fallen back to a 40-character viewport, losing the largest win in
|
|
266
|
+
* the study. See that constant for why the budget is a budget.
|
|
267
|
+
*
|
|
268
|
+
* A document with neither list reads as a page with no words — a capture that
|
|
269
|
+
* failed, a document from a future version, `undefined` from a fetch that
|
|
270
|
+
* 404'd. Improve must still be able to run (CLAUDE.md item 5: prefer a valid
|
|
271
|
+
* artifact over a user-visible failure), and a run without the words is
|
|
272
|
+
* exactly what shipped before any of this existed.
|
|
273
|
+
*/
|
|
274
|
+
export const improvePageWords = (document, options = {}) => {
|
|
275
|
+
const limit = Math.max(0, Math.trunc(options.limit ?? IMPROVE_PAGE_WORDS_MAX_CHARACTERS));
|
|
276
|
+
if (limit === 0)
|
|
277
|
+
return '';
|
|
278
|
+
const screen = arrayField(document, 'layers') ?? [];
|
|
279
|
+
const page = arrayField(document, 'words');
|
|
280
|
+
if (page === null)
|
|
281
|
+
return walk(screen, limit);
|
|
282
|
+
const whole = walk(page, NO_BUDGET);
|
|
283
|
+
/**
|
|
284
|
+
* An empty whole-page walk means the stored field describes no words at all.
|
|
285
|
+
* On a genuinely wordless page the screen is empty too and both branches
|
|
286
|
+
* agree; where they disagree the field is not describing this page, and
|
|
287
|
+
* item 8's rule for an unproven suppression is to render rather than leave a
|
|
288
|
+
* hole. So it reads as a document that stored no full page.
|
|
289
|
+
*/
|
|
290
|
+
if (!whole)
|
|
291
|
+
return walk(screen, limit);
|
|
292
|
+
return [...whole].length <= limit ? whole : walk(screen, limit);
|
|
293
|
+
};
|
|
294
|
+
/**
|
|
295
|
+
* The words this run may carry, which is nothing at all when the visitor freed
|
|
296
|
+
* the copy. WITH `content` OFF THE PAGE'S WORDS ARE NOT CARRIED: the run has
|
|
297
|
+
* asked for them to be rewritten, and handing the model the old ones verbatim
|
|
298
|
+
* in the same breath is the contradiction the retain clause was rewritten to
|
|
299
|
+
* remove (`retain.source`, improve-retain.ts). One module answers it, so the
|
|
300
|
+
* web page and the CLI cannot disagree about what a toggle did.
|
|
301
|
+
*/
|
|
302
|
+
export const improvePageWordsFor = (document, retain, options = {}) => (improveRetainKeeps(retain, 'content') ? improvePageWords(document, options) : '');
|
|
303
|
+
//# sourceMappingURL=improve-page-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-page-words.js","sourceRoot":"","sources":["../../src/improve-core/improve-page-words.ts"],"names":[],"mappings":"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"}
|
package/dist/{improve-plan-annotated-render.d.ts → improve-core/improve-plan-annotated-render.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type ImproveKitAssetIndex } from './improve-kit-
|
|
1
|
+
import { type ImproveKitAssetIndex } from './improve-kit-asset-model.js';
|
|
2
2
|
import { type SourceHint } from './improve-source-hints.js';
|
|
3
3
|
import type { AddedElementSpec } from './improve-added-specs.js';
|
|
4
4
|
import type { ImproveDomDiff } from './improve-dom-diff.js';
|
|
5
|
-
import type
|
|
5
|
+
import { type ImproveTokenPatch } from './improve-token-patch.js';
|
|
6
6
|
import type { LayerDiffMatch } from './improve-layerdoc-types.js';
|
|
7
7
|
/**
|
|
8
8
|
* `plan/plan-annotated.md`, readable in its first screen.
|
|
@@ -21,11 +21,28 @@ export type ImprovePlanMode = 'dom-anchored' | 'layerdoc-anchored' | 'unanchored
|
|
|
21
21
|
export declare const IMPROVE_PLAN_TOKEN_LIMIT = 12;
|
|
22
22
|
/** Selectors per token line. Fifty-four on one line is not a readable plan. */
|
|
23
23
|
export declare const IMPROVE_PLAN_SELECTOR_LIMIT = 3;
|
|
24
|
+
/**
|
|
25
|
+
* The design's font, named as a fact rather than fetched (F23).
|
|
26
|
+
*
|
|
27
|
+
* The token patch used to open with a Google Fonts `@import`, which is a
|
|
28
|
+
* network dependency and a CSP hazard the repository never asked for. The plan
|
|
29
|
+
* says which family the design uses and leaves the loading to whatever the
|
|
30
|
+
* repository already does.
|
|
31
|
+
*/
|
|
32
|
+
export declare const improveFontLines: (fonts: ReadonlyArray<{
|
|
33
|
+
family: string;
|
|
34
|
+
weights: number[];
|
|
35
|
+
}>) => string[];
|
|
24
36
|
export declare const renderImproveAnnotatedPlan: (args: {
|
|
25
37
|
computed: ImproveDomDiff;
|
|
26
38
|
entries: readonly AnnotatedEntry[];
|
|
27
39
|
tokenPatch: ImproveTokenPatch;
|
|
28
40
|
addedSpecs: readonly AddedElementSpec[];
|
|
41
|
+
/**
|
|
42
|
+
* The target's raster layers, and the files carrying them where the host has
|
|
43
|
+
* files. A host with no filesystem still passes the layers the document
|
|
44
|
+
* declares, so both kits' plans name the same imagery.
|
|
45
|
+
*/
|
|
29
46
|
index: ImproveKitAssetIndex;
|
|
30
47
|
repo?: string;
|
|
31
48
|
mode: ImprovePlanMode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-plan-annotated-render.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-plan-annotated-render.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,oBAAoB,EAE1B,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAA6B,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;;;;;;;GAQG;AAEH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAElF,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAwC7C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,KAC1D,MAAM,EAIP,CAAC;AA4JH,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC;;;;OAIG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;CACvB,KAAG,MAyCH,CAAC"}
|