@12ui/design 0.2.71 → 0.2.73
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/README.md +248 -55
- package/SKILL.md +28 -33
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +3 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-branch-command.d.ts.map +1 -1
- package/dist/cli-branch-command.js +4 -0
- package/dist/cli-branch-command.js.map +1 -1
- package/dist/cli-capabilities.d.ts +35 -1
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +36 -1
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-corpus-command.d.ts +5 -4
- package/dist/cli-corpus-command.d.ts.map +1 -1
- package/dist/cli-corpus-command.js +17 -26
- package/dist/cli-corpus-command.js.map +1 -1
- package/dist/cli-corpus-run.js +1 -1
- package/dist/cli-corpus-run.js.map +1 -1
- package/dist/cli-draft-command.js +1 -1
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +26 -6
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +39 -7
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +206 -7
- package/dist/cli-help/index.d.ts.map +1 -1
- package/dist/cli-help/index.js +4 -0
- package/dist/cli-help/index.js.map +1 -1
- package/dist/cli-help/meta.d.ts +1 -1
- package/dist/cli-help/meta.d.ts.map +1 -1
- package/dist/cli-help/meta.js +2 -1
- package/dist/cli-help/meta.js.map +1 -1
- package/dist/cli-help/scene.d.ts +96 -0
- package/dist/cli-help/scene.d.ts.map +1 -0
- package/dist/cli-help/scene.js +162 -0
- package/dist/cli-help/scene.js.map +1 -0
- package/dist/cli-help/workflow.d.ts +90 -0
- package/dist/cli-help/workflow.d.ts.map +1 -0
- package/dist/cli-help/workflow.js +89 -0
- package/dist/cli-help/workflow.js.map +1 -0
- package/dist/cli-open-browser.d.ts +7 -0
- package/dist/cli-open-browser.d.ts.map +1 -0
- package/dist/cli-open-browser.js +25 -0
- package/dist/cli-open-browser.js.map +1 -0
- package/dist/cli-prototype-command.d.ts +3 -1
- package/dist/cli-prototype-command.d.ts.map +1 -1
- package/dist/cli-prototype-command.js +33 -7
- package/dist/cli-prototype-command.js.map +1 -1
- package/dist/cli-review-command.d.ts.map +1 -1
- package/dist/cli-review-command.js +1 -16
- package/dist/cli-review-command.js.map +1 -1
- package/dist/cli-run.d.ts.map +1 -1
- package/dist/cli-run.js +41 -3
- package/dist/cli-run.js.map +1 -1
- package/dist/cli-scene-command.d.ts +3 -0
- package/dist/cli-scene-command.d.ts.map +1 -0
- package/dist/cli-scene-command.js +292 -0
- package/dist/cli-scene-command.js.map +1 -0
- package/dist/cli-usage.d.ts +8 -0
- package/dist/cli-usage.d.ts.map +1 -1
- package/dist/cli-usage.js +65 -6
- package/dist/cli-usage.js.map +1 -1
- package/dist/cli-workflow-command.d.ts +8 -0
- package/dist/cli-workflow-command.d.ts.map +1 -0
- package/dist/cli-workflow-command.js +97 -0
- package/dist/cli-workflow-command.js.map +1 -0
- package/dist/cli-workspace-command.d.ts +25 -0
- package/dist/cli-workspace-command.d.ts.map +1 -0
- package/dist/cli-workspace-command.js +95 -0
- package/dist/cli-workspace-command.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -4
- package/dist/config.js.map +1 -1
- package/dist/corpus-access.d.ts +11 -0
- package/dist/corpus-access.d.ts.map +1 -0
- package/dist/corpus-access.js +18 -0
- package/dist/corpus-access.js.map +1 -0
- package/dist/corpus-client.d.ts +11 -11
- package/dist/corpus-client.d.ts.map +1 -1
- package/dist/corpus-client.js +17 -6
- package/dist/corpus-client.js.map +1 -1
- package/dist/corpus-inspiration-failure.d.ts +1 -1
- package/dist/corpus-inspiration-failure.js +2 -2
- package/dist/corpus-inspiration-failure.js.map +1 -1
- package/dist/corpus-reference-download-retry.d.ts.map +1 -1
- package/dist/corpus-reference-download-retry.js +11 -1
- package/dist/corpus-reference-download-retry.js.map +1 -1
- package/dist/corpus-request-error.d.ts +2 -0
- package/dist/corpus-request-error.d.ts.map +1 -1
- package/dist/corpus-request-error.js +2 -0
- package/dist/corpus-request-error.js.map +1 -1
- package/dist/corpus-retry-guidance.d.ts +5 -0
- package/dist/corpus-retry-guidance.d.ts.map +1 -0
- package/dist/corpus-retry-guidance.js +18 -0
- package/dist/corpus-retry-guidance.js.map +1 -0
- package/dist/improve-pricing-plan.d.ts.map +1 -1
- package/dist/improve-pricing-plan.js +2 -4
- package/dist/improve-pricing-plan.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +52 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-slate-command.d.ts +31 -0
- package/dist/mcp-slate-command.d.ts.map +1 -0
- package/dist/mcp-slate-command.js +118 -0
- package/dist/mcp-slate-command.js.map +1 -0
- package/dist/mcp-slate-image.d.ts +22 -0
- package/dist/mcp-slate-image.d.ts.map +1 -0
- package/dist/mcp-slate-image.js +28 -0
- package/dist/mcp-slate-image.js.map +1 -0
- package/dist/mcp-slate-latest.d.ts +13 -0
- package/dist/mcp-slate-latest.d.ts.map +1 -0
- package/dist/mcp-slate-latest.js +34 -0
- package/dist/mcp-slate-latest.js.map +1 -0
- package/dist/mcp-slate-names.d.ts +25 -0
- package/dist/mcp-slate-names.d.ts.map +1 -0
- package/dist/mcp-slate-names.js +49 -0
- package/dist/mcp-slate-names.js.map +1 -0
- package/dist/mcp-slate-resource.d.ts +5 -0
- package/dist/mcp-slate-resource.d.ts.map +1 -0
- package/dist/mcp-slate-resource.js +37 -0
- package/dist/mcp-slate-resource.js.map +1 -0
- package/dist/mcp-slate-run.d.ts +41 -0
- package/dist/mcp-slate-run.d.ts.map +1 -0
- package/dist/mcp-slate-run.js +88 -0
- package/dist/mcp-slate-run.js.map +1 -0
- package/dist/mcp-slate-tool-defs.d.ts +61 -0
- package/dist/mcp-slate-tool-defs.d.ts.map +1 -0
- package/dist/mcp-slate-tool-defs.js +247 -0
- package/dist/mcp-slate-tool-defs.js.map +1 -0
- package/dist/mcp-slate-tools.d.ts +8 -0
- package/dist/mcp-slate-tools.d.ts.map +1 -0
- package/dist/mcp-slate-tools.js +45 -0
- package/dist/mcp-slate-tools.js.map +1 -0
- package/dist/mcp-slate-ui-copy.d.ts +134 -0
- package/dist/mcp-slate-ui-copy.d.ts.map +1 -0
- package/dist/mcp-slate-ui-copy.js +136 -0
- package/dist/mcp-slate-ui-copy.js.map +1 -0
- package/dist/mcp-slate-ui-script-bridge.d.ts +18 -0
- package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-bridge.js +137 -0
- package/dist/mcp-slate-ui-script-bridge.js.map +1 -0
- package/dist/mcp-slate-ui-script-browser.d.ts +12 -0
- package/dist/mcp-slate-ui-script-browser.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-browser.js +19 -0
- package/dist/mcp-slate-ui-script-browser.js.map +1 -0
- package/dist/mcp-slate-ui-script-dialog.d.ts +20 -0
- package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-dialog.js +332 -0
- package/dist/mcp-slate-ui-script-dialog.js.map +1 -0
- package/dist/mcp-slate-ui-script-inline.d.ts +10 -0
- package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-inline.js +221 -0
- package/dist/mcp-slate-ui-script-inline.js.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration.d.ts +12 -0
- package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration.js +216 -0
- package/dist/mcp-slate-ui-script-inspiration.js.map +1 -0
- package/dist/mcp-slate-ui-script-more.d.ts +30 -0
- package/dist/mcp-slate-ui-script-more.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-more.js +225 -0
- package/dist/mcp-slate-ui-script-more.js.map +1 -0
- package/dist/mcp-slate-ui-script-progress.d.ts +7 -0
- package/dist/mcp-slate-ui-script-progress.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-progress.js +9 -0
- package/dist/mcp-slate-ui-script-progress.js.map +1 -0
- package/dist/mcp-slate-ui-script-remote.d.ts +28 -0
- package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-remote.js +147 -0
- package/dist/mcp-slate-ui-script-remote.js.map +1 -0
- package/dist/mcp-slate-ui-script-scribble.d.ts +19 -0
- package/dist/mcp-slate-ui-script-scribble.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-scribble.js +114 -0
- package/dist/mcp-slate-ui-script-scribble.js.map +1 -0
- package/dist/mcp-slate-ui-script-select.d.ts +16 -0
- package/dist/mcp-slate-ui-script-select.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-select.js +73 -0
- package/dist/mcp-slate-ui-script-select.js.map +1 -0
- package/dist/mcp-slate-ui-script-stage.d.ts +11 -0
- package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-stage.js +181 -0
- package/dist/mcp-slate-ui-script-stage.js.map +1 -0
- package/dist/mcp-slate-ui-script-state.d.ts +13 -0
- package/dist/mcp-slate-ui-script-state.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-state.js +306 -0
- package/dist/mcp-slate-ui-script-state.js.map +1 -0
- package/dist/mcp-slate-ui-script-thumbtools.d.ts +23 -0
- package/dist/mcp-slate-ui-script-thumbtools.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-thumbtools.js +103 -0
- package/dist/mcp-slate-ui-script-thumbtools.js.map +1 -0
- package/dist/mcp-slate-ui-script.d.ts +28 -0
- package/dist/mcp-slate-ui-script.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script.js +58 -0
- package/dist/mcp-slate-ui-script.js.map +1 -0
- package/dist/mcp-slate-ui-styles-dialog.d.ts +17 -0
- package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-dialog.js +73 -0
- package/dist/mcp-slate-ui-styles-dialog.js.map +1 -0
- package/dist/mcp-slate-ui-styles-stage.d.ts +12 -0
- package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-stage.js +53 -0
- package/dist/mcp-slate-ui-styles-stage.js.map +1 -0
- package/dist/mcp-slate-ui-styles-thumbtools.d.ts +10 -0
- package/dist/mcp-slate-ui-styles-thumbtools.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-thumbtools.js +25 -0
- package/dist/mcp-slate-ui-styles-thumbtools.js.map +1 -0
- package/dist/mcp-slate-ui-styles.d.ts +13 -0
- package/dist/mcp-slate-ui-styles.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles.js +117 -0
- package/dist/mcp-slate-ui-styles.js.map +1 -0
- package/dist/mcp-slate-ui.d.ts +16 -0
- package/dist/mcp-slate-ui.d.ts.map +1 -0
- package/dist/mcp-slate-ui.js +58 -0
- package/dist/mcp-slate-ui.js.map +1 -0
- package/dist/mcp-slate-workspace-tools.d.ts +15 -0
- package/dist/mcp-slate-workspace-tools.d.ts.map +1 -0
- package/dist/mcp-slate-workspace-tools.js +155 -0
- package/dist/mcp-slate-workspace-tools.js.map +1 -0
- package/dist/mcp-tool-definitions.d.ts.map +1 -1
- package/dist/mcp-tool-definitions.js +9 -7
- package/dist/mcp-tool-definitions.js.map +1 -1
- package/dist/mcp-tool-handler.d.ts +8 -2
- package/dist/mcp-tool-handler.d.ts.map +1 -1
- package/dist/mcp-tool-handler.js +34 -13
- package/dist/mcp-tool-handler.js.map +1 -1
- package/dist/mcp-workflow-tools.d.ts +6 -0
- package/dist/mcp-workflow-tools.d.ts.map +1 -0
- package/dist/mcp-workflow-tools.js +108 -0
- package/dist/mcp-workflow-tools.js.map +1 -0
- package/dist/prototype-browsers.d.ts +8 -2
- package/dist/prototype-browsers.d.ts.map +1 -1
- package/dist/prototype-browsers.js +8 -3
- package/dist/prototype-browsers.js.map +1 -1
- package/dist/prototype-label-client.d.ts +5 -0
- package/dist/prototype-label-client.d.ts.map +1 -1
- package/dist/prototype-label-client.js.map +1 -1
- package/dist/prototype-poststep.d.ts +2 -2
- package/dist/prototype-poststep.d.ts.map +1 -1
- package/dist/prototype-poststep.js +3 -0
- package/dist/prototype-poststep.js.map +1 -1
- package/dist/prototype-process.js +1 -1
- package/dist/prototype-process.js.map +1 -1
- package/dist/prototype-run-record.d.ts +6 -2
- package/dist/prototype-run-record.d.ts.map +1 -1
- package/dist/prototype-run-record.js +6 -0
- package/dist/prototype-run-record.js.map +1 -1
- package/dist/prototype-runner.d.ts +2 -2
- package/dist/prototype-runner.d.ts.map +1 -1
- package/dist/prototype-runner.js +5 -2
- package/dist/prototype-runner.js.map +1 -1
- package/dist/prototype-workflow-contract.d.ts +13 -0
- package/dist/prototype-workflow-contract.d.ts.map +1 -0
- package/dist/prototype-workflow-contract.js +82 -0
- package/dist/prototype-workflow-contract.js.map +1 -0
- package/dist/prototype-workflow-labels.d.ts +29 -0
- package/dist/prototype-workflow-labels.d.ts.map +1 -0
- package/dist/prototype-workflow-labels.js +93 -0
- package/dist/prototype-workflow-labels.js.map +1 -0
- package/dist/run-journal-commands.d.ts.map +1 -1
- package/dist/run-journal-commands.js +24 -5
- package/dist/run-journal-commands.js.map +1 -1
- package/dist/scene/camera-model.d.ts +48 -0
- package/dist/scene/camera-model.d.ts.map +1 -0
- package/dist/scene/camera-model.js +89 -0
- package/dist/scene/camera-model.js.map +1 -0
- package/dist/scene/camera-solve.d.ts +58 -0
- package/dist/scene/camera-solve.d.ts.map +1 -0
- package/dist/scene/camera-solve.js +288 -0
- package/dist/scene/camera-solve.js.map +1 -0
- package/dist/scene/capture-plan.d.ts +28 -0
- package/dist/scene/capture-plan.d.ts.map +1 -0
- package/dist/scene/capture-plan.js +79 -0
- package/dist/scene/capture-plan.js.map +1 -0
- package/dist/scene/capture.d.ts +21 -0
- package/dist/scene/capture.d.ts.map +1 -0
- package/dist/scene/capture.js +118 -0
- package/dist/scene/capture.js.map +1 -0
- package/dist/scene/image-colors.d.ts +25 -0
- package/dist/scene/image-colors.d.ts.map +1 -0
- package/dist/scene/image-colors.js +110 -0
- package/dist/scene/image-colors.js.map +1 -0
- package/dist/scene/image-rectify.d.ts +25 -0
- package/dist/scene/image-rectify.d.ts.map +1 -0
- package/dist/scene/image-rectify.js +82 -0
- package/dist/scene/image-rectify.js.map +1 -0
- package/dist/scene/image-sheet.d.ts +19 -0
- package/dist/scene/image-sheet.d.ts.map +1 -0
- package/dist/scene/image-sheet.js +118 -0
- package/dist/scene/image-sheet.js.map +1 -0
- package/dist/scene/least-squares.d.ts +31 -0
- package/dist/scene/least-squares.d.ts.map +1 -0
- package/dist/scene/least-squares.js +173 -0
- package/dist/scene/least-squares.js.map +1 -0
- package/dist/scene/numbers.d.ts +17 -0
- package/dist/scene/numbers.d.ts.map +1 -0
- package/dist/scene/numbers.js +39 -0
- package/dist/scene/numbers.js.map +1 -0
- package/dist/scene/placement.d.ts +43 -0
- package/dist/scene/placement.d.ts.map +1 -0
- package/dist/scene/placement.js +107 -0
- package/dist/scene/placement.js.map +1 -0
- package/dist/scene/raster.d.ts +18 -0
- package/dist/scene/raster.d.ts.map +1 -0
- package/dist/scene/raster.js +31 -0
- package/dist/scene/raster.js.map +1 -0
- package/dist/scene/scene-kit.d.ts +20 -0
- package/dist/scene/scene-kit.d.ts.map +1 -0
- package/dist/scene/scene-kit.js +74 -0
- package/dist/scene/scene-kit.js.map +1 -0
- package/dist/scene/scene-verbs.d.ts +4 -0
- package/dist/scene/scene-verbs.d.ts.map +1 -0
- package/dist/scene/scene-verbs.js +5 -0
- package/dist/scene/scene-verbs.js.map +1 -0
- package/dist/scene/seeded-random.d.ts +20 -0
- package/dist/scene/seeded-random.d.ts.map +1 -0
- package/dist/scene/seeded-random.js +42 -0
- package/dist/scene/seeded-random.js.map +1 -0
- package/dist/scene/spec-expression.d.ts +25 -0
- package/dist/scene/spec-expression.d.ts.map +1 -0
- package/dist/scene/spec-expression.js +234 -0
- package/dist/scene/spec-expression.js.map +1 -0
- package/dist/scene/static-server.d.ts +13 -0
- package/dist/scene/static-server.d.ts.map +1 -0
- package/dist/scene/static-server.js +99 -0
- package/dist/scene/static-server.js.map +1 -0
- package/dist/server.d.ts +22 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +44 -8
- package/dist/server.js.map +1 -1
- package/dist/slate-actions.d.ts +38 -0
- package/dist/slate-actions.d.ts.map +1 -0
- package/dist/slate-actions.js +102 -0
- package/dist/slate-actions.js.map +1 -0
- package/dist/slate-annotate.d.ts +36 -0
- package/dist/slate-annotate.d.ts.map +1 -0
- package/dist/slate-annotate.js +71 -0
- package/dist/slate-annotate.js.map +1 -0
- package/dist/slate-approvals.d.ts +61 -0
- package/dist/slate-approvals.d.ts.map +1 -0
- package/dist/slate-approvals.js +153 -0
- package/dist/slate-approvals.js.map +1 -0
- package/dist/slate-browser-decision.d.ts +30 -0
- package/dist/slate-browser-decision.d.ts.map +1 -0
- package/dist/slate-browser-decision.js +24 -0
- package/dist/slate-browser-decision.js.map +1 -0
- package/dist/slate-browser-host-script.d.ts +14 -0
- package/dist/slate-browser-host-script.d.ts.map +1 -0
- package/dist/slate-browser-host-script.js +125 -0
- package/dist/slate-browser-host-script.js.map +1 -0
- package/dist/slate-browser-host.d.ts +9 -0
- package/dist/slate-browser-host.d.ts.map +1 -0
- package/dist/slate-browser-host.js +37 -0
- package/dist/slate-browser-host.js.map +1 -0
- package/dist/slate-browser-server.d.ts +37 -0
- package/dist/slate-browser-server.d.ts.map +1 -0
- package/dist/slate-browser-server.js +186 -0
- package/dist/slate-browser-server.js.map +1 -0
- package/dist/slate-commit.d.ts +28 -0
- package/dist/slate-commit.d.ts.map +1 -0
- package/dist/slate-commit.js +218 -0
- package/dist/slate-commit.js.map +1 -0
- package/dist/slate-corpus.d.ts +14 -0
- package/dist/slate-corpus.d.ts.map +1 -0
- package/dist/slate-corpus.js +32 -0
- package/dist/slate-corpus.js.map +1 -0
- package/dist/slate-edit-prompt.d.ts +18 -0
- package/dist/slate-edit-prompt.d.ts.map +1 -0
- package/dist/slate-edit-prompt.js +41 -0
- package/dist/slate-edit-prompt.js.map +1 -0
- package/dist/slate-edit-runner.d.ts +4 -0
- package/dist/slate-edit-runner.d.ts.map +1 -0
- package/dist/slate-edit-runner.js +90 -0
- package/dist/slate-edit-runner.js.map +1 -0
- package/dist/slate-editability.d.ts +20 -0
- package/dist/slate-editability.d.ts.map +1 -0
- package/dist/slate-editability.js +19 -0
- package/dist/slate-editability.js.map +1 -0
- package/dist/slate-errors.d.ts +15 -0
- package/dist/slate-errors.d.ts.map +1 -0
- package/dist/slate-errors.js +21 -0
- package/dist/slate-errors.js.map +1 -0
- package/dist/slate-handoff-options.d.ts +40 -0
- package/dist/slate-handoff-options.d.ts.map +1 -0
- package/dist/slate-handoff-options.js +127 -0
- package/dist/slate-handoff-options.js.map +1 -0
- package/dist/slate-handoff.d.ts +11 -0
- package/dist/slate-handoff.d.ts.map +1 -0
- package/dist/slate-handoff.js +56 -0
- package/dist/slate-handoff.js.map +1 -0
- package/dist/slate-ids.d.ts +33 -0
- package/dist/slate-ids.d.ts.map +1 -0
- package/dist/slate-ids.js +47 -0
- package/dist/slate-ids.js.map +1 -0
- package/dist/slate-image-executor.d.ts +39 -0
- package/dist/slate-image-executor.d.ts.map +1 -0
- package/dist/slate-image-executor.js +52 -0
- package/dist/slate-image-executor.js.map +1 -0
- package/dist/slate-inspiration.d.ts +22 -0
- package/dist/slate-inspiration.d.ts.map +1 -0
- package/dist/slate-inspiration.js +112 -0
- package/dist/slate-inspiration.js.map +1 -0
- package/dist/slate-labels.d.ts +11 -0
- package/dist/slate-labels.d.ts.map +1 -0
- package/dist/slate-labels.js +32 -0
- package/dist/slate-labels.js.map +1 -0
- package/dist/slate-ledger.d.ts +29 -0
- package/dist/slate-ledger.d.ts.map +1 -0
- package/dist/slate-ledger.js +65 -0
- package/dist/slate-ledger.js.map +1 -0
- package/dist/slate-liveness.d.ts +26 -0
- package/dist/slate-liveness.d.ts.map +1 -0
- package/dist/slate-liveness.js +49 -0
- package/dist/slate-liveness.js.map +1 -0
- package/dist/slate-local-image.d.ts +19 -0
- package/dist/slate-local-image.d.ts.map +1 -0
- package/dist/slate-local-image.js +36 -0
- package/dist/slate-local-image.js.map +1 -0
- package/dist/slate-lock.d.ts +64 -0
- package/dist/slate-lock.d.ts.map +1 -0
- package/dist/slate-lock.js +178 -0
- package/dist/slate-lock.js.map +1 -0
- package/dist/slate-paths.d.ts +45 -0
- package/dist/slate-paths.d.ts.map +1 -0
- package/dist/slate-paths.js +132 -0
- package/dist/slate-paths.js.map +1 -0
- package/dist/slate-pick.d.ts +29 -0
- package/dist/slate-pick.d.ts.map +1 -0
- package/dist/slate-pick.js +55 -0
- package/dist/slate-pick.js.map +1 -0
- package/dist/slate-reference-ids.d.ts +6 -0
- package/dist/slate-reference-ids.d.ts.map +1 -0
- package/dist/slate-reference-ids.js +17 -0
- package/dist/slate-reference-ids.js.map +1 -0
- package/dist/slate-reference-store.d.ts +23 -0
- package/dist/slate-reference-store.d.ts.map +1 -0
- package/dist/slate-reference-store.js +46 -0
- package/dist/slate-reference-store.js.map +1 -0
- package/dist/slate-resume.d.ts +19 -0
- package/dist/slate-resume.d.ts.map +1 -0
- package/dist/slate-resume.js +94 -0
- package/dist/slate-resume.js.map +1 -0
- package/dist/slate-round-params.d.ts +20 -0
- package/dist/slate-round-params.d.ts.map +1 -0
- package/dist/slate-round-params.js +32 -0
- package/dist/slate-round-params.js.map +1 -0
- package/dist/slate-round-prompt.d.ts +18 -0
- package/dist/slate-round-prompt.d.ts.map +1 -0
- package/dist/slate-round-prompt.js +20 -0
- package/dist/slate-round-prompt.js.map +1 -0
- package/dist/slate-round-runner.d.ts +4 -0
- package/dist/slate-round-runner.d.ts.map +1 -0
- package/dist/slate-round-runner.js +125 -0
- package/dist/slate-round-runner.js.map +1 -0
- package/dist/slate-round-search.d.ts +7 -0
- package/dist/slate-round-search.d.ts.map +1 -0
- package/dist/slate-round-search.js +77 -0
- package/dist/slate-round-search.js.map +1 -0
- package/dist/slate-run-action.d.ts +14 -0
- package/dist/slate-run-action.d.ts.map +1 -0
- package/dist/slate-run-action.js +81 -0
- package/dist/slate-run-action.js.map +1 -0
- package/dist/slate-runner-context.d.ts +57 -0
- package/dist/slate-runner-context.d.ts.map +1 -0
- package/dist/slate-runner-context.js +79 -0
- package/dist/slate-runner-context.js.map +1 -0
- package/dist/slate-runner-failure.d.ts +8 -0
- package/dist/slate-runner-failure.d.ts.map +1 -0
- package/dist/slate-runner-failure.js +17 -0
- package/dist/slate-runner-failure.js.map +1 -0
- package/dist/slate-runner-flag.d.ts +3 -0
- package/dist/slate-runner-flag.d.ts.map +1 -0
- package/dist/slate-runner-flag.js +3 -0
- package/dist/slate-runner-flag.js.map +1 -0
- package/dist/slate-runner-main.d.ts +31 -0
- package/dist/slate-runner-main.d.ts.map +1 -0
- package/dist/slate-runner-main.js +132 -0
- package/dist/slate-runner-main.js.map +1 -0
- package/dist/slate-runner-spawn.d.ts +23 -0
- package/dist/slate-runner-spawn.d.ts.map +1 -0
- package/dist/slate-runner-spawn.js +27 -0
- package/dist/slate-runner-spawn.js.map +1 -0
- package/dist/slate-runtime.d.ts +38 -0
- package/dist/slate-runtime.d.ts.map +1 -0
- package/dist/slate-runtime.js +48 -0
- package/dist/slate-runtime.js.map +1 -0
- package/dist/slate-versions.d.ts +26 -0
- package/dist/slate-versions.d.ts.map +1 -0
- package/dist/slate-versions.js +110 -0
- package/dist/slate-versions.js.map +1 -0
- package/dist/slate-view-contract.d.ts +233 -0
- package/dist/slate-view-contract.d.ts.map +1 -0
- package/dist/slate-view-contract.js +17 -0
- package/dist/slate-view-contract.js.map +1 -0
- package/dist/slate-view-types.d.ts +2 -0
- package/dist/slate-view-types.d.ts.map +1 -0
- package/dist/slate-view-types.js +2 -0
- package/dist/slate-view-types.js.map +1 -0
- package/dist/slate-view.d.ts +19 -0
- package/dist/slate-view.d.ts.map +1 -0
- package/dist/slate-view.js +184 -0
- package/dist/slate-view.js.map +1 -0
- package/dist/slate-workspace-parse.d.ts +20 -0
- package/dist/slate-workspace-parse.d.ts.map +1 -0
- package/dist/slate-workspace-parse.js +437 -0
- package/dist/slate-workspace-parse.js.map +1 -0
- package/dist/slate-workspace-store.d.ts +44 -0
- package/dist/slate-workspace-store.d.ts.map +1 -0
- package/dist/slate-workspace-store.js +270 -0
- package/dist/slate-workspace-store.js.map +1 -0
- package/dist/slate-workspace-types.d.ts +176 -0
- package/dist/slate-workspace-types.d.ts.map +1 -0
- package/dist/slate-workspace-types.js +13 -0
- package/dist/slate-workspace-types.js.map +1 -0
- package/dist/workflow/adapter-12ui.d.ts +4 -0
- package/dist/workflow/adapter-12ui.d.ts.map +1 -0
- package/dist/workflow/adapter-12ui.js +147 -0
- package/dist/workflow/adapter-12ui.js.map +1 -0
- package/dist/workflow/adapter-layerdoc.d.ts +16 -0
- package/dist/workflow/adapter-layerdoc.d.ts.map +1 -0
- package/dist/workflow/adapter-layerdoc.js +116 -0
- package/dist/workflow/adapter-layerdoc.js.map +1 -0
- package/dist/workflow/adapter-openai.d.ts +4 -0
- package/dist/workflow/adapter-openai.d.ts.map +1 -0
- package/dist/workflow/adapter-openai.js +166 -0
- package/dist/workflow/adapter-openai.js.map +1 -0
- package/dist/workflow/adapter-process.d.ts +7 -0
- package/dist/workflow/adapter-process.d.ts.map +1 -0
- package/dist/workflow/adapter-process.js +174 -0
- package/dist/workflow/adapter-process.js.map +1 -0
- package/dist/workflow/adapter-prototype-labels.d.ts +15 -0
- package/dist/workflow/adapter-prototype-labels.d.ts.map +1 -0
- package/dist/workflow/adapter-prototype-labels.js +71 -0
- package/dist/workflow/adapter-prototype-labels.js.map +1 -0
- package/dist/workflow/adapter-types.d.ts +40 -0
- package/dist/workflow/adapter-types.d.ts.map +1 -0
- package/dist/workflow/adapter-types.js +2 -0
- package/dist/workflow/adapter-types.js.map +1 -0
- package/dist/workflow/adapter-utils.d.ts +11 -0
- package/dist/workflow/adapter-utils.d.ts.map +1 -0
- package/dist/workflow/adapter-utils.js +72 -0
- package/dist/workflow/adapter-utils.js.map +1 -0
- package/dist/workflow/adapters.d.ts +6 -0
- package/dist/workflow/adapters.d.ts.map +1 -0
- package/dist/workflow/adapters.js +25 -0
- package/dist/workflow/adapters.js.map +1 -0
- package/dist/workflow/artifact.d.ts +11 -0
- package/dist/workflow/artifact.d.ts.map +1 -0
- package/dist/workflow/artifact.js +94 -0
- package/dist/workflow/artifact.js.map +1 -0
- package/dist/workflow/bundle-collect.d.ts +8 -0
- package/dist/workflow/bundle-collect.d.ts.map +1 -0
- package/dist/workflow/bundle-collect.js +56 -0
- package/dist/workflow/bundle-collect.js.map +1 -0
- package/dist/workflow/bundle-export.d.ts +16 -0
- package/dist/workflow/bundle-export.d.ts.map +1 -0
- package/dist/workflow/bundle-export.js +174 -0
- package/dist/workflow/bundle-export.js.map +1 -0
- package/dist/workflow/bundle-paths.d.ts +7 -0
- package/dist/workflow/bundle-paths.d.ts.map +1 -0
- package/dist/workflow/bundle-paths.js +35 -0
- package/dist/workflow/bundle-paths.js.map +1 -0
- package/dist/workflow/bundle.d.ts +4 -0
- package/dist/workflow/bundle.d.ts.map +1 -0
- package/dist/workflow/bundle.js +4 -0
- package/dist/workflow/bundle.js.map +1 -0
- package/dist/workflow/capture.d.ts +36 -0
- package/dist/workflow/capture.d.ts.map +1 -0
- package/dist/workflow/capture.js +81 -0
- package/dist/workflow/capture.js.map +1 -0
- package/dist/workflow/continuation-branch.d.ts +15 -0
- package/dist/workflow/continuation-branch.d.ts.map +1 -0
- package/dist/workflow/continuation-branch.js +103 -0
- package/dist/workflow/continuation-branch.js.map +1 -0
- package/dist/workflow/continuation-plans.d.ts +38 -0
- package/dist/workflow/continuation-plans.d.ts.map +1 -0
- package/dist/workflow/continuation-plans.js +78 -0
- package/dist/workflow/continuation-plans.js.map +1 -0
- package/dist/workflow/continuation.d.ts +25 -0
- package/dist/workflow/continuation.d.ts.map +1 -0
- package/dist/workflow/continuation.js +89 -0
- package/dist/workflow/continuation.js.map +1 -0
- package/dist/workflow/layerdoc-reader.d.ts +27 -0
- package/dist/workflow/layerdoc-reader.d.ts.map +1 -0
- package/dist/workflow/layerdoc-reader.js +81 -0
- package/dist/workflow/layerdoc-reader.js.map +1 -0
- package/dist/workflow/project-evidence.d.ts +48 -0
- package/dist/workflow/project-evidence.d.ts.map +1 -0
- package/dist/workflow/project-evidence.js +200 -0
- package/dist/workflow/project-evidence.js.map +1 -0
- package/dist/workflow/providers.d.ts +35 -0
- package/dist/workflow/providers.d.ts.map +1 -0
- package/dist/workflow/providers.js +110 -0
- package/dist/workflow/providers.js.map +1 -0
- package/dist/workflow/recipes-layerdoc-validation.d.ts +4 -0
- package/dist/workflow/recipes-layerdoc-validation.d.ts.map +1 -0
- package/dist/workflow/recipes-layerdoc-validation.js +98 -0
- package/dist/workflow/recipes-layerdoc-validation.js.map +1 -0
- package/dist/workflow/recipes-result-validation.d.ts +6 -0
- package/dist/workflow/recipes-result-validation.d.ts.map +1 -0
- package/dist/workflow/recipes-result-validation.js +38 -0
- package/dist/workflow/recipes-result-validation.js.map +1 -0
- package/dist/workflow/recipes-schemas.d.ts +7 -0
- package/dist/workflow/recipes-schemas.d.ts.map +1 -0
- package/dist/workflow/recipes-schemas.js +67 -0
- package/dist/workflow/recipes-schemas.js.map +1 -0
- package/dist/workflow/recipes-validation.d.ts +14 -0
- package/dist/workflow/recipes-validation.d.ts.map +1 -0
- package/dist/workflow/recipes-validation.js +68 -0
- package/dist/workflow/recipes-validation.js.map +1 -0
- package/dist/workflow/recipes.d.ts +20 -0
- package/dist/workflow/recipes.d.ts.map +1 -0
- package/dist/workflow/recipes.js +167 -0
- package/dist/workflow/recipes.js.map +1 -0
- package/dist/workflow/routing.d.ts +4 -0
- package/dist/workflow/routing.d.ts.map +1 -0
- package/dist/workflow/routing.js +28 -0
- package/dist/workflow/routing.js.map +1 -0
- package/dist/workflow/schema.d.ts +5 -0
- package/dist/workflow/schema.d.ts.map +1 -0
- package/dist/workflow/schema.js +29 -0
- package/dist/workflow/schema.js.map +1 -0
- package/dist/workflow/service.d.ts +59 -0
- package/dist/workflow/service.d.ts.map +1 -0
- package/dist/workflow/service.js +170 -0
- package/dist/workflow/service.js.map +1 -0
- package/dist/workflow/store-json.d.ts +5 -0
- package/dist/workflow/store-json.d.ts.map +1 -0
- package/dist/workflow/store-json.js +35 -0
- package/dist/workflow/store-json.js.map +1 -0
- package/dist/workflow/store-lock.d.ts +3 -0
- package/dist/workflow/store-lock.d.ts.map +1 -0
- package/dist/workflow/store-lock.js +85 -0
- package/dist/workflow/store-lock.js.map +1 -0
- package/dist/workflow/store-paths.d.ts +17 -0
- package/dist/workflow/store-paths.d.ts.map +1 -0
- package/dist/workflow/store-paths.js +67 -0
- package/dist/workflow/store-paths.js.map +1 -0
- package/dist/workflow/store-validation.d.ts +7 -0
- package/dist/workflow/store-validation.d.ts.map +1 -0
- package/dist/workflow/store-validation.js +119 -0
- package/dist/workflow/store-validation.js.map +1 -0
- package/dist/workflow/store.d.ts +10 -0
- package/dist/workflow/store.d.ts.map +1 -0
- package/dist/workflow/store.js +193 -0
- package/dist/workflow/store.js.map +1 -0
- package/dist/workflow/types.d.ts +120 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +15 -0
- package/dist/workflow/types.js.map +1 -0
- package/dist/workflow-transport.d.ts +28 -0
- package/dist/workflow-transport.d.ts.map +1 -0
- package/dist/workflow-transport.js +184 -0
- package/dist/workflow-transport.js.map +1 -0
- package/open-design.json +2 -2
- package/package.json +4 -1
- package/prototype-kit/tests/rules-check.mjs +9 -0
- package/runtime/codex-conversion/src/images/native-invoke.mjs +1 -1
- package/runtime/codex-conversion/src/images/native.mjs +8 -4
- package/runtime/layerdoc-validator.mjs +1860 -0
- package/scene-kit/starter/camera.js +10 -0
- package/scene-kit/starter/gobo.js +60 -0
- package/scene-kit/starter/index.html +23 -0
- package/scene-kit/starter/lib.js +84 -0
- package/scene-kit/starter/main.js +78 -0
- package/scene-kit/starter/scene.js +33 -0
- package/scene-kit/vendor/LICENSE +21 -0
- package/scene-kit/vendor/addons/geometries/RoundedBoxGeometry.js +216 -0
- package/scene-kit/vendor/addons/renderers/CSS3DRenderer.js +454 -0
- package/scene-kit/vendor/three.core.js +60586 -0
- package/scene-kit/vendor/three.module.js +19719 -0
- package/skills/12ui-design/SKILL.md +21 -61
- package/skills/12ui-design/improve.md +5 -1
- package/skills/12ui-design/inspire.md +8 -5
- package/skills/12ui-design/outputs.md +23 -2
- package/skills/12ui-design/scene.md +172 -0
- package/skills/12ui-design/session.md +161 -0
package/README.md
CHANGED
|
@@ -18,8 +18,9 @@ curl -fsSL https://12ui.com/install.sh | sh
|
|
|
18
18
|
|
|
19
19
|
Both paths pin the exact CLI version, install `12ui-design` into every detected
|
|
20
20
|
Codex, Claude Code, Grok CLI, Cursor CLI, Antigravity, and GitHub Copilot CLI
|
|
21
|
-
installation without requiring an API account.
|
|
22
|
-
|
|
21
|
+
installation without requiring an API account. Ordinary corpus search and downloads
|
|
22
|
+
also work without an account. Run `12ui auth login` for authenticated hosted
|
|
23
|
+
generation or explicit hedge search. Explicit authentication setup creates a user-owned credential with
|
|
23
24
|
`design.convert` and `design.corpus.retrieve`, is verified before use, and is
|
|
24
25
|
stored mode-0600 at `$XDG_CONFIG_HOME/12ui/credentials.json` or
|
|
25
26
|
`~/.config/12ui/credentials.json`. When those private roots are unusable and
|
|
@@ -78,37 +79,130 @@ unless `--force` is explicit.
|
|
|
78
79
|
## One visual interface skill
|
|
79
80
|
|
|
80
81
|
`12ui-design` is the single design entrypoint. Every client receives the same
|
|
81
|
-
`skills/12ui-design` bytes.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
`skills/12ui-design` bytes. New work inside a capable coding session uses the
|
|
83
|
+
persistent local workflow: prepare a request, claim its execution, use the
|
|
84
|
+
session's native tools, register the actual result, then continue from those
|
|
85
|
+
saved artifacts. The local CLI and MCP share the same operation service.
|
|
85
86
|
|
|
86
87
|
```sh
|
|
87
|
-
12ui
|
|
88
|
-
12ui
|
|
89
|
-
12ui
|
|
90
|
-
12ui
|
|
91
|
-
12ui
|
|
92
|
-
12ui resume ./design-run
|
|
88
|
+
12ui workflow import /absolute/path/reference.png --workspace ./design-work --role reference
|
|
89
|
+
12ui workflow prepare ./request.json --workspace ./design-work --key homepage-direction-a
|
|
90
|
+
12ui workflow execute <operation-id> --workspace ./design-work --providers session --session-capabilities image
|
|
91
|
+
12ui workflow register <operation-id> --workspace ./design-work --attempt <handoff-attempt-number> --result ./result.json
|
|
92
|
+
12ui workflow status <operation-id> --workspace ./design-work
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
95
|
+
The import source is absolute in this example. Relative imported file paths are
|
|
96
|
+
resolved inside the workspace: `./reference.png` would mean
|
|
97
|
+
`./design-work/reference.png`. Request/result JSON command arguments are read
|
|
98
|
+
relative to the shell's current directory; file paths inside those results and
|
|
99
|
+
recipe image paths are workspace-relative unless absolute.
|
|
100
|
+
|
|
101
|
+
`request.json` names a capability, prompt, imported input artifacts and output
|
|
102
|
+
contract. The execute result is a handoff when the session is selected; it is not
|
|
103
|
+
a generated image. Run the native tool once and register its real files or JSON
|
|
104
|
+
value. Preparation, imports and registration do not need a 12ui account. Read
|
|
105
|
+
[the session reference](skills/12ui-design/session.md) for the complete contract,
|
|
106
|
+
provider policy, MCP equivalents and interruption behavior.
|
|
107
|
+
|
|
108
|
+
The skill's `scene.md` guide rebuilds a design image as a live Three.js scene
|
|
109
|
+
with the local `12ui scene` tools (`12ui scene --help`): camera solve, placement,
|
|
110
|
+
a starter harness with a bundled three.js, capture with the managed Chromium,
|
|
111
|
+
and review sheets. It needs no account and makes no network request.
|
|
112
|
+
|
|
113
|
+
The explicitly selected legacy `improve --apply` route captures the URL and
|
|
114
|
+
edits the actual repository. Without a target it drafts candidates, stops for
|
|
115
|
+
an explicit choice, then applies that choice locally. Without `--apply`, the existing hosted implementation-kit behavior
|
|
105
116
|
remains. Inspect the real application after editing.
|
|
106
117
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
118
|
+
Provider routing considers the declared host session first, then eligible Codex
|
|
119
|
+
and Claude subscription CLI capabilities, then explicitly authorized OpenAI API
|
|
120
|
+
and 12ui providers. Codex text/code subprocess execution requires
|
|
121
|
+
`--trust-codex-config`: explicit trust in the existing user's CLI configuration,
|
|
122
|
+
including tools and hooks beyond the command sandbox. This does not authorize
|
|
123
|
+
paid fallback and does not apply to the current session's tools. Claude requires
|
|
124
|
+
supported safe mode, edits code with a fixed file-tool set without shell tests,
|
|
125
|
+
and currently cannot attach images to text requests. Run checks in the parent
|
|
126
|
+
session. Image capability is never inferred from a text CLI's presence.
|
|
127
|
+
Session capabilities must be explicitly
|
|
128
|
+
declared from available tools. Key presence alone does not authorize paid work;
|
|
129
|
+
`--allow-paid` is required for a funded route. An ambiguous dispatched operation
|
|
130
|
+
requires reconciliation and cannot silently replay on another provider.
|
|
131
|
+
An accepted job with a failed download, or a completed response with malformed
|
|
132
|
+
output, stays in reconciliation under the same operation and attempt. Recover
|
|
133
|
+
and register the original output and dependencies; do not regenerate it.
|
|
134
|
+
Refusals and permission denials remain terminal stops.
|
|
135
|
+
|
|
136
|
+
OpenAI requires an explicit model through request `parameters.model`,
|
|
137
|
+
`OPENAI_MODEL` for text/generated HTML, or `OPENAI_IMAGE_MODEL` for images.
|
|
138
|
+
`OPENAI_API_KEY` and `TWELVE_UI_API_KEY` make separately funded routes discoverable;
|
|
139
|
+
they never belong in request or result JSON. Native execution removes provider-key
|
|
140
|
+
overrides from the child environment and uses the user's normal CLI configuration.
|
|
141
|
+
|
|
142
|
+
The recipes `draft`, `branch`, `edit`, `redesign`, `labels`, `review`, `convert` and
|
|
143
|
+
`implement` build requests for this shared ledger. They do not imply that every
|
|
144
|
+
legacy hosted pipeline or native design export has a local implementation.
|
|
145
|
+
After registering a recipe plan, `12ui workflow continue <operation-id> --workspace <directory>`
|
|
146
|
+
prepares eligible child operations without inference; execute each
|
|
147
|
+
returned ready ID explicitly, then continue the same plan to unlock dependencies.
|
|
148
|
+
`workflow fail` records actual refusal, no-output or ambiguous-outcome evidence;
|
|
149
|
+
it does not turn an uncertain dispatch into permission for another call.
|
|
150
|
+
Both registration and failure must name the handoff's attempt number so delayed
|
|
151
|
+
results cannot settle a later attempt.
|
|
152
|
+
For project implementation, the service captures a baseline before execution.
|
|
153
|
+
Register the normal report and any real additional receipts; registration derives
|
|
154
|
+
verified changed-file artifacts and project evidence from the actual selected
|
|
155
|
+
project. A provider receipt or claimed no-op cannot complete implementation:
|
|
156
|
+
no changed files produces `project_no_changes`. File changes and caller-reported
|
|
157
|
+
browser/test evidence remain separate facts.
|
|
158
|
+
The ledger records returned artifacts; independent browser/image inspection
|
|
159
|
+
still establishes fidelity, ownership and behavior. Local execution consumes
|
|
160
|
+
user model allowance or authorized API budget and local hardware, rather than
|
|
161
|
+
making model execution free.
|
|
162
|
+
|
|
163
|
+
`workflow capture <http-or-https-url> --workspace <directory>` uses local Chromium
|
|
164
|
+
and a fresh unauthenticated browser to retain screenshot, DOM and redirect evidence.
|
|
165
|
+
Capture an authenticated screen with the session browser and import it instead.
|
|
166
|
+
`workflow review <spec.json> --workspace <directory> --key <key>` prepares an
|
|
167
|
+
image-grounded review; it does not validate runtime behavior or trigger repairs.
|
|
168
|
+
`workflow export <operation-id> --workspace <directory> --destination <new-directory>`
|
|
169
|
+
materializes completed outputs without inference or overwriting differing files.
|
|
170
|
+
Register HTML plus all its assets with logical `relativePath` mappings, or use the
|
|
171
|
+
SDK's `collectBundleFiles` on an isolated generated-output directory, so references
|
|
172
|
+
survive custody and export. This does not package an existing project from receipts.
|
|
173
|
+
|
|
174
|
+
`12ui workflow layerdoc <operation-id> --workspace <directory>` reads a completed
|
|
175
|
+
native conversion without a hosted request. The SDK exposes
|
|
176
|
+
`loadWorkflowLayerDoc({workspace, operationId})` and
|
|
177
|
+
`loadLayerDocBundle({directory})` for a relocated export. Both return canonical
|
|
178
|
+
`document`, absolute document/manifest paths and an `assets` map from artifact ID
|
|
179
|
+
to verified local path, relative path, SHA-256 and media type; raster dimensions
|
|
180
|
+
are checked against the document.
|
|
181
|
+
|
|
182
|
+
Native registration requires `document.layerdoc.json`, `layerdoc-assets.json`
|
|
183
|
+
and mapped raster files. The canonical document has role `layerdoc`; the sidecar
|
|
184
|
+
has role `layerdoc-assets` and schema `12ui.layerdoc-assets.v1`, with
|
|
185
|
+
`assets: {artifactId: {path, sha256, mediaType}}`. Every file needs its portable
|
|
186
|
+
`relativePath`; referenced rasters use role `asset`. This local reader does not
|
|
187
|
+
provide an offline editor. Standard hosted `12ui convert <layerdoc.json>` does
|
|
188
|
+
not read the sidecar: it requires hydrated HTTP asset references. Uploading and
|
|
189
|
+
hydrating local assets remains a separate API integration.
|
|
190
|
+
|
|
191
|
+
### Existing conversion and hosted commands
|
|
192
|
+
|
|
193
|
+
The following APIs and legacy CLI commands remain available when explicitly
|
|
194
|
+
selected. They have their own saved-run formats; their automatic engine/backend
|
|
195
|
+
rules are separate from the new workflow provider policy. `convert --engine auto`
|
|
196
|
+
can select hosted API before dispatch when local Codex is unavailable. Existing
|
|
197
|
+
local conversion selects external images when `OPENAI_API_KEY` is set and native
|
|
198
|
+
Codex images otherwise. Use an explicit engine/backend when that legacy boundary
|
|
199
|
+
is intended; a key is not authorization to choose it on the user's behalf.
|
|
200
|
+
|
|
201
|
+
Local HTML does not produce LayerDoc. Native design formats and hosted branch
|
|
202
|
+
assembly remain dedicated conversion workflows. React export is whole-page JSX,
|
|
203
|
+
not a functional application. Preserve existing legacy run directories and their
|
|
204
|
+
recorded engine for recovery; importing an output into a workflow workspace does
|
|
205
|
+
not migrate an in-flight legacy dispatch.
|
|
112
206
|
|
|
113
207
|
The four stage skills that used to carry these sections separately —
|
|
114
208
|
`design-search`, `design-draft`, `design-branch`, and `design-convert` — were
|
|
@@ -116,7 +210,7 @@ retired on 2026-08-16 after a trial measured them buying no routing precision
|
|
|
116
210
|
over the one broadened description. `skill install` removes any copy still
|
|
117
211
|
present in an agent home.
|
|
118
212
|
|
|
119
|
-
|
|
213
|
+
For an explicitly authorized legacy hosted run, corpus-conditioned image generation explores visual directions. The selected
|
|
120
214
|
image then guides editable implementation, with browser inspection against the
|
|
121
215
|
approved target and focused correction of observed mismatches.
|
|
122
216
|
|
|
@@ -165,9 +259,9 @@ failed slots are never posted again. `12ui next <run-dir> --wait` repairs only
|
|
|
165
259
|
never-started slots, then polls and downloads. Successful PNGs are digest-checked and written atomically under
|
|
166
260
|
`<run-dir>/candidates/`, with terminal evidence in `draft.complete.json`.
|
|
167
261
|
|
|
168
|
-
The
|
|
169
|
-
|
|
170
|
-
|
|
262
|
+
The legacy `draft` command never inspects Codex authentication, `OPENAI_API_KEY`,
|
|
263
|
+
project `.env` files, or another caller-side image-provider credential. This
|
|
264
|
+
boundary describes legacy hosted draft, not the new `workflow draft` recipe.
|
|
171
265
|
|
|
172
266
|
`convert <conversion-id>` downloads one successful base LayerDoc once and
|
|
173
267
|
dispatches the chosen formats concurrently. It creates the destination
|
|
@@ -180,16 +274,17 @@ journal/receipt contracts.
|
|
|
180
274
|
|
|
181
275
|
## Design Corpus inspiration
|
|
182
276
|
|
|
183
|
-
`TwelveUiCorpusClient`
|
|
184
|
-
|
|
185
|
-
|
|
277
|
+
`TwelveUiCorpusClient` supports public status, inspiration and logo searches,
|
|
278
|
+
reference metadata, and image downloads without a 12ui account or credits.
|
|
279
|
+
Retrieval is free for authenticated callers too; abuse and service-budget limits
|
|
280
|
+
still apply. Supplied credentials retain the `design.corpus.retrieve` scope and
|
|
281
|
+
are never silently discarded after an authentication failure.
|
|
186
282
|
|
|
187
283
|
```ts
|
|
188
284
|
import { TwelveUiCorpusClient } from '@12ui/design';
|
|
189
285
|
|
|
190
286
|
const corpus = new TwelveUiCorpusClient({
|
|
191
287
|
origin: process.env.TWELVE_UI_ORIGIN ?? 'https://12ui.com',
|
|
192
|
-
apiKey: process.env.TWELVE_UI_API_KEY!,
|
|
193
288
|
});
|
|
194
289
|
|
|
195
290
|
const status = await corpus.status();
|
|
@@ -206,12 +301,12 @@ const metadata = await corpus.reference(first.id);
|
|
|
206
301
|
const image = await corpus.download(first.id, 'ref-hd');
|
|
207
302
|
```
|
|
208
303
|
|
|
209
|
-
Every
|
|
304
|
+
Every inspiration request requires a stable idempotency key. See
|
|
210
305
|
[`docs/corpus-v1.openapi.yaml`](https://github.com/just-every/12ui-plugin/blob/main/docs/corpus-v1.openapi.yaml).
|
|
211
306
|
`download` accepts `thumb`, `thumb-hd`, `ref`, and `ref-hd`; the legacy
|
|
212
307
|
`thumb`/`ref` sizes remain supported.
|
|
213
308
|
|
|
214
|
-
For agent workflows that need four
|
|
309
|
+
For agent workflows that need four reference images,
|
|
215
310
|
the CLI calls `/api/v1/corpus/inspire`, downloads the full reference images in
|
|
216
311
|
parallel, verifies each WebP, and writes a content-hashed manifest:
|
|
217
312
|
|
|
@@ -223,12 +318,15 @@ node "$TWELVE_UI_REPO/packages/12ui/dist/cli.js" corpus inspire \
|
|
|
223
318
|
--out-dir ./references
|
|
224
319
|
```
|
|
225
320
|
|
|
226
|
-
`
|
|
227
|
-
|
|
228
|
-
`direct` stays close to the literal query, `balanced` weighs relevance,
|
|
321
|
+
`balanced` is the standalone CLI, SDK and MCP default, with or without
|
|
322
|
+
credentials. `direct` stays close to the literal query, `balanced` weighs relevance,
|
|
229
323
|
quality, and variety evenly, and `adventurer` follows the query's most
|
|
230
324
|
distinctive directions toward less expected references. The modes are locked
|
|
231
|
-
server-side; callers cannot tune their internal ranking weights.
|
|
325
|
+
server-side; callers cannot tune their internal ranking weights. Anonymous
|
|
326
|
+
requests accept up to 24 references and an 8 KB query. Explicit hedge requires
|
|
327
|
+
an account for hosted planning; it remains free to the customer but incurs
|
|
328
|
+
service model costs. For account-free planning, develop directions locally and
|
|
329
|
+
retrieve them through balanced, direct or adventurer.
|
|
232
330
|
|
|
233
331
|
For a redesign, add `--reference-image <png|jpeg|webp>`. The CLI hashes the
|
|
234
332
|
private source into stable idempotency and local evidence, while Design Corpus
|
|
@@ -242,7 +340,7 @@ successful run also contains `manifest.json`, `inspire-evidence.json` with the
|
|
|
242
340
|
exact upstream response, four numbered reference files, and a durable digest
|
|
243
341
|
receipt for each image under `.reference-receipts/`. If the HTTP result is
|
|
244
342
|
ambiguous or one or more image downloads fail, finish the same allocation
|
|
245
|
-
|
|
343
|
+
while preserving its retrieval identity:
|
|
246
344
|
|
|
247
345
|
```bash
|
|
248
346
|
node "$TWELVE_UI_REPO/packages/12ui/dist/cli.js" corpus resume \
|
|
@@ -256,9 +354,12 @@ dispatches a second embedding for that identity. Reusing a key with a different
|
|
|
256
354
|
validated request returns `409 idempotency_conflict`. A reference already on
|
|
257
355
|
disk is accepted only when its bytes match its exclusive digest receipt.
|
|
258
356
|
|
|
259
|
-
The
|
|
260
|
-
|
|
261
|
-
|
|
357
|
+
The three account-free modes are direct, balanced and adventurer; hedge is an
|
|
358
|
+
explicit account-only mode. Public requests do not accept random seeds, browse
|
|
359
|
+
grouping IDs, free-form ranking weights or corpus filters. HTTP 429 responses
|
|
360
|
+
include Retry-After guidance: wait, then resume the same attempt instead of
|
|
361
|
+
starting sign-in or buying credits. `12ui corpus status` reads the release
|
|
362
|
+
contract without starting retrieval.
|
|
262
363
|
|
|
263
364
|
## Multi-page packages
|
|
264
365
|
|
|
@@ -345,9 +446,30 @@ ways: pass `--prototype` to `branch execute`, or run `12ui prototype <run-dir>`
|
|
|
345
446
|
afterward. The post-export stage splits application states, canonicalizes the
|
|
346
447
|
shared shell, derives navigation from `branch.plan.json`, preserves real
|
|
347
448
|
content, and creates holding pages when the plan names a route that was not
|
|
348
|
-
exported.
|
|
349
|
-
|
|
350
|
-
|
|
449
|
+
exported. Standalone `12ui prototype <run-dir>` defaults to `--labels none`, using
|
|
450
|
+
deterministic links, forms and plan edges without a 12ui account. Explicitly
|
|
451
|
+
authorized `--labels 12ui` adds one hosted interaction-label call per exported
|
|
452
|
+
screen using the strict `navigate | dropdown | modal | none` schema.
|
|
453
|
+
|
|
454
|
+
`12ui prototype <run-dir> --labels workflow --workspace <directory>` inventories
|
|
455
|
+
the local HTML and prepares stable per-screen label operations, returning
|
|
456
|
+
`awaiting_labels` without inference or hosted authentication. Execute the returned
|
|
457
|
+
prepared IDs through `workflow execute`, register real outputs with the exact
|
|
458
|
+
attempt number, then repeat the same prototype command. Dispatched/reconciling
|
|
459
|
+
IDs need recovery, not execution. Completed results are checked against the exact
|
|
460
|
+
DOM candidates, known destinations and source HTML/plan/completion before build.
|
|
461
|
+
Generic image `workflow labels` annotations cannot be substituted. Duplicate IDs,
|
|
462
|
+
unknown destinations and contradictory action fields are rejected before immutable
|
|
463
|
+
workflow success. Native local pages permit only navigation to real pages or none.
|
|
464
|
+
Legacy branch resume refuses to replace this pause with hosted labeling.
|
|
465
|
+
|
|
466
|
+
The manifest preserves source custody, operation IDs and actual provider/funding/
|
|
467
|
+
usage facts. `labels.costMicros` counts new hosted prototype-label calls only;
|
|
468
|
+
workflow model execution still consumes the chosen plan/API budget. Unchanged
|
|
469
|
+
source/candidate content reuses operation IDs, including after branch/workspace
|
|
470
|
+
relocation. Linked remote assets are not part of this source snapshot.
|
|
471
|
+
|
|
472
|
+
The output replaces
|
|
351
473
|
`<run-dir>/branch/prototype/` only after exported HTML, a complete or explicitly
|
|
352
474
|
accepted partial plan, semantic viewport ids, and the hard runtime gates pass.
|
|
353
475
|
Load/console failures, duplicate ids, broken targets or interactions, malformed
|
|
@@ -746,6 +868,11 @@ Progress and preview rules:
|
|
|
746
868
|
|
|
747
869
|
The server exposes the same durable operations used by the CLI and SDK:
|
|
748
870
|
|
|
871
|
+
- `design.workflow.prepare`, `execute`, `register`, `continue`, `fail`, `status`,
|
|
872
|
+
`import`, `capabilities`, `capture`, `export` and `layerdoc` use the persistent local service.
|
|
873
|
+
Preparation accepts either a generic request or a recipe/input pair. Local
|
|
874
|
+
operations do not trigger 12ui onboarding; paid execution needs explicit policy.
|
|
875
|
+
Session registration and failure include the returned `attemptNumber`.
|
|
749
876
|
- `design.convert` creates a conversion, waits for it, and materializes the
|
|
750
877
|
result and verified artifact manifest. Pass `imagePath` for PNG/JPEG/WebP or
|
|
751
878
|
`layerdocPath` for public LayerDoc v2 JSON. Pass the exact `profile` for
|
|
@@ -753,17 +880,83 @@ The server exposes the same durable operations used by the CLI and SDK:
|
|
|
753
880
|
- `design.convert.status` reads an existing conversion's durable progress,
|
|
754
881
|
previews, terminal result, or error without creating or retrying work.
|
|
755
882
|
- `design.corpus.status` reads corpus release/idempotency capability without
|
|
756
|
-
running retrieval.
|
|
757
|
-
- `design.corpus.inspire` runs
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
incomplete attempt with its
|
|
883
|
+
authentication or running retrieval.
|
|
884
|
+
- `design.corpus.inspire` runs free corpus retrieval and materializes its attempt
|
|
885
|
+
evidence, manifest, and images in a new `outDir`. Balanced is the default;
|
|
886
|
+
anonymous requests accept up to 24 references. Explicit hedge requires an
|
|
887
|
+
account. `design.corpus.resume` continues an incomplete attempt with its
|
|
888
|
+
recorded key. These tools never trigger automatic onboarding.
|
|
761
889
|
- `design.draft.status` and `design.branch.status` read durable workflow state.
|
|
762
890
|
Branch status attempts a live refresh by default, then falls back to the
|
|
763
891
|
local snapshot if the service is unavailable.
|
|
764
892
|
|
|
765
|
-
|
|
766
|
-
|
|
893
|
+
The server also starts without 12ui credentials: the local workflow tools, the corpus tools and
|
|
894
|
+
the design workspace tools below that only read and record work need none, and the hosted tools
|
|
895
|
+
ask to sign in when called.
|
|
896
|
+
|
|
897
|
+
The Design workspace (`ui://12ui/slate.html`) grows from one finished draft run into rounds of
|
|
898
|
+
options, edits with lineage, inspiration, and a selection of any version. Nothing in it costs
|
|
899
|
+
money and nothing in it shows a price: it draws with your own Codex on this Mac (your ChatGPT
|
|
900
|
+
plan, never an API key) and searches the free reference corpus. Twelve tools:
|
|
901
|
+
|
|
902
|
+
- `design.slate.show` renders the workspace in hosts that render an interactive card, such as
|
|
903
|
+
Codex desktop, and returns the options, versions, file paths and the continuation command as
|
|
904
|
+
text elsewhere. `design.slate.data` returns the same facts without a card, so an agent can
|
|
905
|
+
confirm a selection or a hand-off (`pick.versionId`, `pick.sha256`, and the file at
|
|
906
|
+
`pick.imagePath`, a durable copy that survives the OS sweeping the temp folder; `pick.imagePath`
|
|
907
|
+
is null, with `pick.fileState` `missing` or `changed` and `pick.intact` false, when that copy is
|
|
908
|
+
gone or no longer matches, and no file that is not there is ever named); `design.slate.open` is
|
|
909
|
+
the sidebar entry for the most recent active workspace. These three are model-visible and never
|
|
910
|
+
start work. `show` and `open` are titled "Design workspace".
|
|
911
|
+
- App-only tools, which the host hides from the model: `design.slate.image` and
|
|
912
|
+
`design.slate.reference` (pictures for the card, the second from the free corpus and cached in
|
|
913
|
+
the workspace), `design.slate.inspire` (a free balanced-mode reference search, at most 24
|
|
914
|
+
results, no account; an identical search is answered from the record) and
|
|
915
|
+
`design.slate.inspiration` (the selected references, at most eight, that condition the next
|
|
916
|
+
Design round), `design.slate.pick` (Select, with an optional reason, and a durable copy of the
|
|
917
|
+
image), `design.slate.handoff` (records a Branch or Convert request) and `design.slate.status`
|
|
918
|
+
(a free read of the workspace, its runners' liveness, and whether this Mac can draw images).
|
|
919
|
+
- `design.slate.run` and `design.slate.resume` are the only tools that start work, and only from
|
|
920
|
+
a click in the screen. Design (new options, or more like the shown version) and Edit (an
|
|
921
|
+
instruction plus an optional scribble, sent as the version and an annotated copy of it) write
|
|
922
|
+
an approval record outside the run directory, spawn a detached `12ui slate-runner` process, and
|
|
923
|
+
return at once. The runner owns the work to a terminal state, so it does not depend on how long
|
|
924
|
+
the host keeps this server alive: it runs `codex exec`'s native image call, one call per option,
|
|
925
|
+
in an isolated Codex home that links only your `auth.json`. Every call has a stable id
|
|
926
|
+
(`slate-<opId>-<slot>`), so Resume replays the same work and never draws a finished option twice.
|
|
927
|
+
When Codex is not ready on this Mac (no CLI, no ChatGPT login, no image model) the dialogs say why
|
|
928
|
+
and stay disabled; the workspace never buys an alternative. Set `TWELVE_UI_CODEX_BIN` to choose
|
|
929
|
+
the Codex executable.
|
|
930
|
+
|
|
931
|
+
A hand-off records the request durably (Branch: your words, verbatim; Convert: the format and its
|
|
932
|
+
options) with a verified copy of the image, and sends the agent a short message. The agent reads
|
|
933
|
+
the record with `design.slate.data`, carries it out through the free local routes, and asks you
|
|
934
|
+
before anything that uses your 12ui credits (a conversion to LayerDoc, fixed HTML, SVG, PDF, PSD and
|
|
935
|
+
the other service formats is always that). `12ui slate-runner` is an internal command and is not
|
|
936
|
+
a public surface.
|
|
937
|
+
|
|
938
|
+
**Without the MCP tools: the workspace as a web page.** Where the `design.slate.*` tools are not
|
|
939
|
+
available (Claude Code without the plugin, Codex without the plugin, any agent with a shell),
|
|
940
|
+
`12ui workspace open [<run-dir>] [--latest] [--wait] [--port <n>] [--no-open]` serves the same
|
|
941
|
+
workspace (the same screen, built with target `browser`) on `127.0.0.1` only, behind a random
|
|
942
|
+
token in the address it prints as one JSON line (`{"workspace":"ready","url":...}`), and opens the
|
|
943
|
+
system browser unless `--no-open` (`BROWSER` names another program). A small host shim in the page stands in for the MCP Apps host:
|
|
944
|
+
the screen's tool calls go to the same handlers `12ui mcp` uses, confined to that one run, and
|
|
945
|
+
Design and Edit run on this Mac through the same detached runner and local Codex, with no agent
|
|
946
|
+
needed to generate. With `--wait` the command blocks until the user Selects, or sends a Branch or
|
|
947
|
+
Convert request, then prints one JSON line (`decision`, `runDir`, `pick`, `handoff`, `messages`,
|
|
948
|
+
`text` and `view`, the facts `design.slate.data` returns) and exits 0; without it, it serves until
|
|
949
|
+
interrupted and prints one such line per decision. The 12ui-design skill sends an agent here
|
|
950
|
+
when `design.slate.*` is unavailable. Under `codex exec`'s sandbox, `read-only` and `workspace-write`
|
|
951
|
+
refuse the server's port (`listen EPERM: operation not permitted 127.0.0.1`); `workspace-write` with
|
|
952
|
+
network access (`-c sandbox_workspace_write.network_access=true`) and the 12ui state folder added
|
|
953
|
+
(`--add-dir ~/.local/share/12ui`, which the workspace writes to) runs everything, Design and Edit
|
|
954
|
+
included; full access needs none of it.
|
|
955
|
+
|
|
956
|
+
Among these tools, only legacy `design.convert` creates metered work; corpus retrieval, including the
|
|
957
|
+
workspace's own search, is free and subject to abuse limits.
|
|
958
|
+
`design.workflow.execute` can use a funded provider only with its explicit authorization policy.
|
|
959
|
+
Set an `idempotencyKey` for any ambiguous conversion
|
|
767
960
|
create that may need to be repeated; otherwise the conversion client generates
|
|
768
961
|
a new UUID. Corpus retrieval always persists its key before the request.
|
|
769
962
|
|
package/SKILL.md
CHANGED
|
@@ -7,36 +7,31 @@ description: "Runs the complete 12UI visual-interface workflow inside Open
|
|
|
7
7
|
|
|
8
8
|
# 12UI for Open Design
|
|
9
9
|
|
|
10
|
-
`skills/12ui-design/SKILL.md`
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Use `12ui`
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
the
|
|
37
|
-
|
|
38
|
-
Treat the generated HTML or project export as the implementation, materialize
|
|
39
|
-
it in the Open Design project workspace, and publish it as a live artifact for
|
|
40
|
-
preview and critique. Preserve the 12UI run directory, chosen-image rationale,
|
|
41
|
-
conversion IDs, and export manifests with the project so reruns can resume
|
|
42
|
-
settled work instead of buying it again.
|
|
10
|
+
Follow `skills/12ui-design/SKILL.md` and its `session.md` reference. They carry the
|
|
11
|
+
same persistent local workflow used by the other clients: prepare an operation,
|
|
12
|
+
execute through an available session capability, register actual output, then
|
|
13
|
+
continue from saved artifacts. Keep the workspace, operation IDs, selected-image
|
|
14
|
+
rationale and result manifests with the project.
|
|
15
|
+
|
|
16
|
+
Explore useful distinct directions and show their actual images through Open
|
|
17
|
+
Design's `twelve-ui-direction` choice surface when the user needs to choose.
|
|
18
|
+
Record the selected artifact and rationale, then implement or branch that image.
|
|
19
|
+
Do not substitute generic direction cards for requested design imagery.
|
|
20
|
+
|
|
21
|
+
Preparation and local registration do not require 12ui authentication or spend
|
|
22
|
+
approval. Before dispatching a separately funded 12ui route, use Open Design's
|
|
23
|
+
`twelve-ui-spend-approval` surface for the concrete work unless the current run
|
|
24
|
+
already carries that authorization. Do not infer funding authorization from a
|
|
25
|
+
configured key. An absent, rejected or timed-out approval does not authorize
|
|
26
|
+
paid work. OpenAI API funding also requires the user's explicit authorization.
|
|
27
|
+
|
|
28
|
+
Use `12ui` from PATH. Otherwise use the pinned CLI from `open-design.json`:
|
|
29
|
+
|
|
30
|
+
npx -y @12ui/design@0.2.73 <command> ...
|
|
31
|
+
|
|
32
|
+
A session handoff is a claim awaiting the native tool result, not completion.
|
|
33
|
+
Do not repeat an uncertain dispatch or switch providers to work around it.
|
|
34
|
+
Register the actual output and inspect the saved status. Use the returned code
|
|
35
|
+
and assets in the project, then verify the real browser before publishing a
|
|
36
|
+
preview under the user's existing authorization. Never put credentials into
|
|
37
|
+
project files, plugin manifests, tool output or generated artifacts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAKhE,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAKhE,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAyBhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CA6BtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,EAGjE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
|
package/dist/cli-arguments.js
CHANGED
|
@@ -12,6 +12,8 @@ export const CLI_BOOLEAN_FLAGS = new Set([
|
|
|
12
12
|
'full-page',
|
|
13
13
|
'help',
|
|
14
14
|
'json',
|
|
15
|
+
'latest',
|
|
16
|
+
'no-open',
|
|
15
17
|
'quiet',
|
|
16
18
|
'prototype',
|
|
17
19
|
'polish',
|
|
@@ -21,6 +23,7 @@ export const CLI_BOOLEAN_FLAGS = new Set([
|
|
|
21
23
|
'resume',
|
|
22
24
|
'skip-auth',
|
|
23
25
|
'template',
|
|
26
|
+
'trust-codex-config',
|
|
24
27
|
'version',
|
|
25
28
|
'wait',
|
|
26
29
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-branch-command.d.ts","sourceRoot":"","sources":["../src/cli-branch-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,oBAAoB,CAAC;AAK7E,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAahC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAM3E,OAAO,EAA8B,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-branch-command.d.ts","sourceRoot":"","sources":["../src/cli-branch-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,oBAAoB,CAAC;AAK7E,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAahC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAM3E,OAAO,EAA8B,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOzF,eAAO,MAAM,mCAAmC,yBAAyB,CAAC;AAE1E,eAAO,MAAM,4BAA4B,GAAI,WAAW,MAAM,KAAG,MAGhE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,IAOnE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,uBAAuB,CAuBlC,CAAC;AAoGF;uEACuE;AACvE,eAAO,MAAM,sBAAsB,GACjC,YAAY,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,KACpD,MAAM,EAaN,CAAC;AAEJ,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc;IACZ,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,oBAAoB,CAAC;IAC/F,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAC5C,+BAA+B,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAC5C,4BAA4B,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,oBAAoB,CAAC;IAC3C,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kDAAkD;IAClD,OAAO,CAAC,EAAE,eAAe,CAAC;CACtB,KACL,OAAO,CAAC,IAAI,CAycd,CAAC"}
|
|
@@ -22,6 +22,7 @@ import { TwelveUiConversionPackageClient } from './package-client.js';
|
|
|
22
22
|
import { TwelveUiPrototypeLabelClient } from './prototype-label-client.js';
|
|
23
23
|
import { isPrototypeSkippedResult, runPrototypePoststep, } from './prototype-poststep.js';
|
|
24
24
|
import { prototypePolishJournalFact } from './prototype-runner.js';
|
|
25
|
+
import { readPrototypeRunRecord } from './prototype-run-record.js';
|
|
25
26
|
import { isResponsiveConversionQuality, } from './responsive-quality.js';
|
|
26
27
|
export const BRANCH_CONVERSION_RECEIPT_DIRECTORY = '.conversion-receipts';
|
|
27
28
|
export const branchConversionReceiptStore = (branchDir) => path.join(path.resolve(branchDir), BRANCH_CONVERSION_RECEIPT_DIRECTORY);
|
|
@@ -215,6 +216,9 @@ export const runBranchCommand = async (action, flags, dependencies = {}) => {
|
|
|
215
216
|
+ ' --scope page|site --out-dir <directory>`.', 'branch_nothing_to_resume');
|
|
216
217
|
}
|
|
217
218
|
const prototypeRequested = Boolean(attempt.prototype || booleanFlag(flags, 'prototype'));
|
|
219
|
+
if (prototypeRequested && (await readPrototypeRunRecord(resumeOutDir))?.status === 'awaiting_labels') {
|
|
220
|
+
throw new CliRefusal('Prototype is awaiting local workflow labels. Execute/register its recorded operations and repeat `12ui prototype <run-dir> --labels workflow --workspace <directory>`; branch resume will not buy replacement labels.', 'prototype_workflow_pending');
|
|
221
|
+
}
|
|
218
222
|
const polishRequested = Boolean(attempt.polish || booleanFlag(flags, 'polish'));
|
|
219
223
|
if (polishRequested && !prototypeRequested) {
|
|
220
224
|
throw new CliRefusal('--polish requires --prototype', 'branch_polish_requires_prototype');
|