opendevbrowser 0.0.31 → 0.0.33

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 (336) hide show
  1. package/README.md +18 -5
  2. package/dist/{accessibility-snapshot-CQ4ZKWKC.js → accessibility-snapshot-JSPFVWZ6.js} +12 -12
  3. package/dist/{active-window-TD5HYJ72.js → active-window-2OB2MSCR.js} +12 -12
  4. package/dist/{annotate-VTLFS2XV.js → annotate-VDZBZBKZ.js} +11 -11
  5. package/dist/{artifacts-KJ6RNDO2.js → artifacts-JHDUUJGQ.js} +2 -2
  6. package/dist/{attr-BCI5KYCW.js → attr-7XIO4MCH.js} +11 -11
  7. package/dist/browser/canvas-manager.d.ts.map +1 -1
  8. package/dist/canvas/guidance.d.ts +7 -0
  9. package/dist/canvas/guidance.d.ts.map +1 -1
  10. package/dist/canvas/repair-examples.d.ts +45 -0
  11. package/dist/canvas/repair-examples.d.ts.map +1 -0
  12. package/dist/{canvas-5DFEEOKM.js → canvas-N4PAA274.js} +26 -11
  13. package/dist/canvas-N4PAA274.js.map +1 -0
  14. package/dist/{capture-desktop-HFTTWY4Z.js → capture-desktop-T5YO3EBI.js} +12 -12
  15. package/dist/{capture-window-X63XPIFF.js → capture-window-UKEUBWKH.js} +12 -12
  16. package/dist/{check-LWAUY7GC.js → check-PQB6KKMN.js} +11 -11
  17. package/dist/{checked-ZSOUKVYT.js → checked-RNZIMCU6.js} +11 -11
  18. package/dist/{chunk-6B5WAQV7.js → chunk-27W46IKI.js} +42 -11
  19. package/dist/chunk-27W46IKI.js.map +1 -0
  20. package/dist/{chunk-WHQZBUNY.js → chunk-3WLCWHIV.js} +2 -2
  21. package/dist/{chunk-WHQZBUNY.js.map → chunk-3WLCWHIV.js.map} +1 -1
  22. package/dist/{chunk-PPUWQKIC.js → chunk-52ZIOWVU.js} +4 -4
  23. package/dist/{chunk-IPE7TF2P.js → chunk-7BNU6DFI.js} +8 -5
  24. package/dist/chunk-7BNU6DFI.js.map +1 -0
  25. package/dist/{chunk-3ILXPKSJ.js → chunk-BUVYTJZR.js} +2 -1
  26. package/dist/chunk-BUVYTJZR.js.map +1 -0
  27. package/dist/{chunk-QOMWCRE3.js → chunk-EOX6U6Q4.js} +47 -19
  28. package/dist/chunk-EOX6U6Q4.js.map +1 -0
  29. package/dist/{chunk-4BEJVZRK.js → chunk-FBKPDILE.js} +3625 -289
  30. package/dist/chunk-FBKPDILE.js.map +1 -0
  31. package/dist/{chunk-2I3YS3DV.js → chunk-FDBUB7BM.js} +7 -3
  32. package/dist/chunk-FDBUB7BM.js.map +1 -0
  33. package/dist/{chunk-COAOWH3G.js → chunk-HMRANSDX.js} +120 -28
  34. package/dist/chunk-HMRANSDX.js.map +1 -0
  35. package/dist/{chunk-KZ2IXVQT.js → chunk-IBIHDGTZ.js} +40 -5
  36. package/dist/chunk-IBIHDGTZ.js.map +1 -0
  37. package/dist/{chunk-T4GMCW6Z.js → chunk-J3KYGJRQ.js} +3 -3
  38. package/dist/{chunk-AHEWXOKY.js → chunk-JROW6ZNN.js} +4 -4
  39. package/dist/{chunk-6PVZ2ABC.js → chunk-L3YNUGYF.js} +2 -2
  40. package/dist/{chunk-MD655IPO.js → chunk-MJF67OTH.js} +11 -4
  41. package/dist/chunk-MJF67OTH.js.map +1 -0
  42. package/dist/{chunk-JZXD6FWR.js → chunk-NURQB55J.js} +2 -2
  43. package/dist/{chunk-STGGGVYT.js → chunk-QMHKAFYX.js} +2 -2
  44. package/dist/{chunk-RPXWUCQQ.js → chunk-SKFB5ICF.js} +2 -2
  45. package/dist/{chunk-2SIMIPLY.js → chunk-W6YPVNDX.js} +3 -3
  46. package/dist/{chunk-GQJ5S3BL.js → chunk-YRRRUGSQ.js} +3 -3
  47. package/dist/{chunk-37VSRUW4.js → chunk-ZGCTC5YM.js} +39 -7
  48. package/dist/chunk-ZGCTC5YM.js.map +1 -0
  49. package/dist/{chunk-KDSNXS6N.js → chunk-ZMNEWS7A.js} +2 -2
  50. package/dist/cli/args.d.ts.map +1 -1
  51. package/dist/cli/commands/canvas.d.ts +12 -0
  52. package/dist/cli/commands/canvas.d.ts.map +1 -1
  53. package/dist/cli/commands/daemon.d.ts +19 -2
  54. package/dist/cli/commands/daemon.d.ts.map +1 -1
  55. package/dist/cli/commands/inspiredesign.d.ts +6 -1
  56. package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
  57. package/dist/cli/commands/serve.d.ts +12 -3
  58. package/dist/cli/commands/serve.d.ts.map +1 -1
  59. package/dist/cli/commands/status.d.ts.map +1 -1
  60. package/dist/cli/commands/types.d.ts +1 -0
  61. package/dist/cli/commands/types.d.ts.map +1 -1
  62. package/dist/cli/daemon-client.d.ts.map +1 -1
  63. package/dist/cli/daemon-commands.d.ts.map +1 -1
  64. package/dist/cli/daemon-mismatch.d.ts +15 -0
  65. package/dist/cli/daemon-mismatch.d.ts.map +1 -0
  66. package/dist/cli/daemon.d.ts.map +1 -1
  67. package/dist/cli/errors.d.ts +4 -2
  68. package/dist/cli/errors.d.ts.map +1 -1
  69. package/dist/cli/help.d.ts.map +1 -1
  70. package/dist/cli/index.js +91 -90
  71. package/dist/cli/index.js.map +1 -1
  72. package/dist/cli/installers/postinstall-skill-sync.js +2 -2
  73. package/dist/cli/utils/workflow-message.d.ts +1 -1
  74. package/dist/cli/utils/workflow-message.d.ts.map +1 -1
  75. package/dist/{click-2AILSEIZ.js → click-U7ZFKSB4.js} +11 -11
  76. package/dist/{clone-component-TPJS3PEG.js → clone-component-SWYAORTU.js} +10 -10
  77. package/dist/{clone-page-LE74CIFC.js → clone-page-WJ6UJOJG.js} +10 -10
  78. package/dist/{close-HN4YI47K.js → close-NAVIHZ2T.js} +10 -10
  79. package/dist/{close-WFERRHX6.js → close-VKIGIKVT.js} +10 -10
  80. package/dist/{connect-RWBV2UCQ.js → connect-XVG2MOZL.js} +11 -11
  81. package/dist/{console-poll-PP4YYPDF.js → console-poll-XI5BZPL7.js} +11 -11
  82. package/dist/{cookie-import-6IP776FC.js → cookie-import-QELKE7TK.js} +10 -10
  83. package/dist/{cookie-list-O2KG6DPU.js → cookie-list-QDA6KWIY.js} +10 -10
  84. package/dist/{daemon-2BSAZXLT.js → daemon-CA4UIIZQ.js} +26 -13
  85. package/dist/daemon-CA4UIIZQ.js.map +1 -0
  86. package/dist/daemon-fingerprint.json +1 -1
  87. package/dist/{debug-trace-snapshot-F3BDVZXS.js → debug-trace-snapshot-AT4GAO57.js} +11 -11
  88. package/dist/{dialog-6JQYUWMQ.js → dialog-O3V2IBFH.js} +11 -11
  89. package/dist/{disconnect-763TP7GH.js → disconnect-NAX5TPTG.js} +10 -10
  90. package/dist/{enabled-DLYQFNIP.js → enabled-VT4FJXDX.js} +11 -11
  91. package/dist/{goto-S346TJJH.js → goto-GBJG5NC4.js} +11 -11
  92. package/dist/guidance/context.d.ts +44 -0
  93. package/dist/guidance/context.d.ts.map +1 -0
  94. package/dist/guidance/index.d.ts +7 -0
  95. package/dist/guidance/index.d.ts.map +1 -0
  96. package/dist/guidance/readiness.d.ts +7 -0
  97. package/dist/guidance/readiness.d.ts.map +1 -0
  98. package/dist/guidance/recipes/generic.d.ts +3 -0
  99. package/dist/guidance/recipes/generic.d.ts.map +1 -0
  100. package/dist/guidance/recipes/pinterest.d.ts +5 -0
  101. package/dist/guidance/recipes/pinterest.d.ts.map +1 -0
  102. package/dist/guidance/recipes/site-recipe-types.d.ts +2 -0
  103. package/dist/guidance/recipes/site-recipe-types.d.ts.map +1 -0
  104. package/dist/guidance/recipes/site-registry.d.ts +5 -0
  105. package/dist/guidance/recipes/site-registry.d.ts.map +1 -0
  106. package/dist/guidance/renderers.d.ts +22 -0
  107. package/dist/guidance/renderers.d.ts.map +1 -0
  108. package/dist/guidance/router.d.ts +8 -0
  109. package/dist/guidance/router.d.ts.map +1 -0
  110. package/dist/guidance/types.d.ts +139 -0
  111. package/dist/guidance/types.d.ts.map +1 -0
  112. package/dist/{help-U7KBQME6.js → help-SUI4H77K.js} +14 -9
  113. package/dist/help-SUI4H77K.js.map +1 -0
  114. package/dist/{hover-6JVJFGO7.js → hover-476ZNQZE.js} +11 -11
  115. package/dist/{html-EVOSPBIT.js → html-5C4TXOV3.js} +11 -11
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +47 -18
  118. package/dist/index.js.map +1 -1
  119. package/dist/{inspector-H57BVUJP.js → inspector-73ARPCIV.js} +13 -13
  120. package/dist/{inspector-audit-NQBAJWC7.js → inspector-audit-QT6QY7KS.js} +15 -15
  121. package/dist/{inspector-plan-ZDIQVND3.js → inspector-plan-JRNSGN2Z.js} +13 -13
  122. package/dist/inspiredesign/capture.d.ts +4 -0
  123. package/dist/inspiredesign/capture.d.ts.map +1 -1
  124. package/dist/inspiredesign/contract.d.ts +24 -0
  125. package/dist/inspiredesign/contract.d.ts.map +1 -1
  126. package/dist/inspiredesign/handoff.d.ts +9 -3
  127. package/dist/inspiredesign/handoff.d.ts.map +1 -1
  128. package/dist/inspiredesign/meta-prompt.d.ts +9 -0
  129. package/dist/inspiredesign/meta-prompt.d.ts.map +1 -0
  130. package/dist/inspiredesign/reference-discovery.d.ts +29 -0
  131. package/dist/inspiredesign/reference-discovery.d.ts.map +1 -0
  132. package/dist/inspiredesign/reference-pattern-board.d.ts +38 -1
  133. package/dist/inspiredesign/reference-pattern-board.d.ts.map +1 -1
  134. package/dist/inspiredesign/visual-evidence.d.ts +46 -0
  135. package/dist/inspiredesign/visual-evidence.d.ts.map +1 -0
  136. package/dist/inspiredesign/visual-policy.d.ts +17 -0
  137. package/dist/inspiredesign/visual-policy.d.ts.map +1 -0
  138. package/dist/{inspiredesign-IEUL4PX3.js → inspiredesign-IPVZDLSQ.js} +73 -21
  139. package/dist/inspiredesign-IPVZDLSQ.js.map +1 -0
  140. package/dist/{launch-EK66VQPF.js → launch-B35YDRQC.js} +11 -11
  141. package/dist/{list-ADZAQ2IU.js → list-JV55JVGB.js} +10 -10
  142. package/dist/{list-KKUKN467.js → list-YETWKTKY.js} +10 -10
  143. package/dist/{macro-resolve-6DOQJ7CA.js → macro-resolve-DQK4B3W3.js} +12 -12
  144. package/dist/{native-UPLVQ2SG.js → native-J2DFLOLP.js} +3 -3
  145. package/dist/{network-poll-NUL4PDPY.js → network-poll-4GWHCJXI.js} +11 -11
  146. package/dist/{new-5NKYPEFT.js → new-XDCQPIEG.js} +10 -10
  147. package/dist/{open-NR3BPLXV.js → open-GIM3ZCSV.js} +10 -10
  148. package/dist/opendevbrowser.d.ts.map +1 -1
  149. package/dist/opendevbrowser.js +47 -18
  150. package/dist/opendevbrowser.js.map +1 -1
  151. package/dist/{perf-HJ36ZI6H.js → perf-26VBXDPI.js} +11 -11
  152. package/dist/{pointer-down-IYTTQWXZ.js → pointer-down-O3VSNAXW.js} +12 -12
  153. package/dist/{pointer-drag-A2YC5PWI.js → pointer-drag-WQ5QGE6J.js} +12 -12
  154. package/dist/{pointer-move-W5K5FUI4.js → pointer-move-4N4D7JY2.js} +12 -12
  155. package/dist/{pointer-up-6GWVO64Y.js → pointer-up-CQC4NPDX.js} +12 -12
  156. package/dist/{press-A3V5WB3S.js → press-XGJD45CU.js} +11 -11
  157. package/dist/{product-video-52REKWF3.js → product-video-HD4ZOUI7.js} +13 -13
  158. package/dist/providers/browser-native-discovery.d.ts +23 -0
  159. package/dist/providers/browser-native-discovery.d.ts.map +1 -0
  160. package/dist/providers/renderer.d.ts +9 -1
  161. package/dist/providers/renderer.d.ts.map +1 -1
  162. package/dist/providers/workflow-handoff.d.ts +4 -0
  163. package/dist/providers/workflow-handoff.d.ts.map +1 -1
  164. package/dist/providers/workflows.d.ts +45 -3
  165. package/dist/providers/workflows.d.ts.map +1 -1
  166. package/dist/{providers-IMFYMMHQ.js → providers-KKNPJSQK.js} +4 -4
  167. package/dist/public-surface/generated-manifest.d.ts +14 -5
  168. package/dist/public-surface/generated-manifest.d.ts.map +1 -1
  169. package/dist/public-surface/source.d.ts +7 -7
  170. package/dist/public-surface/source.d.ts.map +1 -1
  171. package/dist/{research-WB6BBCDD.js → research-VUWWEQ4R.js} +13 -13
  172. package/dist/{review-BGWVY4RA.js → review-LZ3TA7U7.js} +12 -12
  173. package/dist/{review-desktop-LEORC5VS.js → review-desktop-LAO7U7T3.js} +12 -12
  174. package/dist/{rpc-4TSKSFGC.js → rpc-HKNIVFGC.js} +11 -11
  175. package/dist/{run-3NBLVWXD.js → run-SHCF53FO.js} +9 -9
  176. package/dist/{screencast-start-UZVIT3IN.js → screencast-start-JHMQZVWJ.js} +11 -11
  177. package/dist/{screencast-stop-NOSJSIUO.js → screencast-stop-RWQTWWQS.js} +11 -11
  178. package/dist/{screenshot-LARG4JQG.js → screenshot-QHFYO6PB.js} +11 -11
  179. package/dist/{scroll-VNFMV6TW.js → scroll-L3FTMAV4.js} +11 -11
  180. package/dist/{scroll-into-view-VYRT3JPT.js → scroll-into-view-JVDHX4WU.js} +11 -11
  181. package/dist/{select-KJTUZDVO.js → select-X4BO7GTB.js} +11 -11
  182. package/dist/{serve-EV7K4HKR.js → serve-JIMIBCNO.js} +49 -25
  183. package/dist/serve-JIMIBCNO.js.map +1 -0
  184. package/dist/{shopping-DTXHVQ2X.js → shopping-EGSDP2GL.js} +13 -13
  185. package/dist/{skill-lifecycle-5UAZGKSN.js → skill-lifecycle-OWZYBPFS.js} +3 -3
  186. package/dist/skills/bundled-skill-directories.d.ts.map +1 -1
  187. package/dist/skills/skill-loader.js +2 -2
  188. package/dist/{skills-NSXDX6YM.js → skills-KHMRNOE4.js} +3 -3
  189. package/dist/{snapshot-3XQMCMRJ.js → snapshot-QGJ7RDNV.js} +11 -11
  190. package/dist/{status-YUMDP5KY.js → status-CKGPNYIH.js} +21 -13
  191. package/dist/status-CKGPNYIH.js.map +1 -0
  192. package/dist/{status-OXSYA5XD.js → status-LEBY2X7N.js} +12 -12
  193. package/dist/{status-capabilities-P4KDSE2Y.js → status-capabilities-6QTWNGKM.js} +12 -12
  194. package/dist/{text-V3B7UVIH.js → text-VUZU7D3L.js} +11 -11
  195. package/dist/tools/inspiredesign_run.d.ts.map +1 -1
  196. package/dist/{type-IYBN3ZLR.js → type-N5SURP74.js} +11 -11
  197. package/dist/{uncheck-SG737EGI.js → uncheck-JFMK3SSY.js} +11 -11
  198. package/dist/{uninstall-KYKGJAX7.js → uninstall-FW5ORBIN.js} +3 -3
  199. package/dist/{update-skill-modes-BVX7IVMW.js → update-skill-modes-3ULKJK3Y.js} +3 -3
  200. package/dist/{upload-KH6ZABJA.js → upload-KFUYLL7M.js} +11 -11
  201. package/dist/{use-7YDKO3U4.js → use-CNMPP2ED.js} +10 -10
  202. package/dist/{value-RZBWSKKM.js → value-J335MPZE.js} +11 -11
  203. package/dist/{visible-BSFTAKXR.js → visible-YQZWWPBZ.js} +11 -11
  204. package/dist/{wait-TMTEAYOP.js → wait-IC7YJJPJ.js} +11 -11
  205. package/dist/{windows-HIZ23OHS.js → windows-AGVQ3KX3.js} +12 -12
  206. package/extension/manifest.json +1 -1
  207. package/package.json +1 -1
  208. package/skills/AGENTS.md +2 -1
  209. package/skills/opendevbrowser-best-practices/SKILL.md +16 -3
  210. package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +4 -4
  211. package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +4 -3
  212. package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +7 -0
  213. package/skills/opendevbrowser-best-practices/assets/templates/skill-runtime-pack-matrix.json +49 -3
  214. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +31 -2
  215. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +7 -0
  216. package/skills/opendevbrowser-design-agent/SKILL.md +11 -6
  217. package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +4 -3
  218. package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +110 -41
  219. package/skills/opendevbrowser-design-agent/artifacts/scroll-reveal-surface-planning.md +2 -0
  220. package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +21 -5
  221. package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +5 -2
  222. package/skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh +8 -2
  223. package/skills/opendevbrowser-motion-design/SKILL.md +129 -0
  224. package/skills/opendevbrowser-motion-design/artifacts/accessibility-reduced-motion.md +37 -0
  225. package/skills/opendevbrowser-motion-design/artifacts/device-breakpoint-posture.md +40 -0
  226. package/skills/opendevbrowser-motion-design/artifacts/motion-anti-patterns.md +29 -0
  227. package/skills/opendevbrowser-motion-design/artifacts/motion-pattern-catalog.md +430 -0
  228. package/skills/opendevbrowser-motion-design/artifacts/motion-release-gate.md +28 -0
  229. package/skills/opendevbrowser-motion-design/artifacts/motion-terminology.md +46 -0
  230. package/skills/opendevbrowser-motion-design/artifacts/open-dev-browser-motion-evidence.md +48 -0
  231. package/skills/opendevbrowser-motion-design/artifacts/performance-frame-budget.md +38 -0
  232. package/skills/opendevbrowser-motion-design/artifacts/platform-framework-guide.md +166 -0
  233. package/skills/opendevbrowser-motion-design/assets/templates/motion-audit-report.v1.md +70 -0
  234. package/skills/opendevbrowser-motion-design/assets/templates/motion-contract.v1.json +79 -0
  235. package/skills/opendevbrowser-motion-design/assets/templates/motion-release-gate.v1.json +18 -0
  236. package/skills/opendevbrowser-motion-design/assets/templates/motion-viewport-matrix.v1.json +76 -0
  237. package/skills/opendevbrowser-motion-design/scripts/motion-workflow.sh +163 -0
  238. package/skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh +375 -0
  239. package/dist/canvas-5DFEEOKM.js.map +0 -1
  240. package/dist/chunk-2I3YS3DV.js.map +0 -1
  241. package/dist/chunk-37VSRUW4.js.map +0 -1
  242. package/dist/chunk-3ILXPKSJ.js.map +0 -1
  243. package/dist/chunk-4BEJVZRK.js.map +0 -1
  244. package/dist/chunk-6B5WAQV7.js.map +0 -1
  245. package/dist/chunk-COAOWH3G.js.map +0 -1
  246. package/dist/chunk-IPE7TF2P.js.map +0 -1
  247. package/dist/chunk-KZ2IXVQT.js.map +0 -1
  248. package/dist/chunk-MD655IPO.js.map +0 -1
  249. package/dist/chunk-QOMWCRE3.js.map +0 -1
  250. package/dist/daemon-2BSAZXLT.js.map +0 -1
  251. package/dist/help-U7KBQME6.js.map +0 -1
  252. package/dist/inspiredesign-IEUL4PX3.js.map +0 -1
  253. package/dist/serve-EV7K4HKR.js.map +0 -1
  254. package/dist/status-YUMDP5KY.js.map +0 -1
  255. /package/dist/{accessibility-snapshot-CQ4ZKWKC.js.map → accessibility-snapshot-JSPFVWZ6.js.map} +0 -0
  256. /package/dist/{active-window-TD5HYJ72.js.map → active-window-2OB2MSCR.js.map} +0 -0
  257. /package/dist/{annotate-VTLFS2XV.js.map → annotate-VDZBZBKZ.js.map} +0 -0
  258. /package/dist/{artifacts-KJ6RNDO2.js.map → artifacts-JHDUUJGQ.js.map} +0 -0
  259. /package/dist/{attr-BCI5KYCW.js.map → attr-7XIO4MCH.js.map} +0 -0
  260. /package/dist/{capture-desktop-HFTTWY4Z.js.map → capture-desktop-T5YO3EBI.js.map} +0 -0
  261. /package/dist/{capture-window-X63XPIFF.js.map → capture-window-UKEUBWKH.js.map} +0 -0
  262. /package/dist/{check-LWAUY7GC.js.map → check-PQB6KKMN.js.map} +0 -0
  263. /package/dist/{checked-ZSOUKVYT.js.map → checked-RNZIMCU6.js.map} +0 -0
  264. /package/dist/{chunk-PPUWQKIC.js.map → chunk-52ZIOWVU.js.map} +0 -0
  265. /package/dist/{chunk-T4GMCW6Z.js.map → chunk-J3KYGJRQ.js.map} +0 -0
  266. /package/dist/{chunk-AHEWXOKY.js.map → chunk-JROW6ZNN.js.map} +0 -0
  267. /package/dist/{chunk-6PVZ2ABC.js.map → chunk-L3YNUGYF.js.map} +0 -0
  268. /package/dist/{chunk-JZXD6FWR.js.map → chunk-NURQB55J.js.map} +0 -0
  269. /package/dist/{chunk-STGGGVYT.js.map → chunk-QMHKAFYX.js.map} +0 -0
  270. /package/dist/{chunk-RPXWUCQQ.js.map → chunk-SKFB5ICF.js.map} +0 -0
  271. /package/dist/{chunk-2SIMIPLY.js.map → chunk-W6YPVNDX.js.map} +0 -0
  272. /package/dist/{chunk-GQJ5S3BL.js.map → chunk-YRRRUGSQ.js.map} +0 -0
  273. /package/dist/{chunk-KDSNXS6N.js.map → chunk-ZMNEWS7A.js.map} +0 -0
  274. /package/dist/{click-2AILSEIZ.js.map → click-U7ZFKSB4.js.map} +0 -0
  275. /package/dist/{clone-component-TPJS3PEG.js.map → clone-component-SWYAORTU.js.map} +0 -0
  276. /package/dist/{clone-page-LE74CIFC.js.map → clone-page-WJ6UJOJG.js.map} +0 -0
  277. /package/dist/{close-HN4YI47K.js.map → close-NAVIHZ2T.js.map} +0 -0
  278. /package/dist/{close-WFERRHX6.js.map → close-VKIGIKVT.js.map} +0 -0
  279. /package/dist/{connect-RWBV2UCQ.js.map → connect-XVG2MOZL.js.map} +0 -0
  280. /package/dist/{console-poll-PP4YYPDF.js.map → console-poll-XI5BZPL7.js.map} +0 -0
  281. /package/dist/{cookie-import-6IP776FC.js.map → cookie-import-QELKE7TK.js.map} +0 -0
  282. /package/dist/{cookie-list-O2KG6DPU.js.map → cookie-list-QDA6KWIY.js.map} +0 -0
  283. /package/dist/{debug-trace-snapshot-F3BDVZXS.js.map → debug-trace-snapshot-AT4GAO57.js.map} +0 -0
  284. /package/dist/{dialog-6JQYUWMQ.js.map → dialog-O3V2IBFH.js.map} +0 -0
  285. /package/dist/{disconnect-763TP7GH.js.map → disconnect-NAX5TPTG.js.map} +0 -0
  286. /package/dist/{enabled-DLYQFNIP.js.map → enabled-VT4FJXDX.js.map} +0 -0
  287. /package/dist/{goto-S346TJJH.js.map → goto-GBJG5NC4.js.map} +0 -0
  288. /package/dist/{hover-6JVJFGO7.js.map → hover-476ZNQZE.js.map} +0 -0
  289. /package/dist/{html-EVOSPBIT.js.map → html-5C4TXOV3.js.map} +0 -0
  290. /package/dist/{inspector-H57BVUJP.js.map → inspector-73ARPCIV.js.map} +0 -0
  291. /package/dist/{inspector-audit-NQBAJWC7.js.map → inspector-audit-QT6QY7KS.js.map} +0 -0
  292. /package/dist/{inspector-plan-ZDIQVND3.js.map → inspector-plan-JRNSGN2Z.js.map} +0 -0
  293. /package/dist/{launch-EK66VQPF.js.map → launch-B35YDRQC.js.map} +0 -0
  294. /package/dist/{list-ADZAQ2IU.js.map → list-JV55JVGB.js.map} +0 -0
  295. /package/dist/{list-KKUKN467.js.map → list-YETWKTKY.js.map} +0 -0
  296. /package/dist/{macro-resolve-6DOQJ7CA.js.map → macro-resolve-DQK4B3W3.js.map} +0 -0
  297. /package/dist/{native-UPLVQ2SG.js.map → native-J2DFLOLP.js.map} +0 -0
  298. /package/dist/{network-poll-NUL4PDPY.js.map → network-poll-4GWHCJXI.js.map} +0 -0
  299. /package/dist/{new-5NKYPEFT.js.map → new-XDCQPIEG.js.map} +0 -0
  300. /package/dist/{open-NR3BPLXV.js.map → open-GIM3ZCSV.js.map} +0 -0
  301. /package/dist/{perf-HJ36ZI6H.js.map → perf-26VBXDPI.js.map} +0 -0
  302. /package/dist/{pointer-down-IYTTQWXZ.js.map → pointer-down-O3VSNAXW.js.map} +0 -0
  303. /package/dist/{pointer-drag-A2YC5PWI.js.map → pointer-drag-WQ5QGE6J.js.map} +0 -0
  304. /package/dist/{pointer-move-W5K5FUI4.js.map → pointer-move-4N4D7JY2.js.map} +0 -0
  305. /package/dist/{pointer-up-6GWVO64Y.js.map → pointer-up-CQC4NPDX.js.map} +0 -0
  306. /package/dist/{press-A3V5WB3S.js.map → press-XGJD45CU.js.map} +0 -0
  307. /package/dist/{product-video-52REKWF3.js.map → product-video-HD4ZOUI7.js.map} +0 -0
  308. /package/dist/{providers-IMFYMMHQ.js.map → providers-KKNPJSQK.js.map} +0 -0
  309. /package/dist/{research-WB6BBCDD.js.map → research-VUWWEQ4R.js.map} +0 -0
  310. /package/dist/{review-BGWVY4RA.js.map → review-LZ3TA7U7.js.map} +0 -0
  311. /package/dist/{review-desktop-LEORC5VS.js.map → review-desktop-LAO7U7T3.js.map} +0 -0
  312. /package/dist/{rpc-4TSKSFGC.js.map → rpc-HKNIVFGC.js.map} +0 -0
  313. /package/dist/{run-3NBLVWXD.js.map → run-SHCF53FO.js.map} +0 -0
  314. /package/dist/{screencast-start-UZVIT3IN.js.map → screencast-start-JHMQZVWJ.js.map} +0 -0
  315. /package/dist/{screencast-stop-NOSJSIUO.js.map → screencast-stop-RWQTWWQS.js.map} +0 -0
  316. /package/dist/{screenshot-LARG4JQG.js.map → screenshot-QHFYO6PB.js.map} +0 -0
  317. /package/dist/{scroll-VNFMV6TW.js.map → scroll-L3FTMAV4.js.map} +0 -0
  318. /package/dist/{scroll-into-view-VYRT3JPT.js.map → scroll-into-view-JVDHX4WU.js.map} +0 -0
  319. /package/dist/{select-KJTUZDVO.js.map → select-X4BO7GTB.js.map} +0 -0
  320. /package/dist/{shopping-DTXHVQ2X.js.map → shopping-EGSDP2GL.js.map} +0 -0
  321. /package/dist/{skill-lifecycle-5UAZGKSN.js.map → skill-lifecycle-OWZYBPFS.js.map} +0 -0
  322. /package/dist/{skills-NSXDX6YM.js.map → skills-KHMRNOE4.js.map} +0 -0
  323. /package/dist/{snapshot-3XQMCMRJ.js.map → snapshot-QGJ7RDNV.js.map} +0 -0
  324. /package/dist/{status-OXSYA5XD.js.map → status-LEBY2X7N.js.map} +0 -0
  325. /package/dist/{status-capabilities-P4KDSE2Y.js.map → status-capabilities-6QTWNGKM.js.map} +0 -0
  326. /package/dist/{text-V3B7UVIH.js.map → text-VUZU7D3L.js.map} +0 -0
  327. /package/dist/{type-IYBN3ZLR.js.map → type-N5SURP74.js.map} +0 -0
  328. /package/dist/{uncheck-SG737EGI.js.map → uncheck-JFMK3SSY.js.map} +0 -0
  329. /package/dist/{uninstall-KYKGJAX7.js.map → uninstall-FW5ORBIN.js.map} +0 -0
  330. /package/dist/{update-skill-modes-BVX7IVMW.js.map → update-skill-modes-3ULKJK3Y.js.map} +0 -0
  331. /package/dist/{upload-KH6ZABJA.js.map → upload-KFUYLL7M.js.map} +0 -0
  332. /package/dist/{use-7YDKO3U4.js.map → use-CNMPP2ED.js.map} +0 -0
  333. /package/dist/{value-RZBWSKKM.js.map → value-J335MPZE.js.map} +0 -0
  334. /package/dist/{visible-BSFTAKXR.js.map → visible-YQZWWPBZ.js.map} +0 -0
  335. /package/dist/{wait-TMTEAYOP.js.map → wait-IC7YJJPJ.js.map} +0 -0
  336. /package/dist/{windows-HIZ23OHS.js.map → windows-AGVQ3KX3.js.map} +0 -0
package/README.md CHANGED
@@ -108,7 +108,7 @@ export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
108
108
  export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
109
109
  cd "$WORKDIR"
110
110
  npm init -y
111
- npm install <public-repo-root>/opendevbrowser-0.0.31.tgz
111
+ npm install <public-repo-root>/opendevbrowser-0.0.33.tgz
112
112
  npx --no-install opendevbrowser --help
113
113
  npx --no-install opendevbrowser help
114
114
  ```
@@ -221,6 +221,10 @@ Run a local daemon for persistent sessions, then drive automation via CLI comman
221
221
  # Start daemon
222
222
  npx opendevbrowser serve
223
223
 
224
+ # Preflight daemon-backed workflows
225
+ npx opendevbrowser status --daemon --output-format json
226
+ # Proceed only when data.fingerprintCurrent === true
227
+
224
228
  # Install auto-start (recommended for resilience)
225
229
  opendevbrowser daemon install
226
230
 
@@ -238,7 +242,14 @@ npx opendevbrowser click --session-id <session-id> --ref r12
238
242
  ```
239
243
 
240
244
  `opendevbrowser serve` includes stale-daemon preflight cleanup by default, so orphan daemon processes are terminated automatically
241
- before startup while preserving the active daemon on the requested port.
245
+ before startup while preserving the active daemon on the requested port. For daemon-backed workflows, run
246
+ `npx opendevbrowser status --daemon --output-format json` first and require `data.fingerprintCurrent === true` before issuing
247
+ launch, connect, canvas, provider, or release-harness commands.
248
+
249
+ If protected stop or reuse fails with `daemon_fingerprint_mismatch`, the running daemon was started by a different OpenDevBrowser
250
+ build than the current CLI. Use the matching binary for the running daemon, restart it from the current install, or isolate shared
251
+ environments with `OPENCODE_CONFIG_DIR`, `OPENCODE_CACHE_DIR`, and unique daemon or relay ports before retrying.
252
+
242
253
  If you are running from a temporary onboarding workspace, rerun `opendevbrowser daemon install` from a stable install location
243
254
  before expecting auto-start to survive login. macOS auto-start also writes `WorkingDirectory=~/.cache/opendevbrowser`
244
255
  so launchd does not start the daemon from `/`.
@@ -472,12 +483,13 @@ Desktop observation currently ships as a public read-only macOS surface. Availab
472
483
 
473
484
  ## Bundled Skills
474
485
 
475
- OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
486
+ OpenDevBrowser includes **10 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
476
487
 
477
488
  | Skill | Purpose |
478
489
  |-------|---------|
479
490
  | `opendevbrowser-best-practices` | Core prompting patterns and workflow guidance |
480
491
  | `opendevbrowser-design-agent` | Contract-first, research-backed frontend and `/canvas` design execution |
492
+ | `opendevbrowser-motion-design` | Contract-first motion language, pattern selection, reduced-motion, performance, and temporal proof |
481
493
  | `opendevbrowser-continuity-ledger` | Long-running task state management |
482
494
  | `opendevbrowser-login-automation` | Authentication flow patterns |
483
495
  | `opendevbrowser-form-testing` | Form validation and submission workflows |
@@ -487,7 +499,7 @@ OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, upda
487
499
  | `opendevbrowser-product-presentation-asset` | Product screenshot/copy asset collection for presentation pipelines |
488
500
 
489
501
  Installer note:
490
- - `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
502
+ - `--skills-global` and `--skills-local` sync the 10 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
491
503
  - Managed installs write a target-level ownership marker, so later update and uninstall only act on CLI-managed skill targets or older config installs that already contain canonical packs.
492
504
  - Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
493
505
  - Uninstall removes managed canonical packs, retires repo-owned legacy alias directories that match shipped content, and leaves unrelated directories untouched.
@@ -897,7 +909,7 @@ Tool Call → Zod Validation → Manager/Runner → CDP/Playwright → Response
897
909
  │ └── utils/ # Shared utilities
898
910
  ├── extension/ # Chrome extension (relay client)
899
911
  ├── scripts/ # Operational scripts (build/sync/smoke)
900
- ├── skills/ # Bundled skill directories (11 total; 9 canonical OpenDevBrowser packs + 2 shared compatibility packs)
912
+ ├── skills/ # Bundled skill directories (10 canonical OpenDevBrowser packs)
901
913
  ├── tests/ # Vitest tests (97% coverage required)
902
914
  └── docs/ # Architecture, CLI, extension, distribution plans
903
915
  ```
@@ -933,6 +945,7 @@ Uniform versioning is required (source of truth: `package.json`):
933
945
  - `node scripts/docs-drift-check.mjs`
934
946
  - `node scripts/chrome-store-compliance-check.mjs`
935
947
  - `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`
948
+ - `./skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh`
936
949
  8. Run strict live release gates:
937
950
  - `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json`
938
951
  - `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json`
@@ -3,25 +3,25 @@ import {
3
3
  desktopCommandResult,
4
4
  parseDesktopWindowReasonArgs,
5
5
  requireDesktopReason
6
- } from "./chunk-AHEWXOKY.js";
6
+ } from "./chunk-JROW6ZNN.js";
7
7
  import "./chunk-RJNI3BHT.js";
8
- import "./chunk-RPXWUCQQ.js";
8
+ import "./chunk-SKFB5ICF.js";
9
9
  import "./chunk-OW5HMYMI.js";
10
- import "./chunk-MD655IPO.js";
11
- import "./chunk-COAOWH3G.js";
12
- import "./chunk-QOMWCRE3.js";
10
+ import "./chunk-MJF67OTH.js";
11
+ import "./chunk-HMRANSDX.js";
12
+ import "./chunk-EOX6U6Q4.js";
13
13
  import "./chunk-MX3NFLCE.js";
14
14
  import "./chunk-ASMHEEKY.js";
15
- import "./chunk-IPE7TF2P.js";
16
- import "./chunk-STGGGVYT.js";
17
- import "./chunk-3ILXPKSJ.js";
15
+ import "./chunk-7BNU6DFI.js";
16
+ import "./chunk-QMHKAFYX.js";
17
+ import "./chunk-BUVYTJZR.js";
18
18
  import "./chunk-TBUCZX4A.js";
19
19
  import "./chunk-Y2KL55OG.js";
20
20
  import "./chunk-5SWZDVOW.js";
21
- import "./chunk-4BEJVZRK.js";
21
+ import "./chunk-FBKPDILE.js";
22
22
  import "./chunk-S5KZQJJI.js";
23
- import "./chunk-KZ2IXVQT.js";
24
- import "./chunk-WHQZBUNY.js";
23
+ import "./chunk-IBIHDGTZ.js";
24
+ import "./chunk-3WLCWHIV.js";
25
25
  import "./chunk-FUSXMW3G.js";
26
26
 
27
27
  // src/cli/commands/desktop/accessibility-snapshot.ts
@@ -36,4 +36,4 @@ async function runDesktopAccessibilitySnapshot(args) {
36
36
  export {
37
37
  runDesktopAccessibilitySnapshot
38
38
  };
39
- //# sourceMappingURL=accessibility-snapshot-CQ4ZKWKC.js.map
39
+ //# sourceMappingURL=accessibility-snapshot-JSPFVWZ6.js.map
@@ -2,25 +2,25 @@ import {
2
2
  callDesktopCommand,
3
3
  desktopCommandResult,
4
4
  parseDesktopReasonArgs
5
- } from "./chunk-AHEWXOKY.js";
5
+ } from "./chunk-JROW6ZNN.js";
6
6
  import "./chunk-RJNI3BHT.js";
7
- import "./chunk-RPXWUCQQ.js";
7
+ import "./chunk-SKFB5ICF.js";
8
8
  import "./chunk-OW5HMYMI.js";
9
- import "./chunk-MD655IPO.js";
10
- import "./chunk-COAOWH3G.js";
11
- import "./chunk-QOMWCRE3.js";
9
+ import "./chunk-MJF67OTH.js";
10
+ import "./chunk-HMRANSDX.js";
11
+ import "./chunk-EOX6U6Q4.js";
12
12
  import "./chunk-MX3NFLCE.js";
13
13
  import "./chunk-ASMHEEKY.js";
14
- import "./chunk-IPE7TF2P.js";
15
- import "./chunk-STGGGVYT.js";
16
- import "./chunk-3ILXPKSJ.js";
14
+ import "./chunk-7BNU6DFI.js";
15
+ import "./chunk-QMHKAFYX.js";
16
+ import "./chunk-BUVYTJZR.js";
17
17
  import "./chunk-TBUCZX4A.js";
18
18
  import "./chunk-Y2KL55OG.js";
19
19
  import "./chunk-5SWZDVOW.js";
20
- import "./chunk-4BEJVZRK.js";
20
+ import "./chunk-FBKPDILE.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-KZ2IXVQT.js";
23
- import "./chunk-WHQZBUNY.js";
22
+ import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
26
26
  // src/cli/commands/desktop/active-window.ts
@@ -34,4 +34,4 @@ async function runDesktopActiveWindow(args) {
34
34
  export {
35
35
  runDesktopActiveWindow
36
36
  };
37
- //# sourceMappingURL=active-window-TD5HYJ72.js.map
37
+ //# sourceMappingURL=active-window-2OB2MSCR.js.map
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  parseNumberFlag
3
- } from "./chunk-RPXWUCQQ.js";
3
+ } from "./chunk-SKFB5ICF.js";
4
4
  import {
5
5
  buildAnnotateResult
6
6
  } from "./chunk-IQTJHXZJ.js";
7
7
  import {
8
8
  DaemonClient
9
- } from "./chunk-MD655IPO.js";
10
- import "./chunk-COAOWH3G.js";
11
- import "./chunk-QOMWCRE3.js";
9
+ } from "./chunk-MJF67OTH.js";
10
+ import "./chunk-HMRANSDX.js";
11
+ import "./chunk-EOX6U6Q4.js";
12
12
  import "./chunk-MX3NFLCE.js";
13
13
  import "./chunk-ASMHEEKY.js";
14
14
  import {
15
15
  createUsageError
16
- } from "./chunk-IPE7TF2P.js";
17
- import "./chunk-STGGGVYT.js";
18
- import "./chunk-3ILXPKSJ.js";
16
+ } from "./chunk-7BNU6DFI.js";
17
+ import "./chunk-QMHKAFYX.js";
18
+ import "./chunk-BUVYTJZR.js";
19
19
  import "./chunk-TBUCZX4A.js";
20
20
  import "./chunk-Y2KL55OG.js";
21
21
  import "./chunk-5SWZDVOW.js";
22
- import "./chunk-4BEJVZRK.js";
22
+ import "./chunk-FBKPDILE.js";
23
23
  import "./chunk-S5KZQJJI.js";
24
- import "./chunk-KZ2IXVQT.js";
25
- import "./chunk-WHQZBUNY.js";
24
+ import "./chunk-IBIHDGTZ.js";
25
+ import "./chunk-3WLCWHIV.js";
26
26
  import "./chunk-FUSXMW3G.js";
27
27
 
28
28
  // src/cli/commands/annotate.ts
@@ -202,4 +202,4 @@ export {
202
202
  parseAnnotateArgs,
203
203
  runAnnotate
204
204
  };
205
- //# sourceMappingURL=annotate-VTLFS2XV.js.map
205
+ //# sourceMappingURL=annotate-VDZBZBKZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createUsageError
3
- } from "./chunk-IPE7TF2P.js";
3
+ } from "./chunk-7BNU6DFI.js";
4
4
  import {
5
5
  cleanupExpiredArtifacts
6
6
  } from "./chunk-S5KZQJJI.js";
@@ -117,4 +117,4 @@ export {
117
117
  __test__,
118
118
  runArtifactsCommand
119
119
  };
120
- //# sourceMappingURL=artifacts-KJ6RNDO2.js.map
120
+ //# sourceMappingURL=artifacts-JHDUUJGQ.js.map
@@ -1,26 +1,26 @@
1
1
  import "./chunk-RJNI3BHT.js";
2
2
  import {
3
3
  parseOptionalStringFlag
4
- } from "./chunk-RPXWUCQQ.js";
4
+ } from "./chunk-SKFB5ICF.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-MD655IPO.js";
8
- import "./chunk-COAOWH3G.js";
9
- import "./chunk-QOMWCRE3.js";
7
+ } from "./chunk-MJF67OTH.js";
8
+ import "./chunk-HMRANSDX.js";
9
+ import "./chunk-EOX6U6Q4.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
12
  import {
13
13
  createUsageError
14
- } from "./chunk-IPE7TF2P.js";
15
- import "./chunk-STGGGVYT.js";
16
- import "./chunk-3ILXPKSJ.js";
14
+ } from "./chunk-7BNU6DFI.js";
15
+ import "./chunk-QMHKAFYX.js";
16
+ import "./chunk-BUVYTJZR.js";
17
17
  import "./chunk-TBUCZX4A.js";
18
18
  import "./chunk-Y2KL55OG.js";
19
19
  import "./chunk-5SWZDVOW.js";
20
- import "./chunk-4BEJVZRK.js";
20
+ import "./chunk-FBKPDILE.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-KZ2IXVQT.js";
23
- import "./chunk-WHQZBUNY.js";
22
+ import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
26
26
  // src/cli/commands/dom/attr.ts
@@ -81,4 +81,4 @@ async function runDomAttr(args) {
81
81
  export {
82
82
  runDomAttr
83
83
  };
84
- //# sourceMappingURL=attr-BCI5KYCW.js.map
84
+ //# sourceMappingURL=attr-7XIO4MCH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-manager.d.ts","sourceRoot":"","sources":["../../src/browser/canvas-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-manager.d.ts","sourceRoot":"","sources":["../../src/browser/canvas-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
+ import type { JsonValue } from "../providers/types";
2
+ import type { GuidanceFieldExample, GuidanceParamsExample, GuidanceValidationCheck } from "../guidance/types";
1
3
  export type CanvasNextStepGuidance = {
2
4
  recommendedNextCommands: string[];
3
5
  reason: string;
6
+ nextStepGuidance?: Record<string, JsonValue>;
7
+ paramsExamples?: GuidanceParamsExample[];
8
+ fieldExamples?: GuidanceFieldExample[];
9
+ validationChecks?: GuidanceValidationCheck[];
10
+ doNotProceedIf?: string[];
4
11
  };
5
12
  export type CanvasGuidanceCommand = "canvas.session.open" | "canvas.capabilities.get" | "canvas.plan.set" | "canvas.plan.get" | "canvas.document.load" | "canvas.document.patch" | "canvas.preview.render" | "canvas.preview.refresh" | "canvas.feedback.poll" | "canvas.document.save" | "canvas.document.export";
6
13
  type CanvasBlockerGuidanceCode = "plan_required" | "generation_plan_invalid" | "revision_conflict" | "policy_violation" | "unsupported_target" | "lease_reclaim_required";
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/canvas/guidance.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,yBAAyB,GACzB,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B,KAAK,yBAAyB,GAC1B,eAAe,GACf,yBAAyB,GACzB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,CAAC;AAE7B,eAAO,MAAM,uBAAuB,EAAE,sBAGrC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,sBAG1C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,sBAGvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,sBAGtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAOrG,CAAC;AAgBF,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,KAAG,sBAQH,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,yBAAyB,KAAG,MAAM,EAErF,CAAC"}
1
+ {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/canvas/guidance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACzC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,yBAAyB,GACzB,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B,KAAK,yBAAyB,GAC1B,eAAe,GACf,yBAAyB,GACzB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,CAAC;AAc7B,eAAO,MAAM,uBAAuB,EAAE,sBAGwB,CAAC;AAE/D,eAAO,MAAM,4BAA4B,EAAE,sBAG6B,CAAC;AAEzE,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,sBAGvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,sBAGtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAOrG,CAAC;AAqBF,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,KAAG,sBAQH,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,yBAAyB,KAAG,MAAM,EAErF,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { JsonValue } from "../providers/types";
2
+ import type { GuidanceFieldExample, GuidanceParamsExample, GuidanceValidationCheck, NextStepGuidance } from "../guidance/types";
3
+ import type { CanvasGenerationPlan, CanvasGenerationPlanIssue } from "./types";
4
+ export type CanvasRepairReasonCode = "plan_required" | "generation_plan_invalid" | "governance_missing" | "missing_canvas_session_id" | "missing_lease_id" | "missing_document_id";
5
+ export type CanvasMissingIdentifier = "canvasSessionId" | "leaseId" | "documentId";
6
+ export type CanvasRepairGuidancePayload = {
7
+ recommendedNextCommands: string[];
8
+ reason: string;
9
+ nextStepGuidance: Record<string, JsonValue>;
10
+ paramsExamples: GuidanceParamsExample[];
11
+ fieldExamples: GuidanceFieldExample[];
12
+ validationChecks: GuidanceValidationCheck[];
13
+ doNotProceedIf: string[];
14
+ };
15
+ export type CanvasRepairEnvelope = {
16
+ code: CanvasRepairReasonCode;
17
+ message: string;
18
+ recommendedNextCommands: string[];
19
+ guidance: CanvasRepairGuidancePayload;
20
+ nextStepGuidance: Record<string, JsonValue>;
21
+ paramsExamples: GuidanceParamsExample[];
22
+ fieldExamples: GuidanceFieldExample[];
23
+ validationChecks: GuidanceValidationCheck[];
24
+ doNotProceedIf: string[];
25
+ };
26
+ export declare const EXAMPLE_CANVAS_GENERATION_PLAN: CanvasGenerationPlan;
27
+ export declare const buildCanvasPlanSetParamsExample: () => Record<string, JsonValue>;
28
+ export declare const buildCanvasGovernancePatchParamsExample: () => Record<string, JsonValue>;
29
+ export declare const buildCanvasRepairGuidance: (input: {
30
+ reasonCode: CanvasRepairReasonCode;
31
+ missingFields?: string[];
32
+ issues?: CanvasGenerationPlanIssue[];
33
+ message?: string;
34
+ blockedCommand?: string;
35
+ }) => NextStepGuidance;
36
+ export declare const buildCanvasRepairEnvelope: (input: {
37
+ reasonCode: CanvasRepairReasonCode;
38
+ message?: string;
39
+ missingFields?: string[];
40
+ issues?: CanvasGenerationPlanIssue[];
41
+ blockedCommand?: string;
42
+ }) => CanvasRepairEnvelope;
43
+ export declare const buildCanvasCommandValidationEnvelope: (command: string, params: Record<string, unknown>) => CanvasRepairEnvelope | null;
44
+ export declare const buildCanvasMissingIdentifierEnvelope: (field: CanvasMissingIdentifier, blockedCommand?: string) => CanvasRepairEnvelope;
45
+ //# sourceMappingURL=repair-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-examples.d.ts","sourceRoot":"","sources":["../../src/canvas/repair-examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,2BAA2B,GAC3B,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnF,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,oBA4C5C,CAAC;AAqGF,eAAO,MAAM,+BAA+B,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAIzE,CAAC;AAEH,eAAO,MAAM,uCAAuC,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAkBjF,CAAC;AAoNH,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,gBA4BH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,oBAyBH,CAAC;AAgFF,eAAO,MAAM,oCAAoC,GAC/C,SAAS,MAAM,EACf,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,oBAAoB,GAAG,IAazB,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,OAAO,uBAAuB,EAC9B,iBAAiB,MAAM,KACtB,oBAOF,CAAC"}
@@ -1,28 +1,31 @@
1
1
  import {
2
2
  parseNumberFlag
3
- } from "./chunk-RPXWUCQQ.js";
3
+ } from "./chunk-SKFB5ICF.js";
4
4
  import {
5
5
  DaemonClient
6
- } from "./chunk-MD655IPO.js";
7
- import "./chunk-COAOWH3G.js";
8
- import "./chunk-QOMWCRE3.js";
6
+ } from "./chunk-MJF67OTH.js";
7
+ import "./chunk-HMRANSDX.js";
8
+ import "./chunk-EOX6U6Q4.js";
9
9
  import "./chunk-MX3NFLCE.js";
10
10
  import "./chunk-ASMHEEKY.js";
11
11
  import {
12
12
  writeOutput
13
13
  } from "./chunk-7GVOUZMQ.js";
14
14
  import {
15
+ EXIT_EXECUTION,
15
16
  createUsageError
16
- } from "./chunk-IPE7TF2P.js";
17
- import "./chunk-STGGGVYT.js";
18
- import "./chunk-3ILXPKSJ.js";
17
+ } from "./chunk-7BNU6DFI.js";
18
+ import "./chunk-QMHKAFYX.js";
19
+ import "./chunk-BUVYTJZR.js";
19
20
  import "./chunk-TBUCZX4A.js";
20
21
  import "./chunk-Y2KL55OG.js";
21
22
  import "./chunk-5SWZDVOW.js";
22
- import "./chunk-4BEJVZRK.js";
23
+ import {
24
+ buildCanvasCommandValidationEnvelope
25
+ } from "./chunk-FBKPDILE.js";
23
26
  import "./chunk-S5KZQJJI.js";
24
- import "./chunk-KZ2IXVQT.js";
25
- import "./chunk-WHQZBUNY.js";
27
+ import "./chunk-IBIHDGTZ.js";
28
+ import "./chunk-3WLCWHIV.js";
26
29
  import "./chunk-FUSXMW3G.js";
27
30
 
28
31
  // src/cli/commands/canvas.ts
@@ -259,6 +262,18 @@ async function runCanvas(args) {
259
262
  const client = new DaemonClient({ autoRenew: true });
260
263
  try {
261
264
  const params = attachRepoRoot(resolveCanvasParams(canvasArgs));
265
+ const validationEnvelope = buildCanvasCommandValidationEnvelope(canvasArgs.command, params);
266
+ if (validationEnvelope) {
267
+ return {
268
+ success: false,
269
+ message: validationEnvelope.message,
270
+ exitCode: EXIT_EXECUTION,
271
+ data: {
272
+ command: canvasArgs.command,
273
+ result: validationEnvelope
274
+ }
275
+ };
276
+ }
262
277
  const result = await client.call(
263
278
  "canvas.execute",
264
279
  {
@@ -306,4 +321,4 @@ export {
306
321
  parseCanvasArgs,
307
322
  runCanvas
308
323
  };
309
- //# sourceMappingURL=canvas-5DFEEOKM.js.map
324
+ //# sourceMappingURL=canvas-N4PAA274.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/canvas.ts"],"sourcesContent":["import { readFileSync } from \"fs\";\nimport type { ParsedArgs } from \"../args\";\nimport { DaemonClient } from \"../daemon-client\";\nimport { createUsageError, EXIT_EXECUTION } from \"../errors\";\nimport { buildCanvasCommandValidationEnvelope } from \"../../canvas/repair-examples\";\nimport { writeOutput } from \"../output\";\nimport { parseNumberFlag } from \"../utils/parse\";\n\ntype CanvasArgs = {\n command?: string;\n params?: string;\n paramsFile?: string;\n timeoutMs?: number;\n};\n\nconst DEFAULT_FEEDBACK_STREAM_TIMEOUT_MS = 30000;\n\ntype FeedbackItem = Record<string, unknown>;\n\ntype FeedbackSubscribeResult = {\n subscriptionId: string | null;\n initialItems: FeedbackItem[];\n cursor: string | null;\n heartbeatMs: number;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\nconst asString = (value: unknown): string | null => {\n return typeof value === \"string\" && value.length > 0 ? value : null;\n};\n\nconst asNumber = (value: unknown): number | null => {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n};\n\nconst asRecordArray = (value: unknown): FeedbackItem[] => {\n return Array.isArray(value) ? value.filter(isRecord) : [];\n};\n\nconst toFeedbackSubscribeResult = (value: unknown): FeedbackSubscribeResult => {\n if (!isRecord(value)) {\n return {\n subscriptionId: null,\n initialItems: [],\n cursor: null,\n heartbeatMs: 15000\n };\n }\n return {\n subscriptionId: asString(value.subscriptionId),\n initialItems: asRecordArray(value.initialItems),\n cursor: asString(value.cursor),\n heartbeatMs: Math.max(asNumber(value.heartbeatMs) ?? 15000, 1000)\n };\n};\n\nasync function streamFeedbackViaSubscription(\n client: DaemonClient,\n args: ParsedArgs,\n canvasArgs: CanvasArgs,\n params: Record<string, unknown>,\n initial: Record<string, unknown>\n): Promise<void> {\n const outputOptions = { format: args.outputFormat, quiet: args.quiet };\n writeOutput({\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n result: initial\n }\n }, outputOptions);\n\n const initialResult = toFeedbackSubscribeResult(initial);\n const subscriptionId = initialResult.subscriptionId;\n const heartbeatMs = initialResult.heartbeatMs;\n const streamTimeoutMs = canvasArgs.timeoutMs ?? DEFAULT_FEEDBACK_STREAM_TIMEOUT_MS;\n const deadline = Date.now() + streamTimeoutMs;\n let cursor = initialResult.cursor;\n\n for (const item of initialResult.initialItems) {\n const itemCursor = asString(item.cursor);\n if (itemCursor) {\n cursor = itemCursor;\n }\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: {\n eventType: \"feedback.item\",\n item\n }\n }\n }, outputOptions);\n }\n\n while (subscriptionId && Date.now() < deadline) {\n const remainingMs = deadline - Date.now();\n if (remainingMs <= 0) {\n break;\n }\n const nextEvent = await client.call(\n \"canvas.execute\",\n {\n command: \"canvas.feedback.next\",\n params: {\n ...params,\n subscriptionId,\n timeoutMs: Math.min(heartbeatMs, remainingMs)\n }\n },\n { timeoutMs: remainingMs }\n );\n if (isRecord(nextEvent)) {\n if (nextEvent.eventType === \"feedback.item\" && isRecord(nextEvent.item)) {\n const itemCursor = asString(nextEvent.item.cursor);\n if (itemCursor) {\n cursor = itemCursor;\n }\n } else if (typeof nextEvent.cursor === \"string\") {\n cursor = nextEvent.cursor;\n }\n }\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: nextEvent\n }\n }, outputOptions);\n if (isRecord(nextEvent) && nextEvent.eventType === \"feedback.complete\") {\n break;\n }\n }\n\n if (Date.now() >= deadline) {\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: {\n eventType: \"feedback.complete\",\n cursor: cursor ?? null,\n reason: \"timeout\"\n }\n }\n }, outputOptions);\n }\n\n if (subscriptionId) {\n await client.call(\n \"canvas.execute\",\n {\n command: \"canvas.feedback.unsubscribe\",\n params: {\n ...params,\n subscriptionId\n }\n }\n ).catch(() => {});\n }\n}\n\nconst requireValue = (value: string | undefined, flag: string): string => {\n if (!value) throw createUsageError(`Missing value for ${flag}`);\n return value;\n};\n\nconst parseJsonObject = (raw: string, source: string): Record<string, unknown> => {\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Invalid JSON\";\n throw createUsageError(`Invalid JSON from ${source}: ${message}`);\n }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n throw createUsageError(`Invalid JSON from ${source}: expected object`);\n }\n return parsed as Record<string, unknown>;\n};\n\nexport const parseCanvasArgs = (rawArgs: string[]): CanvasArgs => {\n const parsed: CanvasArgs = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--command\") {\n parsed.command = requireValue(rawArgs[i + 1], \"--command\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--command=\")) {\n parsed.command = requireValue(arg.split(\"=\", 2)[1], \"--command\");\n continue;\n }\n if (arg === \"--params\") {\n parsed.params = requireValue(rawArgs[i + 1], \"--params\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--params=\")) {\n parsed.params = requireValue(arg.split(\"=\", 2)[1], \"--params\");\n continue;\n }\n if (arg === \"--params-file\") {\n parsed.paramsFile = requireValue(rawArgs[i + 1], \"--params-file\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--params-file=\")) {\n parsed.paramsFile = requireValue(arg.split(\"=\", 2)[1], \"--params-file\");\n continue;\n }\n if (arg === \"--timeout-ms\") {\n parsed.timeoutMs = parseNumberFlag(requireValue(rawArgs[i + 1], \"--timeout-ms\"), \"--timeout-ms\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--timeout-ms=\")) {\n parsed.timeoutMs = parseNumberFlag(requireValue(arg.split(\"=\", 2)[1], \"--timeout-ms\"), \"--timeout-ms\", { min: 1 });\n }\n }\n return parsed;\n};\n\nconst resolveCanvasParams = (canvasArgs: CanvasArgs): Record<string, unknown> => {\n const hasParams = typeof canvasArgs.params === \"string\";\n const hasParamsFile = typeof canvasArgs.paramsFile === \"string\";\n if (Number(hasParams) + Number(hasParamsFile) > 1) {\n throw createUsageError(\"Provide only one params source: --params or --params-file.\");\n }\n if (hasParams) {\n return parseJsonObject(canvasArgs.params ?? \"\", \"--params\");\n }\n if (hasParamsFile) {\n let raw = \"\";\n try {\n raw = readFileSync(canvasArgs.paramsFile ?? \"\", \"utf8\");\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unable to read file\";\n throw createUsageError(`Invalid --params-file: ${message}`);\n }\n if (!raw.trim()) {\n throw createUsageError(\"Invalid JSON from --params-file: empty input\");\n }\n return parseJsonObject(raw, \"--params-file\");\n }\n return {};\n};\n\nconst attachRepoRoot = (params: Record<string, unknown>): Record<string, unknown> => {\n if (typeof params.repoRoot === \"string\" && params.repoRoot.trim().length > 0) {\n return params;\n }\n return {\n ...params,\n repoRoot: process.cwd()\n };\n};\n\nexport async function runCanvas(args: ParsedArgs) {\n const canvasArgs = parseCanvasArgs(args.rawArgs);\n if (!canvasArgs.command) {\n throw createUsageError(\"Usage: opendevbrowser canvas --command <canvas.command> [--params <json> | --params-file <path>]\");\n }\n if (!canvasArgs.command.startsWith(\"canvas.\")) {\n throw createUsageError(\"Canvas command names must start with 'canvas.'.\");\n }\n\n const client = new DaemonClient({ autoRenew: true });\n try {\n const params = attachRepoRoot(resolveCanvasParams(canvasArgs));\n const validationEnvelope = buildCanvasCommandValidationEnvelope(canvasArgs.command, params);\n if (validationEnvelope) {\n return {\n success: false,\n message: validationEnvelope.message,\n exitCode: EXIT_EXECUTION,\n data: {\n command: canvasArgs.command,\n result: validationEnvelope\n }\n };\n }\n const result = await client.call<unknown>(\n \"canvas.execute\",\n {\n command: canvasArgs.command,\n params\n },\n { timeoutMs: canvasArgs.timeoutMs }\n );\n if (\n canvasArgs.command === \"canvas.feedback.subscribe\"\n && args.outputFormat === \"stream-json\"\n && isRecord(result)\n ) {\n await streamFeedbackViaSubscription(client, args, canvasArgs, params, result);\n return {\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n suppressOutput: true\n }\n };\n }\n if (args.outputFormat === \"text\") {\n const output = typeof result === \"string\" ? result : JSON.stringify(result, null, 2);\n return { success: true, message: output };\n }\n return {\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n result\n }\n };\n } finally {\n await client.releaseBinding().catch(() => {});\n }\n}\n\nexport const __test__ = {\n parseCanvasArgs,\n parseJsonObject,\n resolveCanvasParams,\n attachRepoRoot,\n toFeedbackSubscribeResult\n};\n"],"mappings":"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","names":[]}
@@ -3,25 +3,25 @@ import {
3
3
  desktopCommandResult,
4
4
  parseDesktopReasonArgs,
5
5
  requireDesktopReason
6
- } from "./chunk-AHEWXOKY.js";
6
+ } from "./chunk-JROW6ZNN.js";
7
7
  import "./chunk-RJNI3BHT.js";
8
- import "./chunk-RPXWUCQQ.js";
8
+ import "./chunk-SKFB5ICF.js";
9
9
  import "./chunk-OW5HMYMI.js";
10
- import "./chunk-MD655IPO.js";
11
- import "./chunk-COAOWH3G.js";
12
- import "./chunk-QOMWCRE3.js";
10
+ import "./chunk-MJF67OTH.js";
11
+ import "./chunk-HMRANSDX.js";
12
+ import "./chunk-EOX6U6Q4.js";
13
13
  import "./chunk-MX3NFLCE.js";
14
14
  import "./chunk-ASMHEEKY.js";
15
- import "./chunk-IPE7TF2P.js";
16
- import "./chunk-STGGGVYT.js";
17
- import "./chunk-3ILXPKSJ.js";
15
+ import "./chunk-7BNU6DFI.js";
16
+ import "./chunk-QMHKAFYX.js";
17
+ import "./chunk-BUVYTJZR.js";
18
18
  import "./chunk-TBUCZX4A.js";
19
19
  import "./chunk-Y2KL55OG.js";
20
20
  import "./chunk-5SWZDVOW.js";
21
- import "./chunk-4BEJVZRK.js";
21
+ import "./chunk-FBKPDILE.js";
22
22
  import "./chunk-S5KZQJJI.js";
23
- import "./chunk-KZ2IXVQT.js";
24
- import "./chunk-WHQZBUNY.js";
23
+ import "./chunk-IBIHDGTZ.js";
24
+ import "./chunk-3WLCWHIV.js";
25
25
  import "./chunk-FUSXMW3G.js";
26
26
 
27
27
  // src/cli/commands/desktop/capture-desktop.ts
@@ -35,4 +35,4 @@ async function runDesktopCaptureDesktop(args) {
35
35
  export {
36
36
  runDesktopCaptureDesktop
37
37
  };
38
- //# sourceMappingURL=capture-desktop-HFTTWY4Z.js.map
38
+ //# sourceMappingURL=capture-desktop-T5YO3EBI.js.map
@@ -4,25 +4,25 @@ import {
4
4
  parseDesktopWindowReasonArgs,
5
5
  requireDesktopReason,
6
6
  requireDesktopWindowId
7
- } from "./chunk-AHEWXOKY.js";
7
+ } from "./chunk-JROW6ZNN.js";
8
8
  import "./chunk-RJNI3BHT.js";
9
- import "./chunk-RPXWUCQQ.js";
9
+ import "./chunk-SKFB5ICF.js";
10
10
  import "./chunk-OW5HMYMI.js";
11
- import "./chunk-MD655IPO.js";
12
- import "./chunk-COAOWH3G.js";
13
- import "./chunk-QOMWCRE3.js";
11
+ import "./chunk-MJF67OTH.js";
12
+ import "./chunk-HMRANSDX.js";
13
+ import "./chunk-EOX6U6Q4.js";
14
14
  import "./chunk-MX3NFLCE.js";
15
15
  import "./chunk-ASMHEEKY.js";
16
- import "./chunk-IPE7TF2P.js";
17
- import "./chunk-STGGGVYT.js";
18
- import "./chunk-3ILXPKSJ.js";
16
+ import "./chunk-7BNU6DFI.js";
17
+ import "./chunk-QMHKAFYX.js";
18
+ import "./chunk-BUVYTJZR.js";
19
19
  import "./chunk-TBUCZX4A.js";
20
20
  import "./chunk-Y2KL55OG.js";
21
21
  import "./chunk-5SWZDVOW.js";
22
- import "./chunk-4BEJVZRK.js";
22
+ import "./chunk-FBKPDILE.js";
23
23
  import "./chunk-S5KZQJJI.js";
24
- import "./chunk-KZ2IXVQT.js";
25
- import "./chunk-WHQZBUNY.js";
24
+ import "./chunk-IBIHDGTZ.js";
25
+ import "./chunk-3WLCWHIV.js";
26
26
  import "./chunk-FUSXMW3G.js";
27
27
 
28
28
  // src/cli/commands/desktop/capture-window.ts
@@ -37,4 +37,4 @@ async function runDesktopCaptureWindow(args) {
37
37
  export {
38
38
  runDesktopCaptureWindow
39
39
  };
40
- //# sourceMappingURL=capture-window-X63XPIFF.js.map
40
+ //# sourceMappingURL=capture-window-UKEUBWKH.js.map
@@ -1,26 +1,26 @@
1
1
  import "./chunk-RJNI3BHT.js";
2
2
  import {
3
3
  parseOptionalStringFlag
4
- } from "./chunk-RPXWUCQQ.js";
4
+ } from "./chunk-SKFB5ICF.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-MD655IPO.js";
8
- import "./chunk-COAOWH3G.js";
9
- import "./chunk-QOMWCRE3.js";
7
+ } from "./chunk-MJF67OTH.js";
8
+ import "./chunk-HMRANSDX.js";
9
+ import "./chunk-EOX6U6Q4.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
12
  import {
13
13
  createUsageError
14
- } from "./chunk-IPE7TF2P.js";
15
- import "./chunk-STGGGVYT.js";
16
- import "./chunk-3ILXPKSJ.js";
14
+ } from "./chunk-7BNU6DFI.js";
15
+ import "./chunk-QMHKAFYX.js";
16
+ import "./chunk-BUVYTJZR.js";
17
17
  import "./chunk-TBUCZX4A.js";
18
18
  import "./chunk-Y2KL55OG.js";
19
19
  import "./chunk-5SWZDVOW.js";
20
- import "./chunk-4BEJVZRK.js";
20
+ import "./chunk-FBKPDILE.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-KZ2IXVQT.js";
23
- import "./chunk-WHQZBUNY.js";
22
+ import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
26
26
  // src/cli/commands/interact/check.ts
@@ -68,4 +68,4 @@ async function runCheck(args) {
68
68
  export {
69
69
  runCheck
70
70
  };
71
- //# sourceMappingURL=check-LWAUY7GC.js.map
71
+ //# sourceMappingURL=check-PQB6KKMN.js.map
@@ -1,26 +1,26 @@
1
1
  import "./chunk-RJNI3BHT.js";
2
2
  import {
3
3
  parseOptionalStringFlag
4
- } from "./chunk-RPXWUCQQ.js";
4
+ } from "./chunk-SKFB5ICF.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-MD655IPO.js";
8
- import "./chunk-COAOWH3G.js";
9
- import "./chunk-QOMWCRE3.js";
7
+ } from "./chunk-MJF67OTH.js";
8
+ import "./chunk-HMRANSDX.js";
9
+ import "./chunk-EOX6U6Q4.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
12
  import {
13
13
  createUsageError
14
- } from "./chunk-IPE7TF2P.js";
15
- import "./chunk-STGGGVYT.js";
16
- import "./chunk-3ILXPKSJ.js";
14
+ } from "./chunk-7BNU6DFI.js";
15
+ import "./chunk-QMHKAFYX.js";
16
+ import "./chunk-BUVYTJZR.js";
17
17
  import "./chunk-TBUCZX4A.js";
18
18
  import "./chunk-Y2KL55OG.js";
19
19
  import "./chunk-5SWZDVOW.js";
20
- import "./chunk-4BEJVZRK.js";
20
+ import "./chunk-FBKPDILE.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-KZ2IXVQT.js";
23
- import "./chunk-WHQZBUNY.js";
22
+ import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
26
26
  // src/cli/commands/dom/checked.ts
@@ -68,4 +68,4 @@ async function runDomChecked(args) {
68
68
  export {
69
69
  runDomChecked
70
70
  };
71
- //# sourceMappingURL=checked-ZSOUKVYT.js.map
71
+ //# sourceMappingURL=checked-RNZIMCU6.js.map