opendevbrowser 0.0.34 → 0.0.35

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 (283) hide show
  1. package/README.md +1 -1
  2. package/dist/{accessibility-snapshot-VCBXK47S.js → accessibility-snapshot-TAFPVLZN.js} +8 -8
  3. package/dist/{active-window-7EUN36LZ.js → active-window-MHFMC6NQ.js} +8 -8
  4. package/dist/{annotate-VLBK7YB6.js → annotate-5ZFRFQ4B.js} +7 -7
  5. package/dist/{attr-JNANQKM6.js → attr-MBF2UCRF.js} +7 -7
  6. package/dist/browser/browser-manager.d.ts +6 -1
  7. package/dist/browser/browser-manager.d.ts.map +1 -1
  8. package/dist/browser/manager-types.d.ts +48 -0
  9. package/dist/browser/manager-types.d.ts.map +1 -1
  10. package/dist/browser/ops-browser-manager.d.ts +2 -1
  11. package/dist/browser/ops-browser-manager.d.ts.map +1 -1
  12. package/dist/{canvas-V5LO4JVL.js → canvas-CAMD22YU.js} +7 -7
  13. package/dist/{capture-desktop-FKVDWTVG.js → capture-desktop-TMZSFA5R.js} +8 -8
  14. package/dist/{capture-window-QVPM2DN2.js → capture-window-NZDKD2AE.js} +8 -8
  15. package/dist/{check-V3CWZ56S.js → check-MO33GTQ4.js} +7 -7
  16. package/dist/{checked-Q27Q6YZN.js → checked-3HDF5X2M.js} +7 -7
  17. package/dist/{chunk-VX47SJZM.js → chunk-32ZSOZND.js} +2 -2
  18. package/dist/{chunk-XRDCSHKZ.js → chunk-AHQC4A6P.js} +744 -14
  19. package/dist/chunk-AHQC4A6P.js.map +1 -0
  20. package/dist/{chunk-IBIHDGTZ.js → chunk-B5XIJQXO.js} +32 -4
  21. package/dist/chunk-B5XIJQXO.js.map +1 -0
  22. package/dist/{chunk-OJAUKABV.js → chunk-BHZLEFXW.js} +2 -2
  23. package/dist/{chunk-VY47VKXU.js → chunk-FJZY3Z3X.js} +2 -2
  24. package/dist/{chunk-GC2FWISX.js → chunk-HM4CO3EW.js} +20 -16
  25. package/dist/chunk-HM4CO3EW.js.map +1 -0
  26. package/dist/{chunk-Z3HIX2SE.js → chunk-UEAXTWGT.js} +2 -2
  27. package/dist/{chunk-ZGCTC5YM.js → chunk-UVD34RA2.js} +33 -1
  28. package/dist/chunk-UVD34RA2.js.map +1 -0
  29. package/dist/{chunk-5FDXH4CS.js → chunk-WTWSBEBW.js} +5659 -419
  30. package/dist/chunk-WTWSBEBW.js.map +1 -0
  31. package/dist/{chunk-NX2XYJP5.js → chunk-XSSPNVMS.js} +3 -3
  32. package/dist/{chunk-NX2XYJP5.js.map → chunk-XSSPNVMS.js.map} +1 -1
  33. package/dist/{chunk-QXJDJDSZ.js → chunk-Z3ADLR7I.js} +667 -8
  34. package/dist/chunk-Z3ADLR7I.js.map +1 -0
  35. package/dist/cli/commands/inspiredesign.d.ts +12 -1
  36. package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
  37. package/dist/cli/daemon-commands.d.ts.map +1 -1
  38. package/dist/cli/help.d.ts.map +1 -1
  39. package/dist/cli/index.js +76 -76
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/utils/workflow-message.d.ts.map +1 -1
  42. package/dist/{click-EQDRSLR3.js → click-SWZPJO2U.js} +7 -7
  43. package/dist/{clone-component-SISUXTJS.js → clone-component-YTB46YU4.js} +7 -7
  44. package/dist/{clone-page-MLDPCBOY.js → clone-page-5FMPHQ3A.js} +7 -7
  45. package/dist/{close-7J7EV237.js → close-22SNMDX3.js} +7 -7
  46. package/dist/{close-2LQMJVOA.js → close-ORQZCZ2E.js} +7 -7
  47. package/dist/{connect-JFRSIW5M.js → connect-EWYITNQU.js} +7 -7
  48. package/dist/{console-poll-NSVVUNEC.js → console-poll-LJR6ZTDK.js} +7 -7
  49. package/dist/{cookie-import-B7IQTGTN.js → cookie-import-PTAIWPEC.js} +7 -7
  50. package/dist/{cookie-list-YHG7JCZZ.js → cookie-list-76C35B5B.js} +7 -7
  51. package/dist/{daemon-ENU4FOV4.js → daemon-UKJMDLCB.js} +6 -6
  52. package/dist/daemon-fingerprint.json +1 -1
  53. package/dist/{debug-trace-snapshot-KLGU2AWY.js → debug-trace-snapshot-PQ5FJART.js} +7 -7
  54. package/dist/{dialog-MUVQIERS.js → dialog-WLJDWJV4.js} +7 -7
  55. package/dist/{disconnect-KELQJ45J.js → disconnect-FNB4JC2U.js} +7 -7
  56. package/dist/{enabled-SF6UU5HG.js → enabled-PYMCOQPC.js} +7 -7
  57. package/dist/{goto-AZQWXYPG.js → goto-UNTEW4VI.js} +7 -7
  58. package/dist/guidance/context.d.ts +10 -0
  59. package/dist/guidance/context.d.ts.map +1 -1
  60. package/dist/guidance/readiness.d.ts.map +1 -1
  61. package/dist/guidance/recipes/generic.d.ts.map +1 -1
  62. package/dist/guidance/recipes/pinterest.d.ts.map +1 -1
  63. package/dist/guidance/types.d.ts +4 -0
  64. package/dist/guidance/types.d.ts.map +1 -1
  65. package/dist/{help-B44IBHXL.js → help-QOLCIB3P.js} +8 -7
  66. package/dist/{help-B44IBHXL.js.map → help-QOLCIB3P.js.map} +1 -1
  67. package/dist/{hover-MQRAKKVU.js → hover-ZWY4YOM4.js} +7 -7
  68. package/dist/{html-PLRTU2WS.js → html-M46YBFT3.js} +7 -7
  69. package/dist/index.js +43 -18
  70. package/dist/index.js.map +1 -1
  71. package/dist/{inspector-IY4GBIT6.js → inspector-6YAOI74U.js} +8 -8
  72. package/dist/{inspector-audit-7MQCRJHD.js → inspector-audit-PF64X6SJ.js} +9 -9
  73. package/dist/{inspector-plan-ZAUDHBET.js → inspector-plan-IUGTQV3Q.js} +9 -9
  74. package/dist/inspiredesign/capture-mode.d.ts +8 -0
  75. package/dist/inspiredesign/capture-mode.d.ts.map +1 -1
  76. package/dist/inspiredesign/capture.d.ts +36 -1
  77. package/dist/inspiredesign/capture.d.ts.map +1 -1
  78. package/dist/inspiredesign/contract.d.ts +24 -0
  79. package/dist/inspiredesign/contract.d.ts.map +1 -1
  80. package/dist/inspiredesign/handoff.d.ts +6 -2
  81. package/dist/inspiredesign/handoff.d.ts.map +1 -1
  82. package/dist/inspiredesign/media-analysis/analyzer.d.ts +13 -0
  83. package/dist/inspiredesign/media-analysis/analyzer.d.ts.map +1 -0
  84. package/dist/inspiredesign/media-analysis/design-guidance.d.ts +11 -0
  85. package/dist/inspiredesign/media-analysis/design-guidance.d.ts.map +1 -0
  86. package/dist/inspiredesign/media-analysis/ffmpeg.d.ts +21 -0
  87. package/dist/inspiredesign/media-analysis/ffmpeg.d.ts.map +1 -0
  88. package/dist/inspiredesign/media-analysis/ffprobe.d.ts +8 -0
  89. package/dist/inspiredesign/media-analysis/ffprobe.d.ts.map +1 -0
  90. package/dist/inspiredesign/media-analysis/index.d.ts +10 -0
  91. package/dist/inspiredesign/media-analysis/index.d.ts.map +1 -0
  92. package/dist/inspiredesign/media-analysis/persist.d.ts +6 -0
  93. package/dist/inspiredesign/media-analysis/persist.d.ts.map +1 -0
  94. package/dist/inspiredesign/media-analysis/pixel.d.ts +9 -0
  95. package/dist/inspiredesign/media-analysis/pixel.d.ts.map +1 -0
  96. package/dist/inspiredesign/media-analysis/types.d.ts +163 -0
  97. package/dist/inspiredesign/media-analysis/types.d.ts.map +1 -0
  98. package/dist/inspiredesign/media-analysis/typography-structure.d.ts +3 -0
  99. package/dist/inspiredesign/media-analysis/typography-structure.d.ts.map +1 -0
  100. package/dist/inspiredesign/meta-prompt.d.ts.map +1 -1
  101. package/dist/inspiredesign/motion-evidence.d.ts +73 -0
  102. package/dist/inspiredesign/motion-evidence.d.ts.map +1 -0
  103. package/dist/inspiredesign/pinterest-media-classification.d.ts +27 -0
  104. package/dist/inspiredesign/pinterest-media-classification.d.ts.map +1 -0
  105. package/dist/inspiredesign/pinterest-pin-media-evidence.d.ts +151 -0
  106. package/dist/inspiredesign/pinterest-pin-media-evidence.d.ts.map +1 -0
  107. package/dist/inspiredesign/product-readiness.d.ts +97 -0
  108. package/dist/inspiredesign/product-readiness.d.ts.map +1 -0
  109. package/dist/inspiredesign/reference-pattern-board.d.ts +27 -2
  110. package/dist/inspiredesign/reference-pattern-board.d.ts.map +1 -1
  111. package/dist/inspiredesign/visual-evidence.d.ts +5 -0
  112. package/dist/inspiredesign/visual-evidence.d.ts.map +1 -1
  113. package/dist/{inspiredesign-VHPEO3UK.js → inspiredesign-GZIEXETS.js} +29 -12
  114. package/dist/inspiredesign-GZIEXETS.js.map +1 -0
  115. package/dist/{launch-OCTWPTV5.js → launch-I7WNLWLY.js} +7 -7
  116. package/dist/{list-HUSYADUS.js → list-BAECFJI7.js} +7 -7
  117. package/dist/{list-JWKAMAUA.js → list-BCF4HZ2K.js} +7 -7
  118. package/dist/{macro-resolve-WOXMPZDQ.js → macro-resolve-4GNZYHHW.js} +8 -8
  119. package/dist/{network-poll-WHB62OEF.js → network-poll-DCZ5ZNLP.js} +7 -7
  120. package/dist/{new-IKZBYBNK.js → new-6KZYJTJG.js} +7 -7
  121. package/dist/{open-UA2VI6ZP.js → open-JPGEAJHJ.js} +7 -7
  122. package/dist/opendevbrowser.js +43 -18
  123. package/dist/opendevbrowser.js.map +1 -1
  124. package/dist/{perf-DICS3VKH.js → perf-5X367PRP.js} +7 -7
  125. package/dist/{pointer-down-2XPRZFJC.js → pointer-down-5OAUDDNR.js} +7 -7
  126. package/dist/{pointer-drag-7NY4BOLH.js → pointer-drag-LIW5PY5P.js} +7 -7
  127. package/dist/{pointer-move-FWEXMH37.js → pointer-move-7AMURLJD.js} +7 -7
  128. package/dist/{pointer-up-VU2OHK5D.js → pointer-up-EY652YWL.js} +7 -7
  129. package/dist/{press-W7IZ3FCX.js → press-UIAE5XEF.js} +7 -7
  130. package/dist/{product-video-XCZ6CHR5.js → product-video-B6TLS7VC.js} +9 -9
  131. package/dist/providers/browser-native-discovery.d.ts.map +1 -1
  132. package/dist/providers/renderer.d.ts +10 -1
  133. package/dist/providers/renderer.d.ts.map +1 -1
  134. package/dist/providers/workflows.d.ts +53 -2
  135. package/dist/providers/workflows.d.ts.map +1 -1
  136. package/dist/{providers-XCNSU3T6.js → providers-AERTX6X4.js} +5 -3
  137. package/dist/public-surface/generated-manifest.d.ts +2 -2
  138. package/dist/public-surface/generated-manifest.d.ts.map +1 -1
  139. package/dist/public-surface/source.d.ts +2 -2
  140. package/dist/public-surface/source.d.ts.map +1 -1
  141. package/dist/{research-AYCKHOWK.js → research-AJH6ECYW.js} +9 -9
  142. package/dist/{review-PP2UNSMJ.js → review-RN6XF2YB.js} +7 -7
  143. package/dist/{review-desktop-3JOJFUEJ.js → review-desktop-UJOUS7K2.js} +7 -7
  144. package/dist/{rpc-7EPTJQQ6.js → rpc-VS5Y5FUT.js} +7 -7
  145. package/dist/{run-P6UJS3D4.js → run-EVRIQW7S.js} +5 -5
  146. package/dist/{screencast-start-ZZYNH2HT.js → screencast-start-U6J4FYU4.js} +7 -7
  147. package/dist/{screencast-stop-Y6ADFOFA.js → screencast-stop-EQUPRGMP.js} +7 -7
  148. package/dist/{screenshot-CJB7PMAF.js → screenshot-BENYGC36.js} +7 -7
  149. package/dist/{scroll-BP5MA4ZT.js → scroll-3OALQLX2.js} +7 -7
  150. package/dist/{scroll-into-view-O3RDWLM2.js → scroll-into-view-SNZKBIVB.js} +7 -7
  151. package/dist/{select-QLCNRI36.js → select-JDZDDC3Y.js} +7 -7
  152. package/dist/{serve-OO2MQWGL.js → serve-LOC6ESJ4.js} +6 -6
  153. package/dist/{shopping-UYHCYPAH.js → shopping-267OAYGM.js} +9 -9
  154. package/dist/{snapshot-SXYZ3CMC.js → snapshot-ASYI5UFR.js} +7 -7
  155. package/dist/{status-AL2AHVA5.js → status-47CI4LJX.js} +7 -7
  156. package/dist/{status-QQW7REK4.js → status-N4O6DJTF.js} +8 -8
  157. package/dist/{status-capabilities-AVHJYQQQ.js → status-capabilities-C777JZG4.js} +8 -8
  158. package/dist/{text-B6Z47EOA.js → text-MS2653MW.js} +7 -7
  159. package/dist/tools/inspiredesign_run.d.ts.map +1 -1
  160. package/dist/{type-LR3F3SQY.js → type-UMPSDACC.js} +7 -7
  161. package/dist/{uncheck-5PJEHR7J.js → uncheck-2OZ56D42.js} +7 -7
  162. package/dist/{upload-HQ3QN2OW.js → upload-CD7PRH54.js} +7 -7
  163. package/dist/{use-KFZLMRUH.js → use-MO67AGG7.js} +7 -7
  164. package/dist/{value-TKUFUK5I.js → value-4GI2LRUY.js} +7 -7
  165. package/dist/{visible-P5Z2N2QR.js → visible-VSUFGRFZ.js} +7 -7
  166. package/dist/{wait-BYSHJPSC.js → wait-OQYMFENT.js} +7 -7
  167. package/dist/{windows-6GTD25EU.js → windows-75W2JCW7.js} +8 -8
  168. package/extension/manifest.json +1 -1
  169. package/package.json +1 -1
  170. package/skills/opendevbrowser-best-practices/SKILL.md +41 -30
  171. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +12 -8
  172. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +1 -0
  173. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +19 -0
  174. package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +23 -13
  175. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +3 -1
  176. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +62 -21
  177. package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +28 -0
  178. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +15 -0
  179. package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +13 -0
  180. package/skills/opendevbrowser-design-agent/SKILL.md +2 -0
  181. package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +15 -13
  182. package/skills/opendevbrowser-design-agent/artifacts/isolated-preview-validation.md +1 -1
  183. package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +14 -7
  184. package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +1 -0
  185. package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +10 -7
  186. package/skills/opendevbrowser-motion-design/SKILL.md +1 -1
  187. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +5 -4
  188. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +1 -0
  189. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +1 -0
  190. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +1 -0
  191. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +4 -0
  192. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +1 -0
  193. package/skills/opendevbrowser-research/SKILL.md +1 -0
  194. package/skills/opendevbrowser-research/scripts/render-output.sh +1 -0
  195. package/skills/opendevbrowser-research/scripts/run-research.sh +1 -0
  196. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +4 -0
  197. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +1 -0
  198. package/skills/opendevbrowser-shopping/SKILL.md +1 -0
  199. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +1 -0
  200. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +1 -0
  201. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +1 -0
  202. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +4 -0
  203. package/dist/chunk-5FDXH4CS.js.map +0 -1
  204. package/dist/chunk-GC2FWISX.js.map +0 -1
  205. package/dist/chunk-IBIHDGTZ.js.map +0 -1
  206. package/dist/chunk-QXJDJDSZ.js.map +0 -1
  207. package/dist/chunk-XRDCSHKZ.js.map +0 -1
  208. package/dist/chunk-ZGCTC5YM.js.map +0 -1
  209. package/dist/inspiredesign-VHPEO3UK.js.map +0 -1
  210. /package/dist/{accessibility-snapshot-VCBXK47S.js.map → accessibility-snapshot-TAFPVLZN.js.map} +0 -0
  211. /package/dist/{active-window-7EUN36LZ.js.map → active-window-MHFMC6NQ.js.map} +0 -0
  212. /package/dist/{annotate-VLBK7YB6.js.map → annotate-5ZFRFQ4B.js.map} +0 -0
  213. /package/dist/{attr-JNANQKM6.js.map → attr-MBF2UCRF.js.map} +0 -0
  214. /package/dist/{canvas-V5LO4JVL.js.map → canvas-CAMD22YU.js.map} +0 -0
  215. /package/dist/{capture-desktop-FKVDWTVG.js.map → capture-desktop-TMZSFA5R.js.map} +0 -0
  216. /package/dist/{capture-window-QVPM2DN2.js.map → capture-window-NZDKD2AE.js.map} +0 -0
  217. /package/dist/{check-V3CWZ56S.js.map → check-MO33GTQ4.js.map} +0 -0
  218. /package/dist/{checked-Q27Q6YZN.js.map → checked-3HDF5X2M.js.map} +0 -0
  219. /package/dist/{chunk-VX47SJZM.js.map → chunk-32ZSOZND.js.map} +0 -0
  220. /package/dist/{chunk-OJAUKABV.js.map → chunk-BHZLEFXW.js.map} +0 -0
  221. /package/dist/{chunk-VY47VKXU.js.map → chunk-FJZY3Z3X.js.map} +0 -0
  222. /package/dist/{chunk-Z3HIX2SE.js.map → chunk-UEAXTWGT.js.map} +0 -0
  223. /package/dist/{click-EQDRSLR3.js.map → click-SWZPJO2U.js.map} +0 -0
  224. /package/dist/{clone-component-SISUXTJS.js.map → clone-component-YTB46YU4.js.map} +0 -0
  225. /package/dist/{clone-page-MLDPCBOY.js.map → clone-page-5FMPHQ3A.js.map} +0 -0
  226. /package/dist/{close-7J7EV237.js.map → close-22SNMDX3.js.map} +0 -0
  227. /package/dist/{close-2LQMJVOA.js.map → close-ORQZCZ2E.js.map} +0 -0
  228. /package/dist/{connect-JFRSIW5M.js.map → connect-EWYITNQU.js.map} +0 -0
  229. /package/dist/{console-poll-NSVVUNEC.js.map → console-poll-LJR6ZTDK.js.map} +0 -0
  230. /package/dist/{cookie-import-B7IQTGTN.js.map → cookie-import-PTAIWPEC.js.map} +0 -0
  231. /package/dist/{cookie-list-YHG7JCZZ.js.map → cookie-list-76C35B5B.js.map} +0 -0
  232. /package/dist/{daemon-ENU4FOV4.js.map → daemon-UKJMDLCB.js.map} +0 -0
  233. /package/dist/{debug-trace-snapshot-KLGU2AWY.js.map → debug-trace-snapshot-PQ5FJART.js.map} +0 -0
  234. /package/dist/{dialog-MUVQIERS.js.map → dialog-WLJDWJV4.js.map} +0 -0
  235. /package/dist/{disconnect-KELQJ45J.js.map → disconnect-FNB4JC2U.js.map} +0 -0
  236. /package/dist/{enabled-SF6UU5HG.js.map → enabled-PYMCOQPC.js.map} +0 -0
  237. /package/dist/{goto-AZQWXYPG.js.map → goto-UNTEW4VI.js.map} +0 -0
  238. /package/dist/{hover-MQRAKKVU.js.map → hover-ZWY4YOM4.js.map} +0 -0
  239. /package/dist/{html-PLRTU2WS.js.map → html-M46YBFT3.js.map} +0 -0
  240. /package/dist/{inspector-IY4GBIT6.js.map → inspector-6YAOI74U.js.map} +0 -0
  241. /package/dist/{inspector-audit-7MQCRJHD.js.map → inspector-audit-PF64X6SJ.js.map} +0 -0
  242. /package/dist/{inspector-plan-ZAUDHBET.js.map → inspector-plan-IUGTQV3Q.js.map} +0 -0
  243. /package/dist/{launch-OCTWPTV5.js.map → launch-I7WNLWLY.js.map} +0 -0
  244. /package/dist/{list-HUSYADUS.js.map → list-BAECFJI7.js.map} +0 -0
  245. /package/dist/{list-JWKAMAUA.js.map → list-BCF4HZ2K.js.map} +0 -0
  246. /package/dist/{macro-resolve-WOXMPZDQ.js.map → macro-resolve-4GNZYHHW.js.map} +0 -0
  247. /package/dist/{network-poll-WHB62OEF.js.map → network-poll-DCZ5ZNLP.js.map} +0 -0
  248. /package/dist/{new-IKZBYBNK.js.map → new-6KZYJTJG.js.map} +0 -0
  249. /package/dist/{open-UA2VI6ZP.js.map → open-JPGEAJHJ.js.map} +0 -0
  250. /package/dist/{perf-DICS3VKH.js.map → perf-5X367PRP.js.map} +0 -0
  251. /package/dist/{pointer-down-2XPRZFJC.js.map → pointer-down-5OAUDDNR.js.map} +0 -0
  252. /package/dist/{pointer-drag-7NY4BOLH.js.map → pointer-drag-LIW5PY5P.js.map} +0 -0
  253. /package/dist/{pointer-move-FWEXMH37.js.map → pointer-move-7AMURLJD.js.map} +0 -0
  254. /package/dist/{pointer-up-VU2OHK5D.js.map → pointer-up-EY652YWL.js.map} +0 -0
  255. /package/dist/{press-W7IZ3FCX.js.map → press-UIAE5XEF.js.map} +0 -0
  256. /package/dist/{product-video-XCZ6CHR5.js.map → product-video-B6TLS7VC.js.map} +0 -0
  257. /package/dist/{providers-XCNSU3T6.js.map → providers-AERTX6X4.js.map} +0 -0
  258. /package/dist/{research-AYCKHOWK.js.map → research-AJH6ECYW.js.map} +0 -0
  259. /package/dist/{review-PP2UNSMJ.js.map → review-RN6XF2YB.js.map} +0 -0
  260. /package/dist/{review-desktop-3JOJFUEJ.js.map → review-desktop-UJOUS7K2.js.map} +0 -0
  261. /package/dist/{rpc-7EPTJQQ6.js.map → rpc-VS5Y5FUT.js.map} +0 -0
  262. /package/dist/{run-P6UJS3D4.js.map → run-EVRIQW7S.js.map} +0 -0
  263. /package/dist/{screencast-start-ZZYNH2HT.js.map → screencast-start-U6J4FYU4.js.map} +0 -0
  264. /package/dist/{screencast-stop-Y6ADFOFA.js.map → screencast-stop-EQUPRGMP.js.map} +0 -0
  265. /package/dist/{screenshot-CJB7PMAF.js.map → screenshot-BENYGC36.js.map} +0 -0
  266. /package/dist/{scroll-BP5MA4ZT.js.map → scroll-3OALQLX2.js.map} +0 -0
  267. /package/dist/{scroll-into-view-O3RDWLM2.js.map → scroll-into-view-SNZKBIVB.js.map} +0 -0
  268. /package/dist/{select-QLCNRI36.js.map → select-JDZDDC3Y.js.map} +0 -0
  269. /package/dist/{serve-OO2MQWGL.js.map → serve-LOC6ESJ4.js.map} +0 -0
  270. /package/dist/{shopping-UYHCYPAH.js.map → shopping-267OAYGM.js.map} +0 -0
  271. /package/dist/{snapshot-SXYZ3CMC.js.map → snapshot-ASYI5UFR.js.map} +0 -0
  272. /package/dist/{status-AL2AHVA5.js.map → status-47CI4LJX.js.map} +0 -0
  273. /package/dist/{status-QQW7REK4.js.map → status-N4O6DJTF.js.map} +0 -0
  274. /package/dist/{status-capabilities-AVHJYQQQ.js.map → status-capabilities-C777JZG4.js.map} +0 -0
  275. /package/dist/{text-B6Z47EOA.js.map → text-MS2653MW.js.map} +0 -0
  276. /package/dist/{type-LR3F3SQY.js.map → type-UMPSDACC.js.map} +0 -0
  277. /package/dist/{uncheck-5PJEHR7J.js.map → uncheck-2OZ56D42.js.map} +0 -0
  278. /package/dist/{upload-HQ3QN2OW.js.map → upload-CD7PRH54.js.map} +0 -0
  279. /package/dist/{use-KFZLMRUH.js.map → use-MO67AGG7.js.map} +0 -0
  280. /package/dist/{value-TKUFUK5I.js.map → value-4GI2LRUY.js.map} +0 -0
  281. /package/dist/{visible-P5Z2N2QR.js.map → visible-VSUFGRFZ.js.map} +0 -0
  282. /package/dist/{wait-BYSHJPSC.js.map → wait-OQYMFENT.js.map} +0 -0
  283. /package/dist/{windows-6GTD25EU.js.map → windows-75W2JCW7.js.map} +0 -0
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-TI5I6UWY.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-NX2XYJP5.js";
8
- import "./chunk-QXJDJDSZ.js";
9
- import "./chunk-XRDCSHKZ.js";
7
+ } from "./chunk-XSSPNVMS.js";
8
+ import "./chunk-Z3ADLR7I.js";
9
+ import "./chunk-AHQC4A6P.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
+ import "./chunk-QMHKAFYX.js";
12
13
  import {
13
14
  createUsageError
14
15
  } from "./chunk-7BNU6DFI.js";
15
- import "./chunk-QMHKAFYX.js";
16
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-5FDXH4CS.js";
20
+ import "./chunk-WTWSBEBW.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-IBIHDGTZ.js";
22
+ import "./chunk-B5XIJQXO.js";
23
23
  import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
@@ -91,4 +91,4 @@ async function runType(args) {
91
91
  export {
92
92
  runType
93
93
  };
94
- //# sourceMappingURL=type-LR3F3SQY.js.map
94
+ //# sourceMappingURL=type-UMPSDACC.js.map
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-TI5I6UWY.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-NX2XYJP5.js";
8
- import "./chunk-QXJDJDSZ.js";
9
- import "./chunk-XRDCSHKZ.js";
7
+ } from "./chunk-XSSPNVMS.js";
8
+ import "./chunk-Z3ADLR7I.js";
9
+ import "./chunk-AHQC4A6P.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
+ import "./chunk-QMHKAFYX.js";
12
13
  import {
13
14
  createUsageError
14
15
  } from "./chunk-7BNU6DFI.js";
15
- import "./chunk-QMHKAFYX.js";
16
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-5FDXH4CS.js";
20
+ import "./chunk-WTWSBEBW.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-IBIHDGTZ.js";
22
+ import "./chunk-B5XIJQXO.js";
23
23
  import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
@@ -68,4 +68,4 @@ async function runUncheck(args) {
68
68
  export {
69
69
  runUncheck
70
70
  };
71
- //# sourceMappingURL=uncheck-5PJEHR7J.js.map
71
+ //# sourceMappingURL=uncheck-2OZ56D42.js.map
@@ -5,22 +5,22 @@ import {
5
5
  } from "./chunk-TI5I6UWY.js";
6
6
  import {
7
7
  callDaemon
8
- } from "./chunk-NX2XYJP5.js";
9
- import "./chunk-QXJDJDSZ.js";
10
- import "./chunk-XRDCSHKZ.js";
8
+ } from "./chunk-XSSPNVMS.js";
9
+ import "./chunk-Z3ADLR7I.js";
10
+ import "./chunk-AHQC4A6P.js";
11
11
  import "./chunk-MX3NFLCE.js";
12
12
  import "./chunk-ASMHEEKY.js";
13
+ import "./chunk-QMHKAFYX.js";
13
14
  import {
14
15
  createUsageError
15
16
  } from "./chunk-7BNU6DFI.js";
16
- import "./chunk-QMHKAFYX.js";
17
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-5FDXH4CS.js";
21
+ import "./chunk-WTWSBEBW.js";
22
22
  import "./chunk-S5KZQJJI.js";
23
- import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-B5XIJQXO.js";
24
24
  import "./chunk-3WLCWHIV.js";
25
25
  import "./chunk-FUSXMW3G.js";
26
26
 
@@ -53,4 +53,4 @@ export {
53
53
  __test__,
54
54
  runUpload
55
55
  };
56
- //# sourceMappingURL=upload-HQ3QN2OW.js.map
56
+ //# sourceMappingURL=upload-CD7PRH54.js.map
@@ -1,22 +1,22 @@
1
1
  import "./chunk-RJNI3BHT.js";
2
2
  import {
3
3
  callDaemon
4
- } from "./chunk-NX2XYJP5.js";
5
- import "./chunk-QXJDJDSZ.js";
6
- import "./chunk-XRDCSHKZ.js";
4
+ } from "./chunk-XSSPNVMS.js";
5
+ import "./chunk-Z3ADLR7I.js";
6
+ import "./chunk-AHQC4A6P.js";
7
7
  import "./chunk-MX3NFLCE.js";
8
8
  import "./chunk-ASMHEEKY.js";
9
+ import "./chunk-QMHKAFYX.js";
9
10
  import {
10
11
  createUsageError
11
12
  } from "./chunk-7BNU6DFI.js";
12
- import "./chunk-QMHKAFYX.js";
13
13
  import "./chunk-BUVYTJZR.js";
14
14
  import "./chunk-TBUCZX4A.js";
15
15
  import "./chunk-Y2KL55OG.js";
16
16
  import "./chunk-5SWZDVOW.js";
17
- import "./chunk-5FDXH4CS.js";
17
+ import "./chunk-WTWSBEBW.js";
18
18
  import "./chunk-S5KZQJJI.js";
19
- import "./chunk-IBIHDGTZ.js";
19
+ import "./chunk-B5XIJQXO.js";
20
20
  import "./chunk-3WLCWHIV.js";
21
21
  import "./chunk-FUSXMW3G.js";
22
22
 
@@ -60,4 +60,4 @@ async function runTargetUse(args) {
60
60
  export {
61
61
  runTargetUse
62
62
  };
63
- //# sourceMappingURL=use-KFZLMRUH.js.map
63
+ //# sourceMappingURL=use-MO67AGG7.js.map
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-TI5I6UWY.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-NX2XYJP5.js";
8
- import "./chunk-QXJDJDSZ.js";
9
- import "./chunk-XRDCSHKZ.js";
7
+ } from "./chunk-XSSPNVMS.js";
8
+ import "./chunk-Z3ADLR7I.js";
9
+ import "./chunk-AHQC4A6P.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
+ import "./chunk-QMHKAFYX.js";
12
13
  import {
13
14
  createUsageError
14
15
  } from "./chunk-7BNU6DFI.js";
15
- import "./chunk-QMHKAFYX.js";
16
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-5FDXH4CS.js";
20
+ import "./chunk-WTWSBEBW.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-IBIHDGTZ.js";
22
+ import "./chunk-B5XIJQXO.js";
23
23
  import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
@@ -68,4 +68,4 @@ async function runDomValue(args) {
68
68
  export {
69
69
  runDomValue
70
70
  };
71
- //# sourceMappingURL=value-TKUFUK5I.js.map
71
+ //# sourceMappingURL=value-4GI2LRUY.js.map
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-TI5I6UWY.js";
5
5
  import {
6
6
  callDaemon
7
- } from "./chunk-NX2XYJP5.js";
8
- import "./chunk-QXJDJDSZ.js";
9
- import "./chunk-XRDCSHKZ.js";
7
+ } from "./chunk-XSSPNVMS.js";
8
+ import "./chunk-Z3ADLR7I.js";
9
+ import "./chunk-AHQC4A6P.js";
10
10
  import "./chunk-MX3NFLCE.js";
11
11
  import "./chunk-ASMHEEKY.js";
12
+ import "./chunk-QMHKAFYX.js";
12
13
  import {
13
14
  createUsageError
14
15
  } from "./chunk-7BNU6DFI.js";
15
- import "./chunk-QMHKAFYX.js";
16
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-5FDXH4CS.js";
20
+ import "./chunk-WTWSBEBW.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-IBIHDGTZ.js";
22
+ import "./chunk-B5XIJQXO.js";
23
23
  import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
@@ -68,4 +68,4 @@ async function runDomVisible(args) {
68
68
  export {
69
69
  runDomVisible
70
70
  };
71
- //# sourceMappingURL=visible-P5Z2N2QR.js.map
71
+ //# sourceMappingURL=visible-VSUFGRFZ.js.map
@@ -5,22 +5,22 @@ import {
5
5
  } from "./chunk-TI5I6UWY.js";
6
6
  import {
7
7
  callDaemon
8
- } from "./chunk-NX2XYJP5.js";
9
- import "./chunk-QXJDJDSZ.js";
10
- import "./chunk-XRDCSHKZ.js";
8
+ } from "./chunk-XSSPNVMS.js";
9
+ import "./chunk-Z3ADLR7I.js";
10
+ import "./chunk-AHQC4A6P.js";
11
11
  import "./chunk-MX3NFLCE.js";
12
12
  import "./chunk-ASMHEEKY.js";
13
+ import "./chunk-QMHKAFYX.js";
13
14
  import {
14
15
  createUsageError
15
16
  } from "./chunk-7BNU6DFI.js";
16
- import "./chunk-QMHKAFYX.js";
17
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-5FDXH4CS.js";
21
+ import "./chunk-WTWSBEBW.js";
22
22
  import "./chunk-S5KZQJJI.js";
23
- import "./chunk-IBIHDGTZ.js";
23
+ import "./chunk-B5XIJQXO.js";
24
24
  import "./chunk-3WLCWHIV.js";
25
25
  import "./chunk-FUSXMW3G.js";
26
26
 
@@ -106,4 +106,4 @@ async function runWait(args) {
106
106
  export {
107
107
  runWait
108
108
  };
109
- //# sourceMappingURL=wait-BYSHJPSC.js.map
109
+ //# sourceMappingURL=wait-OQYMFENT.js.map
@@ -2,24 +2,24 @@ import {
2
2
  callDesktopCommand,
3
3
  desktopCommandResult,
4
4
  parseDesktopReasonArgs
5
- } from "./chunk-VY47VKXU.js";
5
+ } from "./chunk-FJZY3Z3X.js";
6
6
  import "./chunk-RJNI3BHT.js";
7
7
  import "./chunk-TI5I6UWY.js";
8
8
  import "./chunk-OW5HMYMI.js";
9
- import "./chunk-NX2XYJP5.js";
10
- import "./chunk-QXJDJDSZ.js";
11
- import "./chunk-XRDCSHKZ.js";
9
+ import "./chunk-XSSPNVMS.js";
10
+ import "./chunk-Z3ADLR7I.js";
11
+ import "./chunk-AHQC4A6P.js";
12
12
  import "./chunk-MX3NFLCE.js";
13
13
  import "./chunk-ASMHEEKY.js";
14
- import "./chunk-7BNU6DFI.js";
15
14
  import "./chunk-QMHKAFYX.js";
15
+ import "./chunk-7BNU6DFI.js";
16
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-5FDXH4CS.js";
20
+ import "./chunk-WTWSBEBW.js";
21
21
  import "./chunk-S5KZQJJI.js";
22
- import "./chunk-IBIHDGTZ.js";
22
+ import "./chunk-B5XIJQXO.js";
23
23
  import "./chunk-3WLCWHIV.js";
24
24
  import "./chunk-FUSXMW3G.js";
25
25
 
@@ -34,4 +34,4 @@ async function runDesktopWindows(args) {
34
34
  export {
35
35
  runDesktopWindows
36
36
  };
37
- //# sourceMappingURL=windows-6GTD25EU.js.map
37
+ //# sourceMappingURL=windows-75W2JCW7.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "OpenDevBrowser Relay",
4
- "version": "0.0.34",
4
+ "version": "0.0.35",
5
5
  "description": "Optional bridge to reuse existing Chrome tabs with OpenDevBrowser.",
6
6
  "permissions": [
7
7
  "debugger",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opendevbrowser",
3
- "version": "0.0.34",
3
+ "version": "0.0.35",
4
4
  "description": "Browser automation runtime with snapshot-refs-actions, browser replay screencasts, public read-only desktop observation, and browser-scoped computer-use orchestration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,28 +19,28 @@ For frontend, design-system, screenshot-to-code, or `/canvas` composition tasks,
19
19
 
20
20
  ## Pack Contents
21
21
 
22
- - `artifacts/provider-workflows.md` canonical provider execution flows.
23
- - `artifacts/parity-gates.md` mode/surface parity matrix and acceptance gates.
24
- - `artifacts/debug-trace-playbook.md` diagnostics workflow and trace bundle model.
25
- - `artifacts/fingerprint-tiers.md` hardening tiers and when to use each.
26
- - `artifacts/macro-workflows.md` macro design and expansion standards.
27
- - `artifacts/browser-agent-known-issues-matrix.md` known browser-agent failure modes mapped to required controls.
28
- - `artifacts/command-channel-reference.md` CLI/tool/`/ops`/`/canvas`/`/cdp` surface map plus cross-agent skill-sync targets.
29
- - `artifacts/canvas-governance-playbook.md` `/canvas` preflight, blocker, and feedback-evaluation guidance.
30
- - `artifacts/skill-runtime-surface-matrix.md` canonical skill-pack and runtime-family inventory for real-task audits.
31
- - `assets/templates/mode-flag-matrix.json` mode + flag verification template.
32
- - `assets/templates/ops-request-envelope.json` `/ops` request envelope template.
33
- - `assets/templates/cdp-forward-envelope.json` `/cdp` relay envelope template.
34
- - `assets/templates/robustness-checklist.json` shared issue-status checklist for workflow robustness audits.
35
- - `assets/templates/surface-audit-checklist.json` docs/surface audit checklist template.
36
- - `assets/templates/skill-runtime-pack-matrix.json` machine-readable canonical skill/runtime matrix for the audit runner.
37
- - `assets/templates/canvas-handshake-example.json` canonical `/canvas` handshake example.
38
- - `assets/templates/canvas-generation-plan.v1.json` required `canvas.plan.set` request skeleton.
39
- - `assets/templates/canvas-feedback-eval.json` target-attributed feedback evaluation checklist.
40
- - `assets/templates/canvas-blocker-checklist.json` machine-readable blocker and warning audit map.
41
- - `scripts/odb-workflow.sh` prints codified command sequences by workflow.
42
- - `scripts/run-robustness-audit.sh` validates workflow skill coverage against known issue IDs.
43
- - `scripts/validate-skill-assets.sh` validates required artifacts/templates.
22
+ - `artifacts/provider-workflows.md` - canonical provider execution flows.
23
+ - `artifacts/parity-gates.md` - mode/surface parity matrix and acceptance gates.
24
+ - `artifacts/debug-trace-playbook.md` - diagnostics workflow and trace bundle model.
25
+ - `artifacts/fingerprint-tiers.md` - hardening tiers and when to use each.
26
+ - `artifacts/macro-workflows.md` - macro design and expansion standards.
27
+ - `artifacts/browser-agent-known-issues-matrix.md` - known browser-agent failure modes mapped to required controls.
28
+ - `artifacts/command-channel-reference.md` - CLI/tool/`/ops`/`/canvas`/`/cdp` surface map plus cross-agent skill-sync targets.
29
+ - `artifacts/canvas-governance-playbook.md` - `/canvas` preflight, blocker, and feedback-evaluation guidance.
30
+ - `artifacts/skill-runtime-surface-matrix.md` - canonical skill-pack and runtime-family inventory for real-task audits.
31
+ - `assets/templates/mode-flag-matrix.json` - mode + flag verification template.
32
+ - `assets/templates/ops-request-envelope.json` - `/ops` request envelope template.
33
+ - `assets/templates/cdp-forward-envelope.json` - `/cdp` relay envelope template.
34
+ - `assets/templates/robustness-checklist.json` - shared issue-status checklist for workflow robustness audits.
35
+ - `assets/templates/surface-audit-checklist.json` - docs/surface audit checklist template.
36
+ - `assets/templates/skill-runtime-pack-matrix.json` - machine-readable canonical skill/runtime matrix for the audit runner.
37
+ - `assets/templates/canvas-handshake-example.json` - canonical `/canvas` handshake example.
38
+ - `assets/templates/canvas-generation-plan.v1.json` - required `canvas.plan.set` request skeleton.
39
+ - `assets/templates/canvas-feedback-eval.json` - target-attributed feedback evaluation checklist.
40
+ - `assets/templates/canvas-blocker-checklist.json` - machine-readable blocker and warning audit map.
41
+ - `scripts/odb-workflow.sh` - prints codified command sequences by workflow.
42
+ - `scripts/run-robustness-audit.sh` - validates workflow skill coverage against known issue IDs.
43
+ - `scripts/validate-skill-assets.sh` - validates required artifacts/templates.
44
44
 
45
45
  ## Quick Start
46
46
 
@@ -102,6 +102,8 @@ opendevbrowser_skill_load opendevbrowser-best-practices "validated capability la
102
102
 
103
103
  Current validated lanes:
104
104
 
105
+ When `--output-dir` or `--out` is omitted, inspect `.opendevbrowser/<workflow>/<runId>` for workflow artifacts before publishing claims.
106
+
105
107
  1. Public-first YouTube transcript retrieval.
106
108
 
107
109
  ```bash
@@ -147,18 +149,24 @@ Rules:
147
149
  npx opendevbrowser inspiredesign run --brief "Design a premium docs workspace" --url "https://example.com/reference-a" --url "https://example.com/reference-b" --browser-mode managed --use-cookies --challenge-automation-mode browser_with_helper --include-prototype-guidance --mode json --output-format json
148
150
  npx opendevbrowser inspiredesign harvest --brief "Design a premium docs workspace" --query "best docs product landing pages" --provider web/default --max-references 5 --visual-evidence required --browser-mode managed --mode path --output-format json
149
151
  npx opendevbrowser inspiredesign harvest --brief "Premium digital photography studio landing page" --query "Pinterest premium digital photography studio landing page cinematic parallax portfolio" --provider social/pinterest --max-references 5 --visual-evidence required --browser-mode extension --use-cookies --cookie-policy required --challenge-automation-mode browser_with_helper --mode json --output-format json
152
+ npx opendevbrowser inspiredesign harvest --brief "Premium digital photography studio landing page" --provider social/pinterest --url "https://www.pinterest.com/pin/<pin-id>/" --max-references 1 --visual-evidence required --browser-mode extension --use-cookies --cookie-policy required --challenge-automation-mode browser_with_helper --mode json --output-format json --output-dir "artifacts/pinterest-harvest/<pin-id>"
150
153
  ```
151
154
 
152
155
  Rules:
153
- - keep inspiredesign references public-first; any supplied `--url` now forces deep capture so the workflow can collect DOM/layout evidence
156
+ - keep inspiredesign references public-first; explicit-url `inspiredesign run --url ...` uses deep capture for DOM/layout evidence, while Pinterest harvest/recovery commands keep `captureMode=off` for byte-backed pin-media extraction; `--visual-evidence required` controls screenshot evidence when the selected strategy explicitly calls for screenshots and does not enable deep capture for canonical pin-media harvest
154
157
  - use repeated `--url` flags instead of packed URL strings
155
158
  - provide `--query` or at least one `--url` for `inspiredesign harvest`; use `--query` when provider discovery is part of the task
156
- - use `inspiredesign harvest` when visual reference discovery, screenshot PNG artifacts, ranked references, metadata-only visual JSON, `meta-prompt.md`, or motion-design follow-through is required
159
+ - use `inspiredesign harvest` when visual reference discovery, screenshot PNG artifacts, ranked references, metadata-only visual JSON, deterministic `media-analysis.json`, `meta-prompt.md`, or motion-design follow-through is required
157
160
  - treat `social/pinterest` as a browser-native site recipe, not a default full social provider; use extension mode, cookies, and `--cookie-policy required` for logged-in Pinterest search
161
+ - for multi-pin Pinterest design harvests, treat search-to-canonical-pin capture as an agent pattern over `inspiredesign harvest`, not as a separate workflow: run query discovery with `--query ... --provider social/pinterest`, read `meta.discovery.acceptedUrls` from the JSON output or artifact metadata, keep only canonical `https://www.pinterest.com/pin/<id>/` URLs, then run one canonical harvest command per selected pin
162
+ - canonical Pinterest pin harvests and recovery paths in extension mode use `captureMode=off` and open the exact canonical pin in the extension before byte-backed pin-media extraction, which is required for reliable GIF and video pin capture in live sessions
163
+ - trust multi-pin Pinterest harvest outputs only when `nextStepGuidance.readiness=ready`, `ranked-references.json` is non-empty, and `pin-media-index.json`, `screenshot-index.json`, or `motion-evidence.json` proves manifest-backed authority for the selected pin
164
+ - treat `media-analysis.json` as a deterministic design-fact surface from trusted saved pin media, not as readiness authority; `pin-media-index.json` remains the only pin-media readiness and provenance authority
165
+ - use `media-analysis.json` for palette, tone, layout, OCR-free typography structure, text-region layout, sampled motion facts, limitations, and non-goals; do not claim readable text extraction, exact copy, font families, OCR, model vision, Tesseract, OpenCV, Sharp, browser canvas analysis, new dependencies, or raw `mediaAnalysis` in `canvas-plan.request.json`
158
166
  - inspect `nextStepGuidance.readiness`, `reasonCode`, `primaryAction`, `paramsExamples`, `validationChecks`, and `doNotProceedIf` before continuing from any harvest
159
167
  - visual harvest must not bypass `policy_blocked`, unresolved `auth_required`, `challenge_detected`, or `rate_limited`; inspect diagnostics instead of forcing screenshots through blocked references
160
168
  - if readiness is `needs_recovery`, `blocked`, or `diagnostic_only`, follow the recovery-first command examples and do not continue to Canvas
161
- - after a ready run or harvest, read `advanced-brief.md` first, inspect `ranked-references.json`, `visual-evidence.json`, `screenshot-index.json`, and `meta-prompt.md` when present, load `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"`, `opendevbrowser_skill_load opendevbrowser-design-agent "canvas-contract"`, and `opendevbrowser_skill_load opendevbrowser-motion-design "quick start"`, open a Canvas session, fill the ids in `canvas-plan.request.json`, run `opendevbrowser canvas --command canvas.plan.set --params-file ./canvas-plan.request.json`, confirm `planStatus=accepted`, then patch only the governance blocks listed in `design-agent-handoff.json`
169
+ - after a ready run or harvest, read `advanced-brief.md` first, inspect `ranked-references.json`, `media-analysis.json`, `visual-evidence.json`, `screenshot-index.json`, `motion-evidence.json`, `pin-media-evidence.json`, `pin-media-index.json`, and `meta-prompt.md` when present, load `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"`, `opendevbrowser_skill_load opendevbrowser-design-agent "canvas-contract"`, and `opendevbrowser_skill_load opendevbrowser-motion-design "quick start"`, open a Canvas session, fill the ids in `canvas-plan.request.json`, run `opendevbrowser canvas --command canvas.plan.set --params-file ./canvas-plan.request.json --output-format json`, confirm `planStatus=accepted`, then patch only the governance blocks listed in `design-agent-handoff.json`. Treat Pinterest pin-media as design-ready only when `pin-media-index.json` proves persisted first-party bytes; remote media URLs and `media-analysis.json` alone are not proof
162
170
  - pair this lane with `opendevbrowser-design-agent` when the brief moves from contract synthesis into implementation or `/canvas`
163
171
 
164
172
  ## Agent Sync Targets
@@ -177,6 +185,8 @@ Install and update refresh managed copies of these canonical packs; uninstall re
177
185
  - Use one action per decision loop: snapshot -> action -> snapshot.
178
186
  - Keep a single correlation context (`requestId`, `sessionId`) across a run.
179
187
  - Before daemon-backed workflows, run `opendevbrowser status --daemon --output-format json` and require `data.fingerprintCurrent === true`.
188
+ - For extension readiness, require `data.fingerprintCurrent === true`, `data.relay.extensionConnected === true`, and `data.relay.extensionHandshakeComplete === true`.
189
+ - Treat `data.relay.opsConnected`, `data.relay.canvasConnected`, and `data.relay.cdpConnected` as diagnostic or lane-specific presence fields; `data.relay.cdpConnected` is active-legacy-session-only.
180
190
  - Treat missing or false `data.fingerprintCurrent` as not current; use the matching binary, restart from the current install, or isolate shared runs with `OPENCODE_CONFIG_DIR`, `OPENCODE_CACHE_DIR`, and unique daemon or relay ports.
181
191
  - Do not conflate `daemon_fingerprint_mismatch` with native messaging host drift.
182
192
  - Run the same workflow shape across all three modes before claiming parity.
@@ -192,7 +202,7 @@ Install and update refresh managed copies of these canonical packs; uninstall re
192
202
  - Use default extension `/ops` for relay-backed concurrency; use `/cdp` only for legacy compatibility paths.
193
203
  - For managed parallel runs with persisted profiles, use unique profile paths per session (or disable persistence) to avoid profile lock collisions.
194
204
  - Treat extension headless attempts (`--extension-only --headless`) as expected `unsupported_mode`; route headless workloads through managed/cdpConnect instead.
195
- - Before extension-mode runs, preflight `npx opendevbrowser status --daemon --output-format json` and require `data.fingerprintCurrent === true`, `data.relay.extensionConnected === true`, and `data.relay.extensionHandshakeComplete === true`.
205
+ - Before extension-mode runs, preflight `npx opendevbrowser status --daemon --output-format json` and require `data.fingerprintCurrent === true`, `data.relay.extensionConnected === true`, and `data.relay.extensionHandshakeComplete === true`; do not require `data.relay.opsConnected`, `data.relay.canvasConnected`, or `data.relay.cdpConnected` unless that lane is actively in use.
196
206
 
197
207
  Operational references:
198
208
  - `artifacts/provider-workflows.md` (see Workflow E)
@@ -261,7 +271,7 @@ opendevbrowser_screencast_stop sessionId="<session-id>" screencastId="<screencas
261
271
 
262
272
  Goal: validate authenticated read/search capability without posting.
263
273
 
264
- 1. Connect and verify extension readiness (`extensionConnected` + handshake).
274
+ 1. Connect and verify extension readiness with JSON status: `data.fingerprintCurrent === true`, `data.relay.extensionConnected === true`, and `data.relay.extensionHandshakeComplete === true`.
265
275
  2. Navigate/search target social surface.
266
276
  3. Capture `debug-trace-snapshot` and `network-poll` evidence.
267
277
  4. Record blocker/auth status only (no write action).
@@ -315,13 +325,14 @@ node scripts/live-regression-direct.mjs --out artifacts/live-regression-direct.j
315
325
  ```
316
326
 
317
327
  Surface inventory source of truth:
318
- - `docs/SURFACE_REFERENCE.md` (77 CLI commands, 70 tools, 59 `/ops` commands, 35 `/canvas` commands, `/cdp` envelope contracts; mirrored by `npx opendevbrowser --help` and `npx opendevbrowser help`)
328
+ - `docs/SURFACE_REFERENCE.md` (77 CLI commands, 70 tools, 59 `/ops` commands, 35 `/canvas` commands, 67 CLI-tool pairs, `/cdp` envelope contracts; mirrored by `npx opendevbrowser --help` and `npx opendevbrowser help`). These hardcoded counts are validator-covered and must be refreshed from generated public-surface truth whenever counts change.
319
329
  - `artifacts/command-channel-reference.md` (skill-pack operational digest)
320
330
  - `artifacts/skill-runtime-surface-matrix.md` and `assets/templates/skill-runtime-pack-matrix.json` (canonical pack/runtime audit inventory)
321
331
 
322
332
  Direct-run release note:
323
333
  - `scripts/live-regression-direct.mjs` is the preferred release harness for `/canvas`, annotate, and CLI smoke. It uses temporary managed profiles for managed probes, waits for `/ops` drain before the legacy `/cdp` step, and keeps manual annotation timeouts as explicit `skipped` boundaries in `--release-gate` mode.
324
334
  - `scripts/provider-direct-runs.mjs --include-high-friction --include-auth-gated` is the preferred provider release harness. Treat `provider-live-matrix` and `live-regression-matrix` as debug-only helpers, not refreshed release evidence.
335
+ - Explicit `artifacts/release/vX.Y.Z/...` paths are local-only release proof outputs. Normal omitted workflow outputs persist under `.opendevbrowser/<workflow>/<runId>`.
325
336
 
326
337
  ## Skill Runtime Audit and Realignment
327
338
 
@@ -343,7 +354,7 @@ Realignment rule:
343
354
  Use the design-canvas surface when the workflow needs persisted design documents, explicit governance state, preview tabs, or overlay selection.
344
355
 
345
356
  Recommended command order:
346
- 1. `opendevbrowser_canvas` or `opendevbrowser canvas --command canvas.session.open` to get `canvasSessionId`, `leaseId`, `preflightState`, `planStatus`, governance block states, generation-plan requirements, and `guidance.recommendedNextCommands`.
357
+ 1. `opendevbrowser_canvas` or `opendevbrowser canvas --command canvas.session.open --output-format json` to get `canvasSessionId`, `leaseId`, `preflightState`, `planStatus`, governance block states, generation-plan requirements, and `guidance.recommendedNextCommands`.
347
358
  2. Read the handshake before mutating. The handshake is the source of truth for:
348
359
  - `planStatus`
349
360
  - `preflightState`
@@ -362,7 +373,7 @@ Recommended command order:
362
373
  `icons` are approved icon families,
363
374
  `styling` is for utility/theme adapters such as `tailwindcss`
364
375
  3. Require `preflightState="handshake_read"` or inspect the returned invalid-plan state before moving on. If the response already carries `guidance.recommendedNextCommands`, follow that list instead of guessing.
365
- 4. Submit `canvas.plan.set` with all required non-empty objects:
376
+ 4. Submit `canvas.plan.set --output-format json` with all required non-empty objects:
366
377
  - `targetOutcome`
367
378
  - `visualDirection`
368
379
  - `layoutStrategy`
@@ -8,9 +8,10 @@ Compact operational map of the current OpenDevBrowser surfaces, with the `/canva
8
8
 
9
9
  - CLI commands: `77`
10
10
  - Plugin tools: `70`
11
+ - CLI-tool pairs: `67`
11
12
  - `/ops` command names: `59`
12
13
  - `/canvas` command names: `35`
13
- - Legacy `/cdp` relay: generic CDP forwarding (method-level)
14
+ - Legacy `/cdp` relay: generic CDP forwarding (method-level), active-legacy-session-only
14
15
 
15
16
  Canonical exhaustive reference: `docs/SURFACE_REFERENCE.md`.
16
17
  CLI help mirror: `npx opendevbrowser --help` and `npx opendevbrowser help` (identical inventories).
@@ -236,13 +237,16 @@ Operational rule:
236
237
  - Direct CDP: `connect --ws-endpoint ...` or `connect --host ... --cdp-port ...`
237
238
  - Direct release harnesses (`live-regression-direct`, `provider-direct-runs`) are the shipping evidence path; broad matrix wrappers are debug-only and should not replace fresh direct-run artifacts.
238
239
 
239
- Required readiness/status checks:
240
- - `extensionConnected`
241
- - `extensionHandshakeComplete`
242
- - `opsConnected`
243
- - `canvasConnected`
244
- - `cdpConnected`
245
- - `pairingRequired`
240
+ Required extension readiness checks:
241
+ - `data.fingerprintCurrent === true`
242
+ - `data.relay.extensionConnected === true`
243
+ - `data.relay.extensionHandshakeComplete === true`
244
+
245
+ Diagnostic and lane-specific presence fields:
246
+ - `data.relay.opsConnected`: active `/ops` client presence only. It is not required for normal extension readiness.
247
+ - `data.relay.canvasConnected`: active `/canvas` client presence only.
248
+ - `data.relay.cdpConnected`: active-legacy-session-only. Expected `false` unless a legacy `/cdp` session is connected.
249
+ - `data.relay.pairingRequired`: relay token requirement status.
246
250
 
247
251
  ## Fast verification commands
248
252
 
@@ -35,6 +35,7 @@ npm run test -- tests/providers-performance-gate.test.ts
35
35
 
36
36
  - `tests/parity-matrix.test.ts` is contract coverage for CLI/tool/runtime surface parity.
37
37
  - `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json` and `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json` are the live release-proof lane.
38
+ - Treat `artifacts/release/vX.Y.Z/...` paths as local-only release proof outputs unless release policy explicitly requests publication.
38
39
  - Treat grouped contract checks and direct-run release proof as complementary, not interchangeable.
39
40
 
40
41
  ## Release Requirement
@@ -84,10 +84,29 @@ Expected output:
84
84
  - `workerStats[]` with `{ sessionId, processed, failures }`
85
85
  - `frontierStats` and checkpoint state
86
86
 
87
+ ## Agent Pattern F: Pinterest Multi-Pin Design Harvest
88
+
89
+ This is guidance for agents using `inspiredesign harvest`; it is not a new product workflow, CLI command, or daemon method.
90
+
91
+ 1. Run query discovery with `--query ... --provider social/pinterest`.
92
+ 2. Read `meta.discovery.acceptedUrls` from the JSON output or artifact metadata.
93
+ 3. Keep only canonical `https://www.pinterest.com/pin/<id>/` URLs.
94
+ 4. Run the canonical harvest command once per selected pin with `--provider social/pinterest --url "https://www.pinterest.com/pin/<id>/"`.
95
+ 5. In extension mode, the canonical harvest opens the exact pin in the extension before extracting pin-media bytes, which stabilizes live GIF and video pins.
96
+ 6. Trust only outputs with `nextStepGuidance.readiness=ready`, non-empty `ranked-references.json`, and manifest-backed authority from `pin-media-index.json`, `screenshot-index.json`, or `motion-evidence.json`.
97
+ 7. Use `media-analysis.json` as the deterministic design-fact surface for trusted saved pin media only; it can guide palette, tone, layout, OCR-free typography structure, text-region layout, and sampled motion decisions, but it never replaces `pin-media-index.json` readiness authority.
98
+ 8. Do not claim readable text extraction, exact copy, font families, OCR, model vision, Tesseract, OpenCV, Sharp, browser canvas analysis, new dependencies, or raw `mediaAnalysis` in `canvas-plan.request.json`.
99
+
100
+ Expected output:
101
+ - one artifact bundle per selected canonical pin
102
+ - selected design directions backed by persisted first-party pin media, screenshot, or motion authority
103
+ - `media-analysis.json` may explain media-derived design facts, while `pin-media-index.json` remains the only pin-media readiness authority
104
+
87
105
  ## Release evidence lane
88
106
 
89
107
  - Use `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json` for provider live release proof.
90
108
  - Use `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json` for cross-surface live release proof.
109
+ - Treat `artifacts/release/vX.Y.Z/...` paths as local-only release proof outputs unless release policy explicitly requests publication.
91
110
  - Treat parity matrix tests as contract coverage, not live release proof.
92
111
  - Read `data.guidanceReason` and `data.recommendedNextCommand` in the provider-direct report before escalating a provider failure to manual follow-up.
93
112
 
@@ -4,59 +4,69 @@
4
4
  "command": "npx opendevbrowser status --daemon --output-format json",
5
5
  "required": true,
6
6
  "statusExpectations": {
7
- "fingerprintCurrent": true
7
+ "data.fingerprintCurrent": true
8
8
  }
9
9
  },
10
10
  "modes": [
11
11
  {
12
12
  "name": "managed",
13
13
  "launch": "npx opendevbrowser launch --no-extension",
14
- "statusProbe": "npx opendevbrowser status --session-id <session-id>",
14
+ "statusProbe": "npx opendevbrowser status --session-id <session-id> --output-format json",
15
15
  "requiredFlags": [
16
16
  "--no-extension"
17
17
  ],
18
18
  "statusExpectations": {
19
- "mode": "managed"
19
+ "data.mode": "managed"
20
20
  }
21
21
  },
22
22
  {
23
23
  "name": "extension",
24
24
  "launch": "npx opendevbrowser launch --extension-only --wait-for-extension",
25
- "statusProbe": "npx opendevbrowser status --daemon",
25
+ "statusProbe": "npx opendevbrowser status --daemon --output-format json",
26
26
  "requiredFlags": [
27
27
  "--extension-only",
28
28
  "--wait-for-extension"
29
29
  ],
30
30
  "statusExpectations": {
31
- "extensionConnected": true,
32
- "extensionHandshakeComplete": true,
33
- "opsConnected": true
31
+ "data.fingerprintCurrent": true,
32
+ "data.relay.extensionConnected": true,
33
+ "data.relay.extensionHandshakeComplete": true
34
+ },
35
+ "diagnosticPresenceFields": {
36
+ "data.relay.opsConnected": "presence-only; true only when an /ops client is active",
37
+ "data.relay.canvasConnected": "lane-specific; true only when a /canvas client is active",
38
+ "data.relay.cdpConnected": "active-legacy-session-only; false is normal outside legacy /cdp sessions"
34
39
  }
35
40
  },
36
41
  {
37
42
  "name": "extension-legacy",
38
43
  "launch": "npx opendevbrowser launch --extension-only --extension-legacy --wait-for-extension",
39
- "statusProbe": "npx opendevbrowser status --daemon",
44
+ "statusProbe": "npx opendevbrowser status --daemon --output-format json",
40
45
  "requiredFlags": [
41
46
  "--extension-only",
42
47
  "--extension-legacy",
43
48
  "--wait-for-extension"
44
49
  ],
45
50
  "statusExpectations": {
46
- "extensionConnected": true,
47
- "extensionHandshakeComplete": true,
48
- "cdpConnected": true
51
+ "data.fingerprintCurrent": true,
52
+ "data.relay.extensionConnected": true,
53
+ "data.relay.extensionHandshakeComplete": true
54
+ },
55
+ "diagnosticPresenceFields": {
56
+ "data.relay.cdpConnected": "active-legacy-session-only; true only while the legacy /cdp client is connected",
57
+ "data.relay.opsConnected": "presence-only; true only when an /ops client is active",
58
+ "data.relay.canvasConnected": "lane-specific; true only when a /canvas client is active"
49
59
  }
50
60
  },
51
61
  {
52
62
  "name": "cdpConnect",
53
63
  "connect": "npx opendevbrowser connect --ws-endpoint ws://127.0.0.1:9222/devtools/browser/<id>",
54
- "statusProbe": "npx opendevbrowser status --session-id <session-id>",
64
+ "statusProbe": "npx opendevbrowser status --session-id <session-id> --output-format json",
55
65
  "requiredFlags": [
56
66
  "--ws-endpoint"
57
67
  ],
58
68
  "statusExpectations": {
59
- "mode": "cdpConnect"
69
+ "data.mode": "cdpConnect"
60
70
  }
61
71
  }
62
72
  ]