openplanr 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/cli/commands/artifact-design-share.d.ts +9 -0
  3. package/dist/cli/commands/artifact-design-share.d.ts.map +1 -0
  4. package/dist/cli/commands/artifact-design-share.js +200 -0
  5. package/dist/cli/commands/artifact-design-share.js.map +1 -0
  6. package/dist/cli/commands/artifact.d.ts.map +1 -1
  7. package/dist/cli/commands/artifact.js +5 -18
  8. package/dist/cli/commands/artifact.js.map +1 -1
  9. package/dist/cli/commands/ship.d.ts.map +1 -1
  10. package/dist/cli/commands/ship.js +2 -0
  11. package/dist/cli/commands/ship.js.map +1 -1
  12. package/dist/cli/commands/spec.d.ts +2 -1
  13. package/dist/cli/commands/spec.d.ts.map +1 -1
  14. package/dist/cli/commands/spec.js +45 -5
  15. package/dist/cli/commands/spec.js.map +1 -1
  16. package/dist/dashboard/.vite/manifest.json +2 -2
  17. package/dist/dashboard/assets/index-Cv4Vwhuw.css +2 -0
  18. package/dist/dashboard/assets/index-CvQAlBy3.js +75 -0
  19. package/dist/dashboard/assets/index-CvQAlBy3.js.map +1 -0
  20. package/dist/dashboard/dashboard-manifest.json +14 -14
  21. package/dist/dashboard/index.html +2 -2
  22. package/dist/services/claude-plugin-service.d.ts +5 -0
  23. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  24. package/dist/services/claude-plugin-service.js +18 -2
  25. package/dist/services/claude-plugin-service.js.map +1 -1
  26. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  27. package/dist/services/codex-plugin-service.js +11 -3
  28. package/dist/services/codex-plugin-service.js.map +1 -1
  29. package/dist/services/design-artifact-service.d.ts +20 -1
  30. package/dist/services/design-artifact-service.d.ts.map +1 -1
  31. package/dist/services/design-artifact-service.js +137 -18
  32. package/dist/services/design-artifact-service.js.map +1 -1
  33. package/dist/services/runtime-manager/codex-discovery.d.ts +1 -3
  34. package/dist/services/runtime-manager/codex-discovery.d.ts.map +1 -1
  35. package/dist/services/runtime-manager/codex-discovery.js +3 -16
  36. package/dist/services/runtime-manager/codex-discovery.js.map +1 -1
  37. package/dist/services/runtime-manager/doctor.d.ts +25 -0
  38. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  39. package/dist/services/runtime-manager/doctor.js +480 -0
  40. package/dist/services/runtime-manager/doctor.js.map +1 -1
  41. package/dist/services/runtime-manager/errors.d.ts +12 -0
  42. package/dist/services/runtime-manager/errors.d.ts.map +1 -0
  43. package/dist/services/runtime-manager/errors.js +14 -0
  44. package/dist/services/runtime-manager/errors.js.map +1 -0
  45. package/dist/services/runtime-manager/global-state.d.ts +7 -0
  46. package/dist/services/runtime-manager/global-state.d.ts.map +1 -1
  47. package/dist/services/runtime-manager/global-state.js +116 -0
  48. package/dist/services/runtime-manager/global-state.js.map +1 -1
  49. package/dist/services/runtime-manager/host-version-probe.d.ts +8 -0
  50. package/dist/services/runtime-manager/host-version-probe.d.ts.map +1 -0
  51. package/dist/services/runtime-manager/host-version-probe.js +14 -0
  52. package/dist/services/runtime-manager/host-version-probe.js.map +1 -0
  53. package/dist/services/runtime-manager/install-plan.d.ts +25 -0
  54. package/dist/services/runtime-manager/install-plan.d.ts.map +1 -1
  55. package/dist/services/runtime-manager/install-plan.js +305 -0
  56. package/dist/services/runtime-manager/install-plan.js.map +1 -1
  57. package/dist/services/runtime-manager/inventory.d.ts +6 -0
  58. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  59. package/dist/services/runtime-manager/inventory.js +16 -1
  60. package/dist/services/runtime-manager/inventory.js.map +1 -1
  61. package/dist/services/runtime-manager/legacy-adapters.d.ts +9 -0
  62. package/dist/services/runtime-manager/legacy-adapters.d.ts.map +1 -0
  63. package/dist/services/runtime-manager/legacy-adapters.js +187 -0
  64. package/dist/services/runtime-manager/legacy-adapters.js.map +1 -0
  65. package/dist/services/runtime-manager/paths.d.ts +18 -0
  66. package/dist/services/runtime-manager/paths.d.ts.map +1 -0
  67. package/dist/services/runtime-manager/paths.js +83 -0
  68. package/dist/services/runtime-manager/paths.js.map +1 -0
  69. package/dist/services/runtime-manager/runtime-package.d.ts +21 -0
  70. package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
  71. package/dist/services/runtime-manager/runtime-package.js +77 -0
  72. package/dist/services/runtime-manager/runtime-package.js.map +1 -1
  73. package/dist/services/runtime-manager/storage.d.ts +47 -0
  74. package/dist/services/runtime-manager/storage.d.ts.map +1 -0
  75. package/dist/services/runtime-manager/storage.js +604 -0
  76. package/dist/services/runtime-manager/storage.js.map +1 -0
  77. package/dist/services/runtime-manager-service.d.ts +7 -17
  78. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  79. package/dist/services/runtime-manager-service.js +32 -1695
  80. package/dist/services/runtime-manager-service.js.map +1 -1
  81. package/dist/services/ship-checks/contract.d.ts +15 -1
  82. package/dist/services/ship-checks/contract.d.ts.map +1 -1
  83. package/dist/services/ship-checks/contract.js +1 -1
  84. package/dist/services/ship-checks/contract.js.map +1 -1
  85. package/dist/services/ship-checks/coverage.d.ts +4 -0
  86. package/dist/services/ship-checks/coverage.d.ts.map +1 -0
  87. package/dist/services/ship-checks/coverage.js +113 -0
  88. package/dist/services/ship-checks/coverage.js.map +1 -0
  89. package/dist/services/ship-checks/discover.d.ts.map +1 -1
  90. package/dist/services/ship-checks/discover.js +5 -1
  91. package/dist/services/ship-checks/discover.js.map +1 -1
  92. package/dist/services/ship-checks/package-contents.d.ts +4 -0
  93. package/dist/services/ship-checks/package-contents.d.ts.map +1 -0
  94. package/dist/services/ship-checks/package-contents.js +91 -0
  95. package/dist/services/ship-checks/package-contents.js.map +1 -0
  96. package/dist/services/ship-checks/packages.d.ts +2 -0
  97. package/dist/services/ship-checks/packages.d.ts.map +1 -1
  98. package/dist/services/ship-checks/packages.js +4 -0
  99. package/dist/services/ship-checks/packages.js.map +1 -1
  100. package/dist/services/ship-checks/scope.js +2 -1
  101. package/dist/services/ship-checks/scope.js.map +1 -1
  102. package/dist/services/spec-service.d.ts +18 -0
  103. package/dist/services/spec-service.d.ts.map +1 -1
  104. package/dist/services/spec-service.js +174 -9
  105. package/dist/services/spec-service.js.map +1 -1
  106. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  107. package/dist/templates/spec/spec.md.hbs +2 -2
  108. package/dist/utils/splice-managed-block.js +1 -1
  109. package/dist/utils/splice-managed-block.js.map +1 -1
  110. package/docs/CLI.md +86 -2
  111. package/lib/host-packages/adapter-registry.json +5 -5
  112. package/lib/host-packages/capability-map.json +3 -3
  113. package/lib/host-packages/claude/.claude-plugin/marketplace.json +3 -3
  114. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +6 -6
  115. package/lib/host-packages/claude/openplanr/.openplanr-content.json +94 -146
  116. package/lib/host-packages/claude/openplanr/README.md +12 -12
  117. package/lib/host-packages/claude/openplanr/agents/planr-qa.md +5 -3
  118. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/shared/task-context-resolution.md +4 -4
  119. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
  120. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +110 -25
  121. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
  122. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
  123. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +65 -74
  124. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
  125. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
  126. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
  127. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
  128. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
  129. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +374 -61
  130. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
  131. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
  132. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
  133. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
  134. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
  135. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  136. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
  137. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  138. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  139. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  140. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  141. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  142. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  143. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  144. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  145. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
  146. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  147. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
  148. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +219 -424
  149. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  150. package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +2 -1
  151. package/lib/host-packages/claude/openplanr/skills/delegate/references/integration-review.md +26 -20
  152. package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +25 -1
  153. package/lib/host-packages/claude/openplanr/skills/delegate/references/run-handoff.md +2 -2
  154. package/lib/host-packages/claude/openplanr/skills/delegate/references/worktree-custody.md +17 -9
  155. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
  156. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
  157. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
  158. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/custody.mjs +217 -10
  159. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
  160. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
  161. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
  162. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
  163. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
  164. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
  165. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
  166. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
  167. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
  168. package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +17 -2
  169. package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +60 -2
  170. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +23 -7
  171. package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +131 -4
  172. package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +17 -2
  173. package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +60 -2
  174. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +23 -7
  175. package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
  176. package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +17 -2
  177. package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +60 -2
  178. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +23 -7
  179. package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
  180. package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +2 -1
  181. package/lib/host-packages/claude/openplanr/skills/investigate/references/fail-first.md +40 -0
  182. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +21 -11
  183. package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
  184. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +51 -18
  185. package/lib/host-packages/claude/openplanr/skills/ship/references/fail-first.md +40 -0
  186. package/lib/host-packages/claude/openplanr/skills/ship/references/result-contract.md +7 -3
  187. package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +6 -0
  188. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +3 -1
  189. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +91 -143
  190. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  191. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/integration-review.md +26 -20
  192. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +25 -1
  193. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/run-handoff.md +2 -2
  194. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/worktree-custody.md +17 -9
  195. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +15 -3
  196. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/codex.mjs +38 -2
  197. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +5 -0
  198. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/custody.mjs +217 -10
  199. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/handoff.mjs +1080 -0
  200. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integrate.mjs +96 -201
  201. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-files.mjs +3 -382
  202. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +29 -12
  203. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +11 -0
  204. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-execution.mjs +1 -1
  205. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-lifecycle.mjs +14 -10
  206. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +4 -0
  207. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -2
  208. package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +2 -1
  209. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +17 -2
  210. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +60 -2
  211. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +23 -7
  212. package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +131 -4
  213. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +17 -2
  214. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +60 -2
  215. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +23 -7
  216. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +131 -4
  217. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +17 -2
  218. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +60 -2
  219. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +23 -7
  220. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +131 -4
  221. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/fail-first.md +40 -0
  222. package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +2 -1
  223. package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +131 -4
  224. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +21 -11
  225. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/fail-first.md +40 -0
  226. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/result-contract.md +7 -3
  227. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +51 -18
  228. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +3 -1
  229. package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +6 -0
  230. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
  231. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +110 -25
  232. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
  233. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
  234. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +65 -74
  235. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
  236. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
  237. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
  238. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
  239. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
  240. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +374 -61
  241. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
  242. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
  243. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
  244. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
  245. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
  246. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  247. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
  248. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  249. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  250. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  251. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  252. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  253. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  254. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  255. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  256. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/{v1.20.0 → v1.22.0}/design-document.schema.json +131 -4
  257. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  258. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
  259. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +219 -424
  260. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  261. package/lib/host-packages/openai/.claude-plugin/marketplace.json +3 -3
  262. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +2 -2
  263. package/lib/host-packages/openai/openplanr/.openplanr-content.json +98 -150
  264. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
  265. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +110 -25
  266. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
  267. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
  268. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +65 -74
  269. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
  270. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
  271. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
  272. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
  273. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
  274. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +374 -61
  275. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
  276. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
  277. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
  278. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
  279. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
  280. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  281. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
  282. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  283. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  284. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  285. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  286. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  287. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  288. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  289. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  290. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
  291. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  292. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
  293. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +219 -424
  294. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  295. package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +2 -1
  296. package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +1 -1
  297. package/lib/host-packages/openai/openplanr/skills/delegate/references/integration-review.md +26 -20
  298. package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +25 -1
  299. package/lib/host-packages/openai/openplanr/skills/delegate/references/run-handoff.md +2 -2
  300. package/lib/host-packages/openai/openplanr/skills/delegate/references/worktree-custody.md +17 -9
  301. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
  302. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
  303. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
  304. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/custody.mjs +217 -10
  305. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
  306. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
  307. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
  308. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
  309. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
  310. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
  311. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
  312. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
  313. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
  314. package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +17 -2
  315. package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +60 -2
  316. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +23 -7
  317. package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +131 -4
  318. package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +17 -2
  319. package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +60 -2
  320. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +23 -7
  321. package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
  322. package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +17 -2
  323. package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +60 -2
  324. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +23 -7
  325. package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
  326. package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +2 -1
  327. package/lib/host-packages/openai/openplanr/skills/investigate/agents/openai.yaml +1 -1
  328. package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +12 -1
  329. package/lib/host-packages/openai/openplanr/skills/investigate/references/fail-first.md +40 -0
  330. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +21 -11
  331. package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +1 -1
  332. package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
  333. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +51 -18
  334. package/lib/host-packages/openai/openplanr/skills/ship/agents/openai.yaml +1 -1
  335. package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +12 -1
  336. package/lib/host-packages/openai/openplanr/skills/ship/references/fail-first.md +40 -0
  337. package/lib/host-packages/openai/openplanr/skills/ship/references/result-contract.md +7 -3
  338. package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +6 -0
  339. package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +1 -1
  340. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +3 -1
  341. package/lib/json-schema.mjs +4 -0
  342. package/package.json +16 -16
  343. package/dist/dashboard/assets/index-BU5fzjyz.css +0 -1
  344. package/dist/dashboard/assets/index-L8qtwqv6.js +0 -572
  345. package/dist/dashboard/assets/index-L8qtwqv6.js.map +0 -1
  346. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
  347. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
  348. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
  349. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
  350. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
  351. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
  352. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
  353. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
  354. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
  355. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
  356. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
  357. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
  358. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
  359. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
  360. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
  361. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
  362. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
  363. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
  364. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
  365. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
  366. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
  367. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
  368. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-transaction.mjs +0 -958
  369. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
  370. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
  371. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
  372. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
  373. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
  374. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
  375. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
  376. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
  377. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
  378. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
  379. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
  380. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
  381. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
  382. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
  383. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
  384. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
  385. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
  386. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
  387. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
  388. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
  389. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
  390. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
  391. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
  392. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
  393. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
  394. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
  395. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
  396. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
  397. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
  398. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
  399. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
  400. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
  401. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
  402. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
  403. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
  404. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
  405. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
  406. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
  407. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
  408. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
  409. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
  410. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
  411. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
@@ -1,5 +1,13 @@
1
+ import { createHash } from 'node:crypto';
1
2
  import { existsSync, lstatSync, readdirSync, readFileSync } from 'node:fs';
2
3
  import path from 'node:path';
4
+ import { validateJson } from '../../../lib/json-schema.mjs';
5
+ import { CLI_COMMAND, PLANNING_FOLDER } from '../../utils/constants.js';
6
+ import { spliceManagedBlock } from '../../utils/splice-managed-block.js';
7
+ import { RuntimeManagerError } from './errors.js';
8
+ import { readRegistry } from './inventory.js';
9
+ import { codexRuntimeRoot, codexSkillsRoot, runtimeRoot } from './paths.js';
10
+ import { bundledHostRoot, bundledRuntimePackage, bundledSkillAssets, caseVariantOf, describePackageDrift, retainedRuntimePackageDrift, } from './runtime-package.js';
3
11
  const KNOWN_STALE_SKILL_FINGERPRINTS = new Map([
4
12
  [
5
13
  `${path.sep}planr-operate${path.sep}SKILL.md`,
@@ -88,4 +96,301 @@ export function planCodexUserBundleTransition(input) {
88
96
  }
89
97
  return { retired: input.existing.filter((file) => !desired.has(file.target)) };
90
98
  }
99
+ function hash(value) {
100
+ return createHash('sha256').update(value).digest('hex');
101
+ }
102
+ const runtimeLockSchema = JSON.parse(readFileSync(new URL('../../../lib/runtime-lock.schema.json', import.meta.url), 'utf8'));
103
+ // Setup and global help remain available when the optional pipeline package is absent.
104
+ export function validateRuntimeLockContract(value) {
105
+ return validateJson(value, runtimeLockSchema);
106
+ }
107
+ export function actionBytes(action) {
108
+ if (action.kind === 'file')
109
+ return action.content;
110
+ const existing = existsSync(action.target) ? readFileSync(action.target, 'utf8') : '';
111
+ const spliced = spliceManagedBlock(existing, action.marker ?? 'runtime', action.content.toString('utf8'));
112
+ return Buffer.from(spliced.endsWith('\n') ? spliced : `${spliced}\n`);
113
+ }
114
+ function runtimeMarker(runtime, pipelineVersion) {
115
+ return Buffer.from(`${JSON.stringify({ schemaVersion: '1.0.0', runtime, pipelineVersion, managedBy: 'openplanr' }, null, 2)}\n`);
116
+ }
117
+ export function normalizeInstallScope(adapter, requested) {
118
+ const supportsUser = adapter.installScopes.includes('user');
119
+ const supportsProject = adapter.installScopes.includes('project');
120
+ if (requested === 'user' && !supportsUser) {
121
+ throw new RuntimeManagerError('E_SCOPE_UNSUPPORTED', `OpenPlanr's ${adapter.id} integration currently requires project scope.`, `Change into your project, then run \`${CLI_COMMAND} setup --runtime ${adapter.id} --scope project\`. To initialize a new project there, run \`${CLI_COMMAND} init\` first.`);
122
+ }
123
+ if (requested === 'project' && !supportsProject) {
124
+ throw new RuntimeManagerError('E_SCOPE_UNSUPPORTED', `${adapter.id} does not support project-scope installation.`);
125
+ }
126
+ if (requested !== 'both')
127
+ return requested;
128
+ if (supportsUser && supportsProject)
129
+ return 'both';
130
+ return supportsProject ? 'project' : 'user';
131
+ }
132
+ export function skillInstallMode(runtime, options, scope) {
133
+ if (runtime === 'claude-code')
134
+ return 'unified-plugin';
135
+ if (runtime === 'cursor')
136
+ return 'project-rule';
137
+ if (scope === 'project' && options.projectSkillMode)
138
+ return options.projectSkillMode;
139
+ return options.skillMode ?? (options.scope === 'project' ? 'project-rule' : 'direct');
140
+ }
141
+ export function skillInstallModes(runtimes, options, scope) {
142
+ return Object.fromEntries(runtimes.map((runtime) => [runtime, skillInstallMode(runtime, options, scope)]));
143
+ }
144
+ export function runtimeLockManifestDigest(input) {
145
+ return `sha256:${hash(JSON.stringify({
146
+ protocol: input.protocolVersion,
147
+ pipelineVersion: input.pipelineVersion,
148
+ adapters: input.adapters,
149
+ ...(input.skillModes ? { skillModes: input.skillModes } : {}),
150
+ }))}`;
151
+ }
152
+ function buildRuntimeLock(options, runtimes, runtimeScopes, registry, pipelineVersion) {
153
+ const adapters = runtimes.map((runtime) => {
154
+ const adapter = registry.adapters.find((entry) => entry.id === runtime);
155
+ if (!adapter)
156
+ throw new RuntimeManagerError('E_ADAPTER_MISSING', `Adapter ${runtime} is absent.`);
157
+ const installScope = normalizeInstallScope(adapter, runtimeScopes[runtime] ?? options.scope ?? 'user');
158
+ return {
159
+ runtime,
160
+ version: adapter.version,
161
+ capabilityLevel: adapter.capabilityLevel,
162
+ installScope,
163
+ };
164
+ });
165
+ const skillModes = skillInstallModes(runtimes, options, 'project');
166
+ const components = {
167
+ cli: options.cliVersion,
168
+ pipeline: pipelineVersion,
169
+ skills: readRegistry().pluginVersion,
170
+ };
171
+ const manifestDigest = runtimeLockManifestDigest({
172
+ protocolVersion: registry.protocolVersion,
173
+ pipelineVersion,
174
+ adapters,
175
+ skillModes,
176
+ });
177
+ const lockPath = path.join(options.projectDir, PLANNING_FOLDER, 'runtime-lock.json');
178
+ if (existsSync(lockPath)) {
179
+ try {
180
+ const existing = JSON.parse(readFileSync(lockPath, 'utf8'));
181
+ if (existing.manifestDigest === manifestDigest &&
182
+ existing.protocolVersion === registry.protocolVersion &&
183
+ JSON.stringify(existing.components) === JSON.stringify(components) &&
184
+ JSON.stringify(existing.adapters) === JSON.stringify(adapters) &&
185
+ validateRuntimeLockContract(existing).length === 0) {
186
+ return readFileSync(lockPath);
187
+ }
188
+ }
189
+ catch {
190
+ // Invalid locks are replaced after backup during setup.
191
+ }
192
+ }
193
+ const lock = {
194
+ schemaVersion: '1.0.0',
195
+ generatedAt: new Date().toISOString(),
196
+ manifestDigest,
197
+ protocolVersion: registry.protocolVersion,
198
+ components,
199
+ adapters,
200
+ skillModes,
201
+ };
202
+ const errors = validateRuntimeLockContract(lock);
203
+ if (errors.length) {
204
+ throw new RuntimeManagerError('E_RUNTIME_LOCK_INVALID', `Generated runtime lock does not match the supported contract: ${errors[0].path} ${errors[0].detail}`, 'Reinstall the OpenPlanr CLI or regenerate its bundled runtime adapters.');
205
+ }
206
+ return Buffer.from(`${JSON.stringify(lock, null, 2)}\n`);
207
+ }
208
+ export function buildActions(options, runtimes, runtimeScopes, retainedProject, packageRestores = []) {
209
+ if (options.minimal)
210
+ return [];
211
+ const { version, registry } = readRegistry();
212
+ if (options.version && options.version !== version) {
213
+ throw new RuntimeManagerError('E_VERSION_UNAVAILABLE', `Installed pipeline ${version} does not match requested ${options.version}.`, `Install an OpenPlanr CLI release that bundles workflow assets ${options.version}, then rerun setup.`);
214
+ }
215
+ const actions = [];
216
+ for (const runtime of runtimes) {
217
+ const adapter = registry.adapters.find((entry) => entry.id === runtime);
218
+ if (!adapter)
219
+ throw new RuntimeManagerError('E_ADAPTER_MISSING', `Adapter ${runtime} is absent.`);
220
+ const scope = normalizeInstallScope(adapter, runtimeScopes[runtime] ?? options.scope ?? 'user');
221
+ const installUser = (scope === 'user' || scope === 'both' || options.userScopeRuntimes?.includes(runtime)) &&
222
+ adapter.installScopes.includes('user');
223
+ const installProject = (scope === 'project' || scope === 'both') && adapter.installScopes.includes('project');
224
+ const userDiscovery = installUser &&
225
+ (runtime === 'claude-code' ||
226
+ (runtime === 'codex' && skillInstallMode(runtime, options) !== 'project-rule'));
227
+ const usesThinEntries = (installProject && !userDiscovery) ||
228
+ (installUser && runtime === 'codex' && skillInstallMode(runtime, options) === 'direct');
229
+ let skillAssets;
230
+ let runtimePackage;
231
+ try {
232
+ runtimePackage = bundledRuntimePackage(runtime);
233
+ skillAssets = bundledSkillAssets(runtime, runtimePackage);
234
+ }
235
+ catch (cause) {
236
+ throw new RuntimeManagerError('E_SKILL_DISTRIBUTION_INVALID', `The generated ${runtime} skill distribution is invalid: ${cause instanceof Error ? cause.message : String(cause)}`, 'Reinstall the OpenPlanr utility CLI or regenerate the host packages.');
237
+ }
238
+ if (usesThinEntries) {
239
+ const drift = retainedRuntimePackageDrift(runtime, runtimePackage);
240
+ if (drift.changed.length > 0 || drift.unexpected.length > 0) {
241
+ if (!options.restoreRuntimePackages) {
242
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_CHANGED', `Files in the ${runtime} runtime package ${runtimePackage.version} were changed outside OpenPlanr: ${describePackageDrift(drift)}.`, `Run \`${CLI_COMMAND} doctor --fix\` to restore the package from this CLI; the changed files are backed up first.`);
243
+ }
244
+ // A restore never deletes a name that could open a packaged file.
245
+ const reviewed = runtimePackage.files.map((file) => file.relativePath);
246
+ const caseVariants = drift.unexpected.filter((file) => caseVariantOf(file, reviewed));
247
+ if (caseVariants.length > 0) {
248
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_CHANGED', `Files in the ${runtime} runtime package ${runtimePackage.version} differ from packaged files only by letter case: ${caseVariants.join(', ')}.`, `OpenPlanr does not delete them. Remove them by hand, then rerun \`${CLI_COMMAND} doctor --fix\`.`);
249
+ }
250
+ packageRestores.push({
251
+ runtime,
252
+ version: runtimePackage.version,
253
+ root: runtimePackage.root,
254
+ ...drift,
255
+ });
256
+ }
257
+ for (const file of runtimePackage.files) {
258
+ actions.push({
259
+ runtime: 'core',
260
+ scope: 'user',
261
+ target: path.join(runtimePackage.root, file.relativePath),
262
+ content: file.content,
263
+ kind: 'file',
264
+ custody: 'runtime-package',
265
+ description: `Retain exact ${runtime} runtime package ${file.relativePath}`,
266
+ });
267
+ }
268
+ }
269
+ if (installUser) {
270
+ if (runtime === 'codex') {
271
+ const mode = skillInstallMode(runtime, options);
272
+ if (mode === 'direct') {
273
+ for (const asset of skillAssets) {
274
+ actions.push({
275
+ runtime,
276
+ scope: 'user',
277
+ target: path.join(codexSkillsRoot(), asset.targetName, asset.relativePath),
278
+ content: asset.content,
279
+ kind: 'file',
280
+ description: `Install Codex skill asset ${asset.targetName}/${asset.relativePath}`,
281
+ });
282
+ }
283
+ }
284
+ if (mode !== 'project-rule') {
285
+ actions.push({
286
+ runtime,
287
+ scope: 'user',
288
+ target: path.join(codexRuntimeRoot(), 'install-modes', 'codex.json'),
289
+ content: Buffer.from(`${JSON.stringify({ schemaVersion: '1.0.0', runtime, mode, sourceVersion: version }, null, 2)}\n`),
290
+ kind: 'file',
291
+ description: `Record Codex ${mode} skill installation mode`,
292
+ });
293
+ }
294
+ }
295
+ actions.push({
296
+ runtime,
297
+ scope: 'user',
298
+ target: path.join(runtime === 'codex' ? codexRuntimeRoot() : runtimeRoot(), 'adapters', `${runtime}.json`),
299
+ content: runtimeMarker(runtime, version),
300
+ kind: 'file',
301
+ description: `Record ${runtime} adapter installation`,
302
+ });
303
+ }
304
+ if (installProject) {
305
+ if (userDiscovery) {
306
+ actions.push({
307
+ runtime,
308
+ scope: 'project',
309
+ target: path.join(options.projectDir, PLANNING_FOLDER, 'runtime-policy', `${runtime}.json`),
310
+ content: Buffer.from(`${JSON.stringify({ schemaVersion: '1.0.0', runtime, discovery: 'user', mode: skillInstallMode(runtime, options), packageDigest: runtimePackage.digest, packageVersion: runtimePackage.version }, null, 2)}\n`),
311
+ kind: 'file',
312
+ custody: 'professional-skill',
313
+ description: `Bind project policy to the existing ${runtime} user discovery`,
314
+ });
315
+ continue;
316
+ }
317
+ if (runtime === 'codex') {
318
+ for (const asset of skillAssets) {
319
+ actions.push({
320
+ runtime,
321
+ scope: 'project',
322
+ target: path.join(options.projectDir, '.agents', 'skills', asset.targetName, asset.relativePath),
323
+ content: asset.content,
324
+ kind: 'file',
325
+ custody: 'professional-skill',
326
+ description: `Install project Codex skill asset ${asset.targetName}/${asset.relativePath}`,
327
+ });
328
+ }
329
+ }
330
+ else if (runtime === 'cursor') {
331
+ for (const asset of skillAssets) {
332
+ actions.push({
333
+ runtime,
334
+ scope: 'project',
335
+ target: path.join(options.projectDir, '.cursor', 'rules', 'openplanr', asset.relativePath),
336
+ content: asset.content,
337
+ kind: 'file',
338
+ custody: 'professional-skill',
339
+ description: `Install Cursor rule asset ${asset.relativePath}`,
340
+ });
341
+ }
342
+ }
343
+ else {
344
+ for (const asset of skillAssets) {
345
+ actions.push({
346
+ runtime,
347
+ scope: 'project',
348
+ target: path.join(options.projectDir, '.claude', 'skills', asset.targetName, asset.relativePath),
349
+ content: asset.content,
350
+ kind: 'file',
351
+ custody: 'professional-skill',
352
+ description: `Install project Claude skill asset ${asset.targetName}/${asset.relativePath}`,
353
+ });
354
+ }
355
+ const agentsRoot = path.join(bundledHostRoot('claude'), 'openplanr', 'agents');
356
+ for (const absolutePath of inventoryRegularFiles(agentsRoot)) {
357
+ const relativePath = path.relative(agentsRoot, absolutePath);
358
+ actions.push({
359
+ runtime,
360
+ scope: 'project',
361
+ target: path.join(options.projectDir, '.claude', 'agents', relativePath),
362
+ content: Buffer.from(readFileSync(absolutePath, 'utf8').replaceAll('${CLAUDE_PLUGIN_ROOT}', runtimePackage.root)),
363
+ kind: 'file',
364
+ custody: 'professional-skill',
365
+ description: `Install project Claude role agent ${relativePath}`,
366
+ });
367
+ }
368
+ }
369
+ }
370
+ }
371
+ const lockRuntimes = [...new Set([...(retainedProject?.runtimes ?? []), ...runtimes])];
372
+ const lockScopes = { ...retainedProject?.runtimeScopes, ...runtimeScopes };
373
+ if (lockRuntimes.some((runtime) => {
374
+ const scope = lockScopes[runtime] ?? options.scope ?? 'user';
375
+ return scope === 'project' || scope === 'both';
376
+ })) {
377
+ actions.push({
378
+ runtime: 'core',
379
+ scope: 'project',
380
+ target: path.join(options.projectDir, PLANNING_FOLDER, 'runtime-lock.json'),
381
+ content: buildRuntimeLock({
382
+ ...options,
383
+ projectSkillMode: options.projectSkillMode ?? retainedProject?.skillModes?.codex,
384
+ }, lockRuntimes, lockScopes, registry, version),
385
+ kind: 'file',
386
+ description: 'Write exact runtime compatibility lock',
387
+ });
388
+ }
389
+ return actions;
390
+ }
391
+ export function inventoryRegularFiles(root) {
392
+ return inventoryManagedSkillFiles(root, (message, recovery) => {
393
+ throw new RuntimeManagerError('E_MIGRATION_CONFLICT', message, recovery);
394
+ });
395
+ }
91
396
  //# sourceMappingURL=install-plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-plan.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/install-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-plan.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/install-plan.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,10 @@ export declare function detectInstalledRuntimes(): Array<{
27
27
  }>;
28
28
  /** Reads the self-contained host-package inventory shipped with the utility CLI. */
29
29
  export declare function listInstalledRuntimeAdapters(): AdapterRegistryEntry[];
30
+ export declare function readRegistry(): {
31
+ root: string;
32
+ version: string;
33
+ pluginVersion: string;
34
+ registry: AdapterRegistry;
35
+ };
30
36
  //# sourceMappingURL=inventory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-manager/inventory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE;QACb,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KAChE,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;CAClC,CAAC,CAAC;AA8DH,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,CActF;AAED,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAC/C,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAMD;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,IAAI,oBAAoB,EAAE,CAMrE"}
1
+ {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-manager/inventory.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE;QACb,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KAChE,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;CAClC,CAAC,CAAC;AA8DH,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,CActF;AAED,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAC/C,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAMD;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,IAAI,oBAAoB,EAAE,CAMrE;AAED,wBAAgB,YAAY,IAAI;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAoBA"}
@@ -2,7 +2,8 @@ import { spawnSync } from 'node:child_process';
2
2
  import { accessSync, constants, existsSync, readFileSync, statSync } from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
- import { PLANNING_FOLDER } from '../../utils/constants.js';
5
+ import { getPackageRoot, PLANNING_FOLDER } from '../../utils/constants.js';
6
+ import { RuntimeManagerError } from './errors.js';
6
7
  export { planningFolderConflict } from '../../../lib/planning-folder.mjs';
7
8
  const executable = {
8
9
  'claude-code': 'claude',
@@ -91,4 +92,18 @@ export function listInstalledRuntimeAdapters() {
91
92
  const registry = JSON.parse(readFileSync(registryPath, 'utf8'));
92
93
  return registry.adapters.map((adapter) => structuredClone(adapter));
93
94
  }
95
+ export function readRegistry() {
96
+ const root = getPackageRoot();
97
+ const registryPath = path.join(root, 'lib', 'host-packages', 'adapter-registry.json');
98
+ if (!existsSync(registryPath)) {
99
+ throw new RuntimeManagerError('E_HOST_PACKAGE_MISSING', 'The OpenPlanr host-package inventory is missing.', 'Reinstall the OpenPlanr utility CLI or run the workspace skill generator.');
100
+ }
101
+ const document = JSON.parse(readFileSync(registryPath, 'utf8'));
102
+ return {
103
+ root,
104
+ version: document.pipelineVersion,
105
+ pluginVersion: document.pluginVersion,
106
+ registry: document,
107
+ };
108
+ }
94
109
  //# sourceMappingURL=inventory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/inventory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { InstallScope } from './global-state.js';
2
+ import type { PlannedFileAction as FileAction } from './install-plan.js';
3
+ import type { RuntimeId } from './inventory.js';
4
+ export declare const RETIRED_CURSOR_WORKFLOW_RULES: readonly ["planr-pipeline.mdc", "planr-pipeline-plan.mdc", "planr-pipeline-ship.mdc"];
5
+ export declare const RETIRED_CURSOR_AGENT_RULES: readonly ["backend-agent.md", "db-agent.md", "designer-agent.md", "devops-agent.md", "doc-gen-agent.md", "entity-scaffold-agent.md", "frontend-agent.md", "qa-agent.md", "specification-agent.md"];
6
+ export declare const RETIRED_CLAUDE_AGENT_HASHES: Readonly<Record<string, ReadonlySet<string>>>;
7
+ export declare function planRetiredCursorProjectRules(projectDir: string, runtimes: RuntimeId[], runtimeScopes: Partial<Record<RuntimeId, InstallScope>>): FileAction[];
8
+ export declare function planRetiredClaudeProjectAgents(projectDir: string, runtimes: RuntimeId[], runtimeScopes: Partial<Record<RuntimeId, InstallScope>>): FileAction[];
9
+ //# sourceMappingURL=legacy-adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-adapters.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-manager/legacy-adapters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,6BAA6B,uFAIhC,CAAC;AAEX,eAAO,MAAM,0BAA0B,oMAU7B,CAAC;AAGX,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAwFrF,CAAC;AA0BF,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,EAAE,EACrB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GACtD,UAAU,EAAE,CAmCd;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,EAAE,EACrB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GACtD,UAAU,EAAE,CAyBd"}
@@ -0,0 +1,187 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, lstatSync, readFileSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { CLI_COMMAND } from '../../utils/constants.js';
5
+ import { RuntimeManagerError } from './errors.js';
6
+ export const RETIRED_CURSOR_WORKFLOW_RULES = [
7
+ 'planr-pipeline.mdc',
8
+ 'planr-pipeline-plan.mdc',
9
+ 'planr-pipeline-ship.mdc',
10
+ ];
11
+ export const RETIRED_CURSOR_AGENT_RULES = [
12
+ 'backend-agent.md',
13
+ 'db-agent.md',
14
+ 'designer-agent.md',
15
+ 'devops-agent.md',
16
+ 'doc-gen-agent.md',
17
+ 'entity-scaffold-agent.md',
18
+ 'frontend-agent.md',
19
+ 'qa-agent.md',
20
+ 'specification-agent.md',
21
+ ];
22
+ // Exact historical source bytes protect edited copies that retain generated headers.
23
+ export const RETIRED_CLAUDE_AGENT_HASHES = {
24
+ 'backend-agent.md': new Set([
25
+ '15e5bbd007bbc8ce6ec523f25395a7086aac12a15078a3cb5fcc2b749d2b31ad',
26
+ '4bb7c07f52679fcf74591e38ef11d72e2c8b06caf9b8824e616de6e0fde6e8b9',
27
+ '88a2fa5cde2d9e8d435cf1db2b338cf879076cc85b6d44353c4e724737666de2',
28
+ 'b4ebed5f3212e4f2f9204e8fcd90abd7c95ba94ca947806362b9b383257c3736',
29
+ 'd2304873971c3298471b9f20996e663c2a9b22d7527ac7b5ce21e11c522ce845',
30
+ 'dbcdc9cf6356ed962b51fa2851cd03440483d728f3c2f7cbc7cde5fe44c10cd9',
31
+ 'fd5fec86ded2c9b0576542955e40b0f4fdd7ead0b99955b4aa50c4ceb7de99c7',
32
+ ]),
33
+ 'db-agent.md': new Set([
34
+ '267d3e2cc28a35fa8ca847d30f8754b5c2c92de5bfcbddd8bf604fcc9e432818',
35
+ '3a1c96edc87e0bf6c2e03887b252949a8a4d4063dbb49b549ccf4559d15b1980',
36
+ '5266b49010553248095018deb458724f93cd6dcd54ac37e1f7d622dc06a34a84',
37
+ '72dd671644b667c5952a7f473b7ea023698285194a90620c35bf79603dd43b03',
38
+ 'b9defd9647e7ca99f5a9ea3d509a2691e3a93f7085297060e8853e3fdb919624',
39
+ 'c996bdf5bdf4bf62c22366e11e8f2680c236630f26af82152cd93e60ffeddae2',
40
+ ]),
41
+ 'designer-agent.md': new Set([
42
+ '397506344856ba03baa2f88d7f76d378bd45f42994ef8261573c16b7ff3d333c',
43
+ '54914437f54a28864e4943055373797708e4745ad25a29847506ce836a68a973',
44
+ '5d8de63992781cc8cfff031b6c583db16ef229c35a10f48ee9dac8b8e4ed2cdf',
45
+ '7e60b0995adc79a20eec76558a31e19797d60e972b47ce5ea8872c764625efee',
46
+ 'bbdf46fe10d67a7ce3efb6b7bd5bb17a8f6ffb6c7e8af2d4e4471701e285e69c',
47
+ 'c28dad5d80165a984f87ae9c663c7020d01b9babd1991347ff29e24e3569fb01',
48
+ 'c4b619aaa76d841347d1f400b3952662ce6ecef84bd266a5aa35489d508dbb7c',
49
+ 'c923cdba07b33dbb202154f0a6ed48c9f56a555b84910c87d5006c08e9b62ff1',
50
+ 'd1765ea268ca8b52c1ac15b4243949cd75e4db44f929fd45b00b0df234f85949',
51
+ 'f15c18fdd183f550a18351ba5fafd897be0e1d532f930995151328dd171f4414',
52
+ ]),
53
+ 'devops-agent.md': new Set([
54
+ '00c2c201320d230e947699e6d5ae9ea4e16766a62267535644e27c558ac2a2a7',
55
+ '7a755a1a8869a3fed586c9222944884be34e7c46a714ce9b36c4072ccec507ab',
56
+ 'a7a0a6601228cfa131766e7bbeba2af0fbfcd037c9addca572f9858d377a1548',
57
+ 'c4bb60c762212aba7b3af8526a7e4a42d4299ae3a97b841a1395988f33b84694',
58
+ 'e9c38e820c0d762856afcac82bfc220f1891bb21586c1393104ef8dd638bc109',
59
+ 'faf485d800cb9e77cb66d41ecbc3d319598d185a68a73b96f0c29639c58ccc02',
60
+ ]),
61
+ 'doc-gen-agent.md': new Set([
62
+ '23f09d3c24da10e3b3d65aa38f0367861a4bea1fec1ca954ddb4bb2a28fbdaf1',
63
+ '40b2c246586923faf2b9a42f348cacd0720840066dcd992e2fc853c4c20a1abf',
64
+ '5a08d63991df7d765f7c86c28472f40d97dea4a451be8af28c5934c07c660f6a',
65
+ '937557e194aaaff7cc8ccce4da7e1b0ed66be9b1b4100ee0ca3526db25b35b47',
66
+ '987e7a9ee67fdbc3c7bc1ee5fa73e5b682169aa8b2da12e9c1d2f3d96086ee51',
67
+ 'efe2a4fa97c5af9649f6142ac082714be004487dbf2844dc3ce630a6140b15dc',
68
+ 'f1da5718235b7403ee4c5cd7e4a9227f533a38d8dcd9c24295aad4e36882b537',
69
+ ]),
70
+ 'entity-scaffold-agent.md': new Set([
71
+ '8c55beaeaa3f0073055d070c0f395ec12f81026c19c50de77123230df5f5dadf',
72
+ '8f270f0015455a937a514e01074d8f686a14312da5d23a836d3f2b454dd5e439',
73
+ 'c1d9d8d3e808e90990119ecbadfa051279a6b0f6052e441b580719daa4d6828c',
74
+ 'e11d58a08d62b5d72158486ced1aeee1ad4832865a6a0689289397be3b3620d8',
75
+ 'f48c2bcf361c1d3a5486cb6f92e9416bc675bc3e6f9bfb31cbde0dc9b40e415c',
76
+ ]),
77
+ 'frontend-agent.md': new Set([
78
+ '0dedae59263899e89977fa1f2ff5f4a73baca78a74a2b4a1d0e31b67df1bb795',
79
+ '131d0cdd6de828fef5eecd4ced4c2617a05c14e57528c623b278b830e5b3600a',
80
+ '143a9c274cbf6185dd1e412c9298e7624f516ba4a13e77021ae361807c95420b',
81
+ '3e2928403ac8d05709c06a2fd9b50f68460b634e97e0f808d6fd7d5312d8e5e3',
82
+ '729ad4dd40724756238d1a5b847cbd80d1ec44b5ccb0ca9722bfae356812bdf1',
83
+ 'd56eb0e44e915b9c0677fc2f6a356ebb476b25b8bbb05450291b5bd57d736fe1',
84
+ 'd97e0aceafe1ba69a9aa30e9a3e08435ea42da0c53d19fc20a2d9c2343e84200',
85
+ ]),
86
+ 'qa-agent.md': new Set([
87
+ '099cb71c2614a9cbd716b9ea3c3dc8a20015577a4ead2baf2d15559873d50061',
88
+ '14961f2223c551261ad57afd1758e6dff75c3613ebda2e1af9541678744fb84e',
89
+ '1f232804251183cee693368edfdfa68d36d27c5cc3dc142e70cb8d0fe3fda142',
90
+ '232637664acf0853751996ac8ff6960bdfbc8f200d7ccdce54ac020a0edc57f0',
91
+ '31f66c811e13ca699c935e1281abfe9014005a82e2081e1179b81ba30fc320e7',
92
+ '50f0e7a053bbd7fdf4732db7fd9cf95171ec383d2162ab9e2f9a09213640cf56',
93
+ '6d3fe82bacda66070ff092cf26475fba62f840f5c3b1d832dffc416c03206427',
94
+ 'cf0f930e5a52f96bce4a8c2d1f2ecae0dd09da92c90f772495338bb47ff395d7',
95
+ 'eef2cc407f35ffcb1b3c0d28e2a47d65146287489f1a27e82d5fc6228155049e',
96
+ 'f70a6dbc51987e1355dcd883eec38c28dbac28c3f07c19eea995bab2c46c2ee1',
97
+ ]),
98
+ 'specification-agent.md': new Set([
99
+ '0c9294eb8006a5afb9248173a4fd1c532a60855d473efeeab2d5451dd7a13639',
100
+ '26d5566614b235317dbb99fb8fb0f4ad7a1a0e850d5312c5490b06cf0393b308',
101
+ '2907d954b1c1f1e522c0571ca7b9b17ae45a1707bee452b840e359c14bcb1f13',
102
+ '2b51b2a6df1b45a8e3d3bc44f1770cf418762cb8a48f7d0d149b32cb46783c3a',
103
+ '3779922b561a348d098b43e48e553b3ad45353c48e966f4f27cf12589f2655d8',
104
+ '61da3e9aa6642c0115eaeef521c7bef011f1b00dcd1ec2ebfd9e2a1edbac7a0c',
105
+ '700573a91f16bf93d1b01c31b11ca9f7d0bcad2002273610f4395eba430831f1',
106
+ 'bb8f3dd48f3f8ce541bf91d00f9041cc60cc1643d1bd4cdd6b8e96aeed68be35',
107
+ 'c1ef8e650b47780db30321d170659bbfcecdce9ba951009d36b6a29e36b77f96',
108
+ 'f5e61f62309a5df19c89c2c174e04226193c151fda49c105fad679ff6f856b3b',
109
+ 'fef7a6bc3fa946d38ac2e5124a0bb087ede2f1491a5eed6af5f74eb334003ff1',
110
+ ]),
111
+ };
112
+ function isRetiredGeneratedCursorRule(target, content) {
113
+ const source = content.toString('utf8');
114
+ const parent = path.basename(path.dirname(target));
115
+ if (parent === 'agents') {
116
+ const [header, provenance] = source.split(/\r?\n/u);
117
+ return (header ===
118
+ '> **Cursor adapter — synthesized from planr-pipeline.** Agent role system prompt (body-only). Used by `/cursor/rules/planr-pipeline.mdc` for Composer subagent dispatch.' &&
119
+ typeof provenance === 'string' &&
120
+ provenance.startsWith('> Source: `planr-pipeline/agents/'));
121
+ }
122
+ const generatedFooter = source.trimEnd().split(/\r?\n/u).at(-1) ?? '';
123
+ const deprecatedAlias = '---\ndescription: Deprecated OpenPlanr pipeline alias\nalwaysApply: false\n---\n\nThis compatibility alias is deprecated. Use the portable `openplanr.mdc` rule.\n';
124
+ return ((generatedFooter.startsWith(`*Generated by \`${CLI_COMMAND} rules generate --target cursor --scope pipeline\`.`) &&
125
+ generatedFooter.endsWith('*')) ||
126
+ source === deprecatedAlias);
127
+ }
128
+ export function planRetiredCursorProjectRules(projectDir, runtimes, runtimeScopes) {
129
+ if (!runtimes.includes('cursor') ||
130
+ !['project', 'both'].includes(runtimeScopes.cursor ?? 'project')) {
131
+ return [];
132
+ }
133
+ const rulesRoot = path.join(projectDir, '.cursor', 'rules');
134
+ const candidates = [
135
+ ...RETIRED_CURSOR_WORKFLOW_RULES.map((name) => path.join(rulesRoot, name)),
136
+ ...RETIRED_CURSOR_AGENT_RULES.map((name) => path.join(rulesRoot, 'agents', name)),
137
+ ];
138
+ return candidates.flatMap((target) => {
139
+ if (!existsSync(target))
140
+ return [];
141
+ const metadata = lstatSync(target);
142
+ if (metadata.isSymbolicLink() || !metadata.isFile()) {
143
+ throw new RuntimeManagerError('E_MIGRATION_CONFLICT', `Retired Cursor workflow path is not one regular generated file: ${target}.`, 'Move the foreign path aside and rerun setup.');
144
+ }
145
+ const content = readFileSync(target);
146
+ if (!isRetiredGeneratedCursorRule(target, content))
147
+ return [];
148
+ return [
149
+ {
150
+ runtime: 'cursor',
151
+ scope: 'project',
152
+ target,
153
+ content,
154
+ kind: 'file',
155
+ description: 'Retire an unreachable generated Cursor workflow copy',
156
+ },
157
+ ];
158
+ });
159
+ }
160
+ export function planRetiredClaudeProjectAgents(projectDir, runtimes, runtimeScopes) {
161
+ if (!runtimes.includes('claude-code') ||
162
+ !['project', 'both'].includes(runtimeScopes['claude-code'] ?? 'project')) {
163
+ return [];
164
+ }
165
+ return Object.entries(RETIRED_CLAUDE_AGENT_HASHES).flatMap(([name, hashes]) => {
166
+ const target = path.join(projectDir, '.claude', 'agents', name);
167
+ if (!existsSync(target))
168
+ return [];
169
+ const metadata = lstatSync(target);
170
+ if (metadata.isSymbolicLink() || !metadata.isFile())
171
+ return [];
172
+ const content = readFileSync(target);
173
+ if (!hashes.has(createHash('sha256').update(content).digest('hex')))
174
+ return [];
175
+ return [
176
+ {
177
+ runtime: 'claude-code',
178
+ scope: 'project',
179
+ target,
180
+ content,
181
+ kind: 'file',
182
+ description: 'Retire a duplicate generated Claude role agent',
183
+ },
184
+ ];
185
+ });
186
+ }
187
+ //# sourceMappingURL=legacy-adapters.js.map