openplanr 3.2.0 → 3.4.0
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/CHANGELOG.md +73 -0
- package/dist/cli/commands/artifact-design-share.d.ts +9 -0
- package/dist/cli/commands/artifact-design-share.d.ts.map +1 -0
- package/dist/cli/commands/artifact-design-share.js +200 -0
- package/dist/cli/commands/artifact-design-share.js.map +1 -0
- package/dist/cli/commands/artifact.d.ts.map +1 -1
- package/dist/cli/commands/artifact.js +5 -18
- package/dist/cli/commands/artifact.js.map +1 -1
- package/dist/cli/commands/ship.d.ts.map +1 -1
- package/dist/cli/commands/ship.js +2 -0
- package/dist/cli/commands/ship.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +2 -1
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +45 -5
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +2 -2
- package/dist/dashboard/assets/index-Cv4Vwhuw.css +2 -0
- package/dist/dashboard/assets/index-CvQAlBy3.js +75 -0
- package/dist/dashboard/assets/index-CvQAlBy3.js.map +1 -0
- package/dist/dashboard/dashboard-manifest.json +14 -14
- package/dist/dashboard/index.html +2 -2
- package/dist/services/claude-plugin-service.d.ts +5 -0
- package/dist/services/claude-plugin-service.d.ts.map +1 -1
- package/dist/services/claude-plugin-service.js +18 -2
- package/dist/services/claude-plugin-service.js.map +1 -1
- package/dist/services/codex-plugin-service.d.ts.map +1 -1
- package/dist/services/codex-plugin-service.js +11 -3
- package/dist/services/codex-plugin-service.js.map +1 -1
- package/dist/services/design-artifact-service.d.ts +20 -1
- package/dist/services/design-artifact-service.d.ts.map +1 -1
- package/dist/services/design-artifact-service.js +137 -18
- package/dist/services/design-artifact-service.js.map +1 -1
- package/dist/services/runtime-manager/codex-discovery.d.ts +1 -3
- package/dist/services/runtime-manager/codex-discovery.d.ts.map +1 -1
- package/dist/services/runtime-manager/codex-discovery.js +3 -16
- package/dist/services/runtime-manager/codex-discovery.js.map +1 -1
- package/dist/services/runtime-manager/doctor.d.ts +25 -0
- package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
- package/dist/services/runtime-manager/doctor.js +480 -0
- package/dist/services/runtime-manager/doctor.js.map +1 -1
- package/dist/services/runtime-manager/errors.d.ts +12 -0
- package/dist/services/runtime-manager/errors.d.ts.map +1 -0
- package/dist/services/runtime-manager/errors.js +14 -0
- package/dist/services/runtime-manager/errors.js.map +1 -0
- package/dist/services/runtime-manager/global-state.d.ts +7 -0
- package/dist/services/runtime-manager/global-state.d.ts.map +1 -1
- package/dist/services/runtime-manager/global-state.js +116 -0
- package/dist/services/runtime-manager/global-state.js.map +1 -1
- package/dist/services/runtime-manager/host-version-probe.d.ts +8 -0
- package/dist/services/runtime-manager/host-version-probe.d.ts.map +1 -0
- package/dist/services/runtime-manager/host-version-probe.js +14 -0
- package/dist/services/runtime-manager/host-version-probe.js.map +1 -0
- package/dist/services/runtime-manager/install-plan.d.ts +25 -0
- package/dist/services/runtime-manager/install-plan.d.ts.map +1 -1
- package/dist/services/runtime-manager/install-plan.js +305 -0
- package/dist/services/runtime-manager/install-plan.js.map +1 -1
- package/dist/services/runtime-manager/inventory.d.ts +6 -0
- package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
- package/dist/services/runtime-manager/inventory.js +16 -1
- package/dist/services/runtime-manager/inventory.js.map +1 -1
- package/dist/services/runtime-manager/legacy-adapters.d.ts +9 -0
- package/dist/services/runtime-manager/legacy-adapters.d.ts.map +1 -0
- package/dist/services/runtime-manager/legacy-adapters.js +187 -0
- package/dist/services/runtime-manager/legacy-adapters.js.map +1 -0
- package/dist/services/runtime-manager/paths.d.ts +18 -0
- package/dist/services/runtime-manager/paths.d.ts.map +1 -0
- package/dist/services/runtime-manager/paths.js +83 -0
- package/dist/services/runtime-manager/paths.js.map +1 -0
- package/dist/services/runtime-manager/runtime-package.d.ts +21 -0
- package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
- package/dist/services/runtime-manager/runtime-package.js +77 -0
- package/dist/services/runtime-manager/runtime-package.js.map +1 -1
- package/dist/services/runtime-manager/storage.d.ts +47 -0
- package/dist/services/runtime-manager/storage.d.ts.map +1 -0
- package/dist/services/runtime-manager/storage.js +604 -0
- package/dist/services/runtime-manager/storage.js.map +1 -0
- package/dist/services/runtime-manager-service.d.ts +7 -17
- package/dist/services/runtime-manager-service.d.ts.map +1 -1
- package/dist/services/runtime-manager-service.js +32 -1695
- package/dist/services/runtime-manager-service.js.map +1 -1
- package/dist/services/ship-checks/contract.d.ts +15 -1
- package/dist/services/ship-checks/contract.d.ts.map +1 -1
- package/dist/services/ship-checks/contract.js +1 -1
- package/dist/services/ship-checks/contract.js.map +1 -1
- package/dist/services/ship-checks/coverage.d.ts +4 -0
- package/dist/services/ship-checks/coverage.d.ts.map +1 -0
- package/dist/services/ship-checks/coverage.js +113 -0
- package/dist/services/ship-checks/coverage.js.map +1 -0
- package/dist/services/ship-checks/discover.d.ts.map +1 -1
- package/dist/services/ship-checks/discover.js +5 -1
- package/dist/services/ship-checks/discover.js.map +1 -1
- package/dist/services/ship-checks/package-contents.d.ts +4 -0
- package/dist/services/ship-checks/package-contents.d.ts.map +1 -0
- package/dist/services/ship-checks/package-contents.js +91 -0
- package/dist/services/ship-checks/package-contents.js.map +1 -0
- package/dist/services/ship-checks/packages.d.ts +2 -0
- package/dist/services/ship-checks/packages.d.ts.map +1 -1
- package/dist/services/ship-checks/packages.js +4 -0
- package/dist/services/ship-checks/packages.js.map +1 -1
- package/dist/services/ship-checks/scope.js +2 -1
- package/dist/services/ship-checks/scope.js.map +1 -1
- package/dist/services/spec-service.d.ts +18 -0
- package/dist/services/spec-service.d.ts.map +1 -1
- package/dist/services/spec-service.js +174 -9
- package/dist/services/spec-service.js.map +1 -1
- package/dist/templates/spec/spec-shaped.md.hbs +1 -1
- package/dist/templates/spec/spec.md.hbs +2 -2
- package/dist/utils/splice-managed-block.js +1 -1
- package/dist/utils/splice-managed-block.js.map +1 -1
- package/docs/CLI.md +86 -2
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +3 -3
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +3 -3
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +6 -6
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +94 -146
- package/lib/host-packages/claude/openplanr/README.md +12 -12
- package/lib/host-packages/claude/openplanr/agents/planr-qa.md +5 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/shared/task-context-resolution.md +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +2 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/integration-review.md +26 -20
- package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +2 -1
- package/lib/host-packages/claude/openplanr/skills/investigate/references/fail-first.md +40 -0
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +21 -11
- package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +51 -18
- package/lib/host-packages/claude/openplanr/skills/ship/references/fail-first.md +40 -0
- package/lib/host-packages/claude/openplanr/skills/ship/references/result-contract.md +7 -3
- package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +6 -0
- package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +3 -1
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +91 -143
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/integration-review.md +26 -20
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +2 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/fail-first.md +40 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +2 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +21 -11
- package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/fail-first.md +40 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/result-contract.md +7 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +51 -18
- package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +3 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +6 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/{v1.20.0 → v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +3 -3
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +2 -2
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +98 -150
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/{claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +2 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/integration-review.md +26 -20
- package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +2 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/agents/openai.yaml +1 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +12 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/references/fail-first.md +40 -0
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +21 -11
- package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +51 -18
- package/lib/host-packages/openai/openplanr/skills/ship/agents/openai.yaml +1 -1
- package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +12 -1
- package/lib/host-packages/openai/openplanr/skills/ship/references/fail-first.md +40 -0
- package/lib/host-packages/openai/openplanr/skills/ship/references/result-contract.md +7 -3
- package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +6 -0
- package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +3 -1
- package/lib/json-schema.mjs +4 -0
- package/package.json +16 -16
- package/dist/dashboard/assets/index-BU5fzjyz.css +0 -1
- package/dist/dashboard/assets/index-L8qtwqv6.js +0 -572
- package/dist/dashboard/assets/index-L8qtwqv6.js.map +0 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-transaction.mjs +0 -958
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,78 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6a629c8: `/diagram` now draws bar, line and scatter charts with labelled axes and a mark for every data value, instead of generic boxes.
|
|
8
|
+
- 4c87858: Delegated runs now hand their work back through a Git branch. Each new run works on its own branch from a base commit that holds your selected files, and `apply` uses `git apply` to leave the same uncommitted diff as before.
|
|
9
|
+
|
|
10
|
+
- If you edit another part of a file the delegate changed, the two edits now merge. An edit to the same lines still blocks, and the blocked result names the file.
|
|
11
|
+
- Checks run on your last commit plus the selected files and the delegate's changes. Your other uncommitted files are no longer part of the checks; the report lists them.
|
|
12
|
+
- A change to a submodule pointer blocks review, because `git apply` cannot update it. This holds when `ignore` settings hide the submodule.
|
|
13
|
+
- Branch switches, amends, resets, stashes, fetches and tags made during a run are listed in the report and do not block it. The run blocks if its own branch is moved off its base, if your checked-out branch is deleted or picks up the run's commits, or if the restore point of a run that is still being applied or recovered is deleted.
|
|
14
|
+
- A dangling symlink or a submodule in your checkout no longer makes apply fail when you have other uncommitted edits.
|
|
15
|
+
- If an apply is interrupted, `recover` can accept a fully applied patch or roll it back without overwriting your edits.
|
|
16
|
+
|
|
17
|
+
Runs prepared before this release finish with the helper they started with.
|
|
18
|
+
- 7cee602: The design skills now share through the `openplanr` CLI. Their bundled scripts no longer read a shared review's owner keys or contact the share service: `design.mjs share`, `publish`, `sync` and `manage`, the studio's Share dialog, feedback sync and handoff decisions on a shared design all run `openplanr artifact` for the network step. Local design work is unchanged and needs no CLI.
|
|
19
|
+
|
|
20
|
+
- Without the CLI, sharing stops with `E_DESIGN_SHARE_CLI_REQUIRED` and asks you to run `npm install -g openplanr`. Feedback inspection still works and reports that sync was skipped, and the studio's Share dialog says the CLI is needed.
|
|
21
|
+
- If the skills and the CLI use different sharing formats, sharing refuses with `E_DESIGN_SHARE_RUNTIME_MISMATCH` and names which one to update. An older CLI is refused the same way.
|
|
22
|
+
- Existing shares keep working. The CLI reads the same owner records, sends to the same address, and `OPENPLANR_SHARE_BASE` still chooses the origin for a new share.
|
|
23
|
+
- The studio syncs a shared design every 15 seconds only while its page is visible, and no longer polls designs that are not shared.
|
|
24
|
+
- A recovery file exported without `--output` goes to a new file in `PLANR_HOME/design-recovery`, a private folder next to the owner keys, from the CLI and from the studio's Share dialog. The file holds the owner keys, so keep it private when you move it.
|
|
25
|
+
- If the CLI does not answer within a few seconds, the studio keeps working and reports that the CLI did not respond. Changing the category or decision on a hosted reviewer's comment is refused, and nothing is saved, until sharing can run, instead of being saved locally and never sent.
|
|
26
|
+
- On Windows the skills start the CLI's own script from the `openplanr.cmd` that npm installs.
|
|
27
|
+
- 103c244: You can now manage a shared design from the CLI, the same way the local studio does:
|
|
28
|
+
|
|
29
|
+
- `openplanr artifact status <design-document>` shows the review link and whether the current revision is published.
|
|
30
|
+
- `openplanr artifact manage <design-document> --action ...` rotates the reviewer access token, pauses or resumes comments, revokes or deletes the review, prints the reviewer token, and writes or restores a private recovery file. Rotate, revoke, delete and restore ask first; `--yes` confirms them.
|
|
31
|
+
- `openplanr artifact feedback <design-document>` syncs a shared design, then inspects, exports, imports, selects or resolves its feedback.
|
|
32
|
+
- `openplanr artifact handoff <design-document> --action ...` now inspects and updates a handoff as well as drafting it. On a shared design, category and disposition changes also reach the review.
|
|
33
|
+
|
|
34
|
+
If the optional `planr-pipeline` package is missing, these commands say so with `E_DESIGN_SHARE_PIPELINE_MISSING` instead of failing with a generic error.
|
|
35
|
+
|
|
36
|
+
`design.mjs <command> --help` and `-h` now print help wherever they appear. Before, `design.mjs share --help` ran the share command instead of printing help.
|
|
37
|
+
- 807f3e5: `/diagram` now draws radar charts for comparing series across at least three categories and polar charts with value-scaled sectors, labelled radial grids and matching legends.
|
|
38
|
+
- c1da084: `/ship` now passes the task path and mode to delegated roles, re-runs the checks a delegate reports as passed, acts on warning diagnostics and on the new files a `package-contents` check expects, and maps each check to the acceptance criteria it covers. A new `awaiting-acceptance` outcome marks repository work that only the owner can accept. `/ship` and `/investigate` now report whether an acceptance or regression test actually failed before the change.
|
|
39
|
+
- 1b63c8b: `openplanr ship checks --tier push` now lists `npm pack --dry-run --json --ignore-scripts` for each published package that gains non-code files such as JSON data or templates, with the new files to account for: each is in the tarball or deliberately left out. The JSON result moves to schema `1.2.0`.
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- e25cf67: The delegate skill no longer ships its previous integration path, which copied the checkout and wrote each changed file back itself. New runs already use the run branch handoff. Runs prepared before that change still finish with the helper they started with.
|
|
44
|
+
- 5ceb24f: `delegate` apply no longer refuses with `E_INTEGRATION_SOURCE_DRIFT` in repositories that track files also matched by `.gitignore` while the checkout has an unrelated uncommitted edit. When the final checkout or the selected candidate does differ, the refusal lists the first differing paths and whether each is missing, extra or changed. `prepare` rejects glob characters in `scopePaths` and names the literal prefix to use, `review` of an unfinished run names the step that unblocks it, and the operator guide explains how to set Cursor's command allowlist before dispatch.
|
|
45
|
+
|
|
46
|
+
When Claude Code or Codex settings choose no permission mode, `delegate` now starts Claude Code with `--permission-mode acceptEdits` and Codex with `--sandbox workspace-write` on dispatch and resume, so a stock install can edit files in the run's worktree. Claude's edit mode also runs `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` and `sed` without asking inside the worktree. A mode you configured, such as Claude `defaultMode` or Codex `sandbox_mode`, is left in charge. Shell commands still follow each CLI's own allowlist, and no bypass flag is passed.
|
|
47
|
+
- 8a7403c: The design skills now ship a smaller review stage and contract set. Their copy of the review stage leaves out link sharing, the hosted viewer and live rooms, and their scripts no longer bundle the sharing and hosted workspace contracts or the paste and workspace schemas. The studio, prototype, walkthrough and feedback rail work as before, and sharing still runs through the `openplanr` CLI. A portable HTML export from the skills no longer shows a Share button, which could only report that sharing was unavailable.
|
|
48
|
+
|
|
49
|
+
`@openplanr/protocol` adds a `large-object-limits` entry point, so you can read the resource limits without loading the sharing contracts.
|
|
50
|
+
- fd01286: `fonts fetch` no longer leaves empty folders behind when writing to disk fails, and it clears its own staging folders left by an interrupted run. Destinations named `.fonts-fetch-*` are now refused, because that prefix is reserved for staging.
|
|
51
|
+
- 6d86c9a: The npm package, README and plugin descriptions now say what OpenPlanr is: the open harness around your coding agent, with plans as files in your repo, checks before you merge, and a record of what shipped. The package keywords drop `sprint` and `user-story` and add `code-review` and `agent-harness`. Commands and behavior are unchanged.
|
|
52
|
+
- 8e3991b: The Claude plugin directory keywords now match what OpenPlanr is: `coding-agents`, `agent-harness`, `code-review`, `planning` and `verification`. Managed blocks the CLI writes into your files now say "managed by openplanr CLI"; existing blocks are still recognized and update on the next write.
|
|
53
|
+
- 1ba15eb: `/ship` and `/investigate` no longer ask a question when an acceptance or regression test already passes before the change; they narrow or strengthen the test themselves and report it. `/ship` now reports a check that `ship checks` could not run, such as tsconfig coverage when TypeScript cannot be loaded, and verifies that concern itself.
|
|
54
|
+
|
|
55
|
+
## 3.3.0
|
|
56
|
+
|
|
57
|
+
### Minor Changes
|
|
58
|
+
|
|
59
|
+
- 12664ad: The design skills can now save real typefaces with `node scripts/design.mjs fonts fetch --family "Inter:400,600" --dest <design>/source/assets/fonts`. It downloads Latin `woff2` and license files from Google Fonts for up to two OFL or Apache families, three weights each, and writes a local `fonts.css`. Other licenses are refused and a failed download leaves nothing behind. Hosts that allowlist domains need `raw.githubusercontent.com`, `fonts.googleapis.com` and `fonts.gstatic.com`.
|
|
60
|
+
- cc55ef1: `openplanr ship checks` now reports changed files a passing run may not have checked: untracked files that tracked-only checks such as lint-staged cannot see, and new TypeScript files that no tsconfig includes. The JSON result moves to schema `1.1.0` with a new `coverage` field.
|
|
61
|
+
- 34cc3ca: Adds `openplanr spec validate <specId>`, a read-only check of a spec against the specification contract: frontmatter schema, the 13 headings in order, and `AC-NNN` ids on acceptance criteria. It prints each violation and exits 1 if any are found. `--json` gives machine-readable output.
|
|
62
|
+
|
|
63
|
+
`openplanr spec promote` takes `--dry-run` to validate and print the handoff command without writing. `spec create` and `spec shape` now number acceptance criteria `AC-001`, `AC-002` and so on, so new specs pass validation.
|
|
64
|
+
|
|
65
|
+
### Patch Changes
|
|
66
|
+
|
|
67
|
+
- ae8c1fe: Panning and zooming in the design studio is smoother: wheel and pinch input no longer forces a layout on every event, and the minimap no longer forces one when it redraws during a pinch zoom.
|
|
68
|
+
- e094d32: Plugin inspection no longer hangs on a slow `claude --version` or `codex --version`. After 5 seconds it reports the runtime as present with an unknown version.
|
|
69
|
+
- ae8c1fe: Plan and Ship keep small, coherent work in the main session and delegate only bounded work that benefits from isolation or parallel execution. Native role metadata now points at the generated Claude agents, and persistence work goes to the backend role.
|
|
70
|
+
- 1354de0: `openplanr setup` removes legacy Claude project agents it can verify are unchanged, with backup and restore. Edited, unknown and symlinked files are left alone, and `openplanr doctor` lists any legacy paths that remain.
|
|
71
|
+
- 7c7b840: Claude Code now loads the investigate skill when you ask it to investigate a failure without fixing it yet, and the ship skill when you ask it to plan and implement an accepted change. Codex and Cursor get the same updated skill descriptions.
|
|
72
|
+
- 7f46e96: In headless runs where no one can answer, the spec skill no longer asks. It picks the repository-backed or recommended default and records each choice as an `Assumption:` bullet under `## Notes for Decomposition`. Interactive runs are unchanged.
|
|
73
|
+
- 7e346a6: The dashboard List keeps its filters, sort, compact setting, page and selected row when planning files update live.
|
|
74
|
+
- ae8c1fe: Design skills can now author theme and state variants with typed props instead of copying source files. Existing designs without props render as before.
|
|
75
|
+
|
|
3
76
|
## 3.2.0
|
|
4
77
|
|
|
5
78
|
### Minor Changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
interface DesignShareContext {
|
|
3
|
+
resolveInput(file: string): string;
|
|
4
|
+
confirmed(local?: boolean): boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Design-only share, status, management, feedback and handoff commands under `artifact`. */
|
|
7
|
+
export declare function registerDesignShareCommands(artifact: Command, context: DesignShareContext): void;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=artifact-design-share.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-design-share.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/artifact-design-share.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,UAAU,kBAAkB;IAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACrC;AAmED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAgLhG"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { ArtifactCommandError } from '../../services/artifact-pipeline-service.js';
|
|
3
|
+
import { DESIGN_HANDOFF_ACTIONS, DESIGN_MANAGE_ACTIONS, defaultDesignRecoveryOutput, isDesignDocumentFile, prepareDesignHandoff, readDesignShareRuntime, runDesignFeedback, runDesignHandoffAction, runDesignShareAction, } from '../../services/design-artifact-service.js';
|
|
4
|
+
import { isNonInteractive } from '../../services/interactive-state.js';
|
|
5
|
+
import { promptConfirm } from '../../services/prompt-service.js';
|
|
6
|
+
import { display, logger } from '../../utils/logger.js';
|
|
7
|
+
import { OPENPLANR_VERSION } from '../../utils/package-version.js';
|
|
8
|
+
const CONFIRMED_MANAGE_ACTIONS = new Set(['rotate', 'revoke', 'delete', 'restore']);
|
|
9
|
+
const FEEDBACK_ACTIONS = ['inspect', 'export', 'import', 'select', 'resolve'];
|
|
10
|
+
const FEEDBACK_FLAGS = [
|
|
11
|
+
'format',
|
|
12
|
+
'scope',
|
|
13
|
+
'output',
|
|
14
|
+
'input',
|
|
15
|
+
'revision',
|
|
16
|
+
'allow-stale',
|
|
17
|
+
'variant',
|
|
18
|
+
'pins',
|
|
19
|
+
'summary',
|
|
20
|
+
];
|
|
21
|
+
function designDocument(context, file) {
|
|
22
|
+
const input = context.resolveInput(file);
|
|
23
|
+
if (!isDesignDocumentFile(input))
|
|
24
|
+
throw new ArtifactCommandError('E_ARTIFACT_INPUT_INVALID', 'This operation requires a design-document.json file.');
|
|
25
|
+
return input;
|
|
26
|
+
}
|
|
27
|
+
function oneOf(value, allowed, label) {
|
|
28
|
+
if (typeof value === 'string' && allowed.includes(value))
|
|
29
|
+
return value;
|
|
30
|
+
throw new ArtifactCommandError('E_ARTIFACT_INPUT_INVALID', `${label} must be one of: ${allowed.join(', ')}.`);
|
|
31
|
+
}
|
|
32
|
+
function readJsonInput(source, resolvePath) {
|
|
33
|
+
const text = source === '-' ? readFileSync(0, 'utf8') : readFileSync(resolvePath(source), 'utf8');
|
|
34
|
+
try {
|
|
35
|
+
const value = JSON.parse(text);
|
|
36
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
37
|
+
throw new TypeError();
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw new ArtifactCommandError('E_ARTIFACT_INPUT_INVALID', `The input from ${source === '-' ? 'stdin' : source} must be a JSON object.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async function confirmAction(context, yes, question) {
|
|
45
|
+
if (context.confirmed(yes))
|
|
46
|
+
return true;
|
|
47
|
+
if (isNonInteractive())
|
|
48
|
+
throw new ArtifactCommandError('E_ARTIFACT_CONFIRMATION_REQUIRED', `${question} requires confirmation.`, 'Rerun with --yes.');
|
|
49
|
+
return promptConfirm(question, false);
|
|
50
|
+
}
|
|
51
|
+
function emit(json, result, summarize) {
|
|
52
|
+
if (json)
|
|
53
|
+
display.line(JSON.stringify(result));
|
|
54
|
+
else
|
|
55
|
+
summarize();
|
|
56
|
+
}
|
|
57
|
+
/** Design-only share, status, management, feedback and handoff commands under `artifact`. */
|
|
58
|
+
export function registerDesignShareCommands(artifact, context) {
|
|
59
|
+
artifact
|
|
60
|
+
.command('share-runtime')
|
|
61
|
+
.description('Report the CLI, workflow package and design sharing format versions')
|
|
62
|
+
.option('--json', 'emit machine-readable output', false)
|
|
63
|
+
.action(async (_options, command) => {
|
|
64
|
+
const result = await readDesignShareRuntime(OPENPLANR_VERSION);
|
|
65
|
+
emit(Boolean(command.optsWithGlobals().json), result, () => {
|
|
66
|
+
display.keyValue('CLI', result.cli);
|
|
67
|
+
display.keyValue('Workflow package', result.pipeline);
|
|
68
|
+
display.keyValue('Design sharing format', String(result.designShareCompat ?? 'unknown'));
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
artifact
|
|
72
|
+
.command('status <file>')
|
|
73
|
+
.description('Show whether a design is shared, its review link and pending work')
|
|
74
|
+
.option('--json', 'emit machine-readable output', false)
|
|
75
|
+
.action(async (file, _options, command) => {
|
|
76
|
+
const result = await runDesignShareAction(designDocument(context, file), 'status');
|
|
77
|
+
emit(Boolean(command.optsWithGlobals().json), result, () => {
|
|
78
|
+
display.keyValue('Shared', result.shared ? 'yes' : 'no');
|
|
79
|
+
if (result.url)
|
|
80
|
+
display.keyValue('Review link', result.url);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
artifact
|
|
84
|
+
.command('manage <file>')
|
|
85
|
+
.description('Rotate, pause, resume, revoke, delete, reveal access to, or recover a design review')
|
|
86
|
+
.requiredOption('--action <action>', DESIGN_MANAGE_ACTIONS.join('|'))
|
|
87
|
+
.option('--output <path>', 'recovery: write the private recovery file to this new path (default: a new file in PLANR_HOME/design-recovery)')
|
|
88
|
+
.option('--input <path>', 'restore: read the private recovery file from this path')
|
|
89
|
+
.option('--yes', 'confirm a rotate, revoke, delete or restore non-interactively', false)
|
|
90
|
+
.option('--json', 'emit machine-readable output', false)
|
|
91
|
+
.action(async (file, _options, command) => {
|
|
92
|
+
const options = command.optsWithGlobals();
|
|
93
|
+
const action = oneOf(options.action, DESIGN_MANAGE_ACTIONS, 'Manage action');
|
|
94
|
+
const input = designDocument(context, file);
|
|
95
|
+
if (action === 'restore' && typeof options.input !== 'string')
|
|
96
|
+
throw new ArtifactCommandError('E_ARTIFACT_INPUT_INVALID', 'Recovery restore requires --input <recovery-file>.');
|
|
97
|
+
if (CONFIRMED_MANAGE_ACTIONS.has(action) &&
|
|
98
|
+
!(await confirmAction(context, Boolean(options.yes), `${action[0].toUpperCase()}${action.slice(1)} the shared design review`)))
|
|
99
|
+
return;
|
|
100
|
+
const result = await runDesignShareAction(input, action, {
|
|
101
|
+
...(action === 'recovery'
|
|
102
|
+
? {
|
|
103
|
+
output: typeof options.output === 'string'
|
|
104
|
+
? context.resolveInput(options.output)
|
|
105
|
+
: await defaultDesignRecoveryOutput(),
|
|
106
|
+
}
|
|
107
|
+
: {}),
|
|
108
|
+
...(action === 'restore' ? { input: context.resolveInput(String(options.input)) } : {}),
|
|
109
|
+
});
|
|
110
|
+
const json = Boolean(options.json);
|
|
111
|
+
// The reviewer token leaves the CLI only in machine-readable output.
|
|
112
|
+
const printed = json || action !== 'access' ? result : { ...result, token: undefined };
|
|
113
|
+
emit(json, printed, () => {
|
|
114
|
+
logger.success(`Design review ${action} complete`);
|
|
115
|
+
if (result.url)
|
|
116
|
+
display.keyValue('Review link', result.url);
|
|
117
|
+
if (result.output)
|
|
118
|
+
display.keyValue('Recovery file', result.output);
|
|
119
|
+
if (action === 'access')
|
|
120
|
+
logger.dim('Rerun with --json to print the reviewer access token.');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
artifact
|
|
124
|
+
.command('feedback <file>')
|
|
125
|
+
.description('Inspect, export, import, select or resolve design feedback; syncs a shared design first')
|
|
126
|
+
.option('--action <action>', FEEDBACK_ACTIONS.join('|'), 'inspect')
|
|
127
|
+
.option('--format <format>', 'export: json or markdown')
|
|
128
|
+
.option('--scope <scope>', 'export: current or all')
|
|
129
|
+
.option('--output <path>', 'export: write to this new path')
|
|
130
|
+
.option('--input <path>', 'import: read feedback from this file')
|
|
131
|
+
.option('--revision <revision>', 'import: the current render revision')
|
|
132
|
+
.option('--allow-stale', 'import: accept feedback for an older revision', false)
|
|
133
|
+
.option('--variant <id>', 'select: the ready variant to select')
|
|
134
|
+
.option('--pins <ids>', 'resolve: comma-separated pin ids')
|
|
135
|
+
.option('--summary <text>', 'resolve: resolution summary')
|
|
136
|
+
.option('--json', 'emit machine-readable output', false)
|
|
137
|
+
.action(async (file, _options, command) => {
|
|
138
|
+
const options = command.optsWithGlobals();
|
|
139
|
+
const action = oneOf(options.action, FEEDBACK_ACTIONS, 'Feedback action');
|
|
140
|
+
const flags = {};
|
|
141
|
+
for (const name of FEEDBACK_FLAGS) {
|
|
142
|
+
const key = name.replace(/-([a-z])/gu, (_match, letter) => letter.toUpperCase());
|
|
143
|
+
const value = options[key];
|
|
144
|
+
if (value === undefined || value === false)
|
|
145
|
+
continue;
|
|
146
|
+
flags[name] =
|
|
147
|
+
['output', 'input'].includes(name) && typeof value === 'string'
|
|
148
|
+
? context.resolveInput(value)
|
|
149
|
+
: value;
|
|
150
|
+
}
|
|
151
|
+
const result = await runDesignFeedback(designDocument(context, file), action, flags);
|
|
152
|
+
emit(Boolean(options.json), result, () => {
|
|
153
|
+
logger.success(`Design feedback ${action} complete`);
|
|
154
|
+
if (typeof result.output === 'string')
|
|
155
|
+
display.keyValue('Output', result.output);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
artifact
|
|
159
|
+
.command('review-metadata <file>')
|
|
160
|
+
.description('Publish an owner category or disposition to a shared design review (used by the design helpers)')
|
|
161
|
+
.requiredOption('--revision <revision>', 'the hosted revision the decision belongs to')
|
|
162
|
+
.requiredOption('--input <path|->', 'the decision as a JSON object, from a file or stdin')
|
|
163
|
+
.option('--json', 'emit machine-readable output', false)
|
|
164
|
+
.action(async (file, _options, command) => {
|
|
165
|
+
const options = command.optsWithGlobals();
|
|
166
|
+
const result = await runDesignShareAction(designDocument(context, file), 'review-metadata', {
|
|
167
|
+
payload: readJsonInput(String(options.input), context.resolveInput),
|
|
168
|
+
revisionId: String(options.revision),
|
|
169
|
+
});
|
|
170
|
+
emit(Boolean(options.json), result, () => {
|
|
171
|
+
logger.success(result.pending
|
|
172
|
+
? 'Review decision saved; it is sent on the next sync'
|
|
173
|
+
: 'Review decision published');
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
artifact
|
|
177
|
+
.command('handoff <file>')
|
|
178
|
+
.description('Prepare, inspect or update a design review handoff for refinement and owner approval')
|
|
179
|
+
.option('--action <action>', DESIGN_HANDOFF_ACTIONS.join('|'), 'draft')
|
|
180
|
+
.option('--input <path|->', 'update input as a JSON object, from a file or stdin')
|
|
181
|
+
.option('--json', 'emit machine-readable output', false)
|
|
182
|
+
.action(async (file, _options, command) => {
|
|
183
|
+
const options = command.optsWithGlobals();
|
|
184
|
+
const action = oneOf(options.action, DESIGN_HANDOFF_ACTIONS, 'Handoff action');
|
|
185
|
+
const input = designDocument(context, file);
|
|
186
|
+
const result = action === 'draft'
|
|
187
|
+
? await prepareDesignHandoff(input)
|
|
188
|
+
: await runDesignHandoffAction(input, action, typeof options.input === 'string'
|
|
189
|
+
? readJsonInput(options.input, context.resolveInput)
|
|
190
|
+
: {});
|
|
191
|
+
emit(Boolean(options.json), result, () => {
|
|
192
|
+
logger.success(action === 'draft' ? 'Design review handoff prepared' : `Handoff ${action} complete`);
|
|
193
|
+
if (result.path)
|
|
194
|
+
display.keyValue('Handoff', String(result.path));
|
|
195
|
+
if (action === 'draft')
|
|
196
|
+
logger.dim('Refine the draft in your coding session, then review and approve it in the local studio. Plan remains a separate invocation.');
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=artifact-design-share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-design-share.js","sourceRoot":"","sources":["../../../src/cli/commands/artifact-design-share.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/artifact.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuoBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/artifact.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuoBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF9D"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { ArtifactCommandError, createArtifactReviewLinkWithSecretCustody, createLiveReviewRoomWithSecretCustody, loadArtifactPipeline, openArtifactSecretUrl, openExternalUrl, prepareArtifactEnvelope, readArtifactSecretInput, verifyLiveRoomRecoveryCustody, withoutArtifactReview, } from '../../services/artifact-pipeline-service.js';
|
|
4
|
-
import { isDesignDocumentFile, openDesignArtifact,
|
|
4
|
+
import { isDesignDocumentFile, openDesignArtifact, runDesignShareAction, } from '../../services/design-artifact-service.js';
|
|
5
5
|
import { isDiagramShareFile, openDiagramArtifact, previewDiagramShare, runDiagramShareAction, } from '../../services/diagram-artifact-service.js';
|
|
6
6
|
import { isNonInteractive } from '../../services/interactive-state.js';
|
|
7
7
|
import { promptConfirm } from '../../services/prompt-service.js';
|
|
8
8
|
import { CLI_COMMAND } from '../../utils/constants.js';
|
|
9
9
|
import { display, logger } from '../../utils/logger.js';
|
|
10
|
+
import { registerDesignShareCommands } from './artifact-design-share.js';
|
|
10
11
|
function projectDir(program) {
|
|
11
12
|
return path.resolve(program.opts().projectDir);
|
|
12
13
|
}
|
|
@@ -466,23 +467,9 @@ export function registerArtifactCommand(program) {
|
|
|
466
467
|
addOpenOptions(artifact
|
|
467
468
|
.command('open <file>')
|
|
468
469
|
.description('Open a local diagram, design, or HTML review session')).action((file, _options, command) => openArtifact(program, file, command.optsWithGlobals()));
|
|
469
|
-
artifact
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
.option('--json', 'emit machine-readable output', false)
|
|
473
|
-
.action(async (file, _options, command) => {
|
|
474
|
-
const input = resolveInput(program, file);
|
|
475
|
-
if (!isDesignDocumentFile(input))
|
|
476
|
-
throw new ArtifactCommandError('E_ARTIFACT_INPUT_INVALID', 'Handoff requires a design-document.json file.');
|
|
477
|
-
const result = await prepareDesignHandoff(input);
|
|
478
|
-
if (command.optsWithGlobals().json)
|
|
479
|
-
display.line(JSON.stringify(result));
|
|
480
|
-
else {
|
|
481
|
-
logger.success('Design review handoff prepared');
|
|
482
|
-
if (result.path)
|
|
483
|
-
display.keyValue('Handoff', String(result.path));
|
|
484
|
-
logger.dim('Refine the draft in your coding session, then review and approve it in the local studio. Plan remains a separate invocation.');
|
|
485
|
-
}
|
|
470
|
+
registerDesignShareCommands(artifact, {
|
|
471
|
+
resolveInput: (value) => resolveInput(program, value),
|
|
472
|
+
confirmed: (local) => confirmed(program, local),
|
|
486
473
|
});
|
|
487
474
|
artifact
|
|
488
475
|
.command('share <file>')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/cli/commands/artifact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/cli/commands/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,oBAAoB,EAEpB,yCAAyC,EACzC,qCAAqC,EACrC,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EAEvB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAsCzE,SAAS,UAAU,CAAC,OAAgB;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,KAAa;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB,EAAE,KAAa,EAAE,KAAc;IAClE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAc,CAAC;IACrE,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QAC/D,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAqB,CAAC;IACjF,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB,EAAE,KAAe;IAClD,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAoB;IAC9E,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;YAC9B,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACnD,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,QAAQ,CACd,QAAQ,EACR,6EAA6E,CAC9E,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,UAAU;gBACpB,OAAO,CAAC,QAAQ,CACd,0DAA0D,EAC1D,OAAO,CAAC,UAAU,CACnB,CAAC;QACN,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;gBAC1B,MAAM,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;YAC9B,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACnD,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;gBAC1B,MAAM,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;QAC7C,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;QAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;KACjD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACrD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;QAC9B,GAAG;QACH,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI;QACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SAC/E,CAAC;QACJ,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/E,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAqB;IAChF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;YAC3B,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,uDAAuD,CACxD,CAAC;QACJ,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK;YAChE,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,oJAAoJ,CACrJ,CAAC;QACJ,MAAM,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;YAC3B,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,oGAAoG,CACrG,CAAC;QACJ,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK;YACnC,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,0GAA0G,CAC3G,CAAC;QACJ,MAAM,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,2EAA2E,EAC3E,SAAS,WAAW,gGAAgG,CACrH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3F,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,0EAA0E,EAC1E,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;QAC7C,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;QAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;KACjD,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,IACE,OAAO,QAAQ,CAAC,GAAG,CAAC,qBAAqB,KAAK,UAAU;YACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,4BAA4B,KAAK,UAAU;YAC/D,OAAO,QAAQ,CAAC,GAAG,CAAC,oBAAoB,KAAK,UAAU;YACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,4BAA4B,KAAK,UAAU,EAC/D,CAAC;YACD,MAAM,IAAI,oBAAoB,CAC5B,iCAAiC,EACjC,mFAAmF,EACnF,gHAAgH,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,kEAAkE,EAClE,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC5B,kCAAkC,EAClC,kFAAkF,EAClF,gBAAgB,WAAW,iCAAiC,CAC7D,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YAChD,SAAS,GAAG,MAAM,aAAa,CAC7B,+FAA+F,EAC/F,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,MAAM,GAAG,MAAM,qCAAqC,CAAC;YACzD,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,6BAA6B;YAC1E,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI;SACzB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;YAAE,MAAM,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,4BAA4B;YACpC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;YAC9B,cAAc,EAAE,IAAI;SACrB,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CACR,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,oBAAoB,CAC5B,wCAAwC,EACxC,yDAAyD,EACzD,gBAAgB,WAAW,wEAAwE,CACpG,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,oBAAoB,CAC5B,wCAAwC,EACxC,+DAA+D,EAC/D,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxF,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAChD,UAAU,GAAG,MAAM,aAAa,CAC9B,2FAA2F,EAC3F,IAAI,CACL,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,yCAAyC,CAAC;QAC7D,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,OAAO,CAAC,YAAY;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YACzD,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACtF,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,6BAA6B;YAC1E,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACvD,SAAS,EAAE,UAAU;YACrB,GAAG,EAAE,UAAU;SAChB;KACF,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;QAAE,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,2BAA2B;QACnC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;QAC9B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;KAC9C,CAAC;IACF,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAChD,CAAC;QACJ,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,+BAA+B,CACnF,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CACd,iBAAiB,EACjB,OAAO,CAAC,YAAY;YAClB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO;gBAC5B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,sBAAsB,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAuB,EAAE,UAAmB;IACxE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,0DAA0D,CAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAgB,EAChB,iBAAuC,EACvC,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACzC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,oBAAoB,CAC5B,yBAAyB,EACzB,kFAAkF,EAClF,SAAS,WAAW,qDAAqD,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GACb,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBACpD,MAAM,IAAI,oBAAoB,CAC5B,iCAAiC,EACjC,mEAAmE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,6BAA6B,CACjC,GAAG,EACH,MAAM,EACN,IAA0C,CAC3C,CAAC;YACF,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CACH,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACvD,KAAK,MAAM,QAAQ,IAAI,OAAO;QAAE,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,OAAO;QAChB,eAAe;QACf,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;KACzB,CAAC;IACF,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,KAQb,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC;QACjF,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,oBAAoB,CAC5B,kCAAkC,EAClC,mEAAmE,EACnE,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CACT,oFAAoF,CACrF,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,EAAE,WAAW;gBAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9F,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY;gBAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IACE,CAAC,GAAG;YACJ,CAAC,CAAC,MAAM,aAAa,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC,EACtF,CAAC;YACD,IAAI,OAAO,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;QACJ,MAAM,CAAC,OAAO,CACZ,YAAY,MAAM,CAAE,MAAM,CAAC,QAAkC,EAAE,MAAM,IAAI,CAAC,CAAC,YAAY,CACxF,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,QAAQ,CACd,aAAa,EACb,MAAM,CAAE,MAAM,CAAC,WAAiC,EAAE,IAAI,IAAI,OAAO,CAAC,CACnE,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAgB,EAChB,IAAY,EACZ,OAAqB,EACrB,MAAoC;IAEpC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC1C,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,0FAA0F,CAC3F,CAAC;IACJ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACvE,IAAI,gBAAoC,CAAC;IACzC,IAAI,OAAO,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,CACd,UAAU,EACV,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,cAAc,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,cAAc,CACxF,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,gBAAgB,EAAE;YACpB,MAAM,IAAI,oBAAoB,CAC5B,kCAAkC,EAClC,2BAA2B,IAAI,yBAAyB,EACxD,mBAAmB,CACpB,CAAC;QACJ,IACE,CAAC,CAAC,MAAM,aAAa,CACnB,MAAM,KAAK,OAAO;YAChB,CAAC,CAAC,wBAAwB,IAAI,wCAAwC;YACtE,CAAC,CAAC,yCAAyC,IAAI,eAAe,EAChE,IAAI,CACL,CAAC;YAEF,OAAO;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,YAAY;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;SAChE,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;QACJ,MAAM,CAAC,OAAO,CACZ,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,wBAAwB;YAC3D,CAAC,CAAC,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,qBAAqB;gBACxD,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,gBAAgB,CACxD,CAAC;QACF,IAAI,MAAM,CAAC,GAAG;YAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,iBAAiB;YAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,MAAM,KAAK,MAAM;YACnB,MAAM,CAAC,GAAG,CACR,iEAAiE,IAAI,4CAA4C,CAClH,CAAC;IACN,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG;QAAE,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACpG,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAgB,EAChB,SAAiB,EACjB,OAA6C;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,2BAA2B,CAAC,SAAS,EAAE;QAC9D,MAAM,EAAE,MAAsB;KAC/B,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,OAAO,OAAO;SACX,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;SACzC,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;SACrE,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,CAAC;SACzD,MAAM,CAAC,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,QAAQ,GAAG,cAAc,CAC7B,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,yEAAyE,CAAC,CAC1F,CAAC;IACF,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,QAAqB,EAAE,OAAgB,EAAE,EAAE;QAC1F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAe,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,cAAc,CACZ,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,sDAAsD,CAAC,CACvE,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,QAAqB,EAAE,OAAgB,EAAE,EAAE,CACjE,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAe,CAAC,CACpE,CAAC;IAEF,2BAA2B,CAAC,QAAQ,EAAE;QACpC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;QACrD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;KAChD,CAAC,CAAC;IAEH,QAAQ;SACL,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;SACzC,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;SACrE,MAAM,CAAC,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,SAAS,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,YAAY,EAAE,qDAAqD,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,aAAa,EAAE,sDAAsD,CAAC;SAC7E,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC;SACvD,MAAM,CAAC,OAAO,EAAE,4CAA4C,EAAE,KAAK,CAAC;SACpE,MAAM,CAAC,wBAAwB,EAAE,+CAA+C,CAAC;SACjF,MAAM,CAAC,yBAAyB,EAAE,yDAAyD,CAAC;SAC5F,MAAM,CAAC,CAAC,IAAY,EAAE,QAAsB,EAAE,OAAgB,EAAE,EAAE,CACjE,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAgB,CAAC,CACtE,CAAC;IAEJ,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,CAAU,EAAE,CAAC;QAClD,QAAQ;aACL,OAAO,CAAC,GAAG,MAAM,SAAS,CAAC;aAC3B,WAAW,CACV,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,6DAA6D;YAC/D,CAAC,CAAC,+CAA+C,CACpD;aACA,MAAM,CAAC,OAAO,EAAE,iDAAiD,EAAE,KAAK,CAAC;aACzE,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC;aACvD,MAAM,CAAC,CAAC,IAAY,EAAE,QAAsB,EAAE,OAAgB,EAAE,EAAE,CACjE,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAgB,EAAE,MAAM,CAAC,CACrF,CAAC;IACN,CAAC;IAED,QAAQ;SACL,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,yBAAyB,EAAE,4DAA4D,CAAC;SAC/F,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,8CAA8C,EAAE,KAAK,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC;SACvD,MAAM,CAAC,OAAO,EAAE,wCAAwC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,CAAC,OAA6B,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE,CACpE,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CACnE,CAAC;IAEJ,QAAQ;SACL,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,CAAC,SAAiB,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE,CACxD,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CACpE,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ship.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ship.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC1D"}
|
|
@@ -19,6 +19,8 @@ function render(result) {
|
|
|
19
19
|
const more = rest.length > 0 ? chalk.dim(` (+${rest.length} lines)`) : '';
|
|
20
20
|
const where = check.cwd === '.' ? '' : chalk.dim(` [${check.cwd}]`);
|
|
21
21
|
display.line(` ${first}${more}${where} ${chalk.dim(check.tags.join(', '))}`);
|
|
22
|
+
if (check.expectFiles !== undefined)
|
|
23
|
+
display.line(` ${chalk.dim('account for:')} ${check.expectFiles.join(', ')}`);
|
|
22
24
|
}
|
|
23
25
|
for (const requirement of result.requirements)
|
|
24
26
|
display.line(` ${chalk.dim('requirement:')} ${requirement.text}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/cli/commands/ship.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI9E,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAK,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAiB,CAAC;IAChF,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,EAAE,iBAAiB,KAAK,IAAI,EAAE;QACnF,QAAQ,EAAE,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;KAClD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,MAAwB;IACtC,OAAO,CAAC,OAAO,CAAC,gBAAgB,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;IAC3E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/cli/commands/ship.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* - openplanr spec status [id] Decomposition state per spec
|
|
19
19
|
* - openplanr spec destroy <id> rm -rf one self-contained spec dir
|
|
20
20
|
* - openplanr spec attach-design <id> --files <png>... Attach UI mockups
|
|
21
|
-
* - openplanr spec
|
|
21
|
+
* - openplanr spec validate <id> Check one spec against the contract; read-only
|
|
22
|
+
* - openplanr spec promote <id> Validate, mark ready-for-pipeline, print handoff
|
|
22
23
|
*/
|
|
23
24
|
import type { Command } from 'commander';
|
|
24
25
|
import { type ShapeSpecAnswers } from '../../services/spec-service.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAgBL,KAAK,gBAAgB,EAOtB,MAAM,gCAAgC,CAAC;AA6BxC,4FAA4F;AAC5F,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAiB,GACxD,OAAO,CAAC,gBAAgB,CAAC,CAiE3B;AAyED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAkhBnD"}
|
|
@@ -18,14 +18,15 @@
|
|
|
18
18
|
* - openplanr spec status [id] Decomposition state per spec
|
|
19
19
|
* - openplanr spec destroy <id> rm -rf one self-contained spec dir
|
|
20
20
|
* - openplanr spec attach-design <id> --files <png>... Attach UI mockups
|
|
21
|
-
* - openplanr spec
|
|
21
|
+
* - openplanr spec validate <id> Check one spec against the contract; read-only
|
|
22
|
+
* - openplanr spec promote <id> Validate, mark ready-for-pipeline, print handoff
|
|
22
23
|
*/
|
|
23
24
|
import { readFile as readBinaryFile, stat } from 'node:fs/promises';
|
|
24
25
|
import path from 'node:path';
|
|
25
26
|
import { loadConfig, saveConfig } from '../../services/config-service.js';
|
|
26
27
|
import { isNonInteractive, requireInteractiveForManual } from '../../services/interactive-state.js';
|
|
27
28
|
import { promptConfirm, promptMultiText, promptText } from '../../services/prompt-service.js';
|
|
28
|
-
import { attachSpecDesigns, createSpec, destroySpec, getSpecStatus, listSpecStories, listSpecs, listSpecTasks, PROFESSIONAL_SPECIFICATION_CONTRACT, PROFESSIONAL_SPECIFICATION_KIND, PROFESSIONAL_SPECIFICATION_MAX_INPUT_BYTES, PROFESSIONAL_SPECIFICATION_PROTOCOL_VERSION, PROFESSIONAL_SPECIFICATION_SCHEMA_VERSION, parseProfessionalSpecAnswers, readSpec, resolveSpecDir, shapeSpec, syncAllSpecs, syncSpec, updateSpecFields, validateSpecForPromotion, } from '../../services/spec-service.js';
|
|
29
|
+
import { attachSpecDesigns, createSpec, destroySpec, getSpecStatus, listSpecStories, listSpecs, listSpecTasks, PROFESSIONAL_SPECIFICATION_CONTRACT, PROFESSIONAL_SPECIFICATION_KIND, PROFESSIONAL_SPECIFICATION_MAX_INPUT_BYTES, PROFESSIONAL_SPECIFICATION_PROTOCOL_VERSION, PROFESSIONAL_SPECIFICATION_SCHEMA_VERSION, parseProfessionalSpecAnswers, readSpec, resolveSpecDir, shapeSpec, syncAllSpecs, syncSpec, updateSpecFields, validateSpecContract, validateSpecForPromotion, } from '../../services/spec-service.js';
|
|
29
30
|
import { CLI_COMMAND, PLANNING_FOLDER } from '../../utils/constants.js';
|
|
30
31
|
import { messageOf } from '../../utils/error-message.js';
|
|
31
32
|
import { display, logger } from '../../utils/logger.js';
|
|
@@ -455,13 +456,48 @@ export function registerSpecCommand(program) {
|
|
|
455
456
|
}
|
|
456
457
|
});
|
|
457
458
|
// ------------------------------------------------------------------------
|
|
459
|
+
// openplanr spec validate <id>
|
|
460
|
+
// ------------------------------------------------------------------------
|
|
461
|
+
spec
|
|
462
|
+
.command('validate')
|
|
463
|
+
.description('Check a spec file against the specification contract (path, frontmatter, headings, acceptance ids) without writing')
|
|
464
|
+
.argument('<specId>', 'spec ID (e.g., SPEC-001)')
|
|
465
|
+
.option('--json', 'emit machine-readable output', false)
|
|
466
|
+
.action(async (specId, opts) => {
|
|
467
|
+
requireArtifactId(specId, 'specId', 'SPEC-001');
|
|
468
|
+
const projectDir = program.opts().projectDir;
|
|
469
|
+
const config = await loadConfig(projectDir);
|
|
470
|
+
const report = await validateSpecContract(projectDir, config, specId);
|
|
471
|
+
if (!report) {
|
|
472
|
+
throw new CliBoundaryError('E_SPEC_NOT_FOUND', `Spec ${specId} not found.`, {
|
|
473
|
+
recovery: `Run \`${CLI_COMMAND} spec list\` to see the specs in this project.`,
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
const ok = report.violations.length === 0;
|
|
477
|
+
if (opts.json) {
|
|
478
|
+
display.line(JSON.stringify({ ok, ...report }));
|
|
479
|
+
}
|
|
480
|
+
else if (ok) {
|
|
481
|
+
logger.success(`${specId} meets the specification contract.`);
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
logger.error(`${specId} has ${report.violations.length} contract violation${report.violations.length === 1 ? '' : 's'}:`);
|
|
485
|
+
for (const violation of report.violations) {
|
|
486
|
+
logger.error(` ${violation.file}: [${violation.rule}] ${violation.message}`);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
if (!ok)
|
|
490
|
+
process.exitCode = 1;
|
|
491
|
+
});
|
|
492
|
+
// ------------------------------------------------------------------------
|
|
458
493
|
// openplanr spec promote <id>
|
|
459
494
|
// ------------------------------------------------------------------------
|
|
460
495
|
spec
|
|
461
496
|
.command('promote')
|
|
462
|
-
.description('Validate that a spec is ready and print the pipeline handoff command')
|
|
497
|
+
.description('Validate that a spec is ready, mark the spec ready-for-pipeline, and print the pipeline handoff command')
|
|
463
498
|
.argument('<specId>', 'spec ID (e.g., SPEC-001)')
|
|
464
|
-
.
|
|
499
|
+
.option('--dry-run', 'validate and print the handoff command without marking the spec ready-for-pipeline', false)
|
|
500
|
+
.action(async (specId, opts) => {
|
|
465
501
|
requireArtifactId(specId, 'specId', 'SPEC-001');
|
|
466
502
|
const projectDir = program.opts().projectDir;
|
|
467
503
|
const config = await loadConfig(projectDir);
|
|
@@ -476,8 +512,12 @@ export function registerSpecCommand(program) {
|
|
|
476
512
|
const spec = await readSpec(projectDir, config, specId);
|
|
477
513
|
if (!spec)
|
|
478
514
|
return; // unreachable if validation passed
|
|
479
|
-
|
|
515
|
+
if (!opts.dryRun) {
|
|
516
|
+
await updateSpecFields(projectDir, config, specId, { status: 'ready-for-pipeline' });
|
|
517
|
+
}
|
|
480
518
|
logger.success(`${specId} is ready for host-native implementation.`);
|
|
519
|
+
if (opts.dryRun)
|
|
520
|
+
logger.dim('Dry run: the spec was not marked ready-for-pipeline.');
|
|
481
521
|
logger.dim('');
|
|
482
522
|
display.line('Next: invoke the host-native Plan skill:');
|
|
483
523
|
display.line(` $planr:plan ${spec.id}`);
|