openplanr 2.2640.9 → 2.2641.1

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 (443) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +14 -14
  3. package/bin/openplanr.js +13 -0
  4. package/bin/planr.js +5 -11
  5. package/dist/cli/commands/artifact.d.ts.map +1 -1
  6. package/dist/cli/commands/artifact.js +5 -4
  7. package/dist/cli/commands/artifact.js.map +1 -1
  8. package/dist/cli/commands/checklist.d.ts.map +1 -1
  9. package/dist/cli/commands/checklist.js +4 -3
  10. package/dist/cli/commands/checklist.js.map +1 -1
  11. package/dist/cli/commands/company.d.ts.map +1 -1
  12. package/dist/cli/commands/company.js +3 -2
  13. package/dist/cli/commands/company.js.map +1 -1
  14. package/dist/cli/commands/context.d.ts +1 -1
  15. package/dist/cli/commands/context.js +1 -1
  16. package/dist/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/cli/commands/doctor.js +11 -5
  18. package/dist/cli/commands/doctor.js.map +1 -1
  19. package/dist/cli/commands/export.d.ts +1 -1
  20. package/dist/cli/commands/export.js +1 -1
  21. package/dist/cli/commands/github.d.ts +1 -1
  22. package/dist/cli/commands/github.d.ts.map +1 -1
  23. package/dist/cli/commands/github.js +9 -8
  24. package/dist/cli/commands/github.js.map +1 -1
  25. package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
  26. package/dist/cli/commands/init-deterministic.js +2 -1
  27. package/dist/cli/commands/init-deterministic.js.map +1 -1
  28. package/dist/cli/commands/linear.d.ts +2 -2
  29. package/dist/cli/commands/linear.d.ts.map +1 -1
  30. package/dist/cli/commands/linear.js +28 -27
  31. package/dist/cli/commands/linear.js.map +1 -1
  32. package/dist/cli/commands/operate/registrars/index.d.ts +1 -1
  33. package/dist/cli/commands/operate/registrars/index.d.ts.map +1 -1
  34. package/dist/cli/commands/operate/registrars/index.js +1 -1
  35. package/dist/cli/commands/operate/registrars/index.js.map +1 -1
  36. package/dist/cli/commands/operate/render.d.ts.map +1 -1
  37. package/dist/cli/commands/operate/render.js +2 -1
  38. package/dist/cli/commands/operate/render.js.map +1 -1
  39. package/dist/cli/commands/operate.d.ts.map +1 -1
  40. package/dist/cli/commands/operate.js +2 -1
  41. package/dist/cli/commands/operate.js.map +1 -1
  42. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  43. package/dist/cli/commands/planning-artifacts.js +2 -1
  44. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  45. package/dist/cli/commands/quick/interaction.d.ts +1 -1
  46. package/dist/cli/commands/quick/interaction.d.ts.map +1 -1
  47. package/dist/cli/commands/quick/interaction.js +1 -1
  48. package/dist/cli/commands/quick/interaction.js.map +1 -1
  49. package/dist/cli/commands/quick/project.d.ts +1 -1
  50. package/dist/cli/commands/quick/project.d.ts.map +1 -1
  51. package/dist/cli/commands/quick/project.js +1 -1
  52. package/dist/cli/commands/quick/project.js.map +1 -1
  53. package/dist/cli/commands/report-linter.d.ts +1 -1
  54. package/dist/cli/commands/report-linter.js +1 -1
  55. package/dist/cli/commands/report.d.ts +1 -1
  56. package/dist/cli/commands/report.d.ts.map +1 -1
  57. package/dist/cli/commands/report.js +5 -4
  58. package/dist/cli/commands/report.js.map +1 -1
  59. package/dist/cli/commands/setup.d.ts.map +1 -1
  60. package/dist/cli/commands/setup.js +5 -4
  61. package/dist/cli/commands/setup.js.map +1 -1
  62. package/dist/cli/commands/spec.d.ts +11 -11
  63. package/dist/cli/commands/spec.d.ts.map +1 -1
  64. package/dist/cli/commands/spec.js +34 -33
  65. package/dist/cli/commands/spec.js.map +1 -1
  66. package/dist/cli/commands/sprint-refinement.d.ts.map +1 -1
  67. package/dist/cli/commands/sprint-refinement.js +2 -1
  68. package/dist/cli/commands/sprint-refinement.js.map +1 -1
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +2 -1
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/commands/story/interaction.d.ts +1 -1
  73. package/dist/cli/commands/story/interaction.d.ts.map +1 -1
  74. package/dist/cli/commands/story/interaction.js +1 -1
  75. package/dist/cli/commands/story/interaction.js.map +1 -1
  76. package/dist/cli/commands/story/project.d.ts +1 -1
  77. package/dist/cli/commands/story/project.d.ts.map +1 -1
  78. package/dist/cli/commands/story/project.js +1 -1
  79. package/dist/cli/commands/story/project.js.map +1 -1
  80. package/dist/cli/commands/sync.d.ts +1 -1
  81. package/dist/cli/commands/sync.d.ts.map +1 -1
  82. package/dist/cli/commands/sync.js +3 -2
  83. package/dist/cli/commands/sync.js.map +1 -1
  84. package/dist/cli/commands/template.d.ts +1 -1
  85. package/dist/cli/commands/template.js +10 -10
  86. package/dist/cli/commands/template.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +1 -1
  89. package/dist/cli/commands/upgrade.d.ts +1 -1
  90. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  91. package/dist/cli/commands/upgrade.js +3 -2
  92. package/dist/cli/commands/upgrade.js.map +1 -1
  93. package/dist/cli/commands/voice.d.ts +1 -1
  94. package/dist/cli/commands/voice.js +1 -1
  95. package/dist/cli/index.js +6 -3
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/dashboard/.vite/manifest.json +1 -1
  98. package/dist/dashboard/assets/{index-D7R6tnlX.js → index-DGyC7RDz.js} +115 -115
  99. package/dist/dashboard/assets/index-DGyC7RDz.js.map +1 -0
  100. package/dist/dashboard/dashboard-manifest.json +10 -10
  101. package/dist/dashboard/index.html +1 -1
  102. package/dist/generators/cursor-generator.js +1 -1
  103. package/dist/generators/cursor-generator.js.map +1 -1
  104. package/dist/models/schema.d.ts.map +1 -1
  105. package/dist/models/schema.js +2 -1
  106. package/dist/models/schema.js.map +1 -1
  107. package/dist/models/types.d.ts +12 -12
  108. package/dist/models/types.d.ts.map +1 -1
  109. package/dist/services/artifact-service.d.ts +1 -1
  110. package/dist/services/artifact-service.js +2 -2
  111. package/dist/services/artifact-service.js.map +1 -1
  112. package/dist/services/audit-log-service.d.ts.map +1 -1
  113. package/dist/services/audit-log-service.js +2 -1
  114. package/dist/services/audit-log-service.js.map +1 -1
  115. package/dist/services/claude-plugin-service.d.ts +3 -1
  116. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  117. package/dist/services/claude-plugin-service.js +9 -5
  118. package/dist/services/claude-plugin-service.js.map +1 -1
  119. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  120. package/dist/services/codex-plugin-service.js +3 -2
  121. package/dist/services/codex-plugin-service.js.map +1 -1
  122. package/dist/services/company-auth-service.d.ts.map +1 -1
  123. package/dist/services/company-auth-service.js +2 -1
  124. package/dist/services/company-auth-service.js.map +1 -1
  125. package/dist/services/company-sync-service.d.ts.map +1 -1
  126. package/dist/services/company-sync-service.js +9 -8
  127. package/dist/services/company-sync-service.js.map +1 -1
  128. package/dist/services/config-service.d.ts +6 -1
  129. package/dist/services/config-service.d.ts.map +1 -1
  130. package/dist/services/config-service.js +19 -4
  131. package/dist/services/config-service.js.map +1 -1
  132. package/dist/services/connectors/checkpoint-custody.d.ts.map +1 -1
  133. package/dist/services/connectors/checkpoint-custody.js +4 -1
  134. package/dist/services/connectors/checkpoint-custody.js.map +1 -1
  135. package/dist/services/credentials-service.js +1 -1
  136. package/dist/services/credentials-service.js.map +1 -1
  137. package/dist/services/delivery-status-service.d.ts +1 -1
  138. package/dist/services/delivery-status-service.d.ts.map +1 -1
  139. package/dist/services/delivery-status-service.js +3 -2
  140. package/dist/services/delivery-status-service.js.map +1 -1
  141. package/dist/services/diagram-authoring-service.d.ts.map +1 -1
  142. package/dist/services/diagram-authoring-service.js +2 -1
  143. package/dist/services/diagram-authoring-service.js.map +1 -1
  144. package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
  145. package/dist/services/diagram-pipeline-service.js +6 -5
  146. package/dist/services/diagram-pipeline-service.js.map +1 -1
  147. package/dist/services/distribution-service.d.ts.map +1 -1
  148. package/dist/services/distribution-service.js +4 -3
  149. package/dist/services/distribution-service.js.map +1 -1
  150. package/dist/services/github-service.d.ts +1 -1
  151. package/dist/services/github-service.d.ts.map +1 -1
  152. package/dist/services/github-service.js +7 -6
  153. package/dist/services/github-service.js.map +1 -1
  154. package/dist/services/graph-integrity.d.ts +1 -1
  155. package/dist/services/graph-integrity.js +1 -1
  156. package/dist/services/landing/landing-service.d.ts.map +1 -1
  157. package/dist/services/landing/landing-service.js +4 -1
  158. package/dist/services/landing/landing-service.js.map +1 -1
  159. package/dist/services/landing/receipt-custody.d.ts.map +1 -1
  160. package/dist/services/landing/receipt-custody.js +3 -2
  161. package/dist/services/landing/receipt-custody.js.map +1 -1
  162. package/dist/services/linear/errors.d.ts.map +1 -1
  163. package/dist/services/linear/errors.js +2 -1
  164. package/dist/services/linear/errors.js.map +1 -1
  165. package/dist/services/linear/plan-builders.d.ts +3 -3
  166. package/dist/services/linear/plan-builders.d.ts.map +1 -1
  167. package/dist/services/linear/plan-builders.js +2 -2
  168. package/dist/services/linear/strategy-context.d.ts.map +1 -1
  169. package/dist/services/linear/strategy-context.js +6 -5
  170. package/dist/services/linear/strategy-context.js.map +1 -1
  171. package/dist/services/linear-mapping-service.d.ts +1 -1
  172. package/dist/services/linear-mapping-service.d.ts.map +1 -1
  173. package/dist/services/linear-mapping-service.js +3 -2
  174. package/dist/services/linear-mapping-service.js.map +1 -1
  175. package/dist/services/linear-pull-service.d.ts +1 -1
  176. package/dist/services/linear-pull-service.d.ts.map +1 -1
  177. package/dist/services/linear-pull-service.js +10 -9
  178. package/dist/services/linear-pull-service.js.map +1 -1
  179. package/dist/services/linear-push-service.d.ts +2 -2
  180. package/dist/services/linear-push-service.d.ts.map +1 -1
  181. package/dist/services/linear-push-service.js +17 -16
  182. package/dist/services/linear-push-service.js.map +1 -1
  183. package/dist/services/linear-service.d.ts +2 -2
  184. package/dist/services/linear-service.js +2 -2
  185. package/dist/services/linear-team-service.d.ts.map +1 -1
  186. package/dist/services/linear-team-service.js +2 -1
  187. package/dist/services/linear-team-service.js.map +1 -1
  188. package/dist/services/operate/assignment-packet-service.d.ts.map +1 -1
  189. package/dist/services/operate/assignment-packet-service.js +2 -1
  190. package/dist/services/operate/assignment-packet-service.js.map +1 -1
  191. package/dist/services/operate/delivery-evidence.d.ts.map +1 -1
  192. package/dist/services/operate/delivery-evidence.js +2 -1
  193. package/dist/services/operate/delivery-evidence.js.map +1 -1
  194. package/dist/services/operate/measurement-schedule-service.d.ts.map +1 -1
  195. package/dist/services/operate/measurement-schedule-service.js +2 -1
  196. package/dist/services/operate/measurement-schedule-service.js.map +1 -1
  197. package/dist/services/operate/path-custody.d.ts.map +1 -1
  198. package/dist/services/operate/path-custody.js +2 -1
  199. package/dist/services/operate/path-custody.js.map +1 -1
  200. package/dist/services/operate/pinned-legacy-replay-runner.d.ts.map +1 -1
  201. package/dist/services/operate/pinned-legacy-replay-runner.js +3 -2
  202. package/dist/services/operate/pinned-legacy-replay-runner.js.map +1 -1
  203. package/dist/services/operate/planning-handoff-service.d.ts.map +1 -1
  204. package/dist/services/operate/planning-handoff-service.js +3 -2
  205. package/dist/services/operate/planning-handoff-service.js.map +1 -1
  206. package/dist/services/operate/project-transaction-lock.d.ts.map +1 -1
  207. package/dist/services/operate/project-transaction-lock.js +2 -1
  208. package/dist/services/operate/project-transaction-lock.js.map +1 -1
  209. package/dist/services/operate/repository-read-service.d.ts.map +1 -1
  210. package/dist/services/operate/repository-read-service.js +5 -4
  211. package/dist/services/operate/repository-read-service.js.map +1 -1
  212. package/dist/services/operate/screened-evidence-service.d.ts.map +1 -1
  213. package/dist/services/operate/screened-evidence-service.js +5 -4
  214. package/dist/services/operate/screened-evidence-service.js.map +1 -1
  215. package/dist/services/operate/storage-layout.d.ts.map +1 -1
  216. package/dist/services/operate/storage-layout.js +8 -7
  217. package/dist/services/operate/storage-layout.js.map +1 -1
  218. package/dist/services/operate/store.d.ts.map +1 -1
  219. package/dist/services/operate/store.js +7 -6
  220. package/dist/services/operate/store.js.map +1 -1
  221. package/dist/services/pipeline-package-service.js +1 -1
  222. package/dist/services/pipeline-package-service.js.map +1 -1
  223. package/dist/services/provenance-service.d.ts.map +1 -1
  224. package/dist/services/provenance-service.js +2 -1
  225. package/dist/services/provenance-service.js.map +1 -1
  226. package/dist/services/report-linter-service.js +1 -1
  227. package/dist/services/report-linter-service.js.map +1 -1
  228. package/dist/services/revise-cache-service.d.ts.map +1 -1
  229. package/dist/services/revise-cache-service.js +2 -1
  230. package/dist/services/revise-cache-service.js.map +1 -1
  231. package/dist/services/runtime-manager/doctor.d.ts +13 -0
  232. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  233. package/dist/services/runtime-manager/doctor.js +50 -3
  234. package/dist/services/runtime-manager/doctor.js.map +1 -1
  235. package/dist/services/runtime-manager/inventory.d.ts +1 -0
  236. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  237. package/dist/services/runtime-manager/inventory.js +3 -1
  238. package/dist/services/runtime-manager/inventory.js.map +1 -1
  239. package/dist/services/runtime-manager-service.d.ts +4 -2
  240. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  241. package/dist/services/runtime-manager-service.js +52 -33
  242. package/dist/services/runtime-manager-service.js.map +1 -1
  243. package/dist/services/server-lifecycle-service.d.ts.map +1 -1
  244. package/dist/services/server-lifecycle-service.js +14 -9
  245. package/dist/services/server-lifecycle-service.js.map +1 -1
  246. package/dist/services/spec-service.d.ts +4 -4
  247. package/dist/services/spec-service.d.ts.map +1 -1
  248. package/dist/services/spec-service.js +9 -8
  249. package/dist/services/spec-service.js.map +1 -1
  250. package/dist/services/sprint-refinement-service.d.ts +6 -6
  251. package/dist/services/sprint-refinement-service.d.ts.map +1 -1
  252. package/dist/services/sprint-refinement-service.js +16 -16
  253. package/dist/services/sprint-refinement-service.js.map +1 -1
  254. package/dist/services/template-service.d.ts.map +1 -1
  255. package/dist/services/template-service.js +3 -1
  256. package/dist/services/template-service.js.map +1 -1
  257. package/dist/services/upgrade-offer-service.d.ts +2 -2
  258. package/dist/services/upgrade-offer-service.d.ts.map +1 -1
  259. package/dist/services/upgrade-offer-service.js +4 -3
  260. package/dist/services/upgrade-offer-service.js.map +1 -1
  261. package/dist/services/upgrade-report.d.ts +1 -1
  262. package/dist/services/upgrade-report.d.ts.map +1 -1
  263. package/dist/services/upgrade-report.js +5 -4
  264. package/dist/services/upgrade-report.js.map +1 -1
  265. package/dist/services/upgrade-service.d.ts +5 -5
  266. package/dist/services/upgrade-service.d.ts.map +1 -1
  267. package/dist/services/upgrade-service.js +14 -13
  268. package/dist/services/upgrade-service.js.map +1 -1
  269. package/dist/templates/backlog/backlog-item.md.hbs +1 -1
  270. package/dist/templates/checklists/agile-checklist.md.hbs +6 -6
  271. package/dist/templates/epics/epic.md.hbs +1 -1
  272. package/dist/templates/export/planning-report.html.hbs +1 -1
  273. package/dist/templates/export/planning-report.md.hbs +1 -1
  274. package/dist/templates/features/feature.md.hbs +1 -1
  275. package/dist/templates/guides/estimation.md.hbs +3 -12
  276. package/dist/templates/quick/quick-task.md.hbs +1 -1
  277. package/dist/templates/rules/cursor/create-epic.mdc.hbs +1 -1
  278. package/dist/templates/rules/cursor/create-features.mdc.hbs +1 -1
  279. package/dist/templates/rules/cursor/create-user-story.mdc.hbs +1 -1
  280. package/dist/templates/rules/cursor/openplanr.mdc.hbs +1 -1
  281. package/dist/templates/rules/shared/host-native-guidance.md.hbs +1 -1
  282. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  283. package/dist/templates/spec/spec.md.hbs +1 -1
  284. package/dist/templates/sprints/sprint-tasks.md.hbs +1 -1
  285. package/dist/templates/sprints/sprint.md.hbs +1 -1
  286. package/dist/templates/stories/user-story.md.hbs +1 -1
  287. package/dist/utils/constants.d.ts +8 -4
  288. package/dist/utils/constants.d.ts.map +1 -1
  289. package/dist/utils/constants.js +10 -4
  290. package/dist/utils/constants.js.map +1 -1
  291. package/docs/ARTIFACT_REVIEW.md +13 -13
  292. package/docs/CLI.md +249 -249
  293. package/docs/CROSS_RUNTIME_SETUP.md +33 -33
  294. package/docs/TROUBLESHOOTING.md +28 -28
  295. package/install.ps1 +2 -2
  296. package/install.sh +3 -3
  297. package/lib/host-packages/adapter-registry.json +5 -5
  298. package/lib/host-packages/capability-map.json +2 -2
  299. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  300. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  301. package/lib/host-packages/claude/openplanr/.openplanr-content.json +49 -45
  302. package/lib/host-packages/claude/openplanr/README.md +7 -7
  303. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +2 -2
  304. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  305. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  306. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  307. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  308. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  309. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  310. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  311. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +10 -3
  312. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  313. package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +12 -12
  314. package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +9 -9
  315. package/lib/host-packages/claude/openplanr/skills/artifact/references/design-sharing.md +1 -1
  316. package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +3 -3
  317. package/lib/host-packages/claude/openplanr/skills/dashboard/SKILL.md +1 -1
  318. package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +1 -1
  319. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +1 -1
  320. package/lib/host-packages/claude/openplanr/skills/design/references/team-review.md +1 -1
  321. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +4 -4
  322. package/lib/host-packages/claude/openplanr/skills/design-loop/SKILL.md +1 -1
  323. package/lib/host-packages/claude/openplanr/skills/design-loop/references/team-review.md +1 -1
  324. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +4 -4
  325. package/lib/host-packages/claude/openplanr/skills/design-review/SKILL.md +1 -1
  326. package/lib/host-packages/claude/openplanr/skills/design-review/references/team-review.md +1 -1
  327. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +4 -4
  328. package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +15 -15
  329. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +1 -1
  330. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  331. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +3 -3
  332. package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +9 -9
  333. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +18 -16
  334. package/lib/host-packages/claude/openplanr/skills/land/SKILL.md +2 -2
  335. package/lib/host-packages/claude/openplanr/skills/plan/references/artifact-contract.md +5 -0
  336. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +5 -0
  337. package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +12 -12
  338. package/lib/host-packages/claude/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  339. package/lib/host-packages/claude/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  340. package/lib/host-packages/claude/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  341. package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +1 -1
  342. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +6 -6
  343. package/lib/host-packages/claude/openplanr/skills/sync/scripts/names.mjs +8 -0
  344. package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +3 -2
  345. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +47 -43
  346. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  347. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +9 -9
  348. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/design-sharing.md +1 -1
  349. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +3 -3
  350. package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +12 -12
  351. package/lib/host-packages/cursor/openplanr/rules/planr-dashboard.mdc +1 -1
  352. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +1 -1
  353. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/team-review.md +1 -1
  354. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +4 -4
  355. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/team-review.md +1 -1
  356. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +4 -4
  357. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop.mdc +1 -1
  358. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/team-review.md +1 -1
  359. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +4 -4
  360. package/lib/host-packages/cursor/openplanr/rules/planr-design-review.mdc +1 -1
  361. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +1 -1
  362. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +1 -1
  363. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +1 -1
  364. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +3 -3
  365. package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +15 -15
  366. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +18 -16
  367. package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +9 -9
  368. package/lib/host-packages/cursor/openplanr/rules/planr-land.mdc +2 -2
  369. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/artifact-contract.md +5 -0
  370. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +5 -0
  371. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md +5 -5
  372. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/sprint-formats.md +8 -8
  373. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json +3 -3
  374. package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +12 -12
  375. package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +1 -1
  376. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/names.mjs +8 -0
  377. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +3 -2
  378. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +6 -6
  379. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  380. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  381. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  382. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  383. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  384. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  385. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  386. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +10 -3
  387. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  388. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  389. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  390. package/lib/host-packages/openai/openplanr/.openplanr-content.json +48 -44
  391. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  392. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  393. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  394. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  395. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  396. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  397. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  398. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +10 -3
  399. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  400. package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +12 -12
  401. package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +9 -9
  402. package/lib/host-packages/openai/openplanr/skills/artifact/references/design-sharing.md +1 -1
  403. package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +3 -3
  404. package/lib/host-packages/openai/openplanr/skills/dashboard/SKILL.md +1 -1
  405. package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +1 -1
  406. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +1 -1
  407. package/lib/host-packages/openai/openplanr/skills/design/references/team-review.md +1 -1
  408. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +4 -4
  409. package/lib/host-packages/openai/openplanr/skills/design-loop/SKILL.md +1 -1
  410. package/lib/host-packages/openai/openplanr/skills/design-loop/references/team-review.md +1 -1
  411. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +4 -4
  412. package/lib/host-packages/openai/openplanr/skills/design-review/SKILL.md +1 -1
  413. package/lib/host-packages/openai/openplanr/skills/design-review/references/team-review.md +1 -1
  414. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +4 -4
  415. package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +15 -15
  416. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +1 -1
  417. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  418. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +3 -3
  419. package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +9 -9
  420. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +18 -16
  421. package/lib/host-packages/openai/openplanr/skills/land/SKILL.md +2 -2
  422. package/lib/host-packages/openai/openplanr/skills/plan/references/artifact-contract.md +5 -0
  423. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +5 -0
  424. package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +12 -12
  425. package/lib/host-packages/openai/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  426. package/lib/host-packages/openai/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  427. package/lib/host-packages/openai/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  428. package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +1 -1
  429. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +6 -6
  430. package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +11 -0
  431. package/lib/host-packages/openai/openplanr/skills/sync/scripts/names.mjs +8 -0
  432. package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +3 -2
  433. package/lib/integrations.mjs +3 -2
  434. package/lib/names.d.mts +4 -0
  435. package/lib/names.mjs +8 -0
  436. package/lib/planning-folder.d.mts +14 -0
  437. package/lib/planning-folder.mjs +40 -0
  438. package/package.json +5 -5
  439. package/dist/dashboard/assets/index-D7R6tnlX.js.map +0 -1
  440. package/dist/templates/voice/standup.md.hbs +0 -20
  441. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  442. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  443. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
@@ -20,6 +20,7 @@ import {
20
20
  createChunkedWorkspaceClient
21
21
  } from "./design-chunked-workspace-client.mjs";
22
22
  import {
23
+ PLANNING_FOLDER,
23
24
  ensurePrivateDirectory,
24
25
  readCustody,
25
26
  writeCustody
@@ -80,7 +81,7 @@ function custodyLocation(file, options = {}, { allowMissing = false } = {}) {
80
81
  const root = resolve(options.custodyRoot ?? join(planrHome(env), "design-shares"));
81
82
  let project = current.root;
82
83
  for (let candidate = current.root; dirname(candidate) !== candidate; candidate = dirname(candidate)) {
83
- if (existsSync(join(candidate, ".git")) || existsSync(join(candidate, ".planr"))) {
84
+ if (existsSync(join(candidate, ".git")) || existsSync(join(candidate, PLANNING_FOLDER))) {
84
85
  project = candidate;
85
86
  break;
86
87
  }
@@ -684,7 +685,7 @@ function inside(base, candidate) {
684
685
  return rel === "" || !rel.startsWith("..") && !isAbsolute2(rel);
685
686
  }
686
687
  function parseablePlanrConfig(root) {
687
- const path = join2(root, ".planr", "config.json");
688
+ const path = join2(root, PLANNING_FOLDER, "config.json");
688
689
  if (!existsSync3(path)) return false;
689
690
  try {
690
691
  if (lstatSync2(path).isSymbolicLink()) return false;
@@ -813,7 +814,11 @@ function resolveArtifactReviewDestination({
813
814
  }
814
815
  const projectRoot = findArtifactProjectRoot(cwd, { env });
815
816
  if (projectRoot) {
816
- const directory2 = assertSafeDestination(projectRoot, [".planr", "artifacts", artifactId]);
817
+ const directory2 = assertSafeDestination(projectRoot, [
818
+ PLANNING_FOLDER,
819
+ "artifacts",
820
+ artifactId
821
+ ]);
817
822
  return Object.freeze({
818
823
  kind: "project",
819
824
  artifactId,
@@ -1799,7 +1804,7 @@ async function importDesignShareRecovery(file, { input, ...options } = {}) {
1799
1804
  const pending = custody.pendingCreate ?? custody.pendingMutation.body;
1800
1805
  const destination = join3(root, "uploads", custody.id, pending.operationId);
1801
1806
  if (existsSync4(destination)) {
1802
- const { spoolChunkReader: spoolChunkReader2 } = await import("./design-runtime-support-5cb7531bede8.mjs");
1807
+ const { spoolChunkReader: spoolChunkReader2 } = await import("./design-runtime-support-336900df0d39.mjs");
1803
1808
  const reader = spoolChunkReader2(destination, pending);
1804
1809
  for (const part of pending.manifest.chunks) await reader(part.index);
1805
1810
  } else await copyUploadSpool(custody, destination);
@@ -1,2 +1,2 @@
1
1
  /* generated by scripts/typescript/compile-sources.mjs from studio-shell.source.css */
2
- .studio-toolbar{min-width:0;min-height:54px;gap:12px;font:400 13px / 1.4 var(--planr-font-body, "DM Sans", sans-serif);box-sizing:border-box;display:flex;align-items:center;flex-wrap:nowrap;padding:0 16px;width:100%}.studio-toolbar .planr-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.studio-toolbar .planr-mark{display:inline-flex;flex:none;width:28px;height:28px;color:var(--planr-color-primary)}.studio-toolbar .planr-mark svg{display:block;width:100%;height:100%}.studio-toolbar .design-wordmark{font-weight:500;white-space:nowrap;font-size:13px;color:var(--planr-color-text)}.studio-toolbar .design-wordmark>span{font-weight:600;color:var(--planr-color-primary)}.studio-toolbar .planr-title-block{display:flex;align-items:center;gap:7px;min-width:0}.studio-chrome-mount,.studio-panel-mount{display:contents}.studio-toolbar-leading,.studio-toolbar-trailing{min-width:0;display:flex;align-items:center;gap:8px}.studio-toolbar-leading{flex:1}.studio-toolbar-trailing{justify-content:flex-end}.studio-identity{min-width:0}.studio-toolbar .planr-title-block strong{max-width:min(25vw,300px)}.studio-subtitle,.studio-hierarchy{display:block;overflow:hidden;color:var(--planr-color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.studio-hierarchy a{color:inherit}.studio-type-badge{display:inline-flex;flex:none;align-items:center;padding:2px 5px;border:1px solid var(--planr-color-rule);border-radius:var(--planr-radius-small, 5px);color:var(--planr-color-text-muted);font:500 10px / 1.2 var(--planr-font-body);white-space:nowrap}.studio-button,.studio-menu-content,.studio-tooltip,.studio-panel-dialog{border:1px solid var(--planr-color-rule);background:var(--planr-color-panel);color:var(--planr-color-text)}.studio-button{min-height:32px;display:inline-flex;justify-content:center;align-items:center;gap:6px;border-radius:var(--planr-radius-medium, 8px);padding:0 9px;font:500 13px / 1 var(--planr-font-body);cursor:pointer}.studio-button-ghost{background:transparent;border-color:transparent}.studio-button-primary{background:var(--planr-color-primary);border-color:var(--planr-color-primary);color:var(--planr-color-background)}.studio-button:not(:disabled):hover,.studio-button[aria-pressed=true],.studio-button[aria-expanded=true]{background:var(--planr-color-raised);color:var(--planr-color-primary)}.studio-button:disabled,.studio-menu-item[data-disabled]{opacity:0.45;cursor:not-allowed}.studio-button:focus-visible,.studio-menu-item:focus-visible{outline:2px solid var(--planr-color-primary);outline-offset:2px}.studio-menu{display:inline-flex}.studio-menu-content{min-width:180px;max-width:min(320px,calc(100vw - 16px));max-height:var(--radix-dropdown-menu-content-available-height);overflow-y:auto;padding:5px;z-index:160;border-radius:var(--planr-radius-medium, 8px);box-shadow:0 12px 30px color-mix(in srgb,var(--planr-color-background) 60%,transparent)}.studio-menu-item{width:100%;min-height:34px;padding:8px 10px;display:flex;align-items:center;text-align:left;border:0;border-radius:var(--planr-radius-small, 5px);background:transparent;color:inherit;font:500 13px / 1.3 var(--planr-font-body);cursor:pointer}.studio-menu-item[data-highlighted]{background:var(--planr-color-raised);outline:none;color:var(--planr-color-primary)}.studio-menu-group-start{border-top:1px solid var(--planr-color-rule);border-radius:0}.studio-tooltip{z-index:180;padding:6px 8px;border-radius:var(--planr-radius-small, 5px);font:12px / 1.4 var(--planr-font-body)}.studio-status{min-width:0;display:inline-flex;align-items:center;gap:4px;color:var(--planr-color-text-muted);font:10px / 1.3 var(--planr-font-body)}.studio-status[data-tone=error]{color:var(--planr-color-danger)}.studio-status .studio-button{width:24px;min-height:24px;padding:0}.studio-panel-overlay{position:absolute;inset:0;z-index:170;background:color-mix(in srgb,var(--planr-color-background) 72%,transparent)}.studio-panel-dialog{position:absolute;top:env(safe-area-inset-top,0px);bottom:env(safe-area-inset-bottom,0px);z-index:180;width:min(350px,calc(100% - 32px));box-shadow:0 8px 30px color-mix(in srgb,var(--planr-color-background) 50%,transparent)}.studio-panel-left{left:0}.studio-panel-right{right:0}.studio-panel-close{position:absolute;right:8px;top:8px;z-index:2;width:32px}.studio-panel-content{height:100%;min-height:0}.studio-panel-dialog .design-navigator,.studio-panel-dialog .planr-review-rail,.studio-panel-dialog .diagram-outline{position:static!important;width:100%!important;height:100%!important;max-height:100%!important;transform:none!important;overflow-y:auto;padding-top:42px;border:0}@media(max-width:680px){.studio-toolbar{gap:6px;padding-inline:8px}.studio-toolbar .planr-title-block strong{max-width:30vw}.studio-toolbar .design-wordmark{display:none}.studio-toolbar .design-button-label{display:none}.studio-toolbar .studio-status{max-width:90px}.studio-button{min-height:36px;padding-inline:8px}}.planr-shell[data-studio-framework=react]{--planr-toolbar-height: 60px;grid-template-rows:auto minmax(0,1fr)}.planr-shell[data-studio-framework=react] :is(.design-toolbar,.diagram-toolbar){display:flex;grid-template-columns:none;flex-wrap:wrap;min-height:var(--planr-toolbar-height);height:auto;padding-block:4px;overflow:visible}.planr-shell[data-studio-framework=react] .planr-brand{display:flex;gap:8px;max-width:none;min-width:min-content}.planr-shell[data-studio-framework=react] .studio-toolbar-leading{flex:1;min-width:min-content}.planr-shell[data-studio-framework=react] .studio-toolbar-trailing{flex:0 0 auto;flex-wrap:wrap;max-width:100%}.planr-shell[data-studio-framework=react] .design-toolbar .design-view-picker{display:inline-flex;width:auto;margin:0;border:0}.planr-shell[data-studio-framework=react] .design-export>button{display:inline-flex;width:auto;padding:0 9px}.planr-shell[data-studio-framework=react] .studio-menu-content{position:relative}.planr-shell[data-studio-framework=react] .planr-title-block{display:flex}.planr-shell[data-studio-framework=react]>.planr-workspace{position:relative}@media(max-width:680px){.planr-shell[data-studio-framework=react] .studio-toolbar.planr-toolbar{gap:2px;padding-inline:4px}.planr-shell[data-studio-framework=react] .studio-toolbar-leading,.planr-shell[data-studio-framework=react] .studio-toolbar-trailing{gap:2px}.planr-shell[data-studio-framework=react] .planr-brand{overflow:hidden}.planr-shell[data-studio-framework=react] .studio-identity{display:block;overflow:hidden}.planr-shell[data-studio-framework=react] .planr-mark{width:22px;height:22px}.planr-shell[data-studio-framework=react] .design-view-picker{height:52px;gap:0}.planr-shell[data-studio-framework=react] .design-view-picker button{width:44px;height:100%;padding:0}.planr-shell[data-studio-framework=react] .studio-button{min-width:44px;min-height:44px}.planr-shell[data-studio-framework=react] :is(.design-save-state,.design-preview-state){display:none}.planr-shell[data-studio-framework=react] :is(.design-export,.diagram-export)>button{font-size:0;width:44px;padding:0}.planr-shell[data-studio-framework=react] :is(.design-export,.diagram-export)>button span{font-size:16px}}@media(max-width:960px){.planr-shell[data-studio-framework=react] .design-wordmark{display:none}.planr-shell[data-studio-framework=react] .planr-workspace>:is(.design-navigator,.planr-review-rail){top:0;max-height:100%}}@media(max-width:1240px){.planr-shell[data-studio-framework=react] .planr-title-block{flex-direction:column;align-items:flex-start;gap:1px}.planr-shell[data-studio-framework=react] .planr-title-block strong{max-width:100%;line-height:1.1}.planr-shell[data-studio-framework=react] .design-preview-state{max-width:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.planr-diagram-editor[data-studio-framework=react]{--de-bar-height: 60px;grid-template-rows:auto minmax(0,1fr)}.planr-diagram-editor[data-studio-framework=react] .de-bar{display:block;padding:0;height:auto;overflow:visible;border-bottom:0}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar{min-height:60px;height:auto;flex-wrap:wrap;padding:4px 16px;border:0;border-bottom:1px solid var(--de-rule);background:var(--de-panel)}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar-leading{flex:1;min-width:min-content}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar :is(.de-command-group,.studio-toolbar-trailing){flex:none}.planr-diagram-editor[data-studio-framework=react] .planr-brand{min-width:min-content;overflow:hidden}.planr-diagram-editor[data-studio-framework=react] .de-title{max-width:25vw;line-height:1.35}.planr-diagram-editor[data-studio-framework=react] .studio-subtitle .de-subtitle{line-height:1.3}.planr-diagram-editor[data-studio-framework=react] .de-alert{grid-row:2;top:var(--de-space-3)}.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .design-wordmark,.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .studio-subtitle{display:none}.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .planr-title-block{flex-direction:column;align-items:flex-start;gap:1px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-toolbar{padding:4px 8px;gap:8px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-toolbar-trailing{gap:4px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-menu:has([data-studio-palette-menu]){display:none}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .de-more-menu{top:calc(100% + var(--de-space-2))}[data-studio-framework=react]{position:relative}[data-studio-framework=react] .studio-toolbar .studio-type-badge{display:inline-flex}[data-studio-framework=react] .studio-identity{flex:1;min-width:min-content}[data-studio-framework=react] .studio-toolbar .planr-title-block strong{contain:inline-size;display:block;align-self:stretch;width:auto;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-studio-framework=react] .studio-subtitle{contain:inline-size}[data-studio-framework=react]:has(.studio-panel-dialog) [data-planr-close-feedback],[data-studio-framework=react]:has(.studio-panel-dialog) .planr-review-rail [data-planr-close-feedback]{display:none}.studio-panel-dialog .design-nav-close,.studio-panel-dialog .studio-panel-content .planr-review-rail [data-planr-close-feedback]{display:none}.studio-preserved-control{display:contents}.studio-toolbar fieldset.planr-segment{margin:0;padding:0;min-inline-size:0}.diagram-shell[data-present=true] .studio-toolbar-trailing>:not([data-action=present]):not(.studio-menu){display:none}.diagram-shell[data-studio-framework=react] .diagram-presentation-nav button{color:var(--planr-color-text);background:var(--planr-color-panel)}.diagram-shell[data-studio-framework=react] .diagram-presentation-nav button:enabled:hover{background:var(--planr-color-raised)}@media(max-width:680px){.studio-panel-close{width:44px;min-height:44px}}@media(max-width:700px){.diagram-shell[data-present=true] .studio-toolbar-leading{flex:none}.diagram-shell[data-present=true] .diagram-presentation-nav{min-width:0;flex:1;gap:4px}.diagram-shell[data-present=true] .diagram-presentation-nav>div{min-width:0}}@media(min-width:681px)and (max-width:960px){.diagram-shell[data-studio-framework=react] .studio-toolbar-trailing{gap:4px}}@media(max-width:480px){.studio-toolbar .planr-mark{display:none}}
2
+ .studio-toolbar{min-width:0;min-height:54px;gap:12px;font:400 13px / 1.4 var(--planr-font-body, "DM Sans", sans-serif);box-sizing:border-box;display:flex;align-items:center;flex-wrap:nowrap;padding:0 16px;width:100%}.studio-toolbar .planr-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.studio-toolbar .planr-mark{display:inline-flex;flex:none;width:28px;height:28px;color:var(--planr-color-primary)}.studio-toolbar .planr-mark svg{display:block;width:100%;height:100%}.studio-toolbar .design-wordmark{font-weight:500;white-space:nowrap;font-size:13px;color:var(--planr-color-text)}.studio-toolbar .design-wordmark>span{font-weight:600;color:var(--planr-color-primary)}.studio-toolbar .planr-title-block{display:flex;align-items:center;gap:7px;min-width:0}.studio-chrome-mount,.studio-panel-mount{display:contents}.studio-toolbar-leading,.studio-toolbar-trailing{min-width:0;display:flex;align-items:center;gap:8px}.studio-toolbar-leading{flex:1}.studio-toolbar-trailing{justify-content:flex-end}.studio-identity{min-width:0}.studio-toolbar .planr-title-block strong{max-width:min(25vw,300px)}.studio-subtitle,.studio-hierarchy{display:block;overflow:hidden;color:var(--planr-color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.studio-hierarchy a{color:inherit}.studio-type-badge{display:inline-flex;flex:none;align-items:center;padding:2px 5px;border:1px solid var(--planr-color-rule);border-radius:var(--planr-radius-small, 5px);color:var(--planr-color-text-muted);font:500 10px / 1.2 var(--planr-font-body);white-space:nowrap}.studio-button,.studio-menu-content,.studio-tooltip,.studio-panel-dialog{border:1px solid var(--planr-color-rule);background:var(--planr-color-panel);color:var(--planr-color-text)}.studio-button{min-height:32px;display:inline-flex;justify-content:center;align-items:center;gap:6px;border-radius:var(--planr-radius-medium, 8px);padding:0 9px;font:500 13px / 1 var(--planr-font-body);cursor:pointer}.studio-button-ghost{background:transparent;border-color:transparent}.studio-button-primary{background:var(--planr-color-primary);border-color:var(--planr-color-primary);color:var(--planr-color-background)}.studio-button:not(:disabled):hover,.studio-button[aria-pressed=true],.studio-button[aria-expanded=true]{background:var(--planr-color-raised);color:var(--planr-color-primary)}.studio-button:disabled,.studio-menu-item[data-disabled]{opacity:0.45;cursor:not-allowed}.studio-button:focus-visible,.studio-menu-item:focus-visible{outline:2px solid var(--planr-color-primary);outline-offset:2px}.studio-menu{display:inline-flex}.studio-menu-content{min-width:180px;max-width:min(320px,calc(100vw - 16px));max-height:var(--radix-dropdown-menu-content-available-height);overflow-y:auto;padding:5px;z-index:160;border-radius:var(--planr-radius-medium, 8px);box-shadow:0 12px 30px color-mix(in srgb,var(--planr-color-background) 60%,transparent)}.studio-menu-item{width:100%;min-height:34px;padding:8px 10px;display:flex;align-items:center;text-align:left;border:0;border-radius:var(--planr-radius-small, 5px);background:transparent;color:inherit;font:500 13px / 1.3 var(--planr-font-body);cursor:pointer}.studio-menu-item[data-highlighted]{background:var(--planr-color-raised);outline:none;color:var(--planr-color-primary)}.studio-menu-group-start{border-top:1px solid var(--planr-color-rule);border-radius:0}.studio-tooltip{z-index:180;padding:6px 8px;border-radius:var(--planr-radius-small, 5px);font:12px / 1.4 var(--planr-font-body)}.studio-status{min-width:0;display:inline-flex;align-items:center;gap:4px;color:var(--planr-color-text-muted);font:10px / 1.3 var(--planr-font-body)}.studio-status[data-tone=error]{color:var(--planr-color-danger)}.studio-status .studio-button{width:24px;min-height:24px;padding:0}.studio-panel-overlay{position:absolute;inset:0;z-index:170;background:color-mix(in srgb,var(--planr-color-background) 72%,transparent)}.studio-panel-dialog{position:absolute;top:env(safe-area-inset-top,0px);bottom:env(safe-area-inset-bottom,0px);z-index:180;width:min(350px,calc(100% - 32px));box-shadow:0 8px 30px color-mix(in srgb,var(--planr-color-background) 50%,transparent)}.studio-panel-left{left:0}.studio-panel-right{right:0}.studio-panel-close{position:absolute;right:8px;top:8px;z-index:2;width:32px}.studio-panel-content{height:100%;min-height:0}.studio-panel-dialog .design-navigator,.studio-panel-dialog .planr-review-rail,.studio-panel-dialog .diagram-outline{position:static!important;width:100%!important;height:100%!important;max-height:100%!important;transform:none!important;overflow-y:auto;padding-top:42px;border:0}@media(max-width:680px){.studio-toolbar{gap:6px;padding-inline:8px}.studio-toolbar .planr-title-block strong{max-width:30vw}.studio-toolbar .design-wordmark{display:none}.studio-toolbar .design-button-label{display:none}.studio-toolbar .studio-status{max-width:90px}.studio-button{min-height:36px;padding-inline:8px}}.planr-shell[data-studio-framework=react]{--planr-toolbar-height: 60px;grid-template-rows:auto minmax(0,1fr)}.planr-shell[data-studio-framework=react] :is(.design-toolbar,.diagram-toolbar){display:flex;grid-template-columns:none;flex-wrap:wrap;min-height:var(--planr-toolbar-height);height:auto;padding-block:4px;overflow:visible}.planr-shell[data-studio-framework=react] .planr-brand{display:flex;gap:8px;max-width:none;min-width:min-content}.planr-shell[data-studio-framework=react] .studio-toolbar-leading{flex:1;min-width:min-content}.planr-shell[data-studio-framework=react] .studio-toolbar-trailing{flex:0 0 auto;flex-wrap:wrap;max-width:100%}.planr-shell[data-studio-framework=react] .design-toolbar .design-view-picker{display:inline-flex;width:auto;margin:0;border:0}.planr-shell[data-studio-framework=react] .design-export>button{display:inline-flex;width:auto;padding:0 9px}.planr-shell[data-studio-framework=react] .studio-menu-content{position:relative}.planr-shell[data-studio-framework=react] .planr-title-block{display:flex}.planr-shell[data-studio-framework=react]>.planr-workspace{position:relative}@media(max-width:680px){.planr-shell[data-studio-framework=react] .studio-toolbar.planr-toolbar{gap:2px;padding-inline:4px}.planr-shell[data-studio-framework=react] .studio-toolbar-leading,.planr-shell[data-studio-framework=react] .studio-toolbar-trailing{gap:2px}.planr-shell[data-studio-framework=react] .planr-brand{overflow:hidden}.planr-shell[data-studio-framework=react] .studio-identity{display:block;overflow:hidden}.planr-shell[data-studio-framework=react] .planr-mark{width:22px;height:22px}.planr-shell[data-studio-framework=react] .design-view-picker{height:44px;gap:0}.planr-shell[data-studio-framework=react] .design-view-picker button{width:44px;height:100%;padding:0}.planr-shell[data-studio-framework=react] .studio-button{min-width:44px;min-height:44px}.planr-shell[data-studio-framework=react] :is(.design-save-state,.design-preview-state){display:none}.planr-shell[data-studio-framework=react] :is(.design-export,.diagram-export)>button{font-size:0;width:44px;padding:0}.planr-shell[data-studio-framework=react] :is(.design-export,.diagram-export)>button span{font-size:16px}}@media(max-width:960px){.planr-shell[data-studio-framework=react] .design-wordmark{display:none}.planr-shell[data-studio-framework=react] .planr-workspace>:is(.design-navigator,.planr-review-rail){top:0;max-height:100%}}@media(max-width:1240px){.planr-shell[data-studio-framework=react] .planr-title-block{flex-direction:column;align-items:flex-start;gap:1px}.planr-shell[data-studio-framework=react] .planr-title-block strong{max-width:100%;line-height:1.1}.planr-shell[data-studio-framework=react] .design-preview-state{max-width:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.planr-diagram-editor[data-studio-framework=react]{--de-bar-height: 60px;grid-template-rows:auto minmax(0,1fr)}.planr-diagram-editor[data-studio-framework=react] .de-bar{display:block;padding:0;height:auto;overflow:visible;border-bottom:0}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar{min-height:60px;height:auto;flex-wrap:wrap;padding:4px 16px;border:0;border-bottom:1px solid var(--de-rule);background:var(--de-panel)}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar-leading{flex:1;min-width:min-content}.planr-diagram-editor[data-studio-framework=react] .studio-toolbar :is(.de-command-group,.studio-toolbar-trailing){flex:none}.planr-diagram-editor[data-studio-framework=react] .planr-brand{min-width:min-content;overflow:hidden}.planr-diagram-editor[data-studio-framework=react] .de-title{max-width:25vw;line-height:1.35}.planr-diagram-editor[data-studio-framework=react] .studio-subtitle .de-subtitle{line-height:1.3}.planr-diagram-editor[data-studio-framework=react] .de-alert{grid-row:2;top:var(--de-space-3)}.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .design-wordmark,.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .studio-subtitle{display:none}.planr-diagram-editor[data-studio-framework=react][data-layout~=drawer] .planr-title-block{flex-direction:column;align-items:flex-start;gap:1px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-toolbar{padding:4px 8px;gap:8px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-toolbar-trailing{gap:4px}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .studio-menu:has([data-studio-palette-menu]){display:none}.planr-diagram-editor[data-studio-framework=react][data-layout~=compact] .de-more-menu{top:calc(100% + var(--de-space-2))}[data-studio-framework=react]{position:relative}[data-studio-framework=react] .studio-toolbar .studio-type-badge{display:inline-flex}[data-studio-framework=react] .studio-identity{flex:1;min-width:min-content}[data-studio-framework=react] .studio-toolbar .planr-title-block strong{contain:inline-size;display:block;align-self:stretch;width:auto;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-studio-framework=react] .studio-subtitle{contain:inline-size}[data-studio-framework=react]:has(.studio-panel-dialog) [data-planr-close-feedback],[data-studio-framework=react]:has(.studio-panel-dialog) .planr-review-rail [data-planr-close-feedback]{display:none}.studio-panel-dialog .design-nav-close,.studio-panel-dialog .studio-panel-content .planr-review-rail [data-planr-close-feedback]{display:none}.studio-preserved-control{display:contents}.studio-toolbar fieldset.planr-segment{margin:0;padding:0;min-inline-size:0}.diagram-shell[data-present=true] .studio-toolbar-trailing>:not([data-action=present]):not(.studio-menu){display:none}.diagram-shell[data-studio-framework=react] .diagram-presentation-nav button{color:var(--planr-color-text);background:var(--planr-color-panel)}.diagram-shell[data-studio-framework=react] .diagram-presentation-nav button:enabled:hover{background:var(--planr-color-raised)}@media(max-width:680px){.studio-panel-close{width:44px;min-height:44px}}@media(max-width:700px){.diagram-shell[data-present=true] .studio-toolbar-leading{flex:none}.diagram-shell[data-present=true] .diagram-presentation-nav{min-width:0;flex:1;gap:4px}.diagram-shell[data-present=true] .diagram-presentation-nav>div{min-width:0}}@media(min-width:681px)and (max-width:960px){.diagram-shell[data-studio-framework=react] .studio-toolbar-trailing{gap:4px}}@media(max-width:480px){.studio-toolbar .planr-mark{display:none}}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openplanr/design",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
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.2",
50
- "@openplanr/protocol": "0.10.1"
49
+ "@openplanr/artifact": "0.6.4",
50
+ "@openplanr/protocol": "0.10.2"
51
51
  },
52
52
  "scripts": {
53
53
  "test": "node --test --test-concurrency=2 tests/*.test.mjs",
@@ -62,14 +62,14 @@
62
62
  background: var(--planr-color-raised); color:var(--planr-color-primary);
63
63
  }
64
64
  .design-view-picker {
65
- align-self:stretch; height:auto; gap:8px; padding:0; border:0; border-radius:0; background:transparent;
65
+ align-self:center; height:32px; gap:8px; padding:0; border:0; border-radius:0; background:transparent;
66
66
  }
67
67
  .design-view-picker button {
68
- position:relative; display:flex; align-items:center; gap:7px; height:100%; padding:0 10px; border-radius:0;
68
+ position:relative; display:flex; align-items:center; gap:7px; height:100%; padding:0 10px; border-radius:6px;
69
69
  font-size:12px; font-weight:550;
70
70
  }
71
71
  .design-view-picker button[aria-pressed="true"], .design-view-picker button:not(:disabled):hover {
72
- background:transparent; color:var(--planr-color-text);
72
+ background:var(--planr-color-raised); color:var(--planr-color-text);
73
73
  }
74
74
  .design-view-picker button[aria-pressed="true"]::after {
75
75
  content:""; position:absolute; bottom:0; left:10px; right:10px; height:2px; background:var(--planr-color-primary);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openplanr/protocol",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "type": "module",
5
5
  "description": "Canonical OpenPlanr schemas, registries, typed errors, and portable contract validation",
6
6
  "license": "MIT",
@@ -27,6 +27,14 @@
27
27
  "types": "./src/semver.d.mts",
28
28
  "import": "./src/semver.mjs"
29
29
  },
30
+ "./names": {
31
+ "types": "./src/names.d.mts",
32
+ "import": "./src/names.mjs"
33
+ },
34
+ "./planning-folder": {
35
+ "types": "./src/planning-folder.d.mts",
36
+ "import": "./src/planning-folder.mjs"
37
+ },
30
38
  "./contracts": {
31
39
  "types": "./src/contracts.d.mts",
32
40
  "import": "./src/contracts.mjs"
@@ -1671,6 +1671,9 @@ import {
1671
1671
  import { homedir as homedir2 } from "node:os";
1672
1672
  import { dirname as dirname3, isAbsolute, join as join4, relative, resolve as resolve3 } from "node:path";
1673
1673
 
1674
+ // packages/protocol/src/names.mjs
1675
+ var PLANNING_FOLDER = ".planr";
1676
+
1674
1677
  // packages/artifact/lib/artifact/internal/feedback.mjs
1675
1678
  var FEEDBACK_FILE = "feedback.json";
1676
1679
 
@@ -1839,7 +1842,7 @@ function inside(base, candidate) {
1839
1842
  return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
1840
1843
  }
1841
1844
  function parseablePlanrConfig(root) {
1842
- const path = join4(root, ".planr", "config.json");
1845
+ const path = join4(root, PLANNING_FOLDER, "config.json");
1843
1846
  if (!existsSync2(path)) return false;
1844
1847
  try {
1845
1848
  if (lstatSync3(path).isSymbolicLink()) return false;
@@ -1968,7 +1971,11 @@ function resolveArtifactReviewDestination({
1968
1971
  }
1969
1972
  const projectRoot = findArtifactProjectRoot(cwd, { env });
1970
1973
  if (projectRoot) {
1971
- const directory2 = assertSafeDestination(projectRoot, [".planr", "artifacts", artifactId]);
1974
+ const directory2 = assertSafeDestination(projectRoot, [
1975
+ PLANNING_FOLDER,
1976
+ "artifacts",
1977
+ artifactId
1978
+ ]);
1972
1979
  return Object.freeze({
1973
1980
  kind: "project",
1974
1981
  artifactId,
@@ -2533,7 +2540,7 @@ function custodyLocation(file, options = {}, { allowMissing = false } = {}) {
2533
2540
  const root = resolve5(options.custodyRoot ?? join7(planrHome(env), "design-shares"));
2534
2541
  let project = current.root;
2535
2542
  for (let candidate = current.root; dirname5(candidate) !== candidate; candidate = dirname5(candidate)) {
2536
- if (existsSync4(join7(candidate, ".git")) || existsSync4(join7(candidate, ".planr"))) {
2543
+ if (existsSync4(join7(candidate, ".git")) || existsSync4(join7(candidate, PLANNING_FOLDER))) {
2537
2544
  project = candidate;
2538
2545
  break;
2539
2546
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openplanr/protocol",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "type": "module",
5
5
  "description": "Canonical OpenPlanr schemas, registries, typed errors, and portable contract validation",
6
6
  "license": "MIT",
@@ -27,6 +27,14 @@
27
27
  "types": "./src/semver.d.mts",
28
28
  "import": "./src/semver.mjs"
29
29
  },
30
+ "./names": {
31
+ "types": "./src/names.d.mts",
32
+ "import": "./src/names.mjs"
33
+ },
34
+ "./planning-folder": {
35
+ "types": "./src/planning-folder.d.mts",
36
+ "import": "./src/planning-folder.mjs"
37
+ },
30
38
  "./contracts": {
31
39
  "types": "./src/contracts.d.mts",
32
40
  "import": "./src/contracts.mjs"
@@ -4,14 +4,14 @@
4
4
  "name": "OpenPlanr"
5
5
  },
6
6
  "metadata": {
7
- "version": "2.2640.9",
7
+ "version": "2.2641.1",
8
8
  "description": "Generated local OpenPlanr package."
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "planr",
13
13
  "source": "./openplanr",
14
- "version": "2.2640.9",
14
+ "version": "2.2641.1",
15
15
  "description": "Close the loop from intent to delivery. Plan, design, build, review, and operate from durable context in your repository.",
16
16
  "strict": true
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "2.2640.9",
3
+ "version": "2.2641.1",
4
4
  "description": "Close the loop from intent to delivery. Plan, design, build, review, and operate from durable context in your repository.",
5
5
  "author": {
6
6
  "name": "OpenPlanr",
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": ".codex-plugin/plugin.json",
11
- "digest": "sha256:305653343e5b7e06f3875c4d40ec54a2bd77fffbea4ec24323feb2ab1c2fad2f"
11
+ "digest": "sha256:95d8820c818f4c9b969a8fe8f143e13a57056c7200a8fc662977f1699b78361a"
12
12
  },
13
13
  {
14
14
  "path": "LICENSE",
@@ -48,7 +48,7 @@
48
48
  },
49
49
  {
50
50
  "path": "runtime/design/scripts/design-owner-custody.mjs",
51
- "digest": "sha256:7cf176fdae9febd0f93b98108a8145d0c7f25c08dedcb50d3513d15e79b18c55"
51
+ "digest": "sha256:8361262f71332911d3a0145365b55f64056faf085b420c8c48bf278673b10292"
52
52
  },
53
53
  {
54
54
  "path": "runtime/design/scripts/design-parse5-parser.mjs",
@@ -64,14 +64,14 @@
64
64
  },
65
65
  {
66
66
  "path": "runtime/design/scripts/design-review.mjs",
67
- "digest": "sha256:eaba2f5634118f27865ac29f9ab73a9d13a552d05a9a666e80b95babbe41e318"
67
+ "digest": "sha256:3085283fb94cc2df9bd2630ba9bc0704523efdfda2e0dddb20c1dc5025941140"
68
68
  },
69
69
  {
70
70
  "path": "runtime/design/scripts/design-runtime-home.mjs",
71
71
  "digest": "sha256:c338765d9f5746bf375377bdd25e94490ac31985bab0b0335e49f9faadb5c08b"
72
72
  },
73
73
  {
74
- "path": "runtime/design/scripts/design-runtime-support-5cb7531bede8.mjs",
74
+ "path": "runtime/design/scripts/design-runtime-support-336900df0d39.mjs",
75
75
  "digest": "sha256:6f9b75516c4c4e9468a3d27ba521664604547940a5a76e8d81425b3603a5ea4a"
76
76
  },
77
77
  {
@@ -80,7 +80,7 @@
80
80
  },
81
81
  {
82
82
  "path": "runtime/design/scripts/design-share.mjs",
83
- "digest": "sha256:048d5ea1183302ef6519785d5beac7a80cc9f8d363a3bbbdcdcea5bd6c527186"
83
+ "digest": "sha256:aaf6ff42d68340a27ded2afff52c65a88e524aa66dc06ec52190fb0b94edec29"
84
84
  },
85
85
  {
86
86
  "path": "runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs",
@@ -112,7 +112,7 @@
112
112
  },
113
113
  {
114
114
  "path": "runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css",
115
- "digest": "sha256:1a1dd09e283b5790a222160d0694e81267ee0037b280ab8960de42a8f28c961f"
115
+ "digest": "sha256:4449fbe06d25ae0ad9b2faf15a4558f1c6fc8506d357e785dfdbc8befe69df59"
116
116
  },
117
117
  {
118
118
  "path": "runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json",
@@ -152,7 +152,7 @@
152
152
  },
153
153
  {
154
154
  "path": "runtime/design/scripts/runtime/packages/design/package.json",
155
- "digest": "sha256:a33f15eb7ca18b8f5789b108f15d387d19e3e62d9b63751af6cb23763a7c37ff"
155
+ "digest": "sha256:4aff80438f5003c8ee683bb690d2499d3212631741c3cd4d5d519253603b12af"
156
156
  },
157
157
  {
158
158
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css",
@@ -172,7 +172,7 @@
172
172
  },
173
173
  {
174
174
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.css",
175
- "digest": "sha256:ecb86a5f5517262f8dc71e518163ca55074404c6823d5f989edad5e9f71293af"
175
+ "digest": "sha256:c9291e20366315b23c73e920ec5426d4c33d0880863d39650d4c535956984b1c"
176
176
  },
177
177
  {
178
178
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json",
@@ -248,7 +248,7 @@
248
248
  },
249
249
  {
250
250
  "path": "runtime/design/scripts/runtime/packages/protocol/package.json",
251
- "digest": "sha256:56f591a876dc8b58d3f5af0a9a69573aedd57e9099d1d20bff05a80f7e455afa"
251
+ "digest": "sha256:ee9f53eadd37089605b4b94c927f3743334cbf147e295eb563aa84fb9b3134af"
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:ce5d73d4ae92d1d9924faf616fcc7a49a93f5791d1540005955f457d757650c0"
363
+ "digest": "sha256:0a56528539c52e60bef50970bbfb8ccd761d66668ace739bd72b4c95e13cbe4a"
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:56f591a876dc8b58d3f5af0a9a69573aedd57e9099d1d20bff05a80f7e455afa"
371
+ "digest": "sha256:ee9f53eadd37089605b4b94c927f3743334cbf147e295eb563aa84fb9b3134af"
372
372
  },
373
373
  {
374
374
  "path": "runtime/plan/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-review.schema.json",
@@ -384,19 +384,19 @@
384
384
  },
385
385
  {
386
386
  "path": "skills/artifact/references/company-review.md",
387
- "digest": "sha256:b31bb74501fd24ae388294a4ccf2b9161b128f0288b2fb03c99a762595e0eaba"
387
+ "digest": "sha256:38fbf85cd7e3342de16933debde9ffb39468b283e3c70bdcf2beffdd0ebee147"
388
388
  },
389
389
  {
390
390
  "path": "skills/artifact/references/design-sharing.md",
391
- "digest": "sha256:452c7e11b3366b026d9e90b664980b3b5bdf8359ccb1a2bab090b43ae3addd72"
391
+ "digest": "sha256:ceea82f5e1edcc4bebb6885b1a480c0da96f5e4acaa1f71eba131bdb37c4eb65"
392
392
  },
393
393
  {
394
394
  "path": "skills/artifact/references/diagram-sharing.md",
395
- "digest": "sha256:343e5e6d67e9ec120e5c8095f909e4f18d17afd9f669d9725ab9a99be850d9f7"
395
+ "digest": "sha256:b0cdad978a5ce2a8be27f072361e40cba10eac64d1bed8f224545dd5810c87ea"
396
396
  },
397
397
  {
398
398
  "path": "skills/artifact/SKILL.md",
399
- "digest": "sha256:8fd2fe6fa5da58395d1637d391fa2eaf18131b74f4222ddc5913f07334d829d3"
399
+ "digest": "sha256:2896fed09f4dbbbd741dabf03cec471f5aeae5ed24a66dc294ba3f83b2c5bdd9"
400
400
  },
401
401
  {
402
402
  "path": "skills/browser-qa/agents/openai.yaml",
@@ -552,7 +552,7 @@
552
552
  },
553
553
  {
554
554
  "path": "skills/dashboard/SKILL.md",
555
- "digest": "sha256:9469354c421cede53811344e32c70485afd796631e7a762cb2c8b6ea9837076f"
555
+ "digest": "sha256:7dd4c4f61e67109de3afdc1f8a7ca5ea8532f670cfd607bed6c93388dfb74196"
556
556
  },
557
557
  {
558
558
  "path": "skills/delegate/agents/openai.yaml",
@@ -576,7 +576,7 @@
576
576
  },
577
577
  {
578
578
  "path": "skills/delegate/references/operator-guide.md",
579
- "digest": "sha256:8056ce6cc33f408b474be7daac80d1d2d711f0c7736f1d0c21378ed92e69b9c8"
579
+ "digest": "sha256:026655594840b990ba5c840e58056bfc5be35d719d0b7b6f2c5a629d8eda044d"
580
580
  },
581
581
  {
582
582
  "path": "skills/delegate/references/run-handoff.md",
@@ -720,11 +720,11 @@
720
720
  },
721
721
  {
722
722
  "path": "skills/design-loop/references/team-review.md",
723
- "digest": "sha256:b1a12e06fecc679fe0109c88ceea5c9b461ece215de489a092e2fc212626fe5e"
723
+ "digest": "sha256:086389a07d8c4de55f6c26205d3a2c48befc792e66adc654566e6b7f363e6831"
724
724
  },
725
725
  {
726
726
  "path": "skills/design-loop/references/utilities.md",
727
- "digest": "sha256:1f4b37947e8fc27a43b9d3df564df9a1aec510e24f62c632502ad2734ce4024a"
727
+ "digest": "sha256:df4414af1974d8268af25cfb33ce27d967e0a7f0ca29e75de82b91f3dacf2543"
728
728
  },
729
729
  {
730
730
  "path": "skills/design-loop/schemas/design-document.schema.json",
@@ -744,7 +744,7 @@
744
744
  },
745
745
  {
746
746
  "path": "skills/design-loop/SKILL.md",
747
- "digest": "sha256:185dddf32d4523859a5a9a8c8b048dc1f5aa0ce3da5c924a940957475794b423"
747
+ "digest": "sha256:889727eb6f71c289e210cfa3c34a5740492bf75dbdb23cb26250aaa1226413d7"
748
748
  },
749
749
  {
750
750
  "path": "skills/design-review/agents/openai.yaml",
@@ -784,11 +784,11 @@
784
784
  },
785
785
  {
786
786
  "path": "skills/design-review/references/team-review.md",
787
- "digest": "sha256:b1a12e06fecc679fe0109c88ceea5c9b461ece215de489a092e2fc212626fe5e"
787
+ "digest": "sha256:086389a07d8c4de55f6c26205d3a2c48befc792e66adc654566e6b7f363e6831"
788
788
  },
789
789
  {
790
790
  "path": "skills/design-review/references/utilities.md",
791
- "digest": "sha256:1f4b37947e8fc27a43b9d3df564df9a1aec510e24f62c632502ad2734ce4024a"
791
+ "digest": "sha256:df4414af1974d8268af25cfb33ce27d967e0a7f0ca29e75de82b91f3dacf2543"
792
792
  },
793
793
  {
794
794
  "path": "skills/design-review/schemas/design-document.schema.json",
@@ -808,7 +808,7 @@
808
808
  },
809
809
  {
810
810
  "path": "skills/design-review/SKILL.md",
811
- "digest": "sha256:f87ee49a109c0230caefb5314fa1a50e280b09242365e921e050ce4f1797d471"
811
+ "digest": "sha256:97988d521baec52754f62776d134cd33b76620835c4098bafdd5b7a97ad16ce3"
812
812
  },
813
813
  {
814
814
  "path": "skills/design/agents/openai.yaml",
@@ -848,11 +848,11 @@
848
848
  },
849
849
  {
850
850
  "path": "skills/design/references/team-review.md",
851
- "digest": "sha256:b1a12e06fecc679fe0109c88ceea5c9b461ece215de489a092e2fc212626fe5e"
851
+ "digest": "sha256:086389a07d8c4de55f6c26205d3a2c48befc792e66adc654566e6b7f363e6831"
852
852
  },
853
853
  {
854
854
  "path": "skills/design/references/utilities.md",
855
- "digest": "sha256:1f4b37947e8fc27a43b9d3df564df9a1aec510e24f62c632502ad2734ce4024a"
855
+ "digest": "sha256:df4414af1974d8268af25cfb33ce27d967e0a7f0ca29e75de82b91f3dacf2543"
856
856
  },
857
857
  {
858
858
  "path": "skills/design/schemas/design-document.schema.json",
@@ -872,7 +872,7 @@
872
872
  },
873
873
  {
874
874
  "path": "skills/design/SKILL.md",
875
- "digest": "sha256:ebb0a96c0922003eaa22e5e143476fa1706fc93da7cae631e6b6a22065330e3e"
875
+ "digest": "sha256:83aa5845ce85f6ca3280ef62af2cfcf350e4c94692b9b2b7494dff53f7086ca5"
876
876
  },
877
877
  {
878
878
  "path": "skills/diagram/agents/openai.yaml",
@@ -884,7 +884,7 @@
884
884
  },
885
885
  {
886
886
  "path": "skills/diagram/references/diagram-document.md",
887
- "digest": "sha256:4d303f1e333a0e278bbe4a5dcbefd8c578a6cfda27211f9b1f3b687938ff0248"
887
+ "digest": "sha256:d025bf8bb00b0d8d59f453cae21211a5138e1870ba5503d84cf527756d49c0c2"
888
888
  },
889
889
  {
890
890
  "path": "skills/diagram/references/diagram-fidelity.md",
@@ -892,15 +892,15 @@
892
892
  },
893
893
  {
894
894
  "path": "skills/diagram/references/diagram-intent-to-ir.md",
895
- "digest": "sha256:ff8179545fb8aa017acff90cca81896b295682beacc53a82dac8a32f4fb1e005"
895
+ "digest": "sha256:c6042fdcba4afea6ff2eac710fbb69718cc1c8d2644d0a6941668c437c8d0961"
896
896
  },
897
897
  {
898
898
  "path": "skills/diagram/references/diagram-sharing.md",
899
- "digest": "sha256:343e5e6d67e9ec120e5c8095f909e4f18d17afd9f669d9725ab9a99be850d9f7"
899
+ "digest": "sha256:b0cdad978a5ce2a8be27f072361e40cba10eac64d1bed8f224545dd5810c87ea"
900
900
  },
901
901
  {
902
902
  "path": "skills/diagram/SKILL.md",
903
- "digest": "sha256:9dade944b446053213dec87856b093af21825c820db0842dcf477eaea856a1f8"
903
+ "digest": "sha256:ea0409f295e1ca33e14c03bef00012d89a471c517a76258a9b486cab2d7ddba7"
904
904
  },
905
905
  {
906
906
  "path": "skills/doctor/agents/openai.yaml",
@@ -912,11 +912,11 @@
912
912
  },
913
913
  {
914
914
  "path": "skills/doctor/references/upgrade.md",
915
- "digest": "sha256:415456942ec2c3f13a71ba9ea44e07533a7871acf072d677b59d410ab5704ad8"
915
+ "digest": "sha256:7370954450db1bac591d4f90b58df9022f6edac5b32d05051f93dbd35b0e35b9"
916
916
  },
917
917
  {
918
918
  "path": "skills/doctor/SKILL.md",
919
- "digest": "sha256:638b715bb3909e8127306edfb5910eeab007e3630f96def5c38e36d97eb3a5b0"
919
+ "digest": "sha256:417b1d1f860db1ccd59820c52cfd6873c7feed80a639537c43babea8d76ef3d3"
920
920
  },
921
921
  {
922
922
  "path": "skills/investigate/agents/openai.yaml",
@@ -940,7 +940,7 @@
940
940
  },
941
941
  {
942
942
  "path": "skills/land/SKILL.md",
943
- "digest": "sha256:b46ff8939eaa87aafc8805ce6c3766b24f5f424e160e9ead627c0a359842a631"
943
+ "digest": "sha256:4d578f7c601385d23523dbc065048410542cf81bb98e43e76165bea83782f4cd"
944
944
  },
945
945
  {
946
946
  "path": "skills/openplanr/agents/openai.yaml",
@@ -992,7 +992,7 @@
992
992
  },
993
993
  {
994
994
  "path": "skills/plan/references/artifact-contract.md",
995
- "digest": "sha256:b120b3f0380776db2a126cb05e2cd917710389bdd665574fe014aa5d6222914e"
995
+ "digest": "sha256:79914583ab6f668eaef24cbe8a498a3d08d07da84ec80f5160b42f1719b5c7b2"
996
996
  },
997
997
  {
998
998
  "path": "skills/plan/references/design-handoff.md",
@@ -1092,7 +1092,7 @@
1092
1092
  },
1093
1093
  {
1094
1094
  "path": "skills/spec/references/specification-contract.md",
1095
- "digest": "sha256:c64ae73e88eff2cd2456b418add6de2658a10ec3230e99f37e298386cb8bba4b"
1095
+ "digest": "sha256:55ecc8361256073324d2507097862f6222589e22887dffe5b5e25cdc89199df5"
1096
1096
  },
1097
1097
  {
1098
1098
  "path": "skills/spec/SKILL.md",
@@ -1108,19 +1108,19 @@
1108
1108
  },
1109
1109
  {
1110
1110
  "path": "skills/sprint/references/refinement-contract.md",
1111
- "digest": "sha256:0e2e621c0aa735b756187f28310f265be6a0330c790ecf71e27c527bad13cdcd"
1111
+ "digest": "sha256:2b90da8bdc319fbcac58542b09ce993ef0af47743dbdea859f77a026ecd8c057"
1112
1112
  },
1113
1113
  {
1114
1114
  "path": "skills/sprint/references/sprint-formats.md",
1115
- "digest": "sha256:b2b583dd7de321f11236caefd7dc69a84dffdf16797fb7a86a8c493689073830"
1115
+ "digest": "sha256:547bda354869f1aef26398e77e956f43116305f8dcc0d827dd5fb061ec98504a"
1116
1116
  },
1117
1117
  {
1118
1118
  "path": "skills/sprint/schemas/refinement.schema.json",
1119
- "digest": "sha256:591bcd9bb94bbcbae0e3494f2e7f42a7ea953c90076254c1b290fa399901b690"
1119
+ "digest": "sha256:31494ba4a83f9b7b3aeffc8423135404026ba07c02106be3ba99d6fc75852b12"
1120
1120
  },
1121
1121
  {
1122
1122
  "path": "skills/sprint/SKILL.md",
1123
- "digest": "sha256:df9c0dfea9f75a2037b8999f994c748ecd5a1f82f329c0d7a5a33c020cda5878"
1123
+ "digest": "sha256:575da099d52420caa8d8494058dc8caa2e0dcaa307bd59d7c6043fd59e031e3c"
1124
1124
  },
1125
1125
  {
1126
1126
  "path": "skills/status/agents/openai.yaml",
@@ -1132,7 +1132,7 @@
1132
1132
  },
1133
1133
  {
1134
1134
  "path": "skills/status/SKILL.md",
1135
- "digest": "sha256:506b541635ea378e4c68484769f555db8c22aa110144310749034e8d47b4eade"
1135
+ "digest": "sha256:8d0d04b47ca922cf192610f7443228bd64420d0b3da86d2a8a214c7452f22da9"
1136
1136
  },
1137
1137
  {
1138
1138
  "path": "skills/sync/agents/openai.yaml",
@@ -1140,16 +1140,20 @@
1140
1140
  },
1141
1141
  {
1142
1142
  "path": "skills/sync/openplanr.skill.json",
1143
- "digest": "sha256:91ca70391749f812be9ee23bc5b0d9f95f89846c6775de964e1cb53e250ca5ab"
1143
+ "digest": "sha256:e0578f02e6ec23d948101392972cb373f3601de3d4a53f9fe526b527f0d8147d"
1144
+ },
1145
+ {
1146
+ "path": "skills/sync/scripts/names.mjs",
1147
+ "digest": "sha256:85d080c6a4a0ed31cb60daaf0dc8739a0d9ddbd060e63126d81a3b2b84294bd9"
1144
1148
  },
1145
1149
  {
1146
1150
  "path": "skills/sync/scripts/sync.mjs",
1147
- "digest": "sha256:005397d703d8df70f346a789d15c665a44329449418b39e807bb0dff927153da"
1151
+ "digest": "sha256:37c7caaea892e296aa9329a52f75144355555120d6254e8dd8019d1366907376"
1148
1152
  },
1149
1153
  {
1150
1154
  "path": "skills/sync/SKILL.md",
1151
- "digest": "sha256:72d69b0a4f322b295472c5c455308d0f17dfb113ea62481776f4b2b1ae39e656"
1155
+ "digest": "sha256:9268c5c738cf969e89eb6af980bbe65c2d8eab892f9e64454052681cd09a90ec"
1152
1156
  }
1153
1157
  ],
1154
- "contentDigest": "sha256:78220e265deca384104c78a1bbad0145e460a284b9e4a13e608afb22aa120d21"
1158
+ "contentDigest": "sha256:bf9d32f95831a1ece0e038caa4d9c8e112ad5cd2e83fd56523176459ab701560"
1155
1159
  }
@@ -16,6 +16,12 @@ import {
16
16
  writeFileSync
17
17
  } from "node:fs";
18
18
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
19
+
20
+ // packages/protocol/src/names.mjs
21
+ var PLANNING_FOLDER = ".planr";
22
+ var CLI_COMMAND = "openplanr";
23
+
24
+ // packages/artifact/lib/artifact/owner-custody.mjs
19
25
  function custodyError(message, code = "E_OWNER_CUSTODY_LOCATION") {
20
26
  return Object.assign(new Error(message), { code, status: 400 });
21
27
  }
@@ -115,6 +121,8 @@ function writeCustody(path, record, { label = "Owner" } = {}) {
115
121
  }
116
122
 
117
123
  export {
124
+ PLANNING_FOLDER,
125
+ CLI_COMMAND,
118
126
  ensurePrivateDirectory,
119
127
  readCustody,
120
128
  writeCustody