openplanr 2.2641.1 → 2.2641.2
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 +21 -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/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/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-DGyC7RDz.js → index-DI_TKz9J.js} +2 -2
- package/dist/dashboard/assets/{index-DGyC7RDz.js.map → index-DI_TKz9J.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/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/templates/rules/shared/capability-map.md.hbs +1 -1
- package/docs/CLI.md +10 -14
- 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 +1 -1
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +80 -64
- 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/design/package.json +3 -3
- 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/protocol/package.json +1 -1
- 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 +1 -1
- 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 +7 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +16 -1
- 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 +2 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +8 -2
- 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 +52 -36
- 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 +16 -1
- 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 +2 -0
- 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 +7 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +8 -2
- 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/design/package.json +3 -3
- 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/protocol/package.json +1 -1
- 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 +1 -1
- 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 +61 -45
- 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/design/package.json +3 -3
- 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/protocol/package.json +1 -1
- 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 +1 -1
- 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 +7 -0
- 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 +16 -1
- 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 +2 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +8 -2
- 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/package.json +2 -2
- 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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
10
10
|
"path": ".codex-plugin/plugin.json",
|
|
11
|
-
"digest": "sha256:
|
|
11
|
+
"digest": "sha256:10f28fc04cc1d302086cde8f7f8d1b897a216754f98f6cc6c5b0e28889792287"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"path": "LICENSE",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "runtime/design/scripts/design-review.mjs",
|
|
67
|
-
"digest": "sha256:
|
|
67
|
+
"digest": "sha256:943d2fc37557f50df80ee00036e3ca844b022b7db373158578a2b3d72373b7a0"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"path": "runtime/design/scripts/design-runtime-home.mjs",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
"path": "runtime/design/scripts/design-share.mjs",
|
|
83
|
-
"digest": "sha256:
|
|
83
|
+
"digest": "sha256:76a313211315e67b1fc9a216ce5b4ae415f472a34216a059fdbb4c9870ae9db7"
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
"path": "runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
"path": "runtime/design/scripts/runtime/packages/design/package.json",
|
|
155
|
-
"digest": "sha256:
|
|
155
|
+
"digest": "sha256:b3d397b4bb27c37799f143ee6a83c7000f3d1a38aba3e321778ed6cc8916d702"
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
"path": "runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css",
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
"path": "runtime/design/scripts/runtime/packages/design/templates/studio/share.js",
|
|
171
|
-
"digest": "sha256:
|
|
171
|
+
"digest": "sha256:b388471dccec997c49ce9638ff9a312037d311d63cbe980dceeb9c3c02ca037b"
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
174
|
"path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.css",
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
},
|
|
249
249
|
{
|
|
250
250
|
"path": "runtime/design/scripts/runtime/packages/protocol/package.json",
|
|
251
|
-
"digest": "sha256:
|
|
251
|
+
"digest": "sha256:037b4f8f4fd2f1db03d5106ec974e250502d1a4ce39a018e668ab7e07d93de43"
|
|
252
252
|
},
|
|
253
253
|
{
|
|
254
254
|
"path": "runtime/design/scripts/runtime/packages/protocol/registries/artifact-theme.json",
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
},
|
|
361
361
|
{
|
|
362
362
|
"path": "runtime/plan/scripts/design.mjs",
|
|
363
|
-
"digest": "sha256:
|
|
363
|
+
"digest": "sha256:d56e399ebb6a522e1b3a1aa82548334fd9137fc6573edfa2989d0dc5d3e3e4ab"
|
|
364
364
|
},
|
|
365
365
|
{
|
|
366
366
|
"path": "runtime/plan/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt",
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
},
|
|
369
369
|
{
|
|
370
370
|
"path": "runtime/plan/scripts/runtime/packages/protocol/package.json",
|
|
371
|
-
"digest": "sha256:
|
|
371
|
+
"digest": "sha256:037b4f8f4fd2f1db03d5106ec974e250502d1a4ce39a018e668ab7e07d93de43"
|
|
372
372
|
},
|
|
373
373
|
{
|
|
374
374
|
"path": "runtime/plan/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-review.schema.json",
|
|
@@ -392,11 +392,11 @@
|
|
|
392
392
|
},
|
|
393
393
|
{
|
|
394
394
|
"path": "skills/artifact/references/diagram-sharing.md",
|
|
395
|
-
"digest": "sha256:
|
|
395
|
+
"digest": "sha256:84c9ba89680dcbacc4f1ad8b871980e7e6ed73fae8d086c0d148c8ce84510f84"
|
|
396
396
|
},
|
|
397
397
|
{
|
|
398
398
|
"path": "skills/artifact/SKILL.md",
|
|
399
|
-
"digest": "sha256:
|
|
399
|
+
"digest": "sha256:6a8571ad87989bab350d1a9b54b54a9903c51e4f88b5d5bad0519bc65048016d"
|
|
400
400
|
},
|
|
401
401
|
{
|
|
402
402
|
"path": "skills/browser-qa/agents/openai.yaml",
|
|
@@ -420,7 +420,7 @@
|
|
|
420
420
|
},
|
|
421
421
|
{
|
|
422
422
|
"path": "skills/ceo-review/references/operate-advisor-contract.md",
|
|
423
|
-
"digest": "sha256:
|
|
423
|
+
"digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
|
|
424
424
|
},
|
|
425
425
|
{
|
|
426
426
|
"path": "skills/ceo-review/scripts/validate-note.mjs",
|
|
@@ -428,7 +428,7 @@
|
|
|
428
428
|
},
|
|
429
429
|
{
|
|
430
430
|
"path": "skills/ceo-review/SKILL.md",
|
|
431
|
-
"digest": "sha256:
|
|
431
|
+
"digest": "sha256:7187af962fbe765ead56b8acab4a77373333102d715a8d24c46e652fadf204c6"
|
|
432
432
|
},
|
|
433
433
|
{
|
|
434
434
|
"path": "skills/chair-review/agents/openai.yaml",
|
|
@@ -444,7 +444,7 @@
|
|
|
444
444
|
},
|
|
445
445
|
{
|
|
446
446
|
"path": "skills/chair-review/SKILL.md",
|
|
447
|
-
"digest": "sha256:
|
|
447
|
+
"digest": "sha256:07077d1c317495fcaa5b1a278eec9f466f94c62f9c0ce1a7e04759a46d1cac71"
|
|
448
448
|
},
|
|
449
449
|
{
|
|
450
450
|
"path": "skills/challenger-review/agents/openai.yaml",
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
},
|
|
461
461
|
{
|
|
462
462
|
"path": "skills/challenger-review/SKILL.md",
|
|
463
|
-
"digest": "sha256:
|
|
463
|
+
"digest": "sha256:c614fc0a921cf061bfdd543d2d14b6dec0921c3d3eb87a8f98209524ca6cc2d7"
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
466
|
"path": "skills/cmo-review/agents/openai.yaml",
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
},
|
|
473
473
|
{
|
|
474
474
|
"path": "skills/cmo-review/references/operate-advisor-contract.md",
|
|
475
|
-
"digest": "sha256:
|
|
475
|
+
"digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
|
|
476
476
|
},
|
|
477
477
|
{
|
|
478
478
|
"path": "skills/cmo-review/scripts/validate-note.mjs",
|
|
@@ -480,7 +480,7 @@
|
|
|
480
480
|
},
|
|
481
481
|
{
|
|
482
482
|
"path": "skills/cmo-review/SKILL.md",
|
|
483
|
-
"digest": "sha256:
|
|
483
|
+
"digest": "sha256:1a85d556992ea20c11046fb67535276fd6472c939f46f7920c26a5fae8fee217"
|
|
484
484
|
},
|
|
485
485
|
{
|
|
486
486
|
"path": "skills/coo-review/agents/openai.yaml",
|
|
@@ -492,7 +492,7 @@
|
|
|
492
492
|
},
|
|
493
493
|
{
|
|
494
494
|
"path": "skills/coo-review/references/operate-advisor-contract.md",
|
|
495
|
-
"digest": "sha256:
|
|
495
|
+
"digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
|
|
496
496
|
},
|
|
497
497
|
{
|
|
498
498
|
"path": "skills/coo-review/scripts/validate-note.mjs",
|
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
},
|
|
501
501
|
{
|
|
502
502
|
"path": "skills/coo-review/SKILL.md",
|
|
503
|
-
"digest": "sha256:
|
|
503
|
+
"digest": "sha256:e7e830fb1e976c510a9100d1f44b247a578408c96069915e02a3af32daabbb56"
|
|
504
504
|
},
|
|
505
505
|
{
|
|
506
506
|
"path": "skills/cpo-review/agents/openai.yaml",
|
|
@@ -512,7 +512,7 @@
|
|
|
512
512
|
},
|
|
513
513
|
{
|
|
514
514
|
"path": "skills/cpo-review/references/operate-advisor-contract.md",
|
|
515
|
-
"digest": "sha256:
|
|
515
|
+
"digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
|
|
516
516
|
},
|
|
517
517
|
{
|
|
518
518
|
"path": "skills/cpo-review/scripts/validate-note.mjs",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
},
|
|
521
521
|
{
|
|
522
522
|
"path": "skills/cpo-review/SKILL.md",
|
|
523
|
-
"digest": "sha256:
|
|
523
|
+
"digest": "sha256:115b3a3ef5eb6f75ab3f3cb36ee7c7aece8a84c5fc641e9465d6b13633cacc28"
|
|
524
524
|
},
|
|
525
525
|
{
|
|
526
526
|
"path": "skills/cto-review/agents/openai.yaml",
|
|
@@ -532,7 +532,7 @@
|
|
|
532
532
|
},
|
|
533
533
|
{
|
|
534
534
|
"path": "skills/cto-review/references/operate-advisor-contract.md",
|
|
535
|
-
"digest": "sha256:
|
|
535
|
+
"digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
|
|
536
536
|
},
|
|
537
537
|
{
|
|
538
538
|
"path": "skills/cto-review/scripts/validate-note.mjs",
|
|
@@ -540,7 +540,7 @@
|
|
|
540
540
|
},
|
|
541
541
|
{
|
|
542
542
|
"path": "skills/cto-review/SKILL.md",
|
|
543
|
-
"digest": "sha256:
|
|
543
|
+
"digest": "sha256:d64399ec90c0052cf1222a394c65f74723a74305c8af9a41784efc19d45baf35"
|
|
544
544
|
},
|
|
545
545
|
{
|
|
546
546
|
"path": "skills/dashboard/agents/openai.yaml",
|
|
@@ -560,7 +560,7 @@
|
|
|
560
560
|
},
|
|
561
561
|
{
|
|
562
562
|
"path": "skills/delegate/openplanr.skill.json",
|
|
563
|
-
"digest": "sha256:
|
|
563
|
+
"digest": "sha256:01c074a24328c5eeba8571f75bea5d51e1b6f27a702e390c680055684a105717"
|
|
564
564
|
},
|
|
565
565
|
{
|
|
566
566
|
"path": "skills/delegate/references/adapter-protocol.md",
|
|
@@ -568,7 +568,7 @@
|
|
|
568
568
|
},
|
|
569
569
|
{
|
|
570
570
|
"path": "skills/delegate/references/capsule-contract.md",
|
|
571
|
-
"digest": "sha256:
|
|
571
|
+
"digest": "sha256:9bd80db920018a43cecc02f4996d65d5eb54a121fce6caa3c9198cb0ca01bf6a"
|
|
572
572
|
},
|
|
573
573
|
{
|
|
574
574
|
"path": "skills/delegate/references/integration-review.md",
|
|
@@ -576,7 +576,7 @@
|
|
|
576
576
|
},
|
|
577
577
|
{
|
|
578
578
|
"path": "skills/delegate/references/operator-guide.md",
|
|
579
|
-
"digest": "sha256:
|
|
579
|
+
"digest": "sha256:436c12e8ff06e67a529df1aaeb736407d85a63c636260f4a193f458c94fd2ec4"
|
|
580
580
|
},
|
|
581
581
|
{
|
|
582
582
|
"path": "skills/delegate/references/run-handoff.md",
|
|
@@ -592,7 +592,7 @@
|
|
|
592
592
|
},
|
|
593
593
|
{
|
|
594
594
|
"path": "skills/delegate/scripts/adapters/claude.mjs",
|
|
595
|
-
"digest": "sha256:
|
|
595
|
+
"digest": "sha256:98dae19b18c18b372edc77985a889303e595b0fc4556f1f42dcfd69d5f037acc"
|
|
596
596
|
},
|
|
597
597
|
{
|
|
598
598
|
"path": "skills/delegate/scripts/adapters/codex.mjs",
|
|
@@ -608,15 +608,19 @@
|
|
|
608
608
|
},
|
|
609
609
|
{
|
|
610
610
|
"path": "skills/delegate/scripts/adapters/native.mjs",
|
|
611
|
-
"digest": "sha256:
|
|
611
|
+
"digest": "sha256:ff2a8c9365264c4065b8be742ba98ba7b5c8269779c66f217140e9fbf6609727"
|
|
612
612
|
},
|
|
613
613
|
{
|
|
614
614
|
"path": "skills/delegate/scripts/backend-diagnostics.mjs",
|
|
615
|
-
"digest": "sha256:
|
|
615
|
+
"digest": "sha256:989c307c6a42c19f799b17bbe7067211b5d9435a6ebabd2609d15d312d3d2715"
|
|
616
616
|
},
|
|
617
617
|
{
|
|
618
618
|
"path": "skills/delegate/scripts/context.mjs",
|
|
619
|
-
"digest": "sha256:
|
|
619
|
+
"digest": "sha256:632a59c12d8fc4b6b738279cbee5f8d001e76d9ef379fc065f62031647462d42"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"path": "skills/delegate/scripts/credentials.mjs",
|
|
623
|
+
"digest": "sha256:a7b55c9598a8a5301c4e0ff79f3471a587a5f26686c9a7d97fe662ee0babb49d"
|
|
620
624
|
},
|
|
621
625
|
{
|
|
622
626
|
"path": "skills/delegate/scripts/custody.mjs",
|
|
@@ -644,7 +648,7 @@
|
|
|
644
648
|
},
|
|
645
649
|
{
|
|
646
650
|
"path": "skills/delegate/scripts/presentation.mjs",
|
|
647
|
-
"digest": "sha256:
|
|
651
|
+
"digest": "sha256:32ca0c561e99bb02dc8f88e0823a0b826a24cd61404b165fe306bbbce9ee99b9"
|
|
648
652
|
},
|
|
649
653
|
{
|
|
650
654
|
"path": "skills/delegate/scripts/profiles.mjs",
|
|
@@ -652,7 +656,7 @@
|
|
|
652
656
|
},
|
|
653
657
|
{
|
|
654
658
|
"path": "skills/delegate/scripts/run-contract.mjs",
|
|
655
|
-
"digest": "sha256:
|
|
659
|
+
"digest": "sha256:f87f0bd16249266ef6f044a37db608d852a5d893628de26ab9844dc92df57c46"
|
|
656
660
|
},
|
|
657
661
|
{
|
|
658
662
|
"path": "skills/delegate/scripts/run-execution.mjs",
|
|
@@ -668,11 +672,11 @@
|
|
|
668
672
|
},
|
|
669
673
|
{
|
|
670
674
|
"path": "skills/delegate/scripts/run-preparation.mjs",
|
|
671
|
-
"digest": "sha256:
|
|
675
|
+
"digest": "sha256:dbc03621c77946ad77e97db84d826714d2fe75eccd15963756791b1439b46589"
|
|
672
676
|
},
|
|
673
677
|
{
|
|
674
678
|
"path": "skills/delegate/scripts/run-record.mjs",
|
|
675
|
-
"digest": "sha256:
|
|
679
|
+
"digest": "sha256:cbceec29880e4af92fc2dbd692edd10dcd6cb24ab87108b3a492f94797d93473"
|
|
676
680
|
},
|
|
677
681
|
{
|
|
678
682
|
"path": "skills/delegate/scripts/runner.mjs",
|
|
@@ -680,7 +684,7 @@
|
|
|
680
684
|
},
|
|
681
685
|
{
|
|
682
686
|
"path": "skills/delegate/SKILL.md",
|
|
683
|
-
"digest": "sha256:
|
|
687
|
+
"digest": "sha256:e3bc67ad5506a9d360344a4071e9cad1667e0481603789c5fb7b45ae0e39f826"
|
|
684
688
|
},
|
|
685
689
|
{
|
|
686
690
|
"path": "skills/design-loop/agents/openai.yaml",
|
|
@@ -896,7 +900,7 @@
|
|
|
896
900
|
},
|
|
897
901
|
{
|
|
898
902
|
"path": "skills/diagram/references/diagram-sharing.md",
|
|
899
|
-
"digest": "sha256:
|
|
903
|
+
"digest": "sha256:84c9ba89680dcbacc4f1ad8b871980e7e6ed73fae8d086c0d148c8ce84510f84"
|
|
900
904
|
},
|
|
901
905
|
{
|
|
902
906
|
"path": "skills/diagram/SKILL.md",
|
|
@@ -968,7 +972,7 @@
|
|
|
968
972
|
},
|
|
969
973
|
{
|
|
970
974
|
"path": "skills/operate/SKILL.md",
|
|
971
|
-
"digest": "sha256:
|
|
975
|
+
"digest": "sha256:6bc1de840850496637881024c6aa0c45156486a660bf6a40672dbbb75be94507"
|
|
972
976
|
},
|
|
973
977
|
{
|
|
974
978
|
"path": "skills/plan-review/agents/openai.yaml",
|
|
@@ -1020,7 +1024,7 @@
|
|
|
1020
1024
|
},
|
|
1021
1025
|
{
|
|
1022
1026
|
"path": "skills/plan/SKILL.md",
|
|
1023
|
-
"digest": "sha256:
|
|
1027
|
+
"digest": "sha256:6cfa23c318f29fbd5c6f34541c43a84bf7681376563170cfd241d99b49951f16"
|
|
1024
1028
|
},
|
|
1025
1029
|
{
|
|
1026
1030
|
"path": "skills/release/agents/openai.yaml",
|
|
@@ -1104,7 +1108,7 @@
|
|
|
1104
1108
|
},
|
|
1105
1109
|
{
|
|
1106
1110
|
"path": "skills/sprint/openplanr.skill.json",
|
|
1107
|
-
"digest": "sha256:
|
|
1111
|
+
"digest": "sha256:62a62e58bc27242c36c06e170bd875d38ceb1457e467556839e1a80e26a459c9"
|
|
1108
1112
|
},
|
|
1109
1113
|
{
|
|
1110
1114
|
"path": "skills/sprint/references/refinement-contract.md",
|
|
@@ -1114,13 +1118,17 @@
|
|
|
1114
1118
|
"path": "skills/sprint/references/sprint-formats.md",
|
|
1115
1119
|
"digest": "sha256:547bda354869f1aef26398e77e956f43116305f8dcc0d827dd5fb061ec98504a"
|
|
1116
1120
|
},
|
|
1121
|
+
{
|
|
1122
|
+
"path": "skills/sprint/references/tracker-connections.md",
|
|
1123
|
+
"digest": "sha256:5f7d7126ca0db062c2b14c8ac35ca9758e44433329da610d7e75ad83b9417707"
|
|
1124
|
+
},
|
|
1117
1125
|
{
|
|
1118
1126
|
"path": "skills/sprint/schemas/refinement.schema.json",
|
|
1119
1127
|
"digest": "sha256:31494ba4a83f9b7b3aeffc8423135404026ba07c02106be3ba99d6fc75852b12"
|
|
1120
1128
|
},
|
|
1121
1129
|
{
|
|
1122
1130
|
"path": "skills/sprint/SKILL.md",
|
|
1123
|
-
"digest": "sha256:
|
|
1131
|
+
"digest": "sha256:5c3b89308fb01454db92d7a93d166443054b645e223097649d1f52ad18dcb8c9"
|
|
1124
1132
|
},
|
|
1125
1133
|
{
|
|
1126
1134
|
"path": "skills/status/agents/openai.yaml",
|
|
@@ -1128,11 +1136,15 @@
|
|
|
1128
1136
|
},
|
|
1129
1137
|
{
|
|
1130
1138
|
"path": "skills/status/openplanr.skill.json",
|
|
1131
|
-
"digest": "sha256:
|
|
1139
|
+
"digest": "sha256:414afb2187111d04a1c3030f28c7b20a58ad7b4eb3e0e724852a34e152ecceae"
|
|
1140
|
+
},
|
|
1141
|
+
{
|
|
1142
|
+
"path": "skills/status/references/tracker-connections.md",
|
|
1143
|
+
"digest": "sha256:5f7d7126ca0db062c2b14c8ac35ca9758e44433329da610d7e75ad83b9417707"
|
|
1132
1144
|
},
|
|
1133
1145
|
{
|
|
1134
1146
|
"path": "skills/status/SKILL.md",
|
|
1135
|
-
"digest": "sha256:
|
|
1147
|
+
"digest": "sha256:35cc24a74739ae90e2a9f07c99a0f14652fe71c0827d2b4aa336966dbb8823e8"
|
|
1136
1148
|
},
|
|
1137
1149
|
{
|
|
1138
1150
|
"path": "skills/sync/agents/openai.yaml",
|
|
@@ -1140,7 +1152,11 @@
|
|
|
1140
1152
|
},
|
|
1141
1153
|
{
|
|
1142
1154
|
"path": "skills/sync/openplanr.skill.json",
|
|
1143
|
-
"digest": "sha256:
|
|
1155
|
+
"digest": "sha256:e45162758f758bae447c126d121ec1a220b40e03bd09a14b9b4fc2e6643f53da"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"path": "skills/sync/references/tracker-connections.md",
|
|
1159
|
+
"digest": "sha256:5f7d7126ca0db062c2b14c8ac35ca9758e44433329da610d7e75ad83b9417707"
|
|
1144
1160
|
},
|
|
1145
1161
|
{
|
|
1146
1162
|
"path": "skills/sync/scripts/names.mjs",
|
|
@@ -1148,12 +1164,12 @@
|
|
|
1148
1164
|
},
|
|
1149
1165
|
{
|
|
1150
1166
|
"path": "skills/sync/scripts/sync.mjs",
|
|
1151
|
-
"digest": "sha256:
|
|
1167
|
+
"digest": "sha256:7ef90127444f270dc30d119c88a41c898fe7e0b82b1d72d95b1bffc9393a1492"
|
|
1152
1168
|
},
|
|
1153
1169
|
{
|
|
1154
1170
|
"path": "skills/sync/SKILL.md",
|
|
1155
|
-
"digest": "sha256:
|
|
1171
|
+
"digest": "sha256:a90f713ac4cda7fc0df0c2b40256ddba3cfa1ee8ea809705f1cf735324952022"
|
|
1156
1172
|
}
|
|
1157
1173
|
],
|
|
1158
|
-
"contentDigest": "sha256:
|
|
1174
|
+
"contentDigest": "sha256:13d8e15bcaf9a2e643db0c2b5b9c6c08da6565f5419ea7c6021756c5bdfce5fb"
|
|
1159
1175
|
}
|
|
@@ -424,8 +424,12 @@ import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
|
424
424
|
import { fileURLToPath } from "node:url";
|
|
425
425
|
var here = dirname(fileURLToPath(new URL("./runtime/packages/artifact/lib/artifact/review-server.mjs", import.meta.url).href));
|
|
426
426
|
var STAGE_RUNTIME_PATH = join(here, "..", "..", "templates", "artifact-review-stage.js");
|
|
427
|
-
var ARTIFACT_REVIEW_SERVER_VERSION =
|
|
427
|
+
var ARTIFACT_REVIEW_SERVER_VERSION = 3;
|
|
428
428
|
var ARTIFACT_REVIEW_SERVER_KIND = "artifact-review";
|
|
429
|
+
var CONTROL_HEADER = "x-openplanr-control";
|
|
430
|
+
var CONTROLLABLE_SERVER_VERSIONS = /* @__PURE__ */ new Set([2, ARTIFACT_REVIEW_SERVER_VERSION]);
|
|
431
|
+
var EXPORT_ONLY_SERVER_VERSIONS = /* @__PURE__ */ new Set([1]);
|
|
432
|
+
var AUTHORIZATION_CONTROL_VERSIONS = /* @__PURE__ */ new Set([1, 2]);
|
|
429
433
|
var CONTROL_WINDOW_BYTES = 64 * 1024 * 1024;
|
|
430
434
|
var ARTIFACT_REVIEW_MAX_CONTROL_BYTES = Math.ceil((MAX_ARTIFACT_HTML_BYTES * 2 + ARTIFACT_REVIEW_MAX_STATE_BYTES) / CONTROL_WINDOW_BYTES) * CONTROL_WINDOW_BYTES;
|
|
431
435
|
var ARTIFACT_REVIEW_MAX_STATE_BYTES2 = ARTIFACT_REVIEW_MAX_STATE_BYTES;
|
|
@@ -481,6 +485,12 @@ var PERMISSIONS_POLICY = [
|
|
|
481
485
|
function artifactError(code, message, fix = "", details) {
|
|
482
486
|
return new PipelineError(code, message, fix, details);
|
|
483
487
|
}
|
|
488
|
+
function artifactReviewControlHeaders(controlToken) {
|
|
489
|
+
return { [CONTROL_HEADER]: controlToken };
|
|
490
|
+
}
|
|
491
|
+
function stateControlHeaders(state) {
|
|
492
|
+
return AUTHORIZATION_CONTROL_VERSIONS.has(state.serverVersion) ? { authorization: `Bearer ${state.controlToken}` } : artifactReviewControlHeaders(state.controlToken);
|
|
493
|
+
}
|
|
484
494
|
function reviewStateDir(env = process.env) {
|
|
485
495
|
return join(planrHome(env), "artifact-daemon");
|
|
486
496
|
}
|
|
@@ -563,9 +573,9 @@ function parseRequestPath(rawUrl) {
|
|
|
563
573
|
});
|
|
564
574
|
return { segments, trailingSlash };
|
|
565
575
|
}
|
|
566
|
-
function
|
|
567
|
-
const value = req.headers?.
|
|
568
|
-
return typeof value === "string"
|
|
576
|
+
function presentedControlToken(req) {
|
|
577
|
+
const value = req.headers?.[CONTROL_HEADER];
|
|
578
|
+
return typeof value === "string" ? value : "";
|
|
569
579
|
}
|
|
570
580
|
function cloneAndValidateEnvelope(envelope) {
|
|
571
581
|
let cloned;
|
|
@@ -875,7 +885,7 @@ function createArtifactReviewServer({
|
|
|
875
885
|
return;
|
|
876
886
|
}
|
|
877
887
|
if (internal) {
|
|
878
|
-
if (!timingSafeTokenEqual(
|
|
888
|
+
if (!timingSafeTokenEqual(presentedControlToken(req), controlToken)) {
|
|
879
889
|
sendJson(res, 403, { ok: false, error: "forbidden" });
|
|
880
890
|
return;
|
|
881
891
|
}
|
|
@@ -1449,7 +1459,7 @@ function createArtifactReviewServer({
|
|
|
1449
1459
|
return controller;
|
|
1450
1460
|
}
|
|
1451
1461
|
function validState(value, requestedPort, { allowLegacy = false } = {}) {
|
|
1452
|
-
return value?.schemaVersion === "1.0.0" && value.kind === ARTIFACT_REVIEW_SERVER_KIND && (value.serverVersion
|
|
1462
|
+
return value?.schemaVersion === "1.0.0" && value.kind === ARTIFACT_REVIEW_SERVER_KIND && (CONTROLLABLE_SERVER_VERSIONS.has(value.serverVersion) || allowLegacy && EXPORT_ONLY_SERVER_VERSIONS.has(value.serverVersion)) && Number.isInteger(value.pid) && value.pid > 0 && Number.isInteger(value.port) && value.port > 0 && value.port <= 65535 && (requestedPort === 0 || value.port === requestedPort) && isCapabilityToken(value.instanceId, { bytes: SESSION_ID_BYTES }) && isCapabilityToken(value.controlToken, { bytes: CONTROL_TOKEN_BYTES });
|
|
1453
1463
|
}
|
|
1454
1464
|
function readReviewServerState(path) {
|
|
1455
1465
|
try {
|
|
@@ -1473,7 +1483,7 @@ async function controlRequest(descriptor, path, { method, body, fetchImpl } = {}
|
|
|
1473
1483
|
const response = await fetchImpl(`http://${LOOPBACK_HOST}:${descriptor.state.port}${path}`, {
|
|
1474
1484
|
method,
|
|
1475
1485
|
headers: {
|
|
1476
|
-
|
|
1486
|
+
...stateControlHeaders(descriptor.state),
|
|
1477
1487
|
...body === void 0 ? {} : { "content-type": "application/json" }
|
|
1478
1488
|
},
|
|
1479
1489
|
...body === void 0 ? {} : { body: JSON.stringify(body) },
|
|
@@ -2852,7 +2862,12 @@ async function startDesignReviewUnlocked(file, {
|
|
|
2852
2862
|
server = createArtifactReviewServer({
|
|
2853
2863
|
env,
|
|
2854
2864
|
serverMetadata: { kind: "design", projectRoot: current.root },
|
|
2855
|
-
prepareSource: (options) => prepareArtifactDocument({
|
|
2865
|
+
prepareSource: (options) => prepareArtifactDocument({
|
|
2866
|
+
...options,
|
|
2867
|
+
allowLocalForms: true,
|
|
2868
|
+
prototypeState: true,
|
|
2869
|
+
screenId: current.entries.find((entry) => entry.artifactId === options.artifactId)?.screenId ?? options.artifactId
|
|
2870
|
+
}),
|
|
2856
2871
|
async refreshSession(session) {
|
|
2857
2872
|
current = currentDesign(file);
|
|
2858
2873
|
if (session.designRevision === current.revision) return;
|
|
@@ -3214,7 +3229,7 @@ ${renderArtifactParentRuntime({ ...options, adapterRuntimeUrl: `${base}api/desig
|
|
|
3214
3229
|
const registered = await fetchImpl(`${origin}/internal/v1/sessions`, {
|
|
3215
3230
|
method: "POST",
|
|
3216
3231
|
headers: {
|
|
3217
|
-
|
|
3232
|
+
...artifactReviewControlHeaders(server.controlToken),
|
|
3218
3233
|
"content-type": "application/json"
|
|
3219
3234
|
},
|
|
3220
3235
|
body: JSON.stringify({
|
|
@@ -92,7 +92,7 @@ ${current.document.id}`);
|
|
|
92
92
|
const within = relative(project, root);
|
|
93
93
|
if ((!allowMissing || existsSync(path)) && (within === "" || !within.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`) && within !== ".." && !isAbsolute(within)))
|
|
94
94
|
throw new Error(
|
|
95
|
-
"Design owner
|
|
95
|
+
"Design owner keys must be stored outside the project. Set PLANR_HOME to a private user-level directory."
|
|
96
96
|
);
|
|
97
97
|
const legacyPath = !options.custodyRoot && !configuredPlanrHome(env) ? join(realpathSync(env.HOME || homedir()), ".openplanr", "design-shares", `${key}.json`) : null;
|
|
98
98
|
return { root, path, current, legacyPath };
|
|
@@ -1785,10 +1785,10 @@ async function importDesignShareRecovery(file, { input, ...options } = {}) {
|
|
|
1785
1785
|
throw new Error("Recovery belongs to a different design.");
|
|
1786
1786
|
if (record && (record.custody.id !== custody.id || JSON.stringify(record.custody.ownerPublicKey) !== JSON.stringify(custody.ownerPublicKey)))
|
|
1787
1787
|
throw new Error(
|
|
1788
|
-
"This design already has different owner
|
|
1788
|
+
"This design already has different owner keys. Recovery will not overwrite them."
|
|
1789
1789
|
);
|
|
1790
1790
|
if (record && record.custody.version > custody.version)
|
|
1791
|
-
throw new Error("This recovery file is older than the locally saved owner
|
|
1791
|
+
throw new Error("This recovery file is older than the locally saved owner keys.");
|
|
1792
1792
|
if (!custody.pendingCreate && !recovered.deleted && !recovered.revoked) {
|
|
1793
1793
|
await getWorkspace(custody, { fetchImpl: options.fetchImpl });
|
|
1794
1794
|
const bundle = await decryptWorkspaceRevision(custody, custody.currentRevision, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openplanr/design",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Canonical OpenPlanr design helpers and design-loop engine",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"node": ">=20.19.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@openplanr/artifact": "0.6.
|
|
50
|
-
"@openplanr/protocol": "0.10.
|
|
49
|
+
"@openplanr/artifact": "0.6.5",
|
|
50
|
+
"@openplanr/protocol": "0.10.3"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"test": "node --test --test-concurrency=2 tests/*.test.mjs",
|
|
@@ -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 };
|
|
@@ -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/openai/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
|
|