opendevbrowser 0.0.33 → 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.
- package/README.md +1 -1
- package/dist/{accessibility-snapshot-JSPFVWZ6.js → accessibility-snapshot-TAFPVLZN.js} +9 -9
- package/dist/{active-window-2OB2MSCR.js → active-window-MHFMC6NQ.js} +9 -9
- package/dist/{annotate-VDZBZBKZ.js → annotate-5ZFRFQ4B.js} +8 -8
- package/dist/{attr-7XIO4MCH.js → attr-MBF2UCRF.js} +8 -8
- package/dist/browser/browser-manager.d.ts +6 -1
- package/dist/browser/browser-manager.d.ts.map +1 -1
- package/dist/browser/manager-types.d.ts +51 -0
- package/dist/browser/manager-types.d.ts.map +1 -1
- package/dist/browser/ops-browser-manager.d.ts +2 -1
- package/dist/browser/ops-browser-manager.d.ts.map +1 -1
- package/dist/browser/screencast-recorder.d.ts +1 -0
- package/dist/browser/screencast-recorder.d.ts.map +1 -1
- package/dist/{canvas-N4PAA274.js → canvas-CAMD22YU.js} +8 -8
- package/dist/{capture-desktop-T5YO3EBI.js → capture-desktop-TMZSFA5R.js} +9 -9
- package/dist/{capture-window-UKEUBWKH.js → capture-window-NZDKD2AE.js} +9 -9
- package/dist/{check-PQB6KKMN.js → check-MO33GTQ4.js} +8 -8
- package/dist/{checked-RNZIMCU6.js → checked-3HDF5X2M.js} +8 -8
- package/dist/{chunk-YRRRUGSQ.js → chunk-32ZSOZND.js} +2 -2
- package/dist/{chunk-EOX6U6Q4.js → chunk-AHQC4A6P.js} +896 -118
- package/dist/chunk-AHQC4A6P.js.map +1 -0
- package/dist/{chunk-IBIHDGTZ.js → chunk-B5XIJQXO.js} +32 -4
- package/dist/chunk-B5XIJQXO.js.map +1 -0
- package/dist/{chunk-FDBUB7BM.js → chunk-BHZLEFXW.js} +2 -2
- package/dist/{chunk-JROW6ZNN.js → chunk-FJZY3Z3X.js} +3 -3
- package/dist/{chunk-J3KYGJRQ.js → chunk-G6NQ7WYD.js} +2 -2
- package/dist/{chunk-27W46IKI.js → chunk-HM4CO3EW.js} +38 -23
- package/dist/chunk-HM4CO3EW.js.map +1 -0
- package/dist/{chunk-SKFB5ICF.js → chunk-TI5I6UWY.js} +8 -3
- package/dist/chunk-TI5I6UWY.js.map +1 -0
- package/dist/{chunk-52ZIOWVU.js → chunk-UEAXTWGT.js} +3 -3
- package/dist/{chunk-ZGCTC5YM.js → chunk-UVD34RA2.js} +33 -1
- package/dist/chunk-UVD34RA2.js.map +1 -0
- package/dist/{chunk-W6YPVNDX.js → chunk-VTGG5ZU2.js} +2 -2
- package/dist/{chunk-FBKPDILE.js → chunk-WTWSBEBW.js} +5954 -436
- package/dist/chunk-WTWSBEBW.js.map +1 -0
- package/dist/{chunk-NURQB55J.js → chunk-WY72GYAH.js} +2 -2
- package/dist/{chunk-MJF67OTH.js → chunk-XSSPNVMS.js} +3 -3
- package/dist/{chunk-MJF67OTH.js.map → chunk-XSSPNVMS.js.map} +1 -1
- package/dist/{chunk-HMRANSDX.js → chunk-Z3ADLR7I.js} +698 -18
- package/dist/chunk-Z3ADLR7I.js.map +1 -0
- package/dist/cli/commands/inspiredesign.d.ts +12 -1
- package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
- package/dist/cli/daemon-commands.d.ts.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.js +76 -76
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/parse.d.ts +1 -0
- package/dist/cli/utils/parse.d.ts.map +1 -1
- package/dist/cli/utils/workflow-message.d.ts.map +1 -1
- package/dist/{click-U7ZFKSB4.js → click-SWZPJO2U.js} +8 -8
- package/dist/{clone-component-SWYAORTU.js → clone-component-YTB46YU4.js} +7 -7
- package/dist/{clone-page-WJ6UJOJG.js → clone-page-5FMPHQ3A.js} +7 -7
- package/dist/{close-NAVIHZ2T.js → close-22SNMDX3.js} +7 -7
- package/dist/{close-VKIGIKVT.js → close-ORQZCZ2E.js} +7 -7
- package/dist/{connect-XVG2MOZL.js → connect-EWYITNQU.js} +8 -8
- package/dist/{console-poll-XI5BZPL7.js → console-poll-LJR6ZTDK.js} +8 -8
- package/dist/{cookie-import-QELKE7TK.js → cookie-import-PTAIWPEC.js} +7 -7
- package/dist/{cookie-list-QDA6KWIY.js → cookie-list-76C35B5B.js} +7 -7
- package/dist/{daemon-CA4UIIZQ.js → daemon-UKJMDLCB.js} +6 -6
- package/dist/daemon-fingerprint.json +1 -1
- package/dist/{debug-trace-snapshot-AT4GAO57.js → debug-trace-snapshot-PQ5FJART.js} +8 -8
- package/dist/{dialog-O3V2IBFH.js → dialog-WLJDWJV4.js} +8 -8
- package/dist/{disconnect-NAX5TPTG.js → disconnect-FNB4JC2U.js} +7 -7
- package/dist/{enabled-VT4FJXDX.js → enabled-PYMCOQPC.js} +8 -8
- package/dist/{goto-GBJG5NC4.js → goto-UNTEW4VI.js} +8 -8
- package/dist/guidance/context.d.ts +10 -0
- package/dist/guidance/context.d.ts.map +1 -1
- package/dist/guidance/readiness.d.ts.map +1 -1
- package/dist/guidance/recipes/generic.d.ts.map +1 -1
- package/dist/guidance/recipes/pinterest.d.ts.map +1 -1
- package/dist/guidance/recipes/site-recipe-validation.d.ts +27 -0
- package/dist/guidance/recipes/site-recipe-validation.d.ts.map +1 -0
- package/dist/guidance/types.d.ts +5 -0
- package/dist/guidance/types.d.ts.map +1 -1
- package/dist/{help-SUI4H77K.js → help-QOLCIB3P.js} +8 -7
- package/dist/{help-SUI4H77K.js.map → help-QOLCIB3P.js.map} +1 -1
- package/dist/{hover-476ZNQZE.js → hover-ZWY4YOM4.js} +8 -8
- package/dist/{html-5C4TXOV3.js → html-M46YBFT3.js} +8 -8
- package/dist/index.js +83 -23
- package/dist/index.js.map +1 -1
- package/dist/{inspector-73ARPCIV.js → inspector-6YAOI74U.js} +10 -10
- package/dist/{inspector-audit-QT6QY7KS.js → inspector-audit-PF64X6SJ.js} +12 -12
- package/dist/{inspector-plan-JRNSGN2Z.js → inspector-plan-IUGTQV3Q.js} +10 -10
- package/dist/inspiredesign/capture-mode.d.ts +8 -0
- package/dist/inspiredesign/capture-mode.d.ts.map +1 -1
- package/dist/inspiredesign/capture.d.ts +36 -1
- package/dist/inspiredesign/capture.d.ts.map +1 -1
- package/dist/inspiredesign/contract.d.ts +25 -0
- package/dist/inspiredesign/contract.d.ts.map +1 -1
- package/dist/inspiredesign/handoff.d.ts +6 -2
- package/dist/inspiredesign/handoff.d.ts.map +1 -1
- package/dist/inspiredesign/media-analysis/analyzer.d.ts +13 -0
- package/dist/inspiredesign/media-analysis/analyzer.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/design-guidance.d.ts +11 -0
- package/dist/inspiredesign/media-analysis/design-guidance.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/ffmpeg.d.ts +21 -0
- package/dist/inspiredesign/media-analysis/ffmpeg.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/ffprobe.d.ts +8 -0
- package/dist/inspiredesign/media-analysis/ffprobe.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/index.d.ts +10 -0
- package/dist/inspiredesign/media-analysis/index.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/persist.d.ts +6 -0
- package/dist/inspiredesign/media-analysis/persist.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/pixel.d.ts +9 -0
- package/dist/inspiredesign/media-analysis/pixel.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/types.d.ts +163 -0
- package/dist/inspiredesign/media-analysis/types.d.ts.map +1 -0
- package/dist/inspiredesign/media-analysis/typography-structure.d.ts +3 -0
- package/dist/inspiredesign/media-analysis/typography-structure.d.ts.map +1 -0
- package/dist/inspiredesign/meta-prompt.d.ts.map +1 -1
- package/dist/inspiredesign/motion-evidence.d.ts +73 -0
- package/dist/inspiredesign/motion-evidence.d.ts.map +1 -0
- package/dist/inspiredesign/pinterest-media-classification.d.ts +27 -0
- package/dist/inspiredesign/pinterest-media-classification.d.ts.map +1 -0
- package/dist/inspiredesign/pinterest-pin-media-evidence.d.ts +151 -0
- package/dist/inspiredesign/pinterest-pin-media-evidence.d.ts.map +1 -0
- package/dist/inspiredesign/product-readiness.d.ts +97 -0
- package/dist/inspiredesign/product-readiness.d.ts.map +1 -0
- package/dist/inspiredesign/reference-pattern-board.d.ts +32 -2
- package/dist/inspiredesign/reference-pattern-board.d.ts.map +1 -1
- package/dist/inspiredesign/visual-evidence.d.ts +5 -0
- package/dist/inspiredesign/visual-evidence.d.ts.map +1 -1
- package/dist/{inspiredesign-IPVZDLSQ.js → inspiredesign-GZIEXETS.js} +101 -31
- package/dist/inspiredesign-GZIEXETS.js.map +1 -0
- package/dist/{launch-B35YDRQC.js → launch-I7WNLWLY.js} +8 -8
- package/dist/{list-YETWKTKY.js → list-BAECFJI7.js} +7 -7
- package/dist/{list-JV55JVGB.js → list-BCF4HZ2K.js} +7 -7
- package/dist/{macro-resolve-DQK4B3W3.js → macro-resolve-4GNZYHHW.js} +9 -9
- package/dist/{network-poll-4GWHCJXI.js → network-poll-DCZ5ZNLP.js} +8 -8
- package/dist/{new-XDCQPIEG.js → new-6KZYJTJG.js} +7 -7
- package/dist/{open-GIM3ZCSV.js → open-JPGEAJHJ.js} +7 -7
- package/dist/opendevbrowser.js +83 -23
- package/dist/opendevbrowser.js.map +1 -1
- package/dist/{perf-26VBXDPI.js → perf-5X367PRP.js} +8 -8
- package/dist/{pointer-down-O3VSNAXW.js → pointer-down-5OAUDDNR.js} +9 -9
- package/dist/{pointer-drag-WQ5QGE6J.js → pointer-drag-LIW5PY5P.js} +9 -9
- package/dist/{pointer-move-4N4D7JY2.js → pointer-move-7AMURLJD.js} +9 -9
- package/dist/{pointer-up-CQC4NPDX.js → pointer-up-EY652YWL.js} +9 -9
- package/dist/{press-XGJD45CU.js → press-UIAE5XEF.js} +8 -8
- package/dist/{product-video-HD4ZOUI7.js → product-video-B6TLS7VC.js} +10 -10
- package/dist/providers/browser-native-discovery.d.ts.map +1 -1
- package/dist/providers/browser-output-artifacts.d.ts +13 -0
- package/dist/providers/browser-output-artifacts.d.ts.map +1 -0
- package/dist/providers/renderer.d.ts +10 -1
- package/dist/providers/renderer.d.ts.map +1 -1
- package/dist/providers/workflows.d.ts +53 -2
- package/dist/providers/workflows.d.ts.map +1 -1
- package/dist/{providers-KKNPJSQK.js → providers-AERTX6X4.js} +5 -3
- package/dist/public-surface/generated-manifest.d.ts +4 -4
- package/dist/public-surface/generated-manifest.d.ts.map +1 -1
- package/dist/public-surface/source.d.ts +2 -2
- package/dist/public-surface/source.d.ts.map +1 -1
- package/dist/{research-VUWWEQ4R.js → research-AJH6ECYW.js} +10 -10
- package/dist/{review-LZ3TA7U7.js → review-RN6XF2YB.js} +9 -9
- package/dist/{review-desktop-LAO7U7T3.js → review-desktop-UJOUS7K2.js} +9 -9
- package/dist/{rpc-HKNIVFGC.js → rpc-VS5Y5FUT.js} +8 -8
- package/dist/{run-SHCF53FO.js → run-EVRIQW7S.js} +6 -6
- package/dist/{screencast-start-JHMQZVWJ.js → screencast-start-U6J4FYU4.js} +8 -8
- package/dist/{screencast-stop-RWQTWWQS.js → screencast-stop-EQUPRGMP.js} +8 -8
- package/dist/{screenshot-QHFYO6PB.js → screenshot-BENYGC36.js} +8 -8
- package/dist/{scroll-L3FTMAV4.js → scroll-3OALQLX2.js} +8 -8
- package/dist/{scroll-into-view-JVDHX4WU.js → scroll-into-view-SNZKBIVB.js} +8 -8
- package/dist/{select-X4BO7GTB.js → select-JDZDDC3Y.js} +8 -8
- package/dist/{serve-JIMIBCNO.js → serve-LOC6ESJ4.js} +7 -7
- package/dist/{shopping-EGSDP2GL.js → shopping-267OAYGM.js} +10 -10
- package/dist/{snapshot-QGJ7RDNV.js → snapshot-ASYI5UFR.js} +8 -8
- package/dist/{status-CKGPNYIH.js → status-47CI4LJX.js} +7 -7
- package/dist/{status-LEBY2X7N.js → status-N4O6DJTF.js} +9 -9
- package/dist/{status-capabilities-6QTWNGKM.js → status-capabilities-C777JZG4.js} +9 -9
- package/dist/{text-VUZU7D3L.js → text-MS2653MW.js} +8 -8
- package/dist/tools/inspiredesign_run.d.ts.map +1 -1
- package/dist/tools/product_video_run.d.ts.map +1 -1
- package/dist/{type-N5SURP74.js → type-UMPSDACC.js} +8 -8
- package/dist/{uncheck-JFMK3SSY.js → uncheck-2OZ56D42.js} +8 -8
- package/dist/{upload-KFUYLL7M.js → upload-CD7PRH54.js} +8 -8
- package/dist/{use-CNMPP2ED.js → use-MO67AGG7.js} +7 -7
- package/dist/{value-J335MPZE.js → value-4GI2LRUY.js} +8 -8
- package/dist/{visible-YQZWWPBZ.js → visible-VSUFGRFZ.js} +8 -8
- package/dist/{wait-IC7YJJPJ.js → wait-OQYMFENT.js} +8 -8
- package/dist/{windows-AGVQ3KX3.js → windows-75W2JCW7.js} +9 -9
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/opendevbrowser-best-practices/SKILL.md +41 -30
- package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +12 -8
- package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +1 -0
- package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +19 -0
- package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +23 -13
- package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +3 -1
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +62 -21
- package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +28 -0
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +15 -0
- package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +13 -0
- package/skills/opendevbrowser-design-agent/SKILL.md +2 -0
- package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +15 -13
- package/skills/opendevbrowser-design-agent/artifacts/isolated-preview-validation.md +1 -1
- package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +14 -7
- package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +1 -0
- package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +10 -7
- package/skills/opendevbrowser-motion-design/SKILL.md +1 -1
- package/skills/opendevbrowser-product-presentation-asset/SKILL.md +5 -4
- package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +1 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +1 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +1 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +4 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +1 -0
- package/skills/opendevbrowser-research/SKILL.md +1 -0
- package/skills/opendevbrowser-research/scripts/render-output.sh +1 -0
- package/skills/opendevbrowser-research/scripts/run-research.sh +1 -0
- package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +4 -0
- package/skills/opendevbrowser-research/scripts/write-artifacts.sh +1 -0
- package/skills/opendevbrowser-shopping/SKILL.md +1 -0
- package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +1 -0
- package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +1 -0
- package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +1 -0
- package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +4 -0
- package/dist/chunk-27W46IKI.js.map +0 -1
- package/dist/chunk-EOX6U6Q4.js.map +0 -1
- package/dist/chunk-FBKPDILE.js.map +0 -1
- package/dist/chunk-HMRANSDX.js.map +0 -1
- package/dist/chunk-IBIHDGTZ.js.map +0 -1
- package/dist/chunk-SKFB5ICF.js.map +0 -1
- package/dist/chunk-ZGCTC5YM.js.map +0 -1
- package/dist/inspiredesign-IPVZDLSQ.js.map +0 -1
- /package/dist/{accessibility-snapshot-JSPFVWZ6.js.map → accessibility-snapshot-TAFPVLZN.js.map} +0 -0
- /package/dist/{active-window-2OB2MSCR.js.map → active-window-MHFMC6NQ.js.map} +0 -0
- /package/dist/{annotate-VDZBZBKZ.js.map → annotate-5ZFRFQ4B.js.map} +0 -0
- /package/dist/{attr-7XIO4MCH.js.map → attr-MBF2UCRF.js.map} +0 -0
- /package/dist/{canvas-N4PAA274.js.map → canvas-CAMD22YU.js.map} +0 -0
- /package/dist/{capture-desktop-T5YO3EBI.js.map → capture-desktop-TMZSFA5R.js.map} +0 -0
- /package/dist/{capture-window-UKEUBWKH.js.map → capture-window-NZDKD2AE.js.map} +0 -0
- /package/dist/{check-PQB6KKMN.js.map → check-MO33GTQ4.js.map} +0 -0
- /package/dist/{checked-RNZIMCU6.js.map → checked-3HDF5X2M.js.map} +0 -0
- /package/dist/{chunk-YRRRUGSQ.js.map → chunk-32ZSOZND.js.map} +0 -0
- /package/dist/{chunk-FDBUB7BM.js.map → chunk-BHZLEFXW.js.map} +0 -0
- /package/dist/{chunk-JROW6ZNN.js.map → chunk-FJZY3Z3X.js.map} +0 -0
- /package/dist/{chunk-J3KYGJRQ.js.map → chunk-G6NQ7WYD.js.map} +0 -0
- /package/dist/{chunk-52ZIOWVU.js.map → chunk-UEAXTWGT.js.map} +0 -0
- /package/dist/{chunk-W6YPVNDX.js.map → chunk-VTGG5ZU2.js.map} +0 -0
- /package/dist/{chunk-NURQB55J.js.map → chunk-WY72GYAH.js.map} +0 -0
- /package/dist/{click-U7ZFKSB4.js.map → click-SWZPJO2U.js.map} +0 -0
- /package/dist/{clone-component-SWYAORTU.js.map → clone-component-YTB46YU4.js.map} +0 -0
- /package/dist/{clone-page-WJ6UJOJG.js.map → clone-page-5FMPHQ3A.js.map} +0 -0
- /package/dist/{close-NAVIHZ2T.js.map → close-22SNMDX3.js.map} +0 -0
- /package/dist/{close-VKIGIKVT.js.map → close-ORQZCZ2E.js.map} +0 -0
- /package/dist/{connect-XVG2MOZL.js.map → connect-EWYITNQU.js.map} +0 -0
- /package/dist/{console-poll-XI5BZPL7.js.map → console-poll-LJR6ZTDK.js.map} +0 -0
- /package/dist/{cookie-import-QELKE7TK.js.map → cookie-import-PTAIWPEC.js.map} +0 -0
- /package/dist/{cookie-list-QDA6KWIY.js.map → cookie-list-76C35B5B.js.map} +0 -0
- /package/dist/{daemon-CA4UIIZQ.js.map → daemon-UKJMDLCB.js.map} +0 -0
- /package/dist/{debug-trace-snapshot-AT4GAO57.js.map → debug-trace-snapshot-PQ5FJART.js.map} +0 -0
- /package/dist/{dialog-O3V2IBFH.js.map → dialog-WLJDWJV4.js.map} +0 -0
- /package/dist/{disconnect-NAX5TPTG.js.map → disconnect-FNB4JC2U.js.map} +0 -0
- /package/dist/{enabled-VT4FJXDX.js.map → enabled-PYMCOQPC.js.map} +0 -0
- /package/dist/{goto-GBJG5NC4.js.map → goto-UNTEW4VI.js.map} +0 -0
- /package/dist/{hover-476ZNQZE.js.map → hover-ZWY4YOM4.js.map} +0 -0
- /package/dist/{html-5C4TXOV3.js.map → html-M46YBFT3.js.map} +0 -0
- /package/dist/{inspector-73ARPCIV.js.map → inspector-6YAOI74U.js.map} +0 -0
- /package/dist/{inspector-audit-QT6QY7KS.js.map → inspector-audit-PF64X6SJ.js.map} +0 -0
- /package/dist/{inspector-plan-JRNSGN2Z.js.map → inspector-plan-IUGTQV3Q.js.map} +0 -0
- /package/dist/{launch-B35YDRQC.js.map → launch-I7WNLWLY.js.map} +0 -0
- /package/dist/{list-YETWKTKY.js.map → list-BAECFJI7.js.map} +0 -0
- /package/dist/{list-JV55JVGB.js.map → list-BCF4HZ2K.js.map} +0 -0
- /package/dist/{macro-resolve-DQK4B3W3.js.map → macro-resolve-4GNZYHHW.js.map} +0 -0
- /package/dist/{network-poll-4GWHCJXI.js.map → network-poll-DCZ5ZNLP.js.map} +0 -0
- /package/dist/{new-XDCQPIEG.js.map → new-6KZYJTJG.js.map} +0 -0
- /package/dist/{open-GIM3ZCSV.js.map → open-JPGEAJHJ.js.map} +0 -0
- /package/dist/{perf-26VBXDPI.js.map → perf-5X367PRP.js.map} +0 -0
- /package/dist/{pointer-down-O3VSNAXW.js.map → pointer-down-5OAUDDNR.js.map} +0 -0
- /package/dist/{pointer-drag-WQ5QGE6J.js.map → pointer-drag-LIW5PY5P.js.map} +0 -0
- /package/dist/{pointer-move-4N4D7JY2.js.map → pointer-move-7AMURLJD.js.map} +0 -0
- /package/dist/{pointer-up-CQC4NPDX.js.map → pointer-up-EY652YWL.js.map} +0 -0
- /package/dist/{press-XGJD45CU.js.map → press-UIAE5XEF.js.map} +0 -0
- /package/dist/{product-video-HD4ZOUI7.js.map → product-video-B6TLS7VC.js.map} +0 -0
- /package/dist/{providers-KKNPJSQK.js.map → providers-AERTX6X4.js.map} +0 -0
- /package/dist/{research-VUWWEQ4R.js.map → research-AJH6ECYW.js.map} +0 -0
- /package/dist/{review-LZ3TA7U7.js.map → review-RN6XF2YB.js.map} +0 -0
- /package/dist/{review-desktop-LAO7U7T3.js.map → review-desktop-UJOUS7K2.js.map} +0 -0
- /package/dist/{rpc-HKNIVFGC.js.map → rpc-VS5Y5FUT.js.map} +0 -0
- /package/dist/{run-SHCF53FO.js.map → run-EVRIQW7S.js.map} +0 -0
- /package/dist/{screencast-start-JHMQZVWJ.js.map → screencast-start-U6J4FYU4.js.map} +0 -0
- /package/dist/{screencast-stop-RWQTWWQS.js.map → screencast-stop-EQUPRGMP.js.map} +0 -0
- /package/dist/{screenshot-QHFYO6PB.js.map → screenshot-BENYGC36.js.map} +0 -0
- /package/dist/{scroll-L3FTMAV4.js.map → scroll-3OALQLX2.js.map} +0 -0
- /package/dist/{scroll-into-view-JVDHX4WU.js.map → scroll-into-view-SNZKBIVB.js.map} +0 -0
- /package/dist/{select-X4BO7GTB.js.map → select-JDZDDC3Y.js.map} +0 -0
- /package/dist/{serve-JIMIBCNO.js.map → serve-LOC6ESJ4.js.map} +0 -0
- /package/dist/{shopping-EGSDP2GL.js.map → shopping-267OAYGM.js.map} +0 -0
- /package/dist/{snapshot-QGJ7RDNV.js.map → snapshot-ASYI5UFR.js.map} +0 -0
- /package/dist/{status-CKGPNYIH.js.map → status-47CI4LJX.js.map} +0 -0
- /package/dist/{status-LEBY2X7N.js.map → status-N4O6DJTF.js.map} +0 -0
- /package/dist/{status-capabilities-6QTWNGKM.js.map → status-capabilities-C777JZG4.js.map} +0 -0
- /package/dist/{text-VUZU7D3L.js.map → text-MS2653MW.js.map} +0 -0
- /package/dist/{type-N5SURP74.js.map → type-UMPSDACC.js.map} +0 -0
- /package/dist/{uncheck-JFMK3SSY.js.map → uncheck-2OZ56D42.js.map} +0 -0
- /package/dist/{upload-KFUYLL7M.js.map → upload-CD7PRH54.js.map} +0 -0
- /package/dist/{use-CNMPP2ED.js.map → use-MO67AGG7.js.map} +0 -0
- /package/dist/{value-J335MPZE.js.map → value-4GI2LRUY.js.map} +0 -0
- /package/dist/{visible-YQZWWPBZ.js.map → visible-VSUFGRFZ.js.map} +0 -0
- /package/dist/{wait-IC7YJJPJ.js.map → wait-OQYMFENT.js.map} +0 -0
- /package/dist/{windows-AGVQ3KX3.js.map → windows-75W2JCW7.js.map} +0 -0
|
@@ -11,6 +11,10 @@ var INSPIREDESIGN_HANDOFF_FILES = {
|
|
|
11
11
|
evidence: "evidence.json",
|
|
12
12
|
visualEvidence: "visual-evidence.json",
|
|
13
13
|
screenshotIndex: "screenshot-index.json",
|
|
14
|
+
motionEvidence: "motion-evidence.json",
|
|
15
|
+
pinMediaEvidence: "pin-media-evidence.json",
|
|
16
|
+
pinMediaIndex: "pin-media-index.json",
|
|
17
|
+
mediaAnalysis: "media-analysis.json",
|
|
14
18
|
rankedReferences: "ranked-references.json",
|
|
15
19
|
metaPrompt: "meta-prompt.md",
|
|
16
20
|
prototypeGuidance: "prototype-guidance.md"
|
|
@@ -45,8 +49,8 @@ var INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS = [
|
|
|
45
49
|
var INSPIREDESIGN_HANDOFF_GUIDANCE = {
|
|
46
50
|
reviewAdvancedBrief: `${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} is the authoritative reference-first brief. When URL references exist, captured evidence leads the creative direction; selected format, profile defaults, layout posture, motion grammar, and anti-patterns are route guardrails only. Read it before touching Canvas or implementation files.`,
|
|
47
51
|
prepareCanvasPlanRequest: `Fill canvasSessionId, leaseId, and documentId in ${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} before running ${INSPIREDESIGN_HANDOFF_COMMANDS.continueInCanvas}.`,
|
|
48
|
-
deepCaptureRecommendation: "
|
|
49
|
-
visualArtifactRecommendation: `${INSPIREDESIGN_HANDOFF_FILES.visualEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.screenshotIndex}, ${INSPIREDESIGN_HANDOFF_FILES.rankedReferences}, and ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt} are
|
|
52
|
+
deepCaptureRecommendation: "Use captureMode=deep when you need refreshed DOM/layout diagnostics, restored session state, or capture-specific debugging. Pinterest harvest treats screenshots, screencasts, and manifest-backed pin-media artifacts as primary evidence.",
|
|
53
|
+
visualArtifactRecommendation: `${INSPIREDESIGN_HANDOFF_FILES.visualEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.screenshotIndex}, ${INSPIREDESIGN_HANDOFF_FILES.motionEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.pinMediaEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex}, ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis}, ${INSPIREDESIGN_HANDOFF_FILES.rankedReferences}, and ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt} are evidence guidance surfaces. Read them before translating visual or motion cues, inspect PNG, replay, or pin-media files by path, use ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis} for media-derived design facts, and treat pin-media entries as product-ready only when ${INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex} records persisted first-party Pinterest media proof. Remote media URLs alone are not proof.`
|
|
50
54
|
};
|
|
51
55
|
var INSPIREDESIGN_ARTIFACT_GUIDE = {
|
|
52
56
|
[INSPIREDESIGN_HANDOFF_FILES.advancedBrief]: {
|
|
@@ -115,6 +119,30 @@ var INSPIREDESIGN_ARTIFACT_GUIDE = {
|
|
|
115
119
|
howToUse: ["Use for bundle inspection", "confirm every listed path exists before implementation"],
|
|
116
120
|
mustNot: ["Do not treat missing screenshots as visual proof"]
|
|
117
121
|
},
|
|
122
|
+
[INSPIREDESIGN_HANDOFF_FILES.motionEvidence]: {
|
|
123
|
+
purpose: "Canonical motion evidence index for screencast replay results.",
|
|
124
|
+
expectedContents: ["reference ids", "replay paths", "preview paths", "frame counts", "warnings", "diagnostic authority"],
|
|
125
|
+
howToUse: ["Open replay and preview files by path", "treat diagnostic entries as non-authoritative design evidence"],
|
|
126
|
+
mustNot: ["Do not treat controls-only or zero-frame captures as design proof"]
|
|
127
|
+
},
|
|
128
|
+
[INSPIREDESIGN_HANDOFF_FILES.pinMediaEvidence]: {
|
|
129
|
+
purpose: "Metadata-only Pinterest pin-media evidence index for persisted first-party pin image, video, GIF, or video-poster captures.",
|
|
130
|
+
expectedContents: ["reference ids", "artifact-relative media paths", "first-party media URLs", "source provenance", "hashes", "byte counts", "dimensions", "content types", "warnings", "rejection reasons"],
|
|
131
|
+
howToUse: ["Open pin-media files by path", "use entries for Pinterest design cues only when authority is design_evidence and the companion index includes the path"],
|
|
132
|
+
mustNot: ["Do not treat remote DOM media URLs, unindexed diagnostic entries, or non-Pinterest first-party pin-media sources as product-ready proof", "Do not treat video posters as motion proof"]
|
|
133
|
+
},
|
|
134
|
+
[INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex]: {
|
|
135
|
+
purpose: "Manifest-backed compact index of authoritative Pinterest pin-media artifacts.",
|
|
136
|
+
expectedContents: ["reference ids", "paths", "sha256 hashes", "byte counts", "dimensions", "content types", "canonical pin source provenance"],
|
|
137
|
+
howToUse: ["Use as the gate for pin_media_ready evidence", "confirm every listed path exists before Canvas or implementation work"],
|
|
138
|
+
mustNot: ["Do not promote pin-media-evidence.json entries that are absent from this index", "Do not accept remote media URLs without persisted bytes and manifest-backed authority"]
|
|
139
|
+
},
|
|
140
|
+
[INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis]: {
|
|
141
|
+
purpose: "Auditable design-fact surface extracted from trusted saved pin media after finalization.",
|
|
142
|
+
expectedContents: ["reference ids", "saved media paths", "claim levels", "palette, tone, layout, typography, and motion facts", "limitations and non-goals"],
|
|
143
|
+
howToUse: ["Inspect before making media-derived design claims", "cite both this file and the saved media path for media-derived claims", "use pin-media-index.json, not this file, as the readiness gate"],
|
|
144
|
+
mustNot: ["Do not treat media-analysis.json as artifact authority or evidence authority", "Do not claim exact readable text, font families, or motion states beyond recorded claim levels"]
|
|
145
|
+
},
|
|
118
146
|
[INSPIREDESIGN_HANDOFF_FILES.rankedReferences]: {
|
|
119
147
|
purpose: "Deterministic ranked reference pattern board for design transfer.",
|
|
120
148
|
expectedContents: ["rank", "score", "confidence", "visual strengths", "visual risks", "aggregate rejected counts"],
|
|
@@ -238,7 +266,7 @@ var INSPIREDESIGN_CONTRACT_SECTION_GUIDE = {
|
|
|
238
266
|
mustNot: ["Do not ship heavy interaction surfaces without measurement evidence"]
|
|
239
267
|
}
|
|
240
268
|
};
|
|
241
|
-
var buildInspiredesignFollowthroughSummary = () => `Read ${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} first, then continue in OpenDevBrowser Canvas with ${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} and ${INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff}, load ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[0]}, ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[1]}, and ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[2]} before implementation, inspect ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt}
|
|
269
|
+
var buildInspiredesignFollowthroughSummary = () => `Read ${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} first, then continue in OpenDevBrowser Canvas with ${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} and ${INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff}, load ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[0]}, ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[1]}, and ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[2]} before implementation, inspect ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt}, ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis}, and screenshot metadata, and note that Pinterest harvest disables deep diagnostics while using screenshot-first, screencast-first, or canonical pin-media evidence.`;
|
|
242
270
|
var buildInspiredesignNextStep = () => `Read ${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} first. ${INSPIREDESIGN_HANDOFF_GUIDANCE.prepareCanvasPlanRequest} Then run ${INSPIREDESIGN_HANDOFF_COMMANDS.continueInCanvas}, confirm planStatus=accepted, then patch only the governance blocks listed in ${INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff}.`;
|
|
243
271
|
|
|
244
272
|
export {
|
|
@@ -251,4 +279,4 @@ export {
|
|
|
251
279
|
buildInspiredesignFollowthroughSummary,
|
|
252
280
|
buildInspiredesignNextStep
|
|
253
281
|
};
|
|
254
|
-
//# sourceMappingURL=chunk-
|
|
282
|
+
//# sourceMappingURL=chunk-B5XIJQXO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/inspiredesign/handoff.ts"],"sourcesContent":["export const INSPIREDESIGN_HANDOFF_FILES = {\n designMarkdown: \"design.md\",\n advancedBrief: \"advanced-brief.md\",\n designContract: \"design-contract.json\",\n canvasPlanRequest: \"canvas-plan.request.json\",\n designAgentHandoff: \"design-agent-handoff.json\",\n generationPlan: \"generation-plan.json\",\n implementationPlanMarkdown: \"implementation-plan.md\",\n implementationPlan: \"implementation-plan.json\",\n evidence: \"evidence.json\",\n visualEvidence: \"visual-evidence.json\",\n screenshotIndex: \"screenshot-index.json\",\n motionEvidence: \"motion-evidence.json\",\n pinMediaEvidence: \"pin-media-evidence.json\",\n pinMediaIndex: \"pin-media-index.json\",\n mediaAnalysis: \"media-analysis.json\",\n rankedReferences: \"ranked-references.json\",\n metaPrompt: \"meta-prompt.md\",\n prototypeGuidance: \"prototype-guidance.md\"\n} as const;\n\nexport type InspiredesignGuideEntry = {\n purpose: string;\n expectedContents: readonly string[];\n howToUse: readonly string[];\n mustNot: readonly string[];\n};\n\ntype InspiredesignHandoffFile =\n (typeof INSPIREDESIGN_HANDOFF_FILES)[keyof typeof INSPIREDESIGN_HANDOFF_FILES];\n\nexport type InspiredesignArtifactGuide = Record<InspiredesignHandoffFile, InspiredesignGuideEntry>;\n\nexport type InspiredesignContractSectionGuide = Record<string, InspiredesignGuideEntry>;\n\nconst INSPIREDESIGN_HANDOFF_SKILLS = {\n bestPractices: {\n name: \"opendevbrowser-best-practices\",\n topic: \"quick start\"\n },\n designAgent: {\n name: \"opendevbrowser-design-agent\",\n topic: \"canvas-contract\"\n },\n motionDesign: {\n name: \"opendevbrowser-motion-design\",\n topic: \"quick start\"\n }\n} as const;\n\ntype InspiredesignHandoffSkill =\n (typeof INSPIREDESIGN_HANDOFF_SKILLS)[keyof typeof INSPIREDESIGN_HANDOFF_SKILLS];\n\nconst formatSkillReference = (skill: InspiredesignHandoffSkill): string => (\n `${skill.name} \"${skill.topic}\"`\n);\n\nconst formatSkillLoadCommand = (skill: InspiredesignHandoffSkill): string => (\n `opendevbrowser_skill_load ${skill.name} \"${skill.topic}\"`\n);\n\nexport const INSPIREDESIGN_HANDOFF_COMMANDS = {\n loadBestPractices: formatSkillLoadCommand(INSPIREDESIGN_HANDOFF_SKILLS.bestPractices),\n loadDesignAgent: formatSkillLoadCommand(INSPIREDESIGN_HANDOFF_SKILLS.designAgent),\n loadMotionDesign: formatSkillLoadCommand(INSPIREDESIGN_HANDOFF_SKILLS.motionDesign),\n continueInCanvas: `opendevbrowser canvas --command canvas.plan.set --params-file ./${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} --output-format json`\n} as const;\n\nexport const INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS = [\n formatSkillReference(INSPIREDESIGN_HANDOFF_SKILLS.bestPractices),\n formatSkillReference(INSPIREDESIGN_HANDOFF_SKILLS.designAgent),\n formatSkillReference(INSPIREDESIGN_HANDOFF_SKILLS.motionDesign)\n] as const;\n\nexport const INSPIREDESIGN_HANDOFF_GUIDANCE = {\n reviewAdvancedBrief: `${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} is the authoritative reference-first brief. When URL references exist, captured evidence leads the creative direction; selected format, profile defaults, layout posture, motion grammar, and anti-patterns are route guardrails only. Read it before touching Canvas or implementation files.`,\n prepareCanvasPlanRequest: `Fill canvasSessionId, leaseId, and documentId in ${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} before running ${INSPIREDESIGN_HANDOFF_COMMANDS.continueInCanvas}.`,\n deepCaptureRecommendation: \"Use captureMode=deep when you need refreshed DOM/layout diagnostics, restored session state, or capture-specific debugging. Pinterest harvest treats screenshots, screencasts, and manifest-backed pin-media artifacts as primary evidence.\",\n visualArtifactRecommendation: `${INSPIREDESIGN_HANDOFF_FILES.visualEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.screenshotIndex}, ${INSPIREDESIGN_HANDOFF_FILES.motionEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.pinMediaEvidence}, ${INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex}, ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis}, ${INSPIREDESIGN_HANDOFF_FILES.rankedReferences}, and ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt} are evidence guidance surfaces. Read them before translating visual or motion cues, inspect PNG, replay, or pin-media files by path, use ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis} for media-derived design facts, and treat pin-media entries as product-ready only when ${INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex} records persisted first-party Pinterest media proof. Remote media URLs alone are not proof.`\n} as const;\n\nexport const INSPIREDESIGN_ARTIFACT_GUIDE: InspiredesignArtifactGuide = {\n [INSPIREDESIGN_HANDOFF_FILES.advancedBrief]: {\n purpose: \"Authoritative reference-first brief for the downstream design agent.\",\n expectedContents: [\"Selected prompt format\", \"reference pattern board\", \"route guardrails\"],\n howToUse: [\"Read first\", \"treat captured evidence as creative priority\", \"use guardrails to avoid route drift\"],\n mustNot: [\"Do not treat defaults as stronger than captured references\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.designMarkdown]: {\n purpose: \"Human-readable design specification and implementation narrative.\",\n expectedContents: [\"inspiration analysis\", \"unified direction\", \"governance summary\", \"deliverables\"],\n howToUse: [\"Use as the readable project brief\", \"cross-check implementation choices against its sections\"],\n mustNot: [\"Do not use prose as a substitute for the JSON contract when patching Canvas\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.designContract]: {\n purpose: \"Narrowed Canvas governance contract for design decisions.\",\n expectedContents: [\"emitted governance blocks\", \"motion system\", \"library policy\", \"runtime budgets\"],\n howToUse: [\"Patch only emitted governance blocks\", \"compare implementation against this contract before shipping\"],\n mustNot: [\"Do not add navigation, async, or performance context as Canvas governance patches\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest]: {\n purpose: \"Ready-to-fill request payload for `canvas.plan.set`.\",\n expectedContents: [\"request ids\", \"Canvas session ids\", \"mutation-safe generationPlan\"],\n howToUse: [\"Fill canvasSessionId, leaseId, and documentId\", \"submit with the provided canvas.plan.set command\"],\n mustNot: [\"Do not add handoff-only fields or reference-only analysis to generationPlan\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff]: {\n purpose: \"Downstream index for artifact usage, skills, commands, and omitted implementation context.\",\n expectedContents: [\"skills\", \"commands\", \"contract scope\", \"implementation context\", \"artifact and section guides\"],\n howToUse: [\"Use as the navigation map for the bundle\", \"load recommended skills before implementation\"],\n mustNot: [\"Do not treat handoff context as runtime Canvas schema\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.generationPlan]: {\n purpose: \"Full generated plan for reasoning about design intent.\",\n expectedContents: [\"Canvas plan fields\", \"design vectors\", \"reference analysis when available\"],\n howToUse: [\"Use for agent reasoning and audit traceability\", \"compare with canvas-plan.request.json for runtime subset\"],\n mustNot: [\"Do not submit this file directly to Canvas when it contains non-request context\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.implementationPlanMarkdown]: {\n purpose: \"Human-readable engineering sequence for the first implementation pass.\",\n expectedContents: [\"build sequence\", \"component plan\", \"token strategy\", \"QA and risk checks\"],\n howToUse: [\"Convert sections into implementation tasks\", \"keep tests and browser validation aligned to the plan\"],\n mustNot: [\"Do not implement sections unsupported by brief or reference evidence\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.implementationPlan]: {\n purpose: \"Machine-readable implementation plan matching the Markdown plan.\",\n expectedContents: [\"architecture steps\", \"component inventory\", \"state and validation tasks\"],\n howToUse: [\"Use for structured task extraction\", \"keep it synchronized with implementation-plan.md\"],\n mustNot: [\"Do not treat it as a Canvas document patch payload\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.evidence]: {\n purpose: \"Evidence digest for brief, reference, capture, and design-vector provenance.\",\n expectedContents: [\"brief expansion\", \"reference outcomes\", \"capture attempts\", \"design vectors\"],\n howToUse: [\"Audit why choices were made\", \"prefer evidence over generic template defaults\"],\n mustNot: [\"Do not ignore failed or skipped capture statuses when judging confidence\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.visualEvidence]: {\n purpose: \"Metadata-only visual evidence index for screenshot capture results.\",\n expectedContents: [\"reference ids\", \"artifact-relative PNG paths\", \"hashes\", \"byte counts\", \"viewport metadata when available\", \"warnings\"],\n howToUse: [\"Open PNG files by path\", \"audit hashes and warnings before making visual claims\"],\n mustNot: [\"Do not expect base64 images, absolute temp paths, DOM, or raw screenshots in JSON\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.screenshotIndex]: {\n purpose: \"Compact index of finalized screenshot PNG files.\",\n expectedContents: [\"reference ids\", \"paths\", \"sha256 hashes\", \"byte counts\", \"capture timestamps\"],\n howToUse: [\"Use for bundle inspection\", \"confirm every listed path exists before implementation\"],\n mustNot: [\"Do not treat missing screenshots as visual proof\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.motionEvidence]: {\n purpose: \"Canonical motion evidence index for screencast replay results.\",\n expectedContents: [\"reference ids\", \"replay paths\", \"preview paths\", \"frame counts\", \"warnings\", \"diagnostic authority\"],\n howToUse: [\"Open replay and preview files by path\", \"treat diagnostic entries as non-authoritative design evidence\"],\n mustNot: [\"Do not treat controls-only or zero-frame captures as design proof\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.pinMediaEvidence]: {\n purpose: \"Metadata-only Pinterest pin-media evidence index for persisted first-party pin image, video, GIF, or video-poster captures.\",\n expectedContents: [\"reference ids\", \"artifact-relative media paths\", \"first-party media URLs\", \"source provenance\", \"hashes\", \"byte counts\", \"dimensions\", \"content types\", \"warnings\", \"rejection reasons\"],\n howToUse: [\"Open pin-media files by path\", \"use entries for Pinterest design cues only when authority is design_evidence and the companion index includes the path\"],\n mustNot: [\"Do not treat remote DOM media URLs, unindexed diagnostic entries, or non-Pinterest first-party pin-media sources as product-ready proof\", \"Do not treat video posters as motion proof\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.pinMediaIndex]: {\n purpose: \"Manifest-backed compact index of authoritative Pinterest pin-media artifacts.\",\n expectedContents: [\"reference ids\", \"paths\", \"sha256 hashes\", \"byte counts\", \"dimensions\", \"content types\", \"canonical pin source provenance\"],\n howToUse: [\"Use as the gate for pin_media_ready evidence\", \"confirm every listed path exists before Canvas or implementation work\"],\n mustNot: [\"Do not promote pin-media-evidence.json entries that are absent from this index\", \"Do not accept remote media URLs without persisted bytes and manifest-backed authority\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis]: {\n purpose: \"Auditable design-fact surface extracted from trusted saved pin media after finalization.\",\n expectedContents: [\"reference ids\", \"saved media paths\", \"claim levels\", \"palette, tone, layout, typography, and motion facts\", \"limitations and non-goals\"],\n howToUse: [\"Inspect before making media-derived design claims\", \"cite both this file and the saved media path for media-derived claims\", \"use pin-media-index.json, not this file, as the readiness gate\"],\n mustNot: [\"Do not treat media-analysis.json as artifact authority or evidence authority\", \"Do not claim exact readable text, font families, or motion states beyond recorded claim levels\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.rankedReferences]: {\n purpose: \"Deterministic ranked reference pattern board for design transfer.\",\n expectedContents: [\"rank\", \"score\", \"confidence\", \"visual strengths\", \"visual risks\", \"aggregate rejected counts\"],\n howToUse: [\"Start from rank 1 for dominant direction\", \"borrow patterns and reject risks explicitly\"],\n mustNot: [\"Do not copy source brands, rejected reference URLs, or override the ranked order with source order\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.metaPrompt]: {\n purpose: \"Markdown prompt for downstream design generation from harvested evidence.\",\n expectedContents: [\"ranked references\", \"borrow guidance\", \"reject guidance\", \"motion posture\", \"accessibility constraints\", \"validation gates\"],\n howToUse: [\"Use as the prompt brief for the first design pass\", \"pair with the motion-design skill for timing and reduced-motion decisions\"],\n mustNot: [\"Do not generate production code from harvest output alone\"]\n },\n [INSPIREDESIGN_HANDOFF_FILES.prototypeGuidance]: {\n purpose: \"Optional first prototype guidance when the workflow requests prototype output.\",\n expectedContents: [\"prototype structure\", \"design-vector guidance\", \"browser proof checklist\"],\n howToUse: [\"Use only for the first prototype pass\", \"promote proven ideas back into contract-aligned work\"],\n mustNot: [\"Do not treat prototype guidance as final implementation authority\"]\n }\n};\n\nexport const INSPIREDESIGN_CONTRACT_SECTION_GUIDE: InspiredesignContractSectionGuide = {\n intent: {\n purpose: \"Define why the design exists and what success means.\",\n expectedContents: [\"audience\", \"task\", \"success criteria\", \"trust posture\"],\n howToUse: [\"Validate the primary user job before styling\", \"reject sections that do not serve the task\"],\n mustNot: [\"Do not start visual polish before the audience and task are clear\"]\n },\n generationPlan: {\n purpose: \"Mutation-safe subset accepted by Canvas planning.\",\n expectedContents: [\"target outcome\", \"visual, layout, content, component, motion, responsive, accessibility posture\"],\n howToUse: [\"Submit only through canvas-plan.request.json\", \"repair generationPlanIssues before mutation\"],\n mustNot: [\"Do not add handoff-only guide fields to the Canvas generation plan\"]\n },\n designLanguage: {\n purpose: \"Name the coherent visual direction and token ownership.\",\n expectedContents: [\"direction\", \"style axes\", \"semantic token source\", \"approved libraries\"],\n howToUse: [\"Keep one design language per task\", \"align repeated components to semantic tokens\"],\n mustNot: [\"Do not mix unrelated visual families inside one surface\"]\n },\n contentModel: {\n purpose: \"Define real content, message hierarchy, and UI states.\",\n expectedContents: [\"primary message\", \"supporting messages\", \"states\", \"loading, empty, and error behavior\"],\n howToUse: [\"Use real content first\", \"plan non-happy-path states before polish\"],\n mustNot: [\"Do not ship placeholder copy as product content\"]\n },\n layoutSystem: {\n purpose: \"Describe page architecture and section rhythm.\",\n expectedContents: [\"grid\", \"containers\", \"spacing rhythm\", \"alignment rules\"],\n howToUse: [\"Use to place sections and scan units consistently\", \"verify desktop and mobile structure\"],\n mustNot: [\"Do not invent one-off layout rules for repeated sections\"]\n },\n typographySystem: {\n purpose: \"Define type families, scale, measure, and loading behavior.\",\n expectedContents: [\"families\", \"scale\", \"measure\", \"fallback policy\", \"loading strategy\"],\n howToUse: [\"Apply type hierarchy consistently\", \"avoid layout shift from font loading\"],\n mustNot: [\"Do not default to unapproved system stacks for a distinctive design\"]\n },\n colorSystem: {\n purpose: \"Define semantic color roles and theme behavior.\",\n expectedContents: [\"primary roles\", \"surface roles\", \"text roles\", \"state colors\"],\n howToUse: [\"Map repeated UI to semantic tokens\", \"validate contrast in every required theme\"],\n mustNot: [\"Do not scatter raw color values across leaf components\"]\n },\n surfaceSystem: {\n purpose: \"Define material, depth, borders, and background behavior.\",\n expectedContents: [\"surface hierarchy\", \"border rules\", \"shadow rules\", \"material effects\"],\n howToUse: [\"Use depth only to clarify hierarchy\", \"align material effects with design vectors\"],\n mustNot: [\"Do not turn every content group into a card by default\"]\n },\n iconSystem: {\n purpose: \"Define icon usage and decorative asset boundaries.\",\n expectedContents: [\"icon family\", \"stroke policy\", \"labeling rules\", \"decorative rules\"],\n howToUse: [\"Use icons to clarify actions\", \"keep accessible names on icon-only controls\"],\n mustNot: [\"Do not rely on icons as the only explanation for critical actions\"]\n },\n motionSystem: {\n purpose: \"Define motion that supports comprehension.\",\n expectedContents: [\"timing\", \"interaction moments\", \"reduced-motion posture\", \"advanced motion advisory\"],\n howToUse: [\"Keep shader, WebGL, and Spline cues advisory\", \"provide reduced-motion replacements\"],\n mustNot: [\"Do not use motion cues to authorize new runtime libraries\"]\n },\n responsiveSystem: {\n purpose: \"Define authored behavior across desktop, tablet, and mobile.\",\n expectedContents: [\"breakpoints\", \"adaptation rules\", \"touch policy\", \"overflow policy\"],\n howToUse: [\"Validate the primary action at every viewport\", \"collapse structure before copy becomes cramped\"],\n mustNot: [\"Do not assume desktop layouts naturally scale down\"]\n },\n accessibilityPolicy: {\n purpose: \"Set accessibility requirements before implementation.\",\n expectedContents: [\"WCAG target\", \"keyboard requirements\", \"focus policy\", \"semantic requirements\"],\n howToUse: [\"Block release on contrast or keyboard regressions\", \"validate focus on every interactive state\"],\n mustNot: [\"Do not defer accessibility until after visual implementation\"]\n },\n libraryPolicy: {\n purpose: \"Declare approved implementation libraries and runtime boundaries.\",\n expectedContents: [\"components\", \"icons\", \"styling\", \"motion\", \"threeD\"],\n howToUse: [\"Use as the dependency authorization boundary\", \"keep motion and threeD empty unless separately approved\"],\n mustNot: [\"Do not infer WebGL, shader, Spline, or 3D runtime support from advisory motion\"]\n },\n runtimeBudgets: {\n purpose: \"Set practical limits for sections, actions, interaction latency, and preview cost.\",\n expectedContents: [\"section budgets\", \"action budgets\", \"latency budgets\", \"preview notes\"],\n howToUse: [\"Use as a constraint during implementation\", \"validate slow or animation-heavy surfaces against it\"],\n mustNot: [\"Do not add decorative weight that violates the budget\"]\n },\n navigationModel: {\n purpose: \"Implementation-only context for route, tab, overlay, and deep-link ownership.\",\n expectedContents: [\"route owner\", \"deep-link policy\", \"invalid route fallback\", \"overlay entry points\"],\n howToUse: [\"Use from design-agent-handoff.json when wiring implementation state\"],\n mustNot: [\"Do not patch this omitted block into Canvas governance\"]\n },\n asyncModel: {\n purpose: \"Implementation-only context for loading, restart, cancellation, and URL-owned query state.\",\n expectedContents: [\"owner\", \"load trigger\", \"restart triggers\", \"cancellation policy\"],\n howToUse: [\"Use when wiring fetch/search state and stale-request handling\"],\n mustNot: [\"Do not let components invent independent async ownership\"]\n },\n performanceModel: {\n purpose: \"Implementation-only context for render hotspots and measurement posture.\",\n expectedContents: [\"render hotspots\", \"stable identity policy\", \"list strategy\", \"measurement plan\"],\n howToUse: [\"Use before building scan-heavy or motion-heavy surfaces\"],\n mustNot: [\"Do not ship heavy interaction surfaces without measurement evidence\"]\n }\n};\n\nexport const buildInspiredesignFollowthroughSummary = (): string => (\n `Read ${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} first, then continue in OpenDevBrowser Canvas with ${INSPIREDESIGN_HANDOFF_FILES.canvasPlanRequest} and ${INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff}, load ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[0]}, ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[1]}, and ${INSPIREDESIGN_HANDOFF_RECOMMENDED_SKILLS[2]} before implementation, inspect ${INSPIREDESIGN_HANDOFF_FILES.metaPrompt}, ${INSPIREDESIGN_HANDOFF_FILES.mediaAnalysis}, and screenshot metadata, and note that Pinterest harvest disables deep diagnostics while using screenshot-first, screencast-first, or canonical pin-media evidence.`\n);\n\nexport const buildInspiredesignNextStep = (): string => (\n `Read ${INSPIREDESIGN_HANDOFF_FILES.advancedBrief} first. ${INSPIREDESIGN_HANDOFF_GUIDANCE.prepareCanvasPlanRequest} Then run ${INSPIREDESIGN_HANDOFF_COMMANDS.continueInCanvas}, confirm planStatus=accepted, then patch only the governance blocks listed in ${INSPIREDESIGN_HANDOFF_FILES.designAgentHandoff}.`\n);\n"],"mappings":"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","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CLI_COMMANDS,
|
|
3
3
|
VALID_EQUALS_FLAGS,
|
|
4
4
|
VALID_FLAGS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HM4CO3EW.js";
|
|
6
6
|
import {
|
|
7
7
|
createUsageError
|
|
8
8
|
} from "./chunk-7BNU6DFI.js";
|
|
@@ -227,4 +227,4 @@ export {
|
|
|
227
227
|
parseArgs,
|
|
228
228
|
detectOutputFormat
|
|
229
229
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
230
|
+
//# sourceMappingURL=chunk-BHZLEFXW.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseNumberFlag,
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TI5I6UWY.js";
|
|
5
5
|
import {
|
|
6
6
|
DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
7
7
|
} from "./chunk-OW5HMYMI.js";
|
|
8
8
|
import {
|
|
9
9
|
callDaemon
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XSSPNVMS.js";
|
|
11
11
|
import {
|
|
12
12
|
createUsageError
|
|
13
13
|
} from "./chunk-7BNU6DFI.js";
|
|
@@ -61,4 +61,4 @@ export {
|
|
|
61
61
|
callDesktopCommand,
|
|
62
62
|
desktopCommandResult
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-FJZY3Z3X.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseNumberFlag,
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TI5I6UWY.js";
|
|
5
5
|
import {
|
|
6
6
|
createUsageError
|
|
7
7
|
} from "./chunk-7BNU6DFI.js";
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
parsePointerClickCount,
|
|
44
44
|
parsePointerButton
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-G6NQ7WYD.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/public-surface/generated-manifest.ts
|
|
2
2
|
var PUBLIC_SURFACE_MANIFEST = {
|
|
3
3
|
"schemaVersion": "2026-04-04",
|
|
4
|
-
"generatedAt": "2026-
|
|
4
|
+
"generatedAt": "2026-06-07T15:30:29.514Z",
|
|
5
5
|
"cli": {
|
|
6
6
|
"groups": [
|
|
7
7
|
{
|
|
@@ -44,7 +44,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
44
44
|
{
|
|
45
45
|
"id": "provider_workflows",
|
|
46
46
|
"title": "Provider Workflows",
|
|
47
|
-
"summary": "Run research, shopping,
|
|
47
|
+
"summary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows.",
|
|
48
48
|
"commands": [
|
|
49
49
|
"research",
|
|
50
50
|
"shopping",
|
|
@@ -499,7 +499,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
499
499
|
],
|
|
500
500
|
"groupId": "provider_workflows",
|
|
501
501
|
"groupTitle": "Provider Workflows",
|
|
502
|
-
"groupSummary": "Run research, shopping,
|
|
502
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
503
503
|
},
|
|
504
504
|
{
|
|
505
505
|
"name": "shopping",
|
|
@@ -529,7 +529,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
529
529
|
],
|
|
530
530
|
"groupId": "provider_workflows",
|
|
531
531
|
"groupTitle": "Provider Workflows",
|
|
532
|
-
"groupSummary": "Run research, shopping,
|
|
532
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
533
533
|
},
|
|
534
534
|
{
|
|
535
535
|
"name": "product-video",
|
|
@@ -559,12 +559,12 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
559
559
|
],
|
|
560
560
|
"groupId": "provider_workflows",
|
|
561
561
|
"groupTitle": "Provider Workflows",
|
|
562
|
-
"groupSummary": "Run research, shopping,
|
|
562
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
563
563
|
},
|
|
564
564
|
{
|
|
565
565
|
"name": "inspiredesign",
|
|
566
566
|
"description": "Run inspiredesign workflows and visual reference harvests",
|
|
567
|
-
"usage": "npx opendevbrowser inspiredesign run --brief <text> [--url <url>]... [--capture-mode <mode>] [--include-prototype-guidance[=<bool>]] [--mode <mode>] [--timeout-ms <ms>] [--output-dir <path>] [--ttl-hours <n>] [--browser-mode <mode>] [--use-cookies[=<bool>]] [--challenge-automation-mode <mode>] [--cookie-policy-override <policy>] | npx opendevbrowser inspiredesign harvest --brief <text> (--query <text> | --url <url>) [--provider <id>]... [--url <url>]... [--max-references <n>] [--visual-evidence <mode>] [--mode <mode>] [--timeout-ms <ms>] [--output-dir <path>] [--ttl-hours <n>] [--browser-mode <mode>] [--use-cookies[=<bool>]] [--challenge-automation-mode <mode>] [--cookie-policy-override <policy>]",
|
|
567
|
+
"usage": "npx opendevbrowser inspiredesign run --brief <text> [--url <url>]... [--capture-mode <mode>] [--include-prototype-guidance[=<bool>]] [--mode <mode>] [--timeout-ms <ms>] [--output-dir <path>] [--ttl-hours <n>] [--browser-mode <mode>] [--use-cookies[=<bool>]] [--challenge-automation-mode <mode>] [--cookie-policy-override <policy>] | npx opendevbrowser inspiredesign harvest --brief <text> (--query <text> | --url <url>) [--provider <id>]... [--url <url>]... [--max-references <n>] [--visual-evidence <mode>] [--capture-mode <mode>] [--mode <mode>] [--timeout-ms <ms>] [--output-dir <path>] [--ttl-hours <n>] [--browser-mode <mode>] [--use-cookies[=<bool>]] [--challenge-automation-mode <mode>] [--cookie-policy-override <policy>]",
|
|
568
568
|
"flags": [
|
|
569
569
|
"--brief",
|
|
570
570
|
"--query",
|
|
@@ -587,21 +587,28 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
587
587
|
"examples": [
|
|
588
588
|
'npx opendevbrowser inspiredesign run --brief "Extract a reusable dashboard design contract from live references" --url https://linear.app --browser-mode managed --use-cookies --challenge-automation-mode browser_with_helper --include-prototype-guidance --output-dir /tmp/inspiredesign --output-format json',
|
|
589
589
|
'npx opendevbrowser inspiredesign harvest --brief "Synthesize a premium docs workspace" --query "best docs product landing pages" --provider web/default --max-references 5 --visual-evidence required --browser-mode managed --output-format json',
|
|
590
|
-
'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'
|
|
590
|
+
'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',
|
|
591
|
+
'npx opendevbrowser inspiredesign harvest --brief "Fashion design studio landing page with atelier motion references" --provider social/pinterest --url "https://www.pinterest.com/pin/27654985208435505/" --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'
|
|
591
592
|
],
|
|
592
593
|
"notes": [
|
|
593
|
-
"
|
|
594
|
+
"Pinterest harvest uses screenshot evidence, screencast evidence, and manifest-backed pin-media evidence as primary readiness signals; DOM/clone/deep capture is disabled for Pinterest harvest, and remote media URLs are not product-ready unless persisted first-party bytes appear in pin-media-index.json.",
|
|
595
|
+
"inspiredesign run forces captureMode=deep for any explicit --url so the workflow can collect DOM/layout diagnostics. inspiredesign harvest forces deep capture for non-Pinterest explicit --url references, while Pinterest-only discovery and compatible Pinterest URL recovery force captureMode=off even when --capture-mode deep is requested.",
|
|
594
596
|
"Repeat --url for multiple references. There is no --urls alias.",
|
|
595
597
|
"inspiredesign harvest keeps the daemon method as inspiredesign.run, requires --query or at least one --url, defaults to path output, requires visual evidence, and caps discovery at 5 references unless --max-references changes it.",
|
|
596
|
-
"Inspect nextStepGuidance.readiness before continuing.
|
|
597
|
-
"
|
|
598
|
-
"
|
|
599
|
-
"
|
|
598
|
+
"Inspect productSuccess, artifactAuthority, evidenceAuthority, harvestReadiness, and nextStepGuidance.readiness before continuing. Canvas continuation requires readiness=ready, non-empty ranked references, and Pinterest references with manifest-backed snapshot_ready screenshot evidence, motion_ready screencast evidence, or pin_media_ready first-party pin-media evidence.",
|
|
599
|
+
"media-analysis.json is a design-fact artifact only: it enriches guidance after trusted saved media matches pin-media-index.json, never grants readiness authority, and raw media-analysis fields must not enter canvas-plan.request.json.",
|
|
600
|
+
"Do not proceed when nextStepGuidance.doNotProceedIf matches zero references, empty ranked references, missing required screenshot, screencast, or pin-media evidence, provider unavailability, or diagnostic-only captures.",
|
|
601
|
+
"CLI completion text includes readiness=<value> when the workflow reports nextStepGuidance.readiness, so success output is not confused with design readiness.",
|
|
602
|
+
"Pinterest is modeled as a browser-native site recipe for social/pinterest, not as a default full social provider. Compatible Pinterest --url recovery can run with --provider social/pinterest even when --query is omitted; use one canonical /pin/{id}/ URL per harvest when validating design-ready pin media.",
|
|
603
|
+
"Extension-mode canonical Pinterest pin-media harvest opens the exact canonical pin in the extension before extracting persisted first-party bytes. This is the default product path for reliable image, GIF, and video pin media capture.",
|
|
604
|
+
"Harvest JSON is metadata-only: screenshots, motion evidence, and pin-media evidence are artifact files referenced by relative paths, hashes, viewport metadata, frame counts, dimensions, provenance, and warnings.",
|
|
605
|
+
"ranked-references.json includes rejectedReferences for captured-but-rejected diagnostics such as interface_chrome_shell without promoting those captures into design references.",
|
|
606
|
+
"Pinterest product readiness is evidence-first: canonical pin URLs must rank only when authoritative screenshot, screencast, or first-party pin-media evidence is captured, persisted, manifest-backed, and free of blocking warnings. The exact login_or_challenge_state and strict byte-backed interface_chrome_shell diagnostics are non-blocking only for trusted first-party manifest-backed pin-media bytes; broader login, challenge, captcha, search-shell, promoted, ad, blank, tiny, or chrome-only blockers still demote readiness.",
|
|
600
607
|
"Load opendevbrowser-motion-design before turning harvest motion posture into implementation timing, scroll choreography, reduced-motion behavior, or temporal proof."
|
|
601
608
|
],
|
|
602
609
|
"groupId": "provider_workflows",
|
|
603
610
|
"groupTitle": "Provider Workflows",
|
|
604
|
-
"groupSummary": "Run research, shopping,
|
|
611
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
605
612
|
},
|
|
606
613
|
{
|
|
607
614
|
"name": "artifacts",
|
|
@@ -617,7 +624,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
617
624
|
"notes": [],
|
|
618
625
|
"groupId": "provider_workflows",
|
|
619
626
|
"groupTitle": "Provider Workflows",
|
|
620
|
-
"groupSummary": "Run research, shopping,
|
|
627
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
621
628
|
},
|
|
622
629
|
{
|
|
623
630
|
"name": "macro-resolve",
|
|
@@ -645,7 +652,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
645
652
|
],
|
|
646
653
|
"groupId": "provider_workflows",
|
|
647
654
|
"groupTitle": "Provider Workflows",
|
|
648
|
-
"groupSummary": "Run research, shopping,
|
|
655
|
+
"groupSummary": "Run research, shopping, product presentation, inspiredesign, and artifact workflows."
|
|
649
656
|
},
|
|
650
657
|
{
|
|
651
658
|
"name": "canvas",
|
|
@@ -1376,9 +1383,13 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
1376
1383
|
"--timeout-ms"
|
|
1377
1384
|
],
|
|
1378
1385
|
"examples": [
|
|
1386
|
+
"npx opendevbrowser screenshot --session-id s1 --output-format json",
|
|
1379
1387
|
"npx opendevbrowser screenshot --session-id s1 --path ./artifacts/page.png --full-page --output-format json"
|
|
1380
1388
|
],
|
|
1381
|
-
"notes": [
|
|
1389
|
+
"notes": [
|
|
1390
|
+
"When --path is omitted, screenshot writes .opendevbrowser/screenshot/<uuid>/capture.png and returns path plus artifact_path.",
|
|
1391
|
+
"Explicit --path remains caller-controlled and does not create the omitted-output screenshot artifact directory."
|
|
1392
|
+
],
|
|
1382
1393
|
"groupId": "diagnostics_annotation",
|
|
1383
1394
|
"groupTitle": "Diagnostics & Annotation",
|
|
1384
1395
|
"groupSummary": "Collect session-centric diagnostics, trace proof, and annotation payloads."
|
|
@@ -1496,9 +1507,13 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
1496
1507
|
"--timeout-ms"
|
|
1497
1508
|
],
|
|
1498
1509
|
"examples": [
|
|
1510
|
+
"npx opendevbrowser screencast-start --session-id s1 --interval-ms 750 --max-frames 40 --output-format json",
|
|
1499
1511
|
"npx opendevbrowser screencast-start --session-id s1 --output-dir ./artifacts/replay --interval-ms 750 --max-frames 40 --output-format json"
|
|
1500
1512
|
],
|
|
1501
|
-
"notes": [
|
|
1513
|
+
"notes": [
|
|
1514
|
+
"When --output-dir is omitted, screencast-start writes replay files under .opendevbrowser/screencast/<uuid> and returns artifact_path.",
|
|
1515
|
+
"Explicit --output-dir remains caller-controlled and keeps the existing replay file names inside that directory."
|
|
1516
|
+
],
|
|
1502
1517
|
"groupId": "browser_replay",
|
|
1503
1518
|
"groupTitle": "Browser Replay",
|
|
1504
1519
|
"groupSummary": "Capture temporal replay artifacts through the public browser replay lane for a browser target."
|
|
@@ -2559,7 +2574,7 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
2559
2574
|
},
|
|
2560
2575
|
{
|
|
2561
2576
|
"name": "opendevbrowser_inspiredesign_run",
|
|
2562
|
-
"description": "Run the inspiredesign workflow directly, including harvest query discovery and
|
|
2577
|
+
"description": "Run the inspiredesign workflow directly, including provider-scoped URL recovery, harvest query discovery, screenshot evidence, screencast evidence, and manifest-backed pin-media evidence for canonical Pinterest pins.",
|
|
2563
2578
|
"cliEquivalent": "inspiredesign",
|
|
2564
2579
|
"example": 'npx opendevbrowser inspiredesign run --brief "Extract a reusable dashboard design contract from live references" --url https://linear.app --browser-mode managed --use-cookies --challenge-automation-mode browser_with_helper --include-prototype-guidance --output-dir /tmp/inspiredesign --output-format json'
|
|
2565
2580
|
},
|
|
@@ -2589,15 +2604,15 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
2589
2604
|
},
|
|
2590
2605
|
{
|
|
2591
2606
|
"name": "opendevbrowser_screenshot",
|
|
2592
|
-
"description": "Capture a page screenshot.",
|
|
2607
|
+
"description": "Capture a page screenshot and persist omitted outputs under .opendevbrowser/screenshot/<uuid>/capture.png.",
|
|
2593
2608
|
"cliEquivalent": "screenshot",
|
|
2594
|
-
"example": "npx opendevbrowser screenshot --session-id s1 --
|
|
2609
|
+
"example": "npx opendevbrowser screenshot --session-id s1 --output-format json"
|
|
2595
2610
|
},
|
|
2596
2611
|
{
|
|
2597
2612
|
"name": "opendevbrowser_screencast_start",
|
|
2598
|
-
"description": "Start a browser replay screencast capture.",
|
|
2613
|
+
"description": "Start a browser replay screencast capture and persist omitted outputs under .opendevbrowser/screencast/<uuid>.",
|
|
2599
2614
|
"cliEquivalent": "screencast-start",
|
|
2600
|
-
"example": "npx opendevbrowser screencast-start --session-id s1 --
|
|
2615
|
+
"example": "npx opendevbrowser screencast-start --session-id s1 --interval-ms 750 --max-frames 40 --output-format json"
|
|
2601
2616
|
},
|
|
2602
2617
|
{
|
|
2603
2618
|
"name": "opendevbrowser_screencast_stop",
|
|
@@ -2997,4 +3012,4 @@ export {
|
|
|
2997
3012
|
PUBLIC_CLI_COMMAND_GROUPS,
|
|
2998
3013
|
TOOL_SURFACE_ENTRIES
|
|
2999
3014
|
};
|
|
3000
|
-
//# sourceMappingURL=chunk-
|
|
3015
|
+
//# sourceMappingURL=chunk-HM4CO3EW.js.map
|