openplanr 2.2641.1 → 3.0.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 +44 -0
- package/README.md +1 -1
- package/dist/cli/commands/artifact.js +1 -1
- package/dist/cli/commands/artifact.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +19 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/github.d.ts.map +1 -1
- package/dist/cli/commands/github.js +7 -10
- package/dist/cli/commands/github.js.map +1 -1
- package/dist/cli/commands/linear.js +1 -1
- package/dist/cli/commands/linear.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +28 -32
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +12 -10
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/error-boundary.d.ts.map +1 -1
- package/dist/cli/error-boundary.js +2 -1
- package/dist/cli/error-boundary.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-DGyC7RDz.js → index-Csby7_ur.js} +2 -2
- package/dist/dashboard/assets/{index-DGyC7RDz.js.map → index-Csby7_ur.js.map} +1 -1
- package/dist/dashboard/dashboard-manifest.json +8 -8
- package/dist/dashboard/index.html +1 -1
- package/dist/models/schema.d.ts +0 -4
- package/dist/models/schema.d.ts.map +1 -1
- package/dist/models/schema.js +0 -2
- package/dist/models/schema.js.map +1 -1
- package/dist/models/types.d.ts +1 -4
- package/dist/models/types.d.ts.map +1 -1
- package/dist/services/credentials-service.js +1 -1
- package/dist/services/credentials-service.js.map +1 -1
- package/dist/services/distribution-service.d.ts +1 -4
- package/dist/services/distribution-service.d.ts.map +1 -1
- package/dist/services/distribution-service.js +1 -60
- package/dist/services/distribution-service.js.map +1 -1
- package/dist/services/github-service.d.ts +7 -4
- package/dist/services/github-service.d.ts.map +1 -1
- package/dist/services/github-service.js +16 -15
- package/dist/services/github-service.js.map +1 -1
- package/dist/services/linear-push-service.d.ts +3 -4
- package/dist/services/linear-push-service.d.ts.map +1 -1
- package/dist/services/linear-push-service.js +5 -6
- package/dist/services/linear-push-service.js.map +1 -1
- package/dist/services/runtime-change-summary.d.ts +4 -0
- package/dist/services/runtime-change-summary.d.ts.map +1 -1
- package/dist/services/runtime-change-summary.js +7 -0
- package/dist/services/runtime-change-summary.js.map +1 -1
- package/dist/services/runtime-manager/doctor.js +1 -1
- package/dist/services/runtime-manager/doctor.js.map +1 -1
- package/dist/services/runtime-manager/runtime-package.d.ts +15 -0
- package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
- package/dist/services/runtime-manager/runtime-package.js +50 -10
- package/dist/services/runtime-manager/runtime-package.js.map +1 -1
- package/dist/services/runtime-manager-service.d.ts +11 -0
- package/dist/services/runtime-manager-service.d.ts.map +1 -1
- package/dist/services/runtime-manager-service.js +88 -16
- package/dist/services/runtime-manager-service.js.map +1 -1
- package/dist/services/spec-service.d.ts.map +1 -1
- package/dist/services/spec-service.js +34 -69
- package/dist/services/spec-service.js.map +1 -1
- package/dist/services/upgrade-report.d.ts +2 -2
- package/dist/services/upgrade-report.d.ts.map +1 -1
- package/dist/services/upgrade-report.js +11 -2
- package/dist/services/upgrade-report.js.map +1 -1
- package/dist/services/upgrade-service.d.ts +8 -2
- package/dist/services/upgrade-service.d.ts.map +1 -1
- package/dist/services/upgrade-service.js +44 -12
- package/dist/services/upgrade-service.js.map +1 -1
- package/dist/templates/rules/shared/capability-map.md.hbs +1 -1
- package/docs/CLI.md +14 -15
- package/docs/TROUBLESHOOTING.md +9 -6
- package/install.ps1 +3 -3
- package/install.sh +3 -3
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +8 -8
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +2 -2
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +91 -75
- package/lib/host-packages/claude/openplanr/README.md +8 -12
- package/lib/host-packages/claude/openplanr/agents/planr-backend.md +49 -55
- package/lib/host-packages/claude/openplanr/agents/planr-database.md +56 -92
- package/lib/host-packages/claude/openplanr/agents/planr-designer.md +35 -51
- package/lib/host-packages/claude/openplanr/agents/planr-devops.md +37 -51
- package/lib/host-packages/claude/openplanr/agents/planr-documentation.md +29 -52
- package/lib/host-packages/claude/openplanr/agents/planr-entity-scaffold.md +24 -23
- package/lib/host-packages/claude/openplanr/agents/planr-frontend.md +46 -58
- package/lib/host-packages/claude/openplanr/agents/planr-qa.md +4 -2
- package/lib/host-packages/claude/openplanr/agents/planr-specification.md +54 -51
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/backend.md +21 -65
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/designer.md +5 -6
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/doc-gen.md +3 -4
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/frontend.md +19 -64
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/specification.md +10 -12
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/backend.md +19 -62
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +3 -4
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/doc-gen.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/frontend.md +16 -59
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/specification.md +9 -11
- package/lib/host-packages/claude/openplanr/references/pipeline/stacks/database/mongodb.md +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
- 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/enhancements.css +14 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +2 -2
- package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +8 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +5 -3
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +4 -1
- package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +8 -0
- package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +10 -4
- package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +5 -4
- package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +4 -3
- package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +63 -47
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +5 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +8 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +8 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +4 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +10 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +5 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +4 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +11 -20
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
- 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/enhancements.css +14 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +72 -56
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
- 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/enhancements.css +14 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
- package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +2 -2
- package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +8 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +5 -3
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +4 -1
- package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +8 -0
- package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +10 -4
- package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +5 -4
- package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +4 -3
- package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +2 -2
- package/lib/integrations.mjs +2 -2
- package/lib/node-runtime.d.mts +1 -1
- package/lib/node-runtime.mjs +2 -7
- package/package.json +4 -5
- package/bin/planr.js +0 -7
- package/dist/services/connectors/adapters/business-metrics.d.ts +0 -5
- package/dist/services/connectors/adapters/business-metrics.d.ts.map +0 -1
- package/dist/services/connectors/adapters/business-metrics.js +0 -41
- package/dist/services/connectors/adapters/business-metrics.js.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.d.ts +0 -18
- package/dist/services/connectors/adapters/deployment-health.d.ts.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.js +0 -67
- package/dist/services/connectors/adapters/deployment-health.js.map +0 -1
- package/dist/services/connectors/adapters/github.d.ts +0 -5
- package/dist/services/connectors/adapters/github.d.ts.map +0 -1
- package/dist/services/connectors/adapters/github.js +0 -31
- package/dist/services/connectors/adapters/github.js.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.d.ts +0 -5
- package/dist/services/connectors/adapters/linear-jira.d.ts.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.js +0 -26
- package/dist/services/connectors/adapters/linear-jira.js.map +0 -1
- package/dist/services/connectors/adapters/posthog.d.ts +0 -5
- package/dist/services/connectors/adapters/posthog.d.ts.map +0 -1
- package/dist/services/connectors/adapters/posthog.js +0 -31
- package/dist/services/connectors/adapters/posthog.js.map +0 -1
- package/dist/services/connectors/adapters/sentry.d.ts +0 -5
- package/dist/services/connectors/adapters/sentry.d.ts.map +0 -1
- package/dist/services/connectors/adapters/sentry.js +0 -31
- package/dist/services/connectors/adapters/sentry.js.map +0 -1
- package/dist/services/connectors/checkpoint-custody.d.ts +0 -45
- package/dist/services/connectors/checkpoint-custody.d.ts.map +0 -1
- package/dist/services/connectors/checkpoint-custody.js +0 -499
- package/dist/services/connectors/checkpoint-custody.js.map +0 -1
- package/dist/services/connectors/connector-registry.d.ts +0 -144
- package/dist/services/connectors/connector-registry.d.ts.map +0 -1
- package/dist/services/connectors/connector-registry.js +0 -423
- package/dist/services/connectors/connector-registry.js.map +0 -1
- package/dist/services/connectors/connector-runtime.d.ts +0 -208
- package/dist/services/connectors/connector-runtime.d.ts.map +0 -1
- package/dist/services/connectors/connector-runtime.js +0 -1305
- package/dist/services/connectors/connector-runtime.js.map +0 -1
- package/dist/services/connectors/credential-custody.d.ts +0 -96
- package/dist/services/connectors/credential-custody.d.ts.map +0 -1
- package/dist/services/connectors/credential-custody.js +0 -390
- package/dist/services/connectors/credential-custody.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openplanr/design",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Canonical OpenPlanr design helpers and design-loop engine",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"LICENSE"
|
|
44
44
|
],
|
|
45
45
|
"engines": {
|
|
46
|
-
"node": ">=
|
|
46
|
+
"node": ">=22.13.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@openplanr/artifact": "0.6.
|
|
50
|
-
"@openplanr/protocol": "0.
|
|
49
|
+
"@openplanr/artifact": "0.6.6",
|
|
50
|
+
"@openplanr/protocol": "0.11.0"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"test": "node --test --test-concurrency=2 tests/*.test.mjs",
|
|
@@ -267,8 +267,13 @@ html[data-design-theme="light"] .design-export > div { box-shadow:0 12px 30px #1
|
|
|
267
267
|
|
|
268
268
|
/* A shared sizing contract keeps captions, tools and service status from
|
|
269
269
|
overlapping. It belongs to the shell; iframe documents inherit none of it. */
|
|
270
|
-
[data-design-studio] .design-stage-context { height:var(--design-stage-context-height); }
|
|
271
|
-
[data-design-studio] .
|
|
270
|
+
[data-design-studio] .design-stage-context { height:auto; min-height:var(--design-stage-context-height); flex-wrap:wrap; }
|
|
271
|
+
[data-design-studio] .design-stage-context > div:first-child { flex:1 1 220px; max-width:100%; }
|
|
272
|
+
[data-design-studio] .design-stage-context > .design-stage-actions { flex:0 1 auto; flex-wrap:wrap; max-width:100%; }
|
|
273
|
+
[data-design-studio] .design-frame-picker { min-width:0; max-width:100%; }
|
|
274
|
+
[data-design-studio] .design-frame-picker select { min-width:0; flex:1 1 auto; appearance:none; line-height:1.3; min-height:32px; padding-inline-end:26px; background-image:linear-gradient(45deg,transparent 50%,var(--planr-color-text) 50%),linear-gradient(135deg,var(--planr-color-text) 50%,transparent 50%); background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%; background-size:4px 4px; background-repeat:no-repeat; }
|
|
275
|
+
[data-design-studio] .design-guidance > summary { height:auto; min-height:30px; padding-block:4px; line-height:1.3; white-space:nowrap; }
|
|
276
|
+
[data-design-studio] .planr-shell:not([data-design-presentation="true"]) .planr-stage-scroll { inset-block-start:var(--design-stage-context-measured-height,var(--design-stage-context-height)); }
|
|
272
277
|
[data-design-studio] .planr-shell[data-design-view="prototype"]:not([data-design-presentation="true"]) .planr-stage-scroll { bottom:calc(var(--design-tools-space) + var(--design-status-space)); }
|
|
273
278
|
[data-design-studio] .planr-shell[data-design-view="walkthrough"]:not([data-design-presentation="true"]) .planr-stage-scroll { bottom:calc(var(--design-tools-space) + var(--design-caption-height) + var(--design-status-space)); }
|
|
274
279
|
[data-design-studio] .design-walkthrough-caption { height:var(--design-caption-height); min-height:var(--design-caption-height); max-height:var(--design-caption-height); bottom:var(--design-status-space); }
|
|
@@ -286,14 +291,14 @@ html[data-design-theme="light"] .design-export > div { box-shadow:0 12px 30px #1
|
|
|
286
291
|
font-size:var(--design-type-control); line-height:1.4; min-height:var(--design-touch-target);
|
|
287
292
|
min-width:0; max-width:100%; border-radius:8px; padding:10px 12px; scroll-margin-block:16px;
|
|
288
293
|
}
|
|
289
|
-
:root[data-design-studio] body select { height:var(--design-touch-target); }
|
|
294
|
+
:root[data-design-studio] body select { height:auto; min-height:var(--design-touch-target); }
|
|
290
295
|
:root[data-design-studio] body :is(button:not(.planr-pin):not(.design-minimap-close),.design-export > summary,.design-tools-menu > summary,.design-guidance > summary) {
|
|
291
296
|
min-height:var(--design-touch-target); min-width:var(--design-touch-target); touch-action:manipulation;
|
|
292
297
|
}
|
|
293
298
|
:root[data-design-studio] body :is(.design-dialog-close,.design-nav-close,.planr-rail-close,.planr-composer-header button) {
|
|
294
299
|
width:var(--design-touch-target); height:var(--design-touch-target); flex-basis:var(--design-touch-target);
|
|
295
300
|
}
|
|
296
|
-
:root[data-design-studio] .design-canvas-tools button { height:var(--design-touch-target); white-space:nowrap; }
|
|
301
|
+
:root[data-design-studio] .design-canvas-tools button { height:auto; min-height:var(--design-touch-target); white-space:nowrap; }
|
|
297
302
|
:root[data-design-studio] :is(.design-dialog-content,.design-inspector,.planr-thread-comment,.planr-reply) { font-size:var(--design-type-body); }
|
|
298
303
|
:root[data-design-studio] :is(.design-profile-form > label,.planr-annotation-composer label,.planr-identity label,.design-profile-form legend) { font-size:var(--design-type-label); }
|
|
299
304
|
:root[data-design-studio] :is(.design-muted,.design-profile-form > .design-muted,.design-dialog-status) { font-size:var(--design-type-label); }
|
|
@@ -365,6 +370,11 @@ html[data-design-theme="light"] .design-export > div { box-shadow:0 12px 30px #1
|
|
|
365
370
|
:root[data-design-studio] .planr-shell { height:var(--design-frozen-shell-height,100%); }
|
|
366
371
|
:root[data-design-studio] .design-toolbar { grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:52px; padding:0 max(8px,env(safe-area-inset-right,0px)) 0 max(8px,env(safe-area-inset-left,0px)); }
|
|
367
372
|
:root[data-design-studio] .design-toolbar .planr-brand { display:none; }
|
|
373
|
+
:root[data-design-studio] .planr-shell[data-studio-framework="react"] .design-toolbar[data-studio-layout="compact"] { grid-template-columns:auto minmax(0,1fr); }
|
|
374
|
+
:root[data-design-studio] .planr-shell[data-studio-framework="react"] .design-toolbar[data-studio-layout="compact"] .studio-toolbar-leading { grid-column:1; grid-row:1; width:auto; }
|
|
375
|
+
:root[data-design-studio] .planr-shell[data-studio-framework="react"] .design-toolbar[data-studio-layout="compact"] .studio-toolbar-trailing { grid-column:2; grid-row:1; width:auto; flex-wrap:nowrap; }
|
|
376
|
+
:root[data-design-studio] .planr-shell[data-studio-framework="react"] .design-toolbar[data-studio-layout="compact"] .studio-toolbar-center { grid-column:1 / -1; grid-row:2; }
|
|
377
|
+
:root[data-design-studio] .planr-shell[data-studio-framework="react"] .design-toolbar[data-studio-layout="compact"] .studio-toolbar-status { width:auto; flex-basis:auto; max-width:128px; }
|
|
368
378
|
:root[data-design-studio] .design-toolbar-trailing { grid-column:3; }
|
|
369
379
|
:root[data-design-studio] .design-view-picker { grid-column:2; grid-row:1; }
|
|
370
380
|
:root[data-design-studio] .design-stage-context { flex-wrap:nowrap; padding:4px 12px; }
|
|
@@ -506,6 +506,11 @@
|
|
|
506
506
|
transform: translateX(-50%);
|
|
507
507
|
display: flex;
|
|
508
508
|
align-items: center;
|
|
509
|
+
flex-wrap: wrap;
|
|
510
|
+
justify-content: center;
|
|
511
|
+
width: max-content;
|
|
512
|
+
max-width: calc(100% - 32px);
|
|
513
|
+
box-sizing: border-box;
|
|
509
514
|
gap: 2px;
|
|
510
515
|
padding: 4px;
|
|
511
516
|
border: 1px solid var(--planr-color-rule);
|
|
@@ -514,22 +519,26 @@
|
|
|
514
519
|
box-shadow: 0 8px 28px #0006;
|
|
515
520
|
}
|
|
516
521
|
.design-canvas-tools button {
|
|
517
|
-
height:
|
|
522
|
+
height: auto;
|
|
523
|
+
min-height: 28px;
|
|
518
524
|
min-width: 28px;
|
|
519
|
-
|
|
525
|
+
flex: none;
|
|
526
|
+
padding: 4px 8px;
|
|
520
527
|
border: 0;
|
|
521
528
|
border-radius: 4px;
|
|
522
529
|
background: transparent;
|
|
523
530
|
font-size: 11px;
|
|
531
|
+
line-height: 1.3;
|
|
532
|
+
white-space: nowrap;
|
|
524
533
|
cursor: pointer;
|
|
525
534
|
}
|
|
526
535
|
.design-canvas-tools [data-design-zoom="reset"] {
|
|
527
|
-
flex: 0 0
|
|
528
|
-
width:
|
|
536
|
+
flex: 0 0 auto;
|
|
537
|
+
width: auto;
|
|
529
538
|
min-width: 56px;
|
|
530
539
|
font-variant-numeric: tabular-nums;
|
|
531
540
|
}
|
|
532
|
-
.design-interaction-picker { height:30px; padding:0; border:0; background:transparent; }
|
|
541
|
+
.design-interaction-picker { height:auto; min-height:30px; flex:none; padding:0; border:0; background:transparent; }
|
|
533
542
|
.design-interaction-picker button { display:flex; align-items:center; gap:6px; }
|
|
534
543
|
.design-interaction-picker .design-button-label { display:none; }
|
|
535
544
|
.design-canvas-tools .design-interaction-picker button[aria-pressed="true"] { background:var(--planr-color-raised); color:var(--planr-color-primary); }
|
|
@@ -2307,6 +2307,33 @@ ${fence}`;
|
|
|
2307
2307
|
);
|
|
2308
2308
|
content.append(value, reason, save);
|
|
2309
2309
|
}
|
|
2310
|
+
function installStageContextGeometry() {
|
|
2311
|
+
const context = q(".design-stage-context", root);
|
|
2312
|
+
if (!context) return;
|
|
2313
|
+
let frame = 0;
|
|
2314
|
+
const measure = () => {
|
|
2315
|
+
frame = 0;
|
|
2316
|
+
if (disposed) return;
|
|
2317
|
+
const height = Math.ceil(context.getBoundingClientRect().height);
|
|
2318
|
+
const value = `${height}px`;
|
|
2319
|
+
if (height && root.style.getPropertyValue("--design-stage-context-measured-height") !== value)
|
|
2320
|
+
root.style.setProperty("--design-stage-context-measured-height", value);
|
|
2321
|
+
};
|
|
2322
|
+
const schedule = () => {
|
|
2323
|
+
if (!frame && !disposed) frame = requestAnimationFrame(measure);
|
|
2324
|
+
};
|
|
2325
|
+
const observer = typeof ResizeObserver === "function" ? new ResizeObserver(schedule) : null;
|
|
2326
|
+
observer?.observe(context);
|
|
2327
|
+
on(window, "resize", schedule);
|
|
2328
|
+
on(root, "planr:design-render", schedule);
|
|
2329
|
+
void document.fonts?.ready.then(schedule);
|
|
2330
|
+
measure();
|
|
2331
|
+
destroyers.push(() => {
|
|
2332
|
+
observer?.disconnect();
|
|
2333
|
+
cancelAnimationFrame(frame);
|
|
2334
|
+
root.style.removeProperty("--design-stage-context-measured-height");
|
|
2335
|
+
});
|
|
2336
|
+
}
|
|
2310
2337
|
function installCanvas() {
|
|
2311
2338
|
const tools = q(".design-canvas-tools");
|
|
2312
2339
|
const more = node("details", "", { class: "design-tools-menu" });
|
|
@@ -3494,6 +3521,7 @@ ${fence}`;
|
|
|
3494
3521
|
installComposerCategory();
|
|
3495
3522
|
installInspector();
|
|
3496
3523
|
installCanvas();
|
|
3524
|
+
installStageContextGeometry();
|
|
3497
3525
|
installThumbnails();
|
|
3498
3526
|
installPersonalDrafts();
|
|
3499
3527
|
about(true);
|
|
@@ -46,36 +46,114 @@
|
|
|
46
46
|
actions,
|
|
47
47
|
className = ""
|
|
48
48
|
}) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
const toolbar = (0, import_react3.useRef)(null);
|
|
50
|
+
(0, import_react3.useLayoutEffect)(() => {
|
|
51
|
+
const element = toolbar.current;
|
|
52
|
+
const window2 = element?.ownerDocument.defaultView;
|
|
53
|
+
if (!element || !window2) return;
|
|
54
|
+
const center = element.querySelector(".studio-toolbar-center");
|
|
55
|
+
const trailing = element.querySelector(".studio-toolbar-trailing");
|
|
56
|
+
const leading2 = element.querySelector(".studio-toolbar-leading");
|
|
57
|
+
if (!center || !trailing || !leading2) return;
|
|
58
|
+
const measure = () => {
|
|
59
|
+
const width = element.getBoundingClientRect().width;
|
|
60
|
+
if (!width) return;
|
|
61
|
+
element.dataset.studioDensity = width <= 680 ? "narrow" : "regular";
|
|
62
|
+
const style = window2.getComputedStyle(element);
|
|
63
|
+
const available = width - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);
|
|
64
|
+
const gap = parseFloat(style.columnGap) || 0;
|
|
65
|
+
element.dataset.studioCenter = "true";
|
|
66
|
+
const centerWidth = center.scrollWidth;
|
|
67
|
+
element.dataset.studioCenter = String(centerWidth > 0);
|
|
68
|
+
const controlSelector = 'button,a,summary,input,select,output,[role="status"]';
|
|
69
|
+
const controls = [...trailing.querySelectorAll(controlSelector)].filter(
|
|
70
|
+
(control) => control.getClientRects().length && !control.closest('[role="menu"],.studio-tooltip,[role="dialog"]') && (!control.closest("details") || !!control.closest("summary")) && !control.parentElement?.closest(controlSelector)
|
|
71
|
+
);
|
|
72
|
+
const actionWidth = controls.reduce((total, control) => total + control.getBoundingClientRect().width, 0) + Math.max(0, controls.length - 1) * (parseFloat(window2.getComputedStyle(trailing).gap) || 8);
|
|
73
|
+
const leadingControl = leading2.firstElementChild;
|
|
74
|
+
const branding = [
|
|
75
|
+
...leading2.querySelectorAll(".planr-mark,.design-wordmark")
|
|
76
|
+
].filter((node) => node.getClientRects().length);
|
|
77
|
+
const brandingWidth = branding.reduce(
|
|
78
|
+
(total, node) => total + node.getBoundingClientRect().width + 8,
|
|
79
|
+
0
|
|
80
|
+
);
|
|
81
|
+
const leadingFloor = 128 + brandingWidth + (leadingControl instanceof window2.HTMLElement && !leadingControl.classList.contains("planr-brand") ? leadingControl.getBoundingClientRect().width + 8 : 0);
|
|
82
|
+
const outerWidth = Math.max(leadingFloor, actionWidth);
|
|
83
|
+
element.dataset.studioLayout = centerWidth > 0 ? width <= 680 || centerWidth + outerWidth * 2 + gap * 2 > available ? "compact" : "inline" : leadingFloor + actionWidth + gap > available ? "compact" : "inline";
|
|
84
|
+
};
|
|
85
|
+
measure();
|
|
86
|
+
let frame = 0;
|
|
87
|
+
const scheduleMeasure = () => {
|
|
88
|
+
if (frame) return;
|
|
89
|
+
frame = window2.requestAnimationFrame(() => {
|
|
90
|
+
frame = 0;
|
|
91
|
+
measure();
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const resize = typeof window2.ResizeObserver === "function" ? new window2.ResizeObserver(scheduleMeasure) : null;
|
|
95
|
+
for (const node of [element, center, trailing]) resize?.observe(node);
|
|
96
|
+
const mutations = new window2.MutationObserver(scheduleMeasure);
|
|
97
|
+
mutations.observe(element, {
|
|
98
|
+
subtree: true,
|
|
99
|
+
childList: true,
|
|
100
|
+
characterData: true,
|
|
101
|
+
attributes: true,
|
|
102
|
+
attributeFilter: ["hidden"]
|
|
103
|
+
});
|
|
104
|
+
window2.addEventListener("resize", scheduleMeasure);
|
|
105
|
+
let active = true;
|
|
106
|
+
void element.ownerDocument.fonts?.ready.then(() => {
|
|
107
|
+
if (active) scheduleMeasure();
|
|
108
|
+
});
|
|
109
|
+
return () => {
|
|
110
|
+
active = false;
|
|
111
|
+
resize?.disconnect();
|
|
112
|
+
mutations.disconnect();
|
|
113
|
+
window2.cancelAnimationFrame(frame);
|
|
114
|
+
window2.removeEventListener("resize", scheduleMeasure);
|
|
115
|
+
};
|
|
116
|
+
}, [Tag]);
|
|
117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
118
|
+
Tag,
|
|
119
|
+
{
|
|
120
|
+
ref: (node) => {
|
|
121
|
+
toolbar.current = node;
|
|
122
|
+
},
|
|
123
|
+
className: `planr-toolbar studio-toolbar ${className}`,
|
|
124
|
+
"data-studio-react-chrome": "true",
|
|
125
|
+
children: [
|
|
126
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "studio-toolbar-leading design-toolbar-leading", children: [
|
|
127
|
+
leading,
|
|
128
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "planr-brand", children: [
|
|
129
|
+
brand && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StudioMark, {}),
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "design-wordmark", children: [
|
|
132
|
+
"Open",
|
|
133
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children: "Planr" })
|
|
134
|
+
] })
|
|
135
|
+
] }),
|
|
136
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "studio-identity", children: [
|
|
137
|
+
hierarchy.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("nav", { className: "studio-hierarchy", "aria-label": "Project path", children: hierarchy.map((item, index2) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { children: [
|
|
138
|
+
index2 > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { "aria-hidden": "true", children: " / " }),
|
|
139
|
+
item.href ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("a", { href: item.href, children: item.label }) : item.label
|
|
140
|
+
] }, item.href ?? item.label)) }),
|
|
141
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "planr-title-block", children: [
|
|
142
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StudioBadge, { children: kind === "artifact" ? "Artifact" : kind === "diagram" ? "Diagram" : "Design" }),
|
|
143
|
+
titleNode ?? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { title, children: title })
|
|
144
|
+
] }),
|
|
145
|
+
subtitle && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "studio-subtitle", children: subtitle })
|
|
146
|
+
] })
|
|
58
147
|
] })
|
|
59
148
|
] }),
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
] }, item.href ?? item.label)) }),
|
|
65
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "planr-title-block", children: [
|
|
66
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StudioBadge, { children: kind === "artifact" ? "Artifact" : kind === "diagram" ? "Diagram" : "Design" }),
|
|
67
|
-
titleNode ?? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { title, children: title })
|
|
68
|
-
] }),
|
|
69
|
-
subtitle && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "studio-subtitle", children: subtitle })
|
|
149
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "studio-toolbar-center", children: viewPicker }),
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "studio-toolbar-trailing design-toolbar-trailing", children: [
|
|
151
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "studio-toolbar-status", children: status }),
|
|
152
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "studio-toolbar-actions", children: actions })
|
|
70
153
|
] })
|
|
71
|
-
]
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "studio-toolbar-trailing design-toolbar-trailing", children: [
|
|
75
|
-
status,
|
|
76
|
-
actions
|
|
77
|
-
] })
|
|
78
|
-
] });
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
);
|
|
79
157
|
}
|
|
80
158
|
function StudioMenu({
|
|
81
159
|
label,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"kind": "openplanr-runtime-asset-sources",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"asset": "studio.js",
|
|
5
|
-
"bytes":
|
|
6
|
-
"sha256": "
|
|
5
|
+
"bytes": 1142078,
|
|
6
|
+
"sha256": "b8688a3102c5028847fc9a1d4a257b096768de1db3b4bfd4656482d318013c71",
|
|
7
7
|
"scopes": [
|
|
8
8
|
{
|
|
9
9
|
"id": "bundle",
|
|
@@ -143,8 +143,8 @@
|
|
|
143
143
|
"packages/design/lib/design/ui/enhancements.mjs",
|
|
144
144
|
"packages/design/lib/design/ui/handoff-center.mjs"
|
|
145
145
|
],
|
|
146
|
-
"bytes":
|
|
147
|
-
"sha256": "
|
|
146
|
+
"bytes": 152776,
|
|
147
|
+
"sha256": "9e2ac3d6b99028c7335aacf548f9e04fdf709d15f889db3e35bbebc389631000"
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
"path": "studio.js.sources/13-studio-shell.js",
|
|
@@ -238,8 +238,8 @@
|
|
|
238
238
|
"packages/artifact/lib/artifact/ui/studio-shell-components.mjs",
|
|
239
239
|
"packages/artifact/lib/artifact/ui/studio-shell-mount-impl.mjs"
|
|
240
240
|
],
|
|
241
|
-
"bytes":
|
|
242
|
-
"sha256": "
|
|
241
|
+
"bytes": 23280,
|
|
242
|
+
"sha256": "5306387b1f59d43e1cd0ed2c471b18b0b35d5cc8c573ffe5439ea9315494c01e"
|
|
243
243
|
},
|
|
244
244
|
{
|
|
245
245
|
"path": "studio.js.sources/17-design-studio.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openplanr/protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canonical OpenPlanr schemas, registries, typed errors, and portable contract validation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"test": "node --test ../../tests/protocol/*.test.mjs"
|
|
133
133
|
},
|
|
134
134
|
"engines": {
|
|
135
|
-
"node": ">=
|
|
135
|
+
"node": ">=22.13.0"
|
|
136
136
|
},
|
|
137
137
|
"repository": {
|
|
138
138
|
"type": "git",
|
|
@@ -2551,7 +2551,7 @@ ${current.document.id}`);
|
|
|
2551
2551
|
const within = relative3(project, root);
|
|
2552
2552
|
if ((!allowMissing || existsSync4(path)) && (within === "" || !within.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`) && within !== ".." && !isAbsolute3(within)))
|
|
2553
2553
|
throw new Error(
|
|
2554
|
-
"Design owner
|
|
2554
|
+
"Design owner keys must be stored outside the project. Set PLANR_HOME to a private user-level directory."
|
|
2555
2555
|
);
|
|
2556
2556
|
const legacyPath = !options.custodyRoot && !configuredPlanrHome(env) ? join7(realpathSync4(env.HOME || homedir3()), ".openplanr", "design-shares", `${key}.json`) : null;
|
|
2557
2557
|
return { root, path, current, legacyPath };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openplanr/protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canonical OpenPlanr schemas, registries, typed errors, and portable contract validation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"test": "node --test ../../tests/protocol/*.test.mjs"
|
|
133
133
|
},
|
|
134
134
|
"engines": {
|
|
135
|
-
"node": ">=
|
|
135
|
+
"node": ">=22.13.0"
|
|
136
136
|
},
|
|
137
137
|
"repository": {
|
|
138
138
|
"type": "git",
|
|
@@ -30,7 +30,7 @@ relaunch the active coding agent from inside this skill.
|
|
|
30
30
|
preserve existing guidance and never invent requirements. Render and inspect
|
|
31
31
|
the updated context before sharing. For a design document this creates a permanent encrypted
|
|
32
32
|
design review with a stable URL and a separately entered generated access
|
|
33
|
-
token. Owner
|
|
33
|
+
token. Owner keys save privately outside the project; copy the reviewer
|
|
34
34
|
token through the studio's Share dialog, never put it in a URL or ordinary
|
|
35
35
|
command output. Publish an explicitly requested update with
|
|
36
36
|
`openplanr artifact publish <design-document.json>`; synchronize reviewer feedback
|
|
@@ -67,7 +67,7 @@ separate permissions and storage from encrypted token shares.
|
|
|
67
67
|
|
|
68
68
|
Lead with what was opened, shared, imported or exported and the confirmed revision
|
|
69
69
|
or session. Link the actual review URL or exported file; never print capability
|
|
70
|
-
tokens or private owner
|
|
70
|
+
tokens or private owner keys. Distinguish successful service operations
|
|
71
71
|
from preparation and browser verification from validation alone. For partial or
|
|
72
72
|
blocked work, name the remaining step and exact retry or recovery action, retaining
|
|
73
73
|
the useful local result. Keep detailed diagnostics in their existing records;
|
|
@@ -13,7 +13,7 @@ review. Preview the exact diagram title, source revision, elements, connections,
|
|
|
13
13
|
destination and retention before creating it. Use `--yes` only when the user has
|
|
14
14
|
already authorized that publication. The stable URL and generated access token
|
|
15
15
|
are separate; copy the token through the local studio's **Share diagram** dialog,
|
|
16
|
-
never into a URL, prompt, ordinary output or repository file. Owner
|
|
16
|
+
never into a URL, prompt, ordinary output or repository file. Owner keys
|
|
17
17
|
are saved privately outside the project. The review remains available until the
|
|
18
18
|
owner revokes or deletes it and works while the local studio is stopped.
|
|
19
19
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: ceo-review
|
|
3
3
|
description: "Produce a grounded strategy and finance review for an Operate cycle. Use when direction, runway, margin, investment, or cost of delay needs a CEO lens."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr CEO Review
|
package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Shared Operate advisor contract
|
|
2
2
|
|
|
3
|
-
This contract supplies the common context method and output shape for the
|
|
4
|
-
skills. The invoking skill supplies the lens, review questions,
|
|
5
|
-
standard. Follow both.
|
|
3
|
+
This contract supplies the common context method and output shape for the executive advisor
|
|
4
|
+
skills (CEO, CTO, CPO, CMO, and COO). The invoking skill supplies the lens, review questions,
|
|
5
|
+
useful sources, and decision standard. Follow both.
|
|
6
6
|
|
|
7
7
|
## Outcome
|
|
8
8
|
|
|
@@ -21,7 +21,28 @@ not the whole context boundary. Inspect relevant original repository and Git sou
|
|
|
21
21
|
drawing conclusions. If an input is unavailable, report the exact problem and continue when the
|
|
22
22
|
remaining context still supports a useful note.
|
|
23
23
|
|
|
24
|
-
Write the review only to `<output-path>`.
|
|
24
|
+
Write the review only to `<output-path>`. Writes follow the host's normal permission rules; this
|
|
25
|
+
skill pre-approves nothing.
|
|
26
|
+
|
|
27
|
+
### Running without `planr-operate`
|
|
28
|
+
|
|
29
|
+
When no `<output-path>` was supplied, this lens creates the cycle itself, in the layout
|
|
30
|
+
`planr-operate` uses, under the repository root:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
.planr/operate/<YYYY-MM-DD>-<subject-slug>/
|
|
34
|
+
cycle.md the request wording, the effective scope, and a one-lens roster
|
|
35
|
+
brief.md compact orientation for this lens only, including what was searched for and not found
|
|
36
|
+
<lens>.md this note: ceo.md, cto.md, cpo.md, cmo.md, or coo.md
|
|
37
|
+
board-report.md an unsynthesized lens summary
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Take the subject, window, and requested decision from the request. Use the first unused directory
|
|
41
|
+
name; append `-02`, `-03`, and so on when the base name exists. In `board-report.md`, use the
|
|
42
|
+
`planr-operate` report sections, mark this lens `reported` and every other lens `omitted by scope`
|
|
43
|
+
under Review coverage, and write `No decision-ready proposal was established.` and
|
|
44
|
+
`No proposed actions.` unless this note states a directly supported proposal. Write nothing outside
|
|
45
|
+
that cycle directory. The dashboard lists a cycle only when `board-report.md` exists.
|
|
25
46
|
|
|
26
47
|
## Grounding
|
|
27
48
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: chair-review
|
|
3
3
|
description: "Synthesize an Operate cycle into a prioritized decision queue and action plan. Use after specialist reviews when leadership needs one coherent brief."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr Chair Review
|
|
@@ -18,7 +17,12 @@ and its decision impact; continue when the remaining notes still support useful
|
|
|
18
17
|
selected roster from the scope or brief and label an intentionally unselected lens `omitted by
|
|
19
18
|
scope`; do not turn that omission into an issue or decision-changing gap.
|
|
20
19
|
|
|
21
|
-
Write only `<output-path>`.
|
|
20
|
+
Write only `<output-path>`. Writes follow the host's normal permission rules; this skill
|
|
21
|
+
pre-approves nothing.
|
|
22
|
+
|
|
23
|
+
Invoked without `<cycle-dir>`, offer the most recent cycle under `.planr/operate/` that holds
|
|
24
|
+
advisor notes and use its `chair.md` as the output path. When there is none, say so and point to
|
|
25
|
+
`planr-operate`; never create an empty cycle.
|
|
22
26
|
|
|
23
27
|
## Synthesis standard
|
|
24
28
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: challenger-review
|
|
3
3
|
description: "Challenge an Operate cycle's claims, alternatives, downside, and confidence. Use when assumptions or executive consensus need an independent stress test."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr Challenger Review
|
|
@@ -18,7 +17,12 @@ Use `<cycle-dir>`, `<brief-path>`, `<output-path>`, and `<scope>`. Inspect the a
|
|
|
18
17
|
is `omitted by scope`, not unavailable, and creates no gap by itself. If a selected advisor note is
|
|
19
18
|
unavailable, record the decision impact rather than reconstructing that lens.
|
|
20
19
|
|
|
21
|
-
Write only `<output-path>`.
|
|
20
|
+
Write only `<output-path>`. Writes follow the host's normal permission rules; this skill
|
|
21
|
+
pre-approves nothing.
|
|
22
|
+
|
|
23
|
+
Invoked without `<cycle-dir>`, offer the most recent cycle under `.planr/operate/` that holds
|
|
24
|
+
advisor notes and use its `challenger.md` as the output path. When there is none, say so and point
|
|
25
|
+
to `planr-operate`; never create an empty cycle.
|
|
22
26
|
|
|
23
27
|
## Material exceptions
|
|
24
28
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: cmo-review
|
|
3
3
|
description: "Produce a grounded market and growth review for an Operate cycle. Use when acquisition, positioning, demand, retention, or missing measurement needs a CMO lens."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr CMO Review
|
package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Shared Operate advisor contract
|
|
2
2
|
|
|
3
|
-
This contract supplies the common context method and output shape for the
|
|
4
|
-
skills. The invoking skill supplies the lens, review questions,
|
|
5
|
-
standard. Follow both.
|
|
3
|
+
This contract supplies the common context method and output shape for the executive advisor
|
|
4
|
+
skills (CEO, CTO, CPO, CMO, and COO). The invoking skill supplies the lens, review questions,
|
|
5
|
+
useful sources, and decision standard. Follow both.
|
|
6
6
|
|
|
7
7
|
## Outcome
|
|
8
8
|
|
|
@@ -21,7 +21,28 @@ not the whole context boundary. Inspect relevant original repository and Git sou
|
|
|
21
21
|
drawing conclusions. If an input is unavailable, report the exact problem and continue when the
|
|
22
22
|
remaining context still supports a useful note.
|
|
23
23
|
|
|
24
|
-
Write the review only to `<output-path>`.
|
|
24
|
+
Write the review only to `<output-path>`. Writes follow the host's normal permission rules; this
|
|
25
|
+
skill pre-approves nothing.
|
|
26
|
+
|
|
27
|
+
### Running without `planr-operate`
|
|
28
|
+
|
|
29
|
+
When no `<output-path>` was supplied, this lens creates the cycle itself, in the layout
|
|
30
|
+
`planr-operate` uses, under the repository root:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
.planr/operate/<YYYY-MM-DD>-<subject-slug>/
|
|
34
|
+
cycle.md the request wording, the effective scope, and a one-lens roster
|
|
35
|
+
brief.md compact orientation for this lens only, including what was searched for and not found
|
|
36
|
+
<lens>.md this note: ceo.md, cto.md, cpo.md, cmo.md, or coo.md
|
|
37
|
+
board-report.md an unsynthesized lens summary
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Take the subject, window, and requested decision from the request. Use the first unused directory
|
|
41
|
+
name; append `-02`, `-03`, and so on when the base name exists. In `board-report.md`, use the
|
|
42
|
+
`planr-operate` report sections, mark this lens `reported` and every other lens `omitted by scope`
|
|
43
|
+
under Review coverage, and write `No decision-ready proposal was established.` and
|
|
44
|
+
`No proposed actions.` unless this note states a directly supported proposal. Write nothing outside
|
|
45
|
+
that cycle directory. The dashboard lists a cycle only when `board-report.md` exists.
|
|
25
46
|
|
|
26
47
|
## Grounding
|
|
27
48
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: coo-review
|
|
3
3
|
description: "Produce a grounded operations and customer-health review for an Operate cycle. Use when readiness, service delivery, capacity, or customer health needs a COO lens."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr COO Review
|
package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Shared Operate advisor contract
|
|
2
2
|
|
|
3
|
-
This contract supplies the common context method and output shape for the
|
|
4
|
-
skills. The invoking skill supplies the lens, review questions,
|
|
5
|
-
standard. Follow both.
|
|
3
|
+
This contract supplies the common context method and output shape for the executive advisor
|
|
4
|
+
skills (CEO, CTO, CPO, CMO, and COO). The invoking skill supplies the lens, review questions,
|
|
5
|
+
useful sources, and decision standard. Follow both.
|
|
6
6
|
|
|
7
7
|
## Outcome
|
|
8
8
|
|
|
@@ -21,7 +21,28 @@ not the whole context boundary. Inspect relevant original repository and Git sou
|
|
|
21
21
|
drawing conclusions. If an input is unavailable, report the exact problem and continue when the
|
|
22
22
|
remaining context still supports a useful note.
|
|
23
23
|
|
|
24
|
-
Write the review only to `<output-path>`.
|
|
24
|
+
Write the review only to `<output-path>`. Writes follow the host's normal permission rules; this
|
|
25
|
+
skill pre-approves nothing.
|
|
26
|
+
|
|
27
|
+
### Running without `planr-operate`
|
|
28
|
+
|
|
29
|
+
When no `<output-path>` was supplied, this lens creates the cycle itself, in the layout
|
|
30
|
+
`planr-operate` uses, under the repository root:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
.planr/operate/<YYYY-MM-DD>-<subject-slug>/
|
|
34
|
+
cycle.md the request wording, the effective scope, and a one-lens roster
|
|
35
|
+
brief.md compact orientation for this lens only, including what was searched for and not found
|
|
36
|
+
<lens>.md this note: ceo.md, cto.md, cpo.md, cmo.md, or coo.md
|
|
37
|
+
board-report.md an unsynthesized lens summary
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Take the subject, window, and requested decision from the request. Use the first unused directory
|
|
41
|
+
name; append `-02`, `-03`, and so on when the base name exists. In `board-report.md`, use the
|
|
42
|
+
`planr-operate` report sections, mark this lens `reported` and every other lens `omitted by scope`
|
|
43
|
+
under Review coverage, and write `No decision-ready proposal was established.` and
|
|
44
|
+
`No proposed actions.` unless this note states a directly supported proposal. Write nothing outside
|
|
45
|
+
that cycle directory. The dashboard lists a cycle only when `board-report.md` exists.
|
|
25
46
|
|
|
26
47
|
## Grounding
|
|
27
48
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: cpo-review
|
|
3
3
|
description: "Produce a grounded product and activation review for an Operate cycle. Use when customer value, activation, prioritization, or adoption needs a CPO lens."
|
|
4
4
|
license: MIT
|
|
5
|
-
allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# OpenPlanr CPO Review
|