@12ui/design 0.2.57 → 0.2.59
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/atomic-file-replace.d.ts +21 -0
- package/dist/atomic-file-replace.d.ts.map +1 -0
- package/dist/atomic-file-replace.js +48 -0
- package/dist/atomic-file-replace.js.map +1 -0
- package/dist/branch-client.d.ts +84 -2
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +30 -0
- package/dist/branch-client.js.map +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +2 -1
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-capabilities.d.ts +1 -1
- package/dist/cli-conversion-derivation.d.ts +14 -1
- package/dist/cli-conversion-derivation.d.ts.map +1 -1
- package/dist/cli-conversion-derivation.js +14 -7
- 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 +86 -34
- 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 +0 -3
- package/dist/cli-corpus-command.js.map +1 -1
- package/dist/cli-draft-command.d.ts +16 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +47 -9
- 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 +20 -7
- 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 +215 -33
- 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 +268 -156
- 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 -77
- package/dist/concept-input.d.ts.map +1 -1
- package/dist/concept-input.js +6 -87
- package/dist/concept-input.js.map +1 -1
- package/dist/conversion-client.d.ts +106 -17
- package/dist/conversion-client.d.ts.map +1 -1
- package/dist/conversion-client.js +244 -80
- package/dist/conversion-client.js.map +1 -1
- package/dist/corpus-client.d.ts.map +1 -1
- package/dist/corpus-client.js +0 -3
- package/dist/corpus-client.js.map +1 -1
- package/dist/draft-identity.d.ts +7 -0
- package/dist/draft-identity.d.ts.map +1 -1
- package/dist/draft-identity.js +4 -0
- package/dist/draft-identity.js.map +1 -1
- package/dist/draft-run.d.ts +13 -0
- package/dist/draft-run.d.ts.map +1 -1
- package/dist/draft-run.js +20 -2
- package/dist/draft-run.js.map +1 -1
- package/dist/draft-workspace.d.ts +4 -0
- package/dist/draft-workspace.d.ts.map +1 -1
- package/dist/draft-workspace.js.map +1 -1
- package/dist/hosted-draft-identity.d.ts +18 -0
- package/dist/hosted-draft-identity.d.ts.map +1 -1
- package/dist/hosted-draft-identity.js +8 -0
- package/dist/hosted-draft-identity.js.map +1 -1
- package/dist/hosted-draft-run.d.ts +15 -0
- package/dist/hosted-draft-run.d.ts.map +1 -1
- package/dist/hosted-draft-run.js +27 -0
- package/dist/hosted-draft-run.js.map +1 -1
- package/dist/improve-added-specs.d.ts +12 -40
- package/dist/improve-added-specs.d.ts.map +1 -1
- package/dist/improve-added-specs.js +63 -172
- 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-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 +19 -0
- package/dist/improve-capture-redirect.d.ts.map +1 -1
- package/dist/improve-capture-redirect.js +18 -1
- package/dist/improve-capture-redirect.js.map +1 -1
- 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 -20
- package/dist/improve-concept.d.ts.map +1 -1
- package/dist/improve-concept.js +12 -59
- package/dist/improve-concept.js.map +1 -1
- package/dist/improve-conversion-attempts.d.ts +12 -4
- package/dist/improve-conversion-attempts.d.ts.map +1 -1
- package/dist/improve-conversion-attempts.js.map +1 -1
- package/dist/improve-conversion-stage.d.ts +13 -2
- package/dist/improve-conversion-stage.d.ts.map +1 -1
- package/dist/improve-conversion-stage.js +211 -20
- package/dist/improve-conversion-stage.js.map +1 -1
- package/dist/improve-convert-progress.d.ts +10 -2
- package/dist/improve-convert-progress.d.ts.map +1 -1
- package/dist/improve-convert-progress.js +7 -3
- package/dist/improve-convert-progress.js.map +1 -1
- package/dist/improve-convert-resilience.d.ts +60 -13
- package/dist/improve-convert-resilience.d.ts.map +1 -1
- package/dist/improve-convert-resilience.js +85 -22
- 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 +11 -0
- package/dist/improve-core/improve-concept.d.ts.map +1 -0
- package/dist/improve-core/improve-concept.js +190 -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-icon-svg.js → improve-core/improve-icon-svg.js} +2 -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} +6 -1
- 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} +56 -28
- package/dist/{improve-plan-annotated-render.js.map → improve-core/improve-plan-annotated-render.js.map} +1 -1
- 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-core/improve-token-patch.d.ts.map +1 -0
- package/dist/{improve-token-patch.js → improve-core/improve-token-patch.js} +2 -0
- 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 +87 -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 +162 -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-readme.d.ts +4 -0
- package/dist/improve-kit-readme.d.ts.map +1 -1
- package/dist/improve-kit-readme.js +57 -16
- package/dist/improve-kit-readme.js.map +1 -1
- package/dist/improve-kit-stall.d.ts +3 -1
- package/dist/improve-kit-stall.d.ts.map +1 -1
- package/dist/improve-kit-stall.js +46 -14
- package/dist/improve-kit-stall.js.map +1 -1
- package/dist/improve-kit-status.d.ts.map +1 -1
- package/dist/improve-kit-status.js +8 -3
- package/dist/improve-kit-status.js.map +1 -1
- package/dist/improve-options.d.ts +8 -0
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +92 -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 +8 -2
- package/dist/improve-plan-annotator.d.ts.map +1 -1
- package/dist/improve-plan-annotator.js +35 -38
- 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 +29 -5
- 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 +10 -1
- package/dist/improve-stage-shared.d.ts.map +1 -1
- package/dist/improve-stage-shared.js.map +1 -1
- package/dist/improve-stop-handler.d.ts +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 +7 -4
- package/dist/improve-terminal-event.js.map +1 -1
- package/dist/improve-workspace.d.ts +198 -2
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +249 -92
- package/dist/improve-workspace.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +79 -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/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 +0 -3
- package/dist/mcp-tool-handler.js.map +1 -1
- package/dist/redesign-branch-adoption.d.ts +29 -0
- package/dist/redesign-branch-adoption.d.ts.map +1 -0
- package/dist/redesign-branch-adoption.js +183 -0
- package/dist/redesign-branch-adoption.js.map +1 -0
- package/dist/redesign-branch-identity.d.ts +23 -0
- package/dist/redesign-branch-identity.d.ts.map +1 -0
- package/dist/redesign-branch-identity.js +27 -0
- package/dist/redesign-branch-identity.js.map +1 -0
- package/dist/redesign-branch-record-verification.d.ts +51 -0
- package/dist/redesign-branch-record-verification.d.ts.map +1 -0
- package/dist/redesign-branch-record-verification.js +127 -0
- package/dist/redesign-branch-record-verification.js.map +1 -0
- package/dist/redesign-branch-stage.d.ts +17 -0
- package/dist/redesign-branch-stage.d.ts.map +1 -0
- package/dist/redesign-branch-stage.js +218 -0
- package/dist/redesign-branch-stage.js.map +1 -0
- package/dist/redesign-capture.d.ts +145 -15
- package/dist/redesign-capture.d.ts.map +1 -1
- package/dist/redesign-capture.js +182 -71
- package/dist/redesign-capture.js.map +1 -1
- package/dist/redesign-page-candidates.d.ts +40 -0
- package/dist/redesign-page-candidates.d.ts.map +1 -0
- package/dist/redesign-page-candidates.js +131 -0
- package/dist/redesign-page-candidates.js.map +1 -0
- package/dist/redesign-page-ownership.d.ts +36 -0
- package/dist/redesign-page-ownership.d.ts.map +1 -0
- package/dist/redesign-page-ownership.js +174 -0
- package/dist/redesign-page-ownership.js.map +1 -0
- package/dist/redesign-plan-identity.d.ts +3 -1
- package/dist/redesign-plan-identity.d.ts.map +1 -1
- package/dist/redesign-plan-identity.js +4 -1
- package/dist/redesign-plan-identity.js.map +1 -1
- package/dist/redesign-plan.d.ts.map +1 -1
- package/dist/redesign-plan.js +12 -6
- package/dist/redesign-plan.js.map +1 -1
- package/dist/redesign-record-validation.d.ts +4 -0
- package/dist/redesign-record-validation.d.ts.map +1 -0
- package/dist/redesign-record-validation.js +210 -0
- package/dist/redesign-record-validation.js.map +1 -0
- package/dist/redesign-workspace.d.ts +43 -5
- package/dist/redesign-workspace.d.ts.map +1 -1
- package/dist/redesign-workspace.js +66 -7
- package/dist/redesign-workspace.js.map +1 -1
- package/dist/responsive-alternative-materializer.d.ts +8 -3
- package/dist/responsive-alternative-materializer.d.ts.map +1 -1
- package/dist/responsive-alternative-materializer.js +68 -51
- package/dist/responsive-alternative-materializer.js.map +1 -1
- 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/run-journal.d.ts +3 -1
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +7 -1
- package/dist/run-journal.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 +67 -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 +8 -4
- package/skills/12ui-design/improve.md +50 -3
- 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-icon-svg.d.ts +0 -47
- package/dist/improve-icon-svg.d.ts.map +0 -1
- package/dist/improve-icon-svg.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-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
- /package/dist/{improve-token-patch.d.ts → improve-core/improve-token-patch.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConversionModel } from './conversion-models.js';
|
|
2
|
-
import type { ImproveRecord } from './improve-workspace.js';
|
|
2
|
+
import type { ImproveRecord, ImproveResponsiveFallbackOutcome } from './improve-workspace.js';
|
|
3
3
|
/**
|
|
4
4
|
* The fused median. It is what the wait was before a retry existed, and it is
|
|
5
5
|
* still the lower end of the default below.
|
|
@@ -21,17 +21,15 @@ export declare const IMPROVE_TEMPORARY_UNAVAILABLE_RETRY_DELAY_MS = 30000;
|
|
|
21
21
|
*/
|
|
22
22
|
export declare const improveConvertStallFloorSeconds: (model: ConversionModel) => number;
|
|
23
23
|
/**
|
|
24
|
-
* The DEFAULT bound
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* The DEFAULT no-progress bound. The old 480s standard/pro wall was below all
|
|
25
|
+
* three measured tall landings (655s, 642s, 796s). The 240s standard typical
|
|
26
|
+
* wall gives the same 960s result as the measured maximum with 20% headroom:
|
|
27
|
+
* `ceil(796 * 1.2 / 60) * 60 = 960`, or four typical walls.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* (`improveConvertStallHalted`), so the bound now only decides how long improve
|
|
34
|
-
* waits before handing the conversion back to the operator.
|
|
29
|
+
* This is not an absolute completion deadline. The conversion client resets it
|
|
30
|
+
* whenever polling reports a live stage or active lane, so it only halts a
|
|
31
|
+
* conversion that shows no progress. Fast keeps its measured-table envelope
|
|
32
|
+
* (300s); pro shares standard because it has no model-specific wall.
|
|
35
33
|
*/
|
|
36
34
|
export declare const improveConvertStallDefaultSeconds: (model: ConversionModel) => number;
|
|
37
35
|
/** The reason a pre-F19 stall abandonment carries, and the prefix that counts them. */
|
|
@@ -87,8 +85,20 @@ export type ImproveResumeConversion = {
|
|
|
87
85
|
* `fresh-rotated-away` is the only reading that leaves a conversion nothing can
|
|
88
86
|
* reach, and it now belongs to pre-ledger kits alone. The ledger is what ended
|
|
89
87
|
* it: the nonce is on the record before the conversion is dispatched.
|
|
88
|
+
*
|
|
89
|
+
* `inFlight` disqualifies the FIRST reading, and only a caller still inside the
|
|
90
|
+
* convert stage may set it. Such a caller knows something the record cannot:
|
|
91
|
+
* whatever `convert` block it holds settled an EARLIER conversion, because this
|
|
92
|
+
* one has not returned. `--fresh` clears that block durably inside the stage, so
|
|
93
|
+
* the only way to still be reading it is a copy that predates the clear — and
|
|
94
|
+
* answering "settled" off it promises a stopped lane a free replay of a
|
|
95
|
+
* conversion it walked away from, while the one it is still paying for goes
|
|
96
|
+
* unnamed. Silence there is not a loss: `plan/STALL.md` names the hosted run and
|
|
97
|
+
* prints the `resume` that collects it either way.
|
|
90
98
|
*/
|
|
91
|
-
export declare const improveResumeConversion: (record: ImproveRecord
|
|
99
|
+
export declare const improveResumeConversion: (record: ImproveRecord, context?: {
|
|
100
|
+
inFlight?: boolean;
|
|
101
|
+
}) => ImproveResumeConversion | undefined;
|
|
92
102
|
/**
|
|
93
103
|
* The wait ended and improve stopped. It bought nothing (F19).
|
|
94
104
|
*
|
|
@@ -121,7 +131,44 @@ export declare const retryImproveTemporarilyUnavailable: <T>(args: {
|
|
|
121
131
|
export declare const improveStalled: (error: unknown) => boolean;
|
|
122
132
|
export declare const improveConversionIdFromText: (value: string) => string | undefined;
|
|
123
133
|
export declare const recordedImproveConversionId: (record: ImproveRecord) => Promise<string | undefined>;
|
|
124
|
-
|
|
134
|
+
/**
|
|
135
|
+
* How the responsive export ended. Three different events, three different
|
|
136
|
+
* sentences, and the kit has to name the right one (F34).
|
|
137
|
+
*
|
|
138
|
+
* - `server-failed` — the service reported the conversion `failed`. There is
|
|
139
|
+
* nothing running and nothing to wait for; the reason is the service's own.
|
|
140
|
+
* - `incomplete-viewports` — it produced some viewports and not all of them.
|
|
141
|
+
* - `deadline` — it was STILL RUNNING when the bound expired. Only this one
|
|
142
|
+
* may say "did not settle before the deadline", and only this one leaves a
|
|
143
|
+
* conversion worth resuming later.
|
|
144
|
+
*/
|
|
145
|
+
export type ImproveResponsiveFallback = {
|
|
146
|
+
outcome: ImproveResponsiveFallbackOutcome;
|
|
147
|
+
/** The sentence improve.json, the README, STALL.md and the summary all carry. */
|
|
148
|
+
warning: string;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Why the run derived fixed-layout HTML instead — or `undefined` when the error
|
|
152
|
+
* is not about the responsive export at all, in which case it must keep
|
|
153
|
+
* throwing rather than be absorbed into a fallback.
|
|
154
|
+
*
|
|
155
|
+
* `serviceStage` is the newest stage the service reported over the wait. The
|
|
156
|
+
* mailchimp app kit is why it is a parameter: its journal records `failed` at
|
|
157
|
+
* 269s under a 480s bound, and the CLI — classifying on the error TEXT alone,
|
|
158
|
+
* which matched a "responsive html export … failed" phrase against a branch
|
|
159
|
+
* that wrote deadline wording — told the reader the export had overrun a
|
|
160
|
+
* deadline it never reached. A stage the service declares outranks any reading
|
|
161
|
+
* of prose.
|
|
162
|
+
*/
|
|
163
|
+
export declare const responsiveFallbackReason: (error: unknown, context?: {
|
|
164
|
+
serviceStage?: string;
|
|
165
|
+
}) => ImproveResponsiveFallback | undefined;
|
|
166
|
+
/**
|
|
167
|
+
* One word for what happened to the responsive export, so the summary headline,
|
|
168
|
+
* the run summary's detail line and `plan/STALL.md` cannot disagree with the
|
|
169
|
+
* sentence stored beside them.
|
|
170
|
+
*/
|
|
171
|
+
export declare const improveResponsiveOutcomeWord: (outcome: ImproveResponsiveFallbackOutcome | undefined) => string;
|
|
125
172
|
export declare const fixedImproveHtml: (targetDir: string) => Promise<{
|
|
126
173
|
html: string;
|
|
127
174
|
assets: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-convert-resilience.d.ts","sourceRoot":"","sources":["../src/improve-convert-resilience.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"improve-convert-resilience.d.ts","sourceRoot":"","sources":["../src/improve-convert-resilience.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,16 @@ const UUID = /[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}/iu;
|
|
|
19
19
|
*/
|
|
20
20
|
export const IMPROVE_RESPONSIVE_TIMEOUT_MS = CONVERSION_DURATION_HINTS.fused * 1_000;
|
|
21
21
|
export const IMPROVE_TEMPORARY_UNAVAILABLE_RETRY_DELAY_MS = 30_000;
|
|
22
|
+
/**
|
|
23
|
+
* Standard `convert --output html` walls from the 2026-09-03 tall-landing
|
|
24
|
+
* round: Crisp 655s, Airtable 642s, Calendly 796s. These are a compact
|
|
25
|
+
* population check beside the model table, not a promise that a live run must
|
|
26
|
+
* complete inside the result.
|
|
27
|
+
*/
|
|
28
|
+
const IMPROVE_TALL_STANDARD_WALLS_SECONDS = [655, 642, 796];
|
|
29
|
+
const IMPROVE_TALL_WALL_MARGIN = 1.2;
|
|
30
|
+
const roundUpToMinute = (seconds) => Math.ceil(seconds / 60) * 60;
|
|
31
|
+
const improveTallStandardNoProgressBoundSeconds = () => roundUpToMinute(Math.max(...IMPROVE_TALL_STANDARD_WALLS_SECONDS) * IMPROVE_TALL_WALL_MARGIN);
|
|
22
32
|
/**
|
|
23
33
|
* The floor `--convert-stall-seconds` refuses below: the conversion's own
|
|
24
34
|
* typical wall for the model in play. A bound inside the typical window would
|
|
@@ -28,19 +38,19 @@ export const IMPROVE_TEMPORARY_UNAVAILABLE_RETRY_DELAY_MS = 30_000;
|
|
|
28
38
|
*/
|
|
29
39
|
export const improveConvertStallFloorSeconds = (model) => (model === 'fast' ? CONVERSION_DURATION_HINTS.convertFast : CONVERSION_DURATION_HINTS.convert);
|
|
30
40
|
/**
|
|
31
|
-
* The DEFAULT bound
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
41
|
+
* The DEFAULT no-progress bound. The old 480s standard/pro wall was below all
|
|
42
|
+
* three measured tall landings (655s, 642s, 796s). The 240s standard typical
|
|
43
|
+
* wall gives the same 960s result as the measured maximum with 20% headroom:
|
|
44
|
+
* `ceil(796 * 1.2 / 60) * 60 = 960`, or four typical walls.
|
|
35
45
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* (`improveConvertStallHalted`), so the bound now only decides how long improve
|
|
41
|
-
* waits before handing the conversion back to the operator.
|
|
46
|
+
* This is not an absolute completion deadline. The conversion client resets it
|
|
47
|
+
* whenever polling reports a live stage or active lane, so it only halts a
|
|
48
|
+
* conversion that shows no progress. Fast keeps its measured-table envelope
|
|
49
|
+
* (300s); pro shares standard because it has no model-specific wall.
|
|
42
50
|
*/
|
|
43
|
-
export const improveConvertStallDefaultSeconds = (model) =>
|
|
51
|
+
export const improveConvertStallDefaultSeconds = (model) => (model === 'fast'
|
|
52
|
+
? Math.max(IMPROVE_RESPONSIVE_TIMEOUT_MS / 1_000, 2 * improveConvertStallFloorSeconds(model))
|
|
53
|
+
: Math.max(improveTallStandardNoProgressBoundSeconds(), 4 * improveConvertStallFloorSeconds(model)));
|
|
44
54
|
/** The reason a pre-F19 stall abandonment carries, and the prefix that counts them. */
|
|
45
55
|
export const IMPROVE_CONVERT_STALL_REASON = 'convert stalled';
|
|
46
56
|
/** The reason `--fresh` writes when it rotates the base key away from a conversion. */
|
|
@@ -89,10 +99,20 @@ export const improveConvertRetryKey = (key, index) => (`${key}:stall:${index - 1
|
|
|
89
99
|
* `fresh-rotated-away` is the only reading that leaves a conversion nothing can
|
|
90
100
|
* reach, and it now belongs to pre-ledger kits alone. The ledger is what ended
|
|
91
101
|
* it: the nonce is on the record before the conversion is dispatched.
|
|
102
|
+
*
|
|
103
|
+
* `inFlight` disqualifies the FIRST reading, and only a caller still inside the
|
|
104
|
+
* convert stage may set it. Such a caller knows something the record cannot:
|
|
105
|
+
* whatever `convert` block it holds settled an EARLIER conversion, because this
|
|
106
|
+
* one has not returned. `--fresh` clears that block durably inside the stage, so
|
|
107
|
+
* the only way to still be reading it is a copy that predates the clear — and
|
|
108
|
+
* answering "settled" off it promises a stopped lane a free replay of a
|
|
109
|
+
* conversion it walked away from, while the one it is still paying for goes
|
|
110
|
+
* unnamed. Silence there is not a loss: `plan/STALL.md` names the hosted run and
|
|
111
|
+
* prints the `resume` that collects it either way.
|
|
92
112
|
*/
|
|
93
|
-
export const improveResumeConversion = (record) => {
|
|
113
|
+
export const improveResumeConversion = (record, context = {}) => {
|
|
94
114
|
const settled = record.convert?.sourceConversionId;
|
|
95
|
-
if (settled && UUID.test(settled))
|
|
115
|
+
if (!context.inFlight && settled && UUID.test(settled))
|
|
96
116
|
return { id: settled, reason: 'settled' };
|
|
97
117
|
const open = openImproveConversionAttempt(record);
|
|
98
118
|
if (open) {
|
|
@@ -136,7 +156,9 @@ export const improveConvertStallHalted = (args) => new Error(
|
|
|
136
156
|
+ ` --out-dir ${shellArg(path.join(args.runDir, 'target'))}\n\n`
|
|
137
157
|
+ 'plan/STALL.md names the same conversion and the same commands.'
|
|
138
158
|
+ ' Pass --fresh only to buy another one deliberately.', { cause: args.cause });
|
|
139
|
-
|
|
159
|
+
// The one responsive shortfall that still fails: NO layout landed. A run that
|
|
160
|
+
// landed at least one ships degraded, so improve never sees it as an error.
|
|
161
|
+
const RESPONSIVE_NO_LAYOUT_FAILURE = 'no responsive layout could be produced';
|
|
140
162
|
export const improveErrorText = (error) => {
|
|
141
163
|
const detail = error;
|
|
142
164
|
return [
|
|
@@ -169,7 +191,7 @@ export const retryImproveTemporarilyUnavailable = async (args) => {
|
|
|
169
191
|
* has to be able to say which, and a stall must not overwrite a class the
|
|
170
192
|
* journal could already read off the error — an HTTP status, a refusal code.
|
|
171
193
|
*/
|
|
172
|
-
const STALL_TEXT = /timed out|timeout|deadline|did not settle|has not settled|not settled yet/iu;
|
|
194
|
+
const STALL_TEXT = /timed out|timeout|deadline|did not settle|has not settled|not settled yet|stalled and recoverable/iu;
|
|
173
195
|
export const improveStalled = (error) => {
|
|
174
196
|
if (isCliRefusal(error) || isImproveTemporarilyUnavailable(error))
|
|
175
197
|
return false;
|
|
@@ -200,20 +222,61 @@ export const recordedImproveConversionId = async (record) => {
|
|
|
200
222
|
}
|
|
201
223
|
return undefined;
|
|
202
224
|
};
|
|
203
|
-
|
|
225
|
+
/** The service's own words, reduced to one line the kit can print. */
|
|
226
|
+
const serviceFailureDetail = (error) => {
|
|
227
|
+
const line = improveErrorText(error).split('\n').map((part) => part.trim()).find(Boolean);
|
|
228
|
+
if (!line)
|
|
229
|
+
return 'the service reported no reason';
|
|
230
|
+
return line.replace(/\.$/u, '');
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Why the run derived fixed-layout HTML instead — or `undefined` when the error
|
|
234
|
+
* is not about the responsive export at all, in which case it must keep
|
|
235
|
+
* throwing rather than be absorbed into a fallback.
|
|
236
|
+
*
|
|
237
|
+
* `serviceStage` is the newest stage the service reported over the wait. The
|
|
238
|
+
* mailchimp app kit is why it is a parameter: its journal records `failed` at
|
|
239
|
+
* 269s under a 480s bound, and the CLI — classifying on the error TEXT alone,
|
|
240
|
+
* which matched a "responsive html export … failed" phrase against a branch
|
|
241
|
+
* that wrote deadline wording — told the reader the export had overrun a
|
|
242
|
+
* deadline it never reached. A stage the service declares outranks any reading
|
|
243
|
+
* of prose.
|
|
244
|
+
*/
|
|
245
|
+
export const responsiveFallbackReason = (error, context = {}) => {
|
|
204
246
|
if (isImproveTemporarilyUnavailable(error))
|
|
205
247
|
return undefined;
|
|
206
248
|
const text = improveErrorText(error);
|
|
207
249
|
const normalized = text.toLowerCase();
|
|
208
|
-
|
|
250
|
+
const failedServerSide = context.serviceStage === 'failed';
|
|
251
|
+
const noResponsiveLayout = normalized.includes(RESPONSIVE_NO_LAYOUT_FAILURE);
|
|
252
|
+
const aboutResponsive = noResponsiveLayout
|
|
209
253
|
|| /responsive html export[\s\S]*(?:did not|failed|running|timed out|deadline)/iu.test(text)
|
|
210
|
-
|| /responsive[\s\S]*(?:timeout|timed out|deadline exceeded)/iu.test(text)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
254
|
+
|| /responsive[\s\S]*(?:timeout|timed out|deadline exceeded)/iu.test(text);
|
|
255
|
+
if (!aboutResponsive && !failedServerSide)
|
|
256
|
+
return undefined;
|
|
257
|
+
if (noResponsiveLayout) {
|
|
258
|
+
return {
|
|
259
|
+
outcome: 'server-failed',
|
|
260
|
+
warning: 'No responsive layout could be produced for this design.',
|
|
261
|
+
};
|
|
214
262
|
}
|
|
215
|
-
|
|
263
|
+
if (failedServerSide) {
|
|
264
|
+
return {
|
|
265
|
+
outcome: 'server-failed',
|
|
266
|
+
warning: `Responsive export failed server-side: ${serviceFailureDetail(error)}.`,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
return {
|
|
270
|
+
outcome: 'deadline',
|
|
271
|
+
warning: 'Responsive HTML did not settle before the improve stage deadline.',
|
|
272
|
+
};
|
|
216
273
|
};
|
|
274
|
+
/**
|
|
275
|
+
* One word for what happened to the responsive export, so the summary headline,
|
|
276
|
+
* the run summary's detail line and `plan/STALL.md` cannot disagree with the
|
|
277
|
+
* sentence stored beside them.
|
|
278
|
+
*/
|
|
279
|
+
export const improveResponsiveOutcomeWord = (outcome) => (outcome === 'server-failed' ? 'failed server-side' : 'stalled');
|
|
217
280
|
export const fixedImproveHtml = async (targetDir) => {
|
|
218
281
|
const html = derivedOutputFilePath(targetDir, 'html_fixed');
|
|
219
282
|
const assets = `${html}.assets`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-convert-resilience.js","sourceRoot":"","sources":["../src/improve-convert-resilience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-convert-resilience.js","sourceRoot":"","sources":["../src/improve-convert-resilience.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One place decides what a concept may be, because the service decides it once.
|
|
3
|
+
*
|
|
4
|
+
* `cleanText` in `workers/api/src/create/validation.ts` collapses every run of
|
|
5
|
+
* whitespace to a single space, trims, and then counts CODE POINTS. Over the
|
|
6
|
+
* limit is rejected with a 400; it is never truncated. Both `POST /api/v1/create`
|
|
7
|
+
* and the same route's `source: "build"` claim (what `12ui branch execute`
|
|
8
|
+
* calls) measure it that way, and the build claim spends a metered plan call
|
|
9
|
+
* the moment it is accepted.
|
|
10
|
+
*
|
|
11
|
+
* The CLI has to measure it identically in both directions. Counting the raw
|
|
12
|
+
* text would refuse a wrapped `--concept-file` the service would have taken,
|
|
13
|
+
* and not counting it at all is how `12ui create claim` used to put an
|
|
14
|
+
* over-length brief on the wire and learn the limit from a 400 (2026-08-12).
|
|
15
|
+
*
|
|
16
|
+
* A CAP NOBODY IS TOLD ABOUT REFUSES EVERY RUN. At 600 this one refused 21 of 21
|
|
17
|
+
* unprompted branch briefs across two trials (2026-08-13 and 2026-08-16) while
|
|
18
|
+
* appearing in no `--help` line and in no skill. Both halves of that were fixed,
|
|
19
|
+
* separately: the limit is now stated everywhere a caller reads before writing a
|
|
20
|
+
* brief — the `create claim` and `branch execute` usage lines, which `--help` and
|
|
21
|
+
* their usage refusals print; `12ui capabilities`; the command templates the
|
|
22
|
+
* skills and the CLI's own next-step hints hand over; and the refusal below —
|
|
23
|
+
* and the number first moved to 1200 on 2026-08-16 after a pre-registered blind
|
|
24
|
+
* A/B measured no quality difference between a skilful <=600 trim and the full
|
|
25
|
+
* brief (`labs/concept-cap-2026-08-16`; the owner raised it because forcing a
|
|
26
|
+
* trim costs agent tokens for nothing). The reasoning, the null result, and the
|
|
27
|
+
* open watch item live at `MAX_CREATE_CONCEPT_CHARACTERS` in
|
|
28
|
+
* workers/api/src/create/contract.ts.
|
|
29
|
+
*
|
|
30
|
+
* NOTHING HERE CLAIMS SHORT BRIEFS DESIGN BETTER. That claim used to ride in the
|
|
31
|
+
* refusal and the data refused to support it, so the refusal states the count,
|
|
32
|
+
* the limit, the trim, and where cut detail belongs — and stops there.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Mirrors `MAX_CREATE_CONCEPT_CHARACTERS` (workers/api/src/create/contract.ts),
|
|
36
|
+
* which is the constant the service actually enforces. `concept-input.test.ts`
|
|
37
|
+
* reads that file and fails if the two drift, because a CLI that measures a
|
|
38
|
+
* DIFFERENT number either refuses work the service would take or puts an
|
|
39
|
+
* over-length brief on the wire. If it is ever raised, the worker deploys first.
|
|
40
|
+
*/
|
|
41
|
+
export declare const MAX_CONCEPT_CHARACTERS = 1485;
|
|
42
|
+
/** Exactly the service's normalization, so client and server count one string. */
|
|
43
|
+
export declare const normalizeConceptText: (value: string) => string;
|
|
44
|
+
/** Code points, not UTF-16 units: one emoji is one character to the service. */
|
|
45
|
+
export declare const conceptCharacterCount: (value: string) => number;
|
|
46
|
+
export type ConceptInput = {
|
|
47
|
+
/** Raw text, straight from `--concept` or a `--concept-file` read. */
|
|
48
|
+
value: string;
|
|
49
|
+
/** How to name the flag pair in a refusal, e.g. `--concept`. */
|
|
50
|
+
flag: string;
|
|
51
|
+
/** One clause naming where the cut detail belongs instead. */
|
|
52
|
+
trimHint: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* The one shape every over-length text refusal takes.
|
|
56
|
+
*
|
|
57
|
+
* A refusal that names only the cap is half a message: the writer knows the
|
|
58
|
+
* text is too long and still has to count it themselves. F7 (wave-2, 2026-09-03)
|
|
59
|
+
* cost two lanes their first command each on `--direction` for exactly that —
|
|
60
|
+
* the refusal named 693 and 1200 and neither of them was the length of what
|
|
61
|
+
* they had written. Every limited text flag now names the count, the limit, the
|
|
62
|
+
* trim, and that nothing was spent.
|
|
63
|
+
*/
|
|
64
|
+
export declare const conceptOverLimitMessage: (args: {
|
|
65
|
+
flag: string;
|
|
66
|
+
/** As the caller typed it, so a whitespace-collapse difference can be named. */
|
|
67
|
+
raw: string;
|
|
68
|
+
/** After {@link normalizeConceptText}: the string that would go on the wire. */
|
|
69
|
+
normalized: string;
|
|
70
|
+
limit: number;
|
|
71
|
+
trimHint: string;
|
|
72
|
+
/** Why this flag's limit is not the concept cap, when it is not. */
|
|
73
|
+
because?: string;
|
|
74
|
+
}) => string;
|
|
75
|
+
/**
|
|
76
|
+
* Normalize and measure before anything is sent. Returns the exact text the
|
|
77
|
+
* caller should submit, so what was measured is what goes on the wire.
|
|
78
|
+
*/
|
|
79
|
+
export declare const readConceptValue: (input: ConceptInput) => string;
|
|
80
|
+
//# sourceMappingURL=concept-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-input.d.ts","sourceRoot":"","sources":["../../src/improve-core/concept-input.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,MAA4C,CAAC;AAElG,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MAA2B,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG;IACzB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KAAG,MAcH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,YAAY,KAAG,MAYtD,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// GENERATED — do not edit. Copied verbatim from
|
|
2
|
+
// packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
|
|
3
|
+
/**
|
|
4
|
+
* One place decides what a concept may be, because the service decides it once.
|
|
5
|
+
*
|
|
6
|
+
* `cleanText` in `workers/api/src/create/validation.ts` collapses every run of
|
|
7
|
+
* whitespace to a single space, trims, and then counts CODE POINTS. Over the
|
|
8
|
+
* limit is rejected with a 400; it is never truncated. Both `POST /api/v1/create`
|
|
9
|
+
* and the same route's `source: "build"` claim (what `12ui branch execute`
|
|
10
|
+
* calls) measure it that way, and the build claim spends a metered plan call
|
|
11
|
+
* the moment it is accepted.
|
|
12
|
+
*
|
|
13
|
+
* The CLI has to measure it identically in both directions. Counting the raw
|
|
14
|
+
* text would refuse a wrapped `--concept-file` the service would have taken,
|
|
15
|
+
* and not counting it at all is how `12ui create claim` used to put an
|
|
16
|
+
* over-length brief on the wire and learn the limit from a 400 (2026-08-12).
|
|
17
|
+
*
|
|
18
|
+
* A CAP NOBODY IS TOLD ABOUT REFUSES EVERY RUN. At 600 this one refused 21 of 21
|
|
19
|
+
* unprompted branch briefs across two trials (2026-08-13 and 2026-08-16) while
|
|
20
|
+
* appearing in no `--help` line and in no skill. Both halves of that were fixed,
|
|
21
|
+
* separately: the limit is now stated everywhere a caller reads before writing a
|
|
22
|
+
* brief — the `create claim` and `branch execute` usage lines, which `--help` and
|
|
23
|
+
* their usage refusals print; `12ui capabilities`; the command templates the
|
|
24
|
+
* skills and the CLI's own next-step hints hand over; and the refusal below —
|
|
25
|
+
* and the number first moved to 1200 on 2026-08-16 after a pre-registered blind
|
|
26
|
+
* A/B measured no quality difference between a skilful <=600 trim and the full
|
|
27
|
+
* brief (`labs/concept-cap-2026-08-16`; the owner raised it because forcing a
|
|
28
|
+
* trim costs agent tokens for nothing). The reasoning, the null result, and the
|
|
29
|
+
* open watch item live at `MAX_CREATE_CONCEPT_CHARACTERS` in
|
|
30
|
+
* workers/api/src/create/contract.ts.
|
|
31
|
+
*
|
|
32
|
+
* NOTHING HERE CLAIMS SHORT BRIEFS DESIGN BETTER. That claim used to ride in the
|
|
33
|
+
* refusal and the data refused to support it, so the refusal states the count,
|
|
34
|
+
* the limit, the trim, and where cut detail belongs — and stops there.
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Mirrors `MAX_CREATE_CONCEPT_CHARACTERS` (workers/api/src/create/contract.ts),
|
|
38
|
+
* which is the constant the service actually enforces. `concept-input.test.ts`
|
|
39
|
+
* reads that file and fails if the two drift, because a CLI that measures a
|
|
40
|
+
* DIFFERENT number either refuses work the service would take or puts an
|
|
41
|
+
* over-length brief on the wire. If it is ever raised, the worker deploys first.
|
|
42
|
+
*/
|
|
43
|
+
export const MAX_CONCEPT_CHARACTERS = 1485;
|
|
44
|
+
/** Exactly the service's normalization, so client and server count one string. */
|
|
45
|
+
export const normalizeConceptText = (value) => value.replace(/\s+/gu, ' ').trim();
|
|
46
|
+
/** Code points, not UTF-16 units: one emoji is one character to the service. */
|
|
47
|
+
export const conceptCharacterCount = (value) => [...value].length;
|
|
48
|
+
/**
|
|
49
|
+
* The one shape every over-length text refusal takes.
|
|
50
|
+
*
|
|
51
|
+
* A refusal that names only the cap is half a message: the writer knows the
|
|
52
|
+
* text is too long and still has to count it themselves. F7 (wave-2, 2026-09-03)
|
|
53
|
+
* cost two lanes their first command each on `--direction` for exactly that —
|
|
54
|
+
* the refusal named 693 and 1200 and neither of them was the length of what
|
|
55
|
+
* they had written. Every limited text flag now names the count, the limit, the
|
|
56
|
+
* trim, and that nothing was spent.
|
|
57
|
+
*/
|
|
58
|
+
export const conceptOverLimitMessage = (args) => {
|
|
59
|
+
const length = conceptCharacterCount(args.normalized);
|
|
60
|
+
// The raw count is what the caller can see in their editor. Name the counted
|
|
61
|
+
// one when they differ, or the refusal looks like it is off by the newlines.
|
|
62
|
+
const measured = length === conceptCharacterCount(args.raw)
|
|
63
|
+
? `${length} characters`
|
|
64
|
+
: `${length} characters once its whitespace collapses`;
|
|
65
|
+
return `${args.flag} is ${measured}; the limit is ${args.limit}.`
|
|
66
|
+
+ ` Trim ${length - args.limit}.`
|
|
67
|
+
+ (args.because ? ` ${args.because}` : '')
|
|
68
|
+
+ ` ${args.trimHint}`
|
|
69
|
+
// No quality claim here. The blind A/B behind the 1200 raise found none, so
|
|
70
|
+
// the refusal says what to do and what it cost, which is nothing.
|
|
71
|
+
+ ' Nothing was sent and nothing was bought.';
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Normalize and measure before anything is sent. Returns the exact text the
|
|
75
|
+
* caller should submit, so what was measured is what goes on the wire.
|
|
76
|
+
*/
|
|
77
|
+
export const readConceptValue = (input) => {
|
|
78
|
+
const concept = normalizeConceptText(input.value);
|
|
79
|
+
if (!concept)
|
|
80
|
+
throw new Error(`${input.flag} must not be empty`);
|
|
81
|
+
const length = conceptCharacterCount(concept);
|
|
82
|
+
if (length <= MAX_CONCEPT_CHARACTERS)
|
|
83
|
+
return concept;
|
|
84
|
+
throw new Error(conceptOverLimitMessage({
|
|
85
|
+
flag: input.flag,
|
|
86
|
+
raw: input.value,
|
|
87
|
+
normalized: concept,
|
|
88
|
+
limit: MAX_CONCEPT_CHARACTERS,
|
|
89
|
+
trimHint: input.trimHint,
|
|
90
|
+
}));
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=concept-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-input.js","sourceRoot":"","sources":["../../src/improve-core/concept-input.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uEAAuE;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAElG,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;AAWlF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAUvC,EAAU,EAAE;IACX,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QACzD,CAAC,CAAC,GAAG,MAAM,aAAa;QACxB,CAAC,CAAC,GAAG,MAAM,2CAA2C,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,IAAI,OAAO,QAAQ,kBAAkB,IAAI,CAAC,KAAK,GAAG;UAC7D,SAAS,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG;UAC/B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;UACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACrB,4EAA4E;QAC5E,kEAAkE;UAChE,2CAA2C,CAAC;AAClD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,MAAM,IAAI,sBAAsB;QAAE,OAAO,OAAO,CAAC;IACrD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,KAAK;QAChB,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ImproveDescribePath } from './improve-artifacts.js';
|
|
2
|
+
import type { LayerDiffResult, LayerLeaf } from './improve-layerdoc-types.js';
|
|
3
|
+
type HierarchyLeaf = {
|
|
4
|
+
leaf: LayerLeaf;
|
|
5
|
+
parentPath: string[];
|
|
6
|
+
};
|
|
7
|
+
export type AddedElementSpec = {
|
|
8
|
+
designIndex: number;
|
|
9
|
+
insertion: string;
|
|
10
|
+
markdown: string;
|
|
11
|
+
asset?: {
|
|
12
|
+
kind: string;
|
|
13
|
+
path?: string;
|
|
14
|
+
destination?: string;
|
|
15
|
+
resolvable: boolean;
|
|
16
|
+
/** How the named file may be used: an external file, or inline only (F30). */
|
|
17
|
+
usage?: 'img' | 'inline';
|
|
18
|
+
/** The `currentColor` sibling, when the icon has both variants. */
|
|
19
|
+
inline?: {
|
|
20
|
+
path: string;
|
|
21
|
+
destination: string;
|
|
22
|
+
};
|
|
23
|
+
/** One sentence naming which file goes where. */
|
|
24
|
+
colorNote?: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Resolving an extracted raster means looking at whatever the conversion left
|
|
29
|
+
* beside the target design — a manifest and a directory in the CLI, an asset
|
|
30
|
+
* index in the browser — so the lookup is injected and the core only decides
|
|
31
|
+
* which artifact ids to ask for, in which order, and what an unresolved one
|
|
32
|
+
* says in the plan.
|
|
33
|
+
*/
|
|
34
|
+
export type ImproveAssetResolver = (artifactIds: readonly string[]) => AddedElementSpec['asset'] | undefined;
|
|
35
|
+
/** Flatten target leaves while retaining group ancestry for sibling placement. */
|
|
36
|
+
export declare const flattenImproveHierarchy: (document: unknown) => HierarchyLeaf[];
|
|
37
|
+
/** Preference order for the extracted artifact a plan should hand a coder. */
|
|
38
|
+
export declare const improveArtifactIds: (leaf: LayerLeaf) => string[];
|
|
39
|
+
/**
|
|
40
|
+
* Every target leaf the diff never matched, with the full specification a coder
|
|
41
|
+
* needs to build it: where it goes relative to a real selector, its complete
|
|
42
|
+
* typography and style map, and the asset it references. Inline `iconSvg` is
|
|
43
|
+
* materialized into the returned `files` map rather than written here, so the
|
|
44
|
+
* CLI and the browser produce the same bytes at the same relative path.
|
|
45
|
+
*/
|
|
46
|
+
export declare const buildImproveAddedElementSpecs: (args: {
|
|
47
|
+
targetDoc: unknown;
|
|
48
|
+
normalizedTarget: readonly LayerLeaf[];
|
|
49
|
+
before: readonly LayerLeaf[];
|
|
50
|
+
canvas: {
|
|
51
|
+
width: number;
|
|
52
|
+
height: number;
|
|
53
|
+
};
|
|
54
|
+
diff: LayerDiffResult;
|
|
55
|
+
describePath: ImproveDescribePath;
|
|
56
|
+
resolveAsset?: ImproveAssetResolver;
|
|
57
|
+
}) => {
|
|
58
|
+
specs: AddedElementSpec[];
|
|
59
|
+
files: Record<string, string>;
|
|
60
|
+
};
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=improve-added-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-added-specs.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-added-specs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE9E,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,8EAA8E;QAC9E,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QACzB,mEAAmE;QACnE,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,iDAAiD;QACjD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,WAAW,EAAE,SAAS,MAAM,EAAE,KAC3B,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,GAAI,UAAU,OAAO,KAAG,aAAa,EAexE,CAAC;AAmDF,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,KAAG,MAAM,EAe1D,CAAC;AAOF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GAAI,MAAM;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,KAAG;IAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAuE7D,CAAC"}
|