openplanr 3.1.0 → 3.2.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 (375) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +1 -1
  3. package/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/dist/cli/commands/doctor.js +24 -1
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/groups/delivery.d.ts.map +1 -1
  7. package/dist/cli/commands/groups/delivery.js +2 -0
  8. package/dist/cli/commands/groups/delivery.js.map +1 -1
  9. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  10. package/dist/cli/commands/planning-artifacts.js +22 -12
  11. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  12. package/dist/cli/commands/ship.d.ts +3 -0
  13. package/dist/cli/commands/ship.d.ts.map +1 -0
  14. package/dist/cli/commands/ship.js +65 -0
  15. package/dist/cli/commands/ship.js.map +1 -0
  16. package/dist/dashboard/.vite/manifest.json +1 -1
  17. package/dist/dashboard/assets/{index-G7ygVDGg.js → index-L8qtwqv6.js} +2 -2
  18. package/dist/dashboard/assets/{index-G7ygVDGg.js.map → index-L8qtwqv6.js.map} +1 -1
  19. package/dist/dashboard/dashboard-manifest.json +8 -8
  20. package/dist/dashboard/index.html +1 -1
  21. package/dist/models/schema.d.ts +39 -23
  22. package/dist/models/schema.d.ts.map +1 -1
  23. package/dist/models/schema.js +19 -12
  24. package/dist/models/schema.js.map +1 -1
  25. package/dist/models/types.d.ts +6 -0
  26. package/dist/models/types.d.ts.map +1 -1
  27. package/dist/services/global-install-service.d.ts +24 -0
  28. package/dist/services/global-install-service.d.ts.map +1 -0
  29. package/dist/services/global-install-service.js +68 -0
  30. package/dist/services/global-install-service.js.map +1 -0
  31. package/dist/services/id-service.d.ts +1 -5
  32. package/dist/services/id-service.d.ts.map +1 -1
  33. package/dist/services/id-service.js +1 -34
  34. package/dist/services/id-service.js.map +1 -1
  35. package/dist/services/ship-checks/changes.d.ts +24 -0
  36. package/dist/services/ship-checks/changes.d.ts.map +1 -0
  37. package/dist/services/ship-checks/changes.js +135 -0
  38. package/dist/services/ship-checks/changes.js.map +1 -0
  39. package/dist/services/ship-checks/contract.d.ts +81 -0
  40. package/dist/services/ship-checks/contract.d.ts.map +1 -0
  41. package/dist/services/ship-checks/contract.js +7 -0
  42. package/dist/services/ship-checks/contract.js.map +1 -0
  43. package/dist/services/ship-checks/discover.d.ts +10 -0
  44. package/dist/services/ship-checks/discover.d.ts.map +1 -0
  45. package/dist/services/ship-checks/discover.js +250 -0
  46. package/dist/services/ship-checks/discover.js.map +1 -0
  47. package/dist/services/ship-checks/glob.d.ts +5 -0
  48. package/dist/services/ship-checks/glob.d.ts.map +1 -0
  49. package/dist/services/ship-checks/glob.js +39 -0
  50. package/dist/services/ship-checks/glob.js.map +1 -0
  51. package/dist/services/ship-checks/hooks.d.ts +7 -0
  52. package/dist/services/ship-checks/hooks.d.ts.map +1 -0
  53. package/dist/services/ship-checks/hooks.js +65 -0
  54. package/dist/services/ship-checks/hooks.js.map +1 -0
  55. package/dist/services/ship-checks/packages.d.ts +29 -0
  56. package/dist/services/ship-checks/packages.d.ts.map +1 -0
  57. package/dist/services/ship-checks/packages.js +197 -0
  58. package/dist/services/ship-checks/packages.js.map +1 -0
  59. package/dist/services/ship-checks/related-tests.d.ts +13 -0
  60. package/dist/services/ship-checks/related-tests.d.ts.map +1 -0
  61. package/dist/services/ship-checks/related-tests.js +73 -0
  62. package/dist/services/ship-checks/related-tests.js.map +1 -0
  63. package/dist/services/ship-checks/scope.d.ts +8 -0
  64. package/dist/services/ship-checks/scope.d.ts.map +1 -0
  65. package/dist/services/ship-checks/scope.js +66 -0
  66. package/dist/services/ship-checks/scope.js.map +1 -0
  67. package/dist/services/ship-checks/task-requirements.d.ts +14 -0
  68. package/dist/services/ship-checks/task-requirements.d.ts.map +1 -0
  69. package/dist/services/ship-checks/task-requirements.js +145 -0
  70. package/dist/services/ship-checks/task-requirements.js.map +1 -0
  71. package/dist/services/ship-checks/workflows.d.ts +21 -0
  72. package/dist/services/ship-checks/workflows.d.ts.map +1 -0
  73. package/dist/services/ship-checks/workflows.js +208 -0
  74. package/dist/services/ship-checks/workflows.js.map +1 -0
  75. package/dist/services/template-service.d.ts +2 -0
  76. package/dist/services/template-service.d.ts.map +1 -1
  77. package/dist/services/template-service.js +4 -0
  78. package/dist/services/template-service.js.map +1 -1
  79. package/dist/services/upgrade-service.d.ts +15 -1
  80. package/dist/services/upgrade-service.d.ts.map +1 -1
  81. package/dist/services/upgrade-service.js +102 -13
  82. package/dist/services/upgrade-service.js.map +1 -1
  83. package/dist/utils/slugify.d.ts +1 -8
  84. package/dist/utils/slugify.d.ts.map +1 -1
  85. package/dist/utils/slugify.js +1 -25
  86. package/dist/utils/slugify.js.map +1 -1
  87. package/docs/CLI.md +48 -1
  88. package/lib/backlog-item.d.mts +49 -0
  89. package/lib/backlog-item.mjs +339 -0
  90. package/lib/host-packages/adapter-registry.json +5 -5
  91. package/lib/host-packages/capability-map.json +1 -1
  92. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  93. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  94. package/lib/host-packages/claude/openplanr/.openplanr-content.json +126 -90
  95. package/lib/host-packages/claude/openplanr/CONNECTORS.md +4 -6
  96. package/lib/host-packages/claude/openplanr/README.md +1 -1
  97. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  98. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  99. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +385 -79
  100. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  101. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  102. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  103. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → claude/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs} +1 -1
  104. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  105. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +40 -7
  106. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  107. package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-shared-protocol-contracts-31a760fc.mjs → design-shared-protocol-contracts-b5f28f94.mjs} +284 -45
  108. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  109. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +215 -55
  110. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  111. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +246 -45
  112. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  113. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  114. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  115. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  116. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  117. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  118. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +163 -274
  119. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  120. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  121. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  122. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  123. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  124. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  125. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +115 -240
  126. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  127. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  128. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +215 -0
  129. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2766 -0
  130. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  131. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2170 -0
  132. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  133. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  134. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  135. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  136. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  137. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1583 -0
  138. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  139. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +5 -1
  140. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0}/design-document.schema.json +78 -5
  141. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +247 -45
  142. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +45 -12
  143. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +5 -1
  144. package/lib/host-packages/claude/openplanr/skills/connect/references/connectors.md +4 -6
  145. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +12 -0
  146. package/lib/host-packages/claude/openplanr/skills/design/references/craft.md +14 -3
  147. package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +33 -1
  148. package/lib/host-packages/claude/openplanr/skills/design/references/discovery.md +18 -4
  149. package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +74 -1
  150. package/lib/host-packages/claude/openplanr/skills/design/references/hosted-canvas.md +62 -0
  151. package/lib/host-packages/claude/openplanr/skills/design/references/review.md +46 -1
  152. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +6 -0
  153. package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +78 -5
  154. package/lib/host-packages/claude/openplanr/skills/design-loop/references/craft.md +14 -3
  155. package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +33 -1
  156. package/lib/host-packages/claude/openplanr/skills/design-loop/references/discovery.md +18 -4
  157. package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +74 -1
  158. package/lib/host-packages/claude/openplanr/skills/design-loop/references/review.md +46 -1
  159. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +6 -0
  160. package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +78 -5
  161. package/lib/host-packages/claude/openplanr/skills/design-review/references/craft.md +14 -3
  162. package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +33 -1
  163. package/lib/host-packages/claude/openplanr/skills/design-review/references/discovery.md +18 -4
  164. package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +74 -1
  165. package/lib/host-packages/claude/openplanr/skills/design-review/references/review.md +46 -1
  166. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +6 -0
  167. package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +78 -5
  168. package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +10 -1
  169. package/lib/host-packages/claude/openplanr/skills/investigate/references/findings.md +92 -0
  170. package/lib/host-packages/claude/openplanr/skills/investigate/scripts/backlog-item.mjs +339 -0
  171. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +3 -0
  172. package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +78 -5
  173. package/lib/host-packages/claude/openplanr/skills/share/references/connectors.md +4 -6
  174. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +15 -4
  175. package/lib/host-packages/claude/openplanr/skills/ship/references/findings.md +92 -0
  176. package/lib/host-packages/claude/openplanr/skills/ship/references/result-contract.md +3 -1
  177. package/lib/host-packages/claude/openplanr/skills/ship/scripts/backlog-item.mjs +339 -0
  178. package/lib/host-packages/claude/openplanr/skills/sprint/references/connectors.md +4 -6
  179. package/lib/host-packages/claude/openplanr/skills/status/references/connectors.md +4 -6
  180. package/lib/host-packages/claude/openplanr/skills/sync/references/connectors.md +4 -6
  181. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +125 -89
  182. package/lib/host-packages/cursor/openplanr/CONNECTORS.md +4 -6
  183. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  184. package/lib/host-packages/cursor/openplanr/rules/planr-connect/references/connectors.md +4 -6
  185. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/craft.md +14 -3
  186. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +33 -1
  187. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/discovery.md +18 -4
  188. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +74 -1
  189. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/hosted-canvas.md +62 -0
  190. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/review.md +46 -1
  191. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +6 -0
  192. package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +78 -5
  193. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/craft.md +14 -3
  194. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +33 -1
  195. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/discovery.md +18 -4
  196. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +74 -1
  197. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/review.md +46 -1
  198. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +6 -0
  199. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +78 -5
  200. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/craft.md +14 -3
  201. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +33 -1
  202. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/discovery.md +18 -4
  203. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +74 -1
  204. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/review.md +46 -1
  205. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +6 -0
  206. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +78 -5
  207. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +12 -0
  208. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/findings.md +92 -0
  209. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/scripts/backlog-item.mjs +339 -0
  210. package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +10 -1
  211. package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +78 -5
  212. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +3 -0
  213. package/lib/host-packages/cursor/openplanr/rules/planr-share/references/connectors.md +4 -6
  214. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/findings.md +92 -0
  215. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/result-contract.md +3 -1
  216. package/lib/host-packages/cursor/openplanr/rules/planr-ship/scripts/backlog-item.mjs +339 -0
  217. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +15 -4
  218. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/connectors.md +4 -6
  219. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/connectors.md +4 -6
  220. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/connectors.md +4 -6
  221. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  222. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  223. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +385 -79
  224. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  225. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  226. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  227. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → cursor/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs} +1 -1
  228. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  229. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +40 -7
  230. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  231. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs → cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs} +284 -45
  232. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  233. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +215 -55
  234. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  235. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +246 -45
  236. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  237. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  238. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  239. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  240. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  241. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  242. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +163 -274
  243. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  244. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  245. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  246. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  247. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  248. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  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 +115 -240
  250. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  251. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  252. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +215 -0
  253. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2766 -0
  254. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  255. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2170 -0
  256. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  257. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  258. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  259. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  260. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  261. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1583 -0
  262. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  263. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +5 -1
  264. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0}/design-document.schema.json +78 -5
  265. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +247 -45
  266. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +45 -12
  267. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +5 -1
  268. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  269. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  270. package/lib/host-packages/openai/openplanr/.openplanr-content.json +128 -92
  271. package/lib/host-packages/openai/openplanr/CONNECTORS.md +4 -6
  272. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  273. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  274. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +385 -79
  275. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  276. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  277. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  278. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → openai/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs} +1 -1
  279. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  280. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +40 -7
  281. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  282. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs → openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs} +284 -45
  283. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  284. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +215 -55
  285. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  286. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +246 -45
  287. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  288. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  289. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  290. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  291. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  292. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  293. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +163 -274
  294. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  295. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  296. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  297. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  298. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  299. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  300. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +115 -240
  301. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  302. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  303. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +215 -0
  304. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2766 -0
  305. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  306. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2170 -0
  307. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  308. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  309. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  310. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  311. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  312. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1583 -0
  313. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  314. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +5 -1
  315. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0}/design-document.schema.json +78 -5
  316. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +247 -45
  317. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +45 -12
  318. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +5 -1
  319. package/lib/host-packages/openai/openplanr/skills/connect/references/connectors.md +4 -6
  320. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +12 -0
  321. package/lib/host-packages/openai/openplanr/skills/design/openplanr.skill.json +11 -0
  322. package/lib/host-packages/openai/openplanr/skills/design/references/craft.md +14 -3
  323. package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +33 -1
  324. package/lib/host-packages/openai/openplanr/skills/design/references/discovery.md +18 -4
  325. package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +74 -1
  326. package/lib/host-packages/openai/openplanr/skills/design/references/hosted-canvas.md +62 -0
  327. package/lib/host-packages/openai/openplanr/skills/design/references/review.md +46 -1
  328. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +6 -0
  329. package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +78 -5
  330. package/lib/host-packages/openai/openplanr/skills/design-loop/references/craft.md +14 -3
  331. package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +33 -1
  332. package/lib/host-packages/openai/openplanr/skills/design-loop/references/discovery.md +18 -4
  333. package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +74 -1
  334. package/lib/host-packages/openai/openplanr/skills/design-loop/references/review.md +46 -1
  335. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +6 -0
  336. package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +78 -5
  337. package/lib/host-packages/openai/openplanr/skills/design-review/references/craft.md +14 -3
  338. package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +33 -1
  339. package/lib/host-packages/openai/openplanr/skills/design-review/references/discovery.md +18 -4
  340. package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +74 -1
  341. package/lib/host-packages/openai/openplanr/skills/design-review/references/review.md +46 -1
  342. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +6 -0
  343. package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +78 -5
  344. package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +10 -1
  345. package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +22 -0
  346. package/lib/host-packages/openai/openplanr/skills/investigate/references/findings.md +92 -0
  347. package/lib/host-packages/openai/openplanr/skills/investigate/scripts/backlog-item.mjs +339 -0
  348. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +3 -0
  349. package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +78 -5
  350. package/lib/host-packages/openai/openplanr/skills/share/references/connectors.md +4 -6
  351. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +15 -4
  352. package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +22 -0
  353. package/lib/host-packages/openai/openplanr/skills/ship/references/findings.md +92 -0
  354. package/lib/host-packages/openai/openplanr/skills/ship/references/result-contract.md +3 -1
  355. package/lib/host-packages/openai/openplanr/skills/ship/scripts/backlog-item.mjs +339 -0
  356. package/lib/host-packages/openai/openplanr/skills/sprint/references/connectors.md +4 -6
  357. package/lib/host-packages/openai/openplanr/skills/status/references/connectors.md +4 -6
  358. package/lib/host-packages/openai/openplanr/skills/sync/references/connectors.md +4 -6
  359. package/package.json +3 -3
  360. package/dist/templates/backlog/backlog-item.md.hbs +0 -40
  361. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  362. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  363. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  364. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  365. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
  366. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  367. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  368. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  369. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  370. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
  371. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  372. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  373. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  374. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  375. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
@@ -4578,6 +4578,12 @@ var DIAGRAM_AUTHORING_CAPABILITIES = deepFreeze({
4578
4578
 
4579
4579
  // packages/protocol/src/design-contracts.mjs
4580
4580
  var DESIGN_DOCUMENT_VERSION = "1.0.0";
4581
+ function initialFrameHeight(document) {
4582
+ const fixed = document.frames.flatMap(
4583
+ ({ height }) => typeof height === "number" && Number.isInteger(height) ? [height] : []
4584
+ );
4585
+ return fixed.length ? Math.max(...fixed) : 900;
4586
+ }
4581
4587
  var freeze = (value) => {
4582
4588
  if (value && typeof value === "object") {
4583
4589
  for (const nested of Object.values(value)) freeze(nested);
@@ -4585,7 +4591,22 @@ var freeze = (value) => {
4585
4591
  }
4586
4592
  return value;
4587
4593
  };
4588
- var DESIGN_DOCUMENT_SCHEMA = freeze({
4594
+ var FRAME_SCHEMA = {
4595
+ type: "array",
4596
+ minItems: 1,
4597
+ items: {
4598
+ type: "object",
4599
+ additionalProperties: false,
4600
+ required: ["id", "label", "width", "height"],
4601
+ properties: {
4602
+ id: { $ref: "#/$defs/id" },
4603
+ label: { $ref: "#/$defs/text" },
4604
+ width: { type: "integer", minimum: 1, maximum: 16384 },
4605
+ height: { type: "integer", minimum: 1, maximum: 16384 }
4606
+ }
4607
+ }
4608
+ };
4609
+ var DESIGN_DOCUMENT_V1_SCHEMA = freeze({
4589
4610
  $schema: "https://json-schema.org/draft/2020-12/schema",
4590
4611
  $id: "https://openplanr.dev/schemas/v1.9.0/design-document.schema.json",
4591
4612
  "x-openplanr-contract": { id: "design-document", version: "1.9.0" },
@@ -4636,21 +4657,7 @@ var DESIGN_DOCUMENT_SCHEMA = freeze({
4636
4657
  }
4637
4658
  },
4638
4659
  assets: { $ref: "#/$defs/paths" },
4639
- frames: {
4640
- type: "array",
4641
- minItems: 1,
4642
- items: {
4643
- type: "object",
4644
- additionalProperties: false,
4645
- required: ["id", "label", "width", "height"],
4646
- properties: {
4647
- id: { $ref: "#/$defs/id" },
4648
- label: { $ref: "#/$defs/text" },
4649
- width: { type: "integer", minimum: 1, maximum: 16384 },
4650
- height: { type: "integer", minimum: 1, maximum: 16384 }
4651
- }
4652
- }
4653
- },
4660
+ frames: FRAME_SCHEMA,
4654
4661
  screens: {
4655
4662
  type: "array",
4656
4663
  minItems: 1,
@@ -4726,6 +4733,65 @@ var DESIGN_DOCUMENT_SCHEMA = freeze({
4726
4733
  }
4727
4734
  }
4728
4735
  });
4736
+ var DESIGN_DOCUMENT_SCHEMA = freeze({
4737
+ ...DESIGN_DOCUMENT_V1_SCHEMA,
4738
+ $id: "https://openplanr.dev/schemas/v1.20.0/design-document.schema.json",
4739
+ "x-openplanr-contract": { id: "design-document", version: "1.20.0" },
4740
+ properties: {
4741
+ .../** @type {Record<string, unknown>} */
4742
+ DESIGN_DOCUMENT_V1_SCHEMA.properties,
4743
+ frames: {
4744
+ ...FRAME_SCHEMA,
4745
+ items: {
4746
+ ...FRAME_SCHEMA.items,
4747
+ properties: {
4748
+ ...FRAME_SCHEMA.items.properties,
4749
+ height: { anyOf: [{ type: "integer", minimum: 1, maximum: 16384 }, { const: "auto" }] }
4750
+ }
4751
+ }
4752
+ },
4753
+ layout: {
4754
+ type: "object",
4755
+ additionalProperties: false,
4756
+ properties: {
4757
+ boards: {
4758
+ type: "object",
4759
+ description: "Keys are screenId, screenId/frameId or screenId/frameId/variantId; each ID must exist in the document.",
4760
+ additionalProperties: {
4761
+ type: "object",
4762
+ additionalProperties: false,
4763
+ required: ["x", "y"],
4764
+ properties: {
4765
+ x: { $ref: "#/$defs/coordinate" },
4766
+ y: { $ref: "#/$defs/coordinate" },
4767
+ title: { $ref: "#/$defs/text" }
4768
+ }
4769
+ }
4770
+ },
4771
+ sections: {
4772
+ type: "array",
4773
+ items: {
4774
+ type: "object",
4775
+ additionalProperties: false,
4776
+ required: ["id", "x", "y", "text"],
4777
+ properties: {
4778
+ id: { $ref: "#/$defs/id" },
4779
+ x: { $ref: "#/$defs/coordinate" },
4780
+ y: { $ref: "#/$defs/coordinate" },
4781
+ text: { $ref: "#/$defs/text" },
4782
+ maxW: { type: "integer", minimum: 1, maximum: 16384 }
4783
+ }
4784
+ }
4785
+ }
4786
+ }
4787
+ }
4788
+ },
4789
+ $defs: {
4790
+ .../** @type {Record<string, unknown>} */
4791
+ DESIGN_DOCUMENT_V1_SCHEMA.$defs,
4792
+ coordinate: { type: "number", minimum: -1e7, maximum: 1e7 }
4793
+ }
4794
+ });
4729
4795
  function validateDesignDocument(value) {
4730
4796
  const errors = validateJson(value, DESIGN_DOCUMENT_SCHEMA).map(
4731
4797
  ({ path, detail }) => `${path}: ${detail}`
@@ -4757,6 +4823,36 @@ function validateDesignDocument(value) {
4757
4823
  if (!screenIds.has(id7)) errors.push(`$.variants[${index2}].sources: unknown screen '${id7}'`);
4758
4824
  }
4759
4825
  }
4826
+ const frameIds = new Set(value.frames.map(({ id: id7 }) => id7));
4827
+ const variantIds = new Set(value.variants.map(({ id: id7 }) => id7));
4828
+ for (const [key, position] of Object.entries(value.layout?.boards ?? {})) {
4829
+ const parts = key.split("/");
4830
+ const path = `$.layout.boards['${key}']`;
4831
+ if (parts.length > 3 || parts.some((id7) => !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(id7))) {
4832
+ errors.push(`${path}: expected screenId, screenId/frameId or screenId/frameId/variantId`);
4833
+ } else {
4834
+ const [screenId, frameId, variantId] = parts;
4835
+ if (!screenIds.has(screenId)) errors.push(`${path}: unknown screen '${screenId}'`);
4836
+ if (frameId !== void 0 && !frameIds.has(frameId))
4837
+ errors.push(`${path}: unknown frame '${frameId}'`);
4838
+ if (variantId !== void 0 && !variantIds.has(variantId))
4839
+ errors.push(`${path}: unknown variant '${variantId}'`);
4840
+ }
4841
+ for (const axis of ["x", "y"]) {
4842
+ if (!Number.isFinite(position[axis]))
4843
+ errors.push(`${path}.${axis}: expected a finite coordinate`);
4844
+ }
4845
+ }
4846
+ const sectionIds = /* @__PURE__ */ new Set();
4847
+ for (const [index2, section] of (value.layout?.sections ?? []).entries()) {
4848
+ if (sectionIds.has(section.id))
4849
+ errors.push(`$.layout.sections[${index2}].id: duplicate identity '${section.id}'`);
4850
+ sectionIds.add(section.id);
4851
+ for (const axis of ["x", "y"]) {
4852
+ if (!Number.isFinite(section[axis]))
4853
+ errors.push(`$.layout.sections[${index2}].${axis}: expected a finite coordinate`);
4854
+ }
4855
+ }
4760
4856
  const selected = value.variants.find(({ id: id7 }) => id7 === value.selectedVariant);
4761
4857
  if (!selected) errors.push(`$.selectedVariant: unknown variant '${value.selectedVariant}'`);
4762
4858
  else if (selected.status !== "ready")
@@ -4858,7 +4954,7 @@ var DESIGN_WORKSPACE_SCHEMA = schema4("design-review-workspace", {
4858
4954
  });
4859
4955
  var designProperties = (
4860
4956
  /** @type {Record<string, { items: { properties: Record<string, unknown>; required: string[] } }>} */
4861
- structuredClone(DESIGN_DOCUMENT_SCHEMA.properties)
4957
+ structuredClone(DESIGN_DOCUMENT_V1_SCHEMA.properties)
4862
4958
  );
4863
4959
  for (const key of ["kind", "schemaVersion", "brief", "assets", "designSystem"])
4864
4960
  delete designProperties[key];
@@ -4930,7 +5026,7 @@ var DESIGN_REVIEW_BUNDLE_SCHEMA = {
4930
5026
  },
4931
5027
  ["kind", "schemaVersion", "design", "envelope", "entries", "revision"]
4932
5028
  ),
4933
- $defs: structuredClone(DESIGN_DOCUMENT_SCHEMA.$defs)
5029
+ $defs: structuredClone(DESIGN_DOCUMENT_V1_SCHEMA.$defs)
4934
5030
  };
4935
5031
  function assertWorkspaceContract(value, contract2) {
4936
5032
  const errors = validateJson(value, contract2);
@@ -5052,6 +5148,86 @@ var DIAGRAM_REVIEW_SCHEMAS = Object.freeze({
5052
5148
  "diagram-workspace-event": DIAGRAM_WORKSPACE_EVENT_SCHEMA
5053
5149
  });
5054
5150
 
5151
+ // packages/protocol/src/shape-library-contracts.mjs
5152
+ var closed5 = (properties) => ({
5153
+ type: "object",
5154
+ additionalProperties: false,
5155
+ required: Object.keys(properties),
5156
+ properties
5157
+ });
5158
+ var unit = { type: "number", minimum: 0, maximum: 1 };
5159
+ var extent = { type: "number", exclusiveMinimum: 0, maximum: 1 };
5160
+ var point2 = closed5({ x: unit, y: unit });
5161
+ var identifier = { type: "string", pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$", maxLength: 128 };
5162
+ var version = { type: "string", pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$", maxLength: 32 };
5163
+ var digest6 = { type: "string", pattern: "^sha256:[a-f0-9]{64}$" };
5164
+ var rect = {
5165
+ type: { const: "rect" },
5166
+ x: unit,
5167
+ y: unit,
5168
+ width: extent,
5169
+ height: extent,
5170
+ radius: unit
5171
+ };
5172
+ var ellipse = { type: { const: "ellipse" }, cx: unit, cy: unit, rx: extent, ry: extent };
5173
+ var polygon = {
5174
+ type: { const: "polygon" },
5175
+ points: { type: "array", minItems: 3, maxItems: 32, items: point2 }
5176
+ };
5177
+ var paint = { fill: { enum: ["fill", "none"] }, stroke: { enum: ["stroke", "none"] } };
5178
+ var pixels = { type: "number", minimum: 1, maximum: 1e4 };
5179
+ var SHAPE_REFERENCE_SCHEMA = closed5({
5180
+ packId: identifier,
5181
+ packVersion: version,
5182
+ shapeId: identifier,
5183
+ definitionDigest: digest6
5184
+ });
5185
+ var SHAPE_DEFINITION_SCHEMA = {
5186
+ $schema: "https://json-schema.org/draft/2020-12/schema",
5187
+ $id: "https://openplanr.dev/schemas/v1.21.0/diagram-shape-definition.schema.json",
5188
+ "x-openplanr-contract": { id: "diagram-shape-definition", version: "1.21.0" },
5189
+ ...closed5({
5190
+ ...SHAPE_REFERENCE_SCHEMA.properties,
5191
+ name: { type: "string", minLength: 1, maxLength: 128 },
5192
+ description: { type: "string", maxLength: 1024 },
5193
+ tags: {
5194
+ type: "array",
5195
+ maxItems: 16,
5196
+ uniqueItems: true,
5197
+ items: { type: "string", minLength: 1, maxLength: 64 }
5198
+ },
5199
+ primitives: {
5200
+ type: "array",
5201
+ minItems: 1,
5202
+ maxItems: 32,
5203
+ items: {
5204
+ oneOf: [
5205
+ closed5({ ...rect, ...paint }),
5206
+ closed5({ ...ellipse, ...paint }),
5207
+ closed5({ ...polygon, ...paint }),
5208
+ closed5({
5209
+ type: { const: "line" },
5210
+ x1: unit,
5211
+ y1: unit,
5212
+ x2: unit,
5213
+ y2: unit,
5214
+ stroke: paint.stroke
5215
+ })
5216
+ ]
5217
+ }
5218
+ },
5219
+ attachment: { oneOf: [closed5(rect), closed5(ellipse), closed5(polygon)] },
5220
+ textRegion: closed5({ x: unit, y: unit, width: extent, height: extent }),
5221
+ sizing: closed5({ width: pixels, height: pixels, minWidth: pixels, minHeight: pixels })
5222
+ })
5223
+ };
5224
+ var SHAPE_LIBRARY_SCHEMA = {
5225
+ type: "array",
5226
+ maxItems: 512,
5227
+ items: SHAPE_DEFINITION_SCHEMA
5228
+ };
5229
+ var GEOMETRY_ROUNDOFF = Number.EPSILON * 32;
5230
+
5055
5231
  // packages/protocol/src/studio-presentation-contracts.mjs
5056
5232
  var DIAGRAM_PRESENTATION_SCHEMA = {
5057
5233
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -5116,6 +5292,67 @@ DIAGRAM_REVIEW_BUNDLE_V11_SCHEMA.properties.authored = {
5116
5292
  DIAGRAM_AUTHORING_BUNDLE_V11_SCHEMA
5117
5293
  ]
5118
5294
  };
5295
+ function withShapeReferences(schema6) {
5296
+ const copy = structuredClone(schema6);
5297
+ function visit(value) {
5298
+ if (!value || typeof value !== "object") return;
5299
+ if (value.properties?.shape && value.properties?.strokeWidth && value.properties?.fontSize)
5300
+ value.properties.shapeRef = SHAPE_REFERENCE_SCHEMA;
5301
+ for (const child of Object.values(value)) visit(child);
5302
+ }
5303
+ visit(copy);
5304
+ return copy;
5305
+ }
5306
+ function versionSchema(schema6, name) {
5307
+ return {
5308
+ ...schema6,
5309
+ $id: `https://openplanr.dev/schemas/v1.21.0/${name}.schema.json`,
5310
+ "x-openplanr-contract": { id: name, version: "1.21.0" }
5311
+ };
5312
+ }
5313
+ var DIAGRAM_AUTHORING_BUNDLE_V12_SCHEMA = versionSchema(
5314
+ withShapeReferences(DIAGRAM_AUTHORING_BUNDLE_V11_SCHEMA),
5315
+ "diagram-authoring-bundle"
5316
+ );
5317
+ Object.assign(DIAGRAM_AUTHORING_BUNDLE_V12_SCHEMA.properties, {
5318
+ schemaVersion: { const: "1.2.0" },
5319
+ protocolVersion: { const: "1.21.0" },
5320
+ shapeLibrary: SHAPE_LIBRARY_SCHEMA
5321
+ });
5322
+ DIAGRAM_AUTHORING_BUNDLE_V12_SCHEMA.required = DIAGRAM_AUTHORING_BUNDLE_V12_SCHEMA.required.filter((key) => key !== "studioPresentation").concat("shapeLibrary");
5323
+ var DIAGRAM_EDIT_TRANSACTION_V12_SCHEMA = versionSchema(
5324
+ withShapeReferences(DIAGRAM_EDIT_TRANSACTION_V11_SCHEMA),
5325
+ "diagram-edit-transaction"
5326
+ );
5327
+ Object.assign(DIAGRAM_EDIT_TRANSACTION_V12_SCHEMA.properties, {
5328
+ schemaVersion: { const: "1.2.0" },
5329
+ protocolVersion: { const: "1.21.0" }
5330
+ });
5331
+ DIAGRAM_EDIT_TRANSACTION_V12_SCHEMA.properties.operations.items.oneOf.push({
5332
+ type: "object",
5333
+ additionalProperties: false,
5334
+ required: ["type", "before", "after"],
5335
+ properties: {
5336
+ type: { const: "set-shape-library" },
5337
+ before: { anyOf: [SHAPE_LIBRARY_SCHEMA, { type: "null" }] },
5338
+ after: { anyOf: [SHAPE_LIBRARY_SCHEMA, { type: "null" }] }
5339
+ }
5340
+ });
5341
+ var DIAGRAM_REVIEW_BUNDLE_V12_SCHEMA = versionSchema(
5342
+ structuredClone(DIAGRAM_REVIEW_BUNDLE_SCHEMA),
5343
+ "diagram-review-bundle"
5344
+ );
5345
+ Object.assign(DIAGRAM_REVIEW_BUNDLE_V12_SCHEMA.properties, {
5346
+ schemaVersion: { const: "1.2.0" },
5347
+ presentation: DIAGRAM_PRESENTATION_SCHEMA,
5348
+ authored: {
5349
+ oneOf: [
5350
+ DIAGRAM_AUTHORING_SCHEMAS["diagram-authoring-bundle"],
5351
+ DIAGRAM_AUTHORING_BUNDLE_V11_SCHEMA,
5352
+ DIAGRAM_AUTHORING_BUNDLE_V12_SCHEMA
5353
+ ]
5354
+ }
5355
+ });
5119
5356
 
5120
5357
  // packages/protocol/src/large-object-limits.mjs
5121
5358
  var LARGE_OBJECT_LIMITS = Object.freeze({
@@ -5140,10 +5377,10 @@ var LARGE_OBJECT_VERSION = "2.0.0";
5140
5377
  var LARGE_OBJECT_CHUNK_CONTEXT = "openplanr.encrypted-resource.chunk.v2";
5141
5378
  var RESOURCE_HTML_SEGMENT_ENCODING = "openplanr.html-segments.utf8-v1";
5142
5379
  var id6 = { type: "string", pattern: "^[A-Za-z0-9_-]{22,64}$" };
5143
- var digest6 = { type: "string", pattern: "^[a-f0-9]{64}$" };
5380
+ var digest7 = { type: "string", pattern: "^[a-f0-9]{64}$" };
5144
5381
  var signature3 = { type: "string", pattern: "^[A-Za-z0-9_-]{86}$" };
5145
5382
  var integer2 = (max, min = 0) => ({ type: "integer", minimum: min, maximum: max });
5146
- var closed5 = (properties, required = Object.keys(properties)) => ({
5383
+ var closed6 = (properties, required = Object.keys(properties)) => ({
5147
5384
  type: "object",
5148
5385
  additionalProperties: false,
5149
5386
  properties,
@@ -5151,23 +5388,23 @@ var closed5 = (properties, required = Object.keys(properties)) => ({
5151
5388
  });
5152
5389
  var iso2 = { type: "string", format: "date-time", maxLength: 40 };
5153
5390
  var codec = { enum: ["identity", "deflate-raw"] };
5154
- var publicKey2 = closed5({
5391
+ var publicKey2 = closed6({
5155
5392
  kty: { const: "EC" },
5156
5393
  crv: { const: "P-256" },
5157
5394
  x: { type: "string", pattern: "^[A-Za-z0-9_-]{43}$" },
5158
5395
  y: { type: "string", pattern: "^[A-Za-z0-9_-]{43}$" }
5159
5396
  });
5160
- var keyring = closed5({
5397
+ var keyring = closed6({
5161
5398
  iv: { type: "string", pattern: "^[A-Za-z0-9_-]{16}$" },
5162
5399
  ciphertext: { type: "string", pattern: "^[A-Za-z0-9_-]+$", maxLength: 65536 }
5163
5400
  });
5164
- var chunk = closed5({
5401
+ var chunk = closed6({
5165
5402
  index: integer2(128),
5166
5403
  byteLength: integer2(LARGE_OBJECT_LIMITS.chunkBytes, 17),
5167
5404
  iv: { type: "string", pattern: "^[A-Za-z0-9_-]{16}$" },
5168
- sha256: digest6
5405
+ sha256: digest7
5169
5406
  });
5170
- var catalogSpan = closed5({
5407
+ var catalogSpan = closed6({
5171
5408
  offset: integer2(LARGE_OBJECT_LIMITS.decodedBytes),
5172
5409
  encodedBytes: integer2(LARGE_OBJECT_LIMITS.catalogBytes, 1),
5173
5410
  decodedBytes: integer2(LARGE_OBJECT_LIMITS.catalogBytes, 1),
@@ -5177,7 +5414,7 @@ var schema5 = (name, properties, required) => ({
5177
5414
  $schema: "https://json-schema.org/draft/2020-12/schema",
5178
5415
  $id: `https://openplanr.dev/schemas/v1.17.0/${name}.schema.json`,
5179
5416
  "x-openplanr-contract": { id: name, version: "1.17.0" },
5180
- ...closed5(properties, required)
5417
+ ...closed6(properties, required)
5181
5418
  });
5182
5419
  var ENCRYPTED_RESOURCE_MANIFEST_SCHEMA = schema5("encrypted-resource-manifest", {
5183
5420
  schemaVersion: { const: LARGE_OBJECT_VERSION },
@@ -5199,8 +5436,8 @@ var ENCRYPTED_UPLOAD_PREPARE_SCHEMA = schema5("encrypted-upload-prepare", {
5199
5436
  expectedVersion: integer2(Number.MAX_SAFE_INTEGER),
5200
5437
  epoch: integer2(Number.MAX_SAFE_INTEGER, 1),
5201
5438
  ownerPublicKey: publicKey2,
5202
- ownerAuthHash: digest6,
5203
- reviewerAuthHash: digest6,
5439
+ ownerAuthHash: digest7,
5440
+ reviewerAuthHash: digest7,
5204
5441
  keyring,
5205
5442
  manifest: ENCRYPTED_RESOURCE_MANIFEST_SCHEMA,
5206
5443
  signature: signature3
@@ -5209,7 +5446,7 @@ var ENCRYPTED_UPLOAD_COMMIT_SCHEMA = schema5("encrypted-upload-commit", {
5209
5446
  schemaVersion: { const: LARGE_OBJECT_VERSION },
5210
5447
  workspaceId: id6,
5211
5448
  operationId: id6,
5212
- manifestSha256: digest6,
5449
+ manifestSha256: digest7,
5213
5450
  signature: signature3
5214
5451
  });
5215
5452
  var ENCRYPTED_UPLOAD_RECEIPT_SCHEMA = schema5("encrypted-upload-receipt", {
@@ -5217,7 +5454,7 @@ var ENCRYPTED_UPLOAD_RECEIPT_SCHEMA = schema5("encrypted-upload-receipt", {
5217
5454
  workspaceId: id6,
5218
5455
  operationId: id6,
5219
5456
  revisionId: id6,
5220
- manifestSha256: digest6,
5457
+ manifestSha256: digest7,
5221
5458
  status: { const: "committed" },
5222
5459
  version: integer2(Number.MAX_SAFE_INTEGER, 1),
5223
5460
  committedAt: iso2
@@ -5229,14 +5466,14 @@ var ENCRYPTED_UPLOAD_STATUS_SCHEMA = schema5(
5229
5466
  workspaceId: id6,
5230
5467
  operationId: id6,
5231
5468
  revisionId: id6,
5232
- manifestSha256: digest6,
5469
+ manifestSha256: digest7,
5233
5470
  status: { enum: ["prepared", "committed"] },
5234
5471
  receivedChunks: {
5235
5472
  type: "array",
5236
5473
  maxItems: LARGE_OBJECT_LIMITS.chunks,
5237
- items: closed5({
5474
+ items: closed6({
5238
5475
  index: integer2(128),
5239
- sha256: digest6,
5476
+ sha256: digest7,
5240
5477
  byteLength: integer2(LARGE_OBJECT_LIMITS.chunkBytes, 17)
5241
5478
  })
5242
5479
  },
@@ -5276,14 +5513,14 @@ var ENCRYPTED_WORKSPACE_EVENT_V2_SCHEMA = schema5("encrypted-workspace-event-v2"
5276
5513
  authorPublicKey: publicKey2,
5277
5514
  signature: signature3
5278
5515
  });
5279
- var resource = closed5({
5516
+ var resource = closed6({
5280
5517
  id: { type: "string", pattern: "^r[0-9]{1,4}$" },
5281
5518
  type: { enum: ["html-segments", "shared-block", "asset"] },
5282
5519
  offset: integer2(LARGE_OBJECT_LIMITS.decodedBytes),
5283
5520
  encodedBytes: integer2(LARGE_OBJECT_LIMITS.decodedBytes, 1),
5284
5521
  decodedBytes: integer2(LARGE_OBJECT_LIMITS.decodedBytes, 1),
5285
5522
  codec,
5286
- sha256: digest6
5523
+ sha256: digest7
5287
5524
  });
5288
5525
  var RESOURCE_CATALOG_SCHEMA = schema5("resource-catalog", {
5289
5526
  schemaVersion: { const: "1.0.0" },
@@ -5301,11 +5538,11 @@ var RESOURCE_CATALOG_SCHEMA = schema5("resource-catalog", {
5301
5538
  type: "array",
5302
5539
  minItems: 1,
5303
5540
  maxItems: LARGE_OBJECT_LIMITS.sources,
5304
- items: closed5({
5541
+ items: closed6({
5305
5542
  id: { type: "string", minLength: 1, maxLength: 128 },
5306
5543
  resourceId: resource.properties.id,
5307
5544
  htmlBytes: integer2(LARGE_OBJECT_LIMITS.uniqueHtmlBytes, 1),
5308
- sha256: digest6
5545
+ sha256: digest7
5309
5546
  })
5310
5547
  },
5311
5548
  viewSources: {
@@ -5314,7 +5551,7 @@ var RESOURCE_CATALOG_SCHEMA = schema5("resource-catalog", {
5314
5551
  additionalProperties: { type: "string", minLength: 1, maxLength: 128 }
5315
5552
  }
5316
5553
  });
5317
- RESOURCE_CATALOG_SCHEMA.properties.reviewOf = digest6;
5554
+ RESOURCE_CATALOG_SCHEMA.properties.reviewOf = digest7;
5318
5555
  var companyId = { type: "string", pattern: "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$" };
5319
5556
  var companyScope = { organizationId: companyId, projectId: companyId, artifactId: companyId };
5320
5557
  var COMPANY_RESOURCE_MANIFEST_SCHEMA = schema5("company-resource-manifest", {
@@ -5331,10 +5568,10 @@ var COMPANY_RESOURCE_MANIFEST_SCHEMA = schema5("company-resource-manifest", {
5331
5568
  type: "array",
5332
5569
  minItems: 1,
5333
5570
  maxItems: 128,
5334
- items: closed5({
5571
+ items: closed6({
5335
5572
  index: integer2(127),
5336
5573
  byteLength: integer2(LARGE_OBJECT_LIMITS.chunkBytes, 1),
5337
- sha256: digest6
5574
+ sha256: digest7
5338
5575
  })
5339
5576
  }
5340
5577
  });
@@ -5349,7 +5586,7 @@ var COMPANY_RESOURCE_UPLOAD_RECEIPT_SCHEMA = schema5("company-resource-upload-re
5349
5586
  ...companyScope,
5350
5587
  operationId: id6,
5351
5588
  revisionId: id6,
5352
- manifestSha256: digest6,
5589
+ manifestSha256: digest7,
5353
5590
  contentDigest: { type: "string", pattern: "^sha256:[a-f0-9]{64}$" },
5354
5591
  status: { const: "committed" },
5355
5592
  committedAt: iso2
@@ -5363,9 +5600,9 @@ var COMPANY_RESOURCE_UPLOAD_STATUS_SCHEMA = schema5(
5363
5600
  receivedChunks: {
5364
5601
  type: "array",
5365
5602
  maxItems: 128,
5366
- items: closed5({
5603
+ items: closed6({
5367
5604
  index: integer2(127),
5368
- sha256: digest6,
5605
+ sha256: digest7,
5369
5606
  byteLength: integer2(LARGE_OBJECT_LIMITS.chunkBytes, 1)
5370
5607
  })
5371
5608
  },
@@ -5389,7 +5626,7 @@ Object.assign(ENTERPRISE_ARTIFACT_REVISION_V11_SCHEMA.properties, {
5389
5626
  protocolVersion: { const: "1.17.0" },
5390
5627
  contentDigest: { type: "string", pattern: "^sha256:[a-f0-9]{64}$" },
5391
5628
  byteLength: integer2(LARGE_OBJECT_LIMITS.decodedBytes, 1),
5392
- contentReference: closed5({ transport: { const: "resources-v2" }, manifestSha256: digest6 })
5629
+ contentReference: closed6({ transport: { const: "resources-v2" }, manifestSha256: digest7 })
5393
5630
  });
5394
5631
  ENTERPRISE_ARTIFACT_REVISION_V11_SCHEMA.required.push("contentReference", "protocolVersion");
5395
5632
  var WORKSPACE_MANAGEMENT_V2_SCHEMA = schema5("workspace-management-v2", {
@@ -5403,7 +5640,7 @@ var WORKSPACE_ROTATION_V2_SCHEMA = schema5("workspace-rotation-v2", {
5403
5640
  operationId: id6,
5404
5641
  expectedVersion: integer2(Number.MAX_SAFE_INTEGER, 1),
5405
5642
  epoch: integer2(Number.MAX_SAFE_INTEGER, 2),
5406
- reviewerAuthHash: digest6,
5643
+ reviewerAuthHash: digest7,
5407
5644
  keyring,
5408
5645
  signature: signature3
5409
5646
  });
@@ -5521,6 +5758,8 @@ function assertLargeObjectContract(value, kind) {
5521
5758
 
5522
5759
  export {
5523
5760
  validateJson,
5761
+ initialFrameHeight,
5762
+ DESIGN_DOCUMENT_SCHEMA,
5524
5763
  assertDesignDocument,
5525
5764
  DESIGN_WORKSPACE_VERSION,
5526
5765
  DESIGN_WORKSPACE_API,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./design-owner-custody.mjs";
10
10
  import {
11
11
  assertLargeObjectContract
12
- } from "./design-shared-protocol-contracts-31a760fc.mjs";
12
+ } from "./design-shared-protocol-contracts-b5f28f94.mjs";
13
13
  import {
14
14
  canonicalizeJson
15
15
  } from "./design-shared-protocol-contracts-75a938cc.mjs";