opendevbrowser 0.0.32 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{accessibility-snapshot-XOP66CSK.js → accessibility-snapshot-JSPFVWZ6.js} +8 -8
- package/dist/{active-window-E3WFOQGX.js → active-window-2OB2MSCR.js} +8 -8
- package/dist/{annotate-MAE7ZJOZ.js → annotate-VDZBZBKZ.js} +7 -7
- package/dist/{attr-M3PFDJ7Q.js → attr-7XIO4MCH.js} +7 -7
- package/dist/browser/canvas-manager.d.ts.map +1 -1
- package/dist/canvas/guidance.d.ts +7 -0
- package/dist/canvas/guidance.d.ts.map +1 -1
- package/dist/canvas/repair-examples.d.ts +45 -0
- package/dist/canvas/repair-examples.d.ts.map +1 -0
- package/dist/{canvas-3AJVL5I5.js → canvas-N4PAA274.js} +22 -7
- package/dist/canvas-N4PAA274.js.map +1 -0
- package/dist/{capture-desktop-VJGEETMJ.js → capture-desktop-T5YO3EBI.js} +8 -8
- package/dist/{capture-window-W5UFSFQL.js → capture-window-UKEUBWKH.js} +8 -8
- package/dist/{check-4IR3UJVW.js → check-PQB6KKMN.js} +7 -7
- package/dist/{checked-PKNY7724.js → checked-RNZIMCU6.js} +7 -7
- package/dist/{chunk-AKIAGFOE.js → chunk-27W46IKI.js} +15 -7
- package/dist/chunk-27W46IKI.js.map +1 -0
- package/dist/{chunk-WHQZBUNY.js → chunk-3WLCWHIV.js} +2 -2
- package/dist/{chunk-WHQZBUNY.js.map → chunk-3WLCWHIV.js.map} +1 -1
- package/dist/{chunk-PIFHXKV4.js → chunk-52ZIOWVU.js} +2 -2
- package/dist/{chunk-HBK56JST.js → chunk-EOX6U6Q4.js} +46 -18
- package/dist/chunk-EOX6U6Q4.js.map +1 -0
- package/dist/{chunk-RO3SMXF3.js → chunk-FBKPDILE.js} +2574 -173
- package/dist/chunk-FBKPDILE.js.map +1 -0
- package/dist/{chunk-AWQ37HSC.js → chunk-FDBUB7BM.js} +2 -2
- package/dist/{chunk-ZOVMMQO6.js → chunk-HMRANSDX.js} +4 -4
- package/dist/chunk-HMRANSDX.js.map +1 -0
- package/dist/{chunk-2X4JFMKJ.js → chunk-IBIHDGTZ.js} +4 -4
- package/dist/chunk-IBIHDGTZ.js.map +1 -0
- package/dist/{chunk-BUXFIY2P.js → chunk-JROW6ZNN.js} +2 -2
- package/dist/{chunk-XDLJE3RJ.js → chunk-MJF67OTH.js} +2 -2
- package/dist/{chunk-P5K3ZIPI.js → chunk-YRRRUGSQ.js} +2 -2
- package/dist/{chunk-37VSRUW4.js → chunk-ZGCTC5YM.js} +39 -7
- package/dist/chunk-ZGCTC5YM.js.map +1 -0
- package/dist/cli/commands/canvas.d.ts +12 -0
- package/dist/cli/commands/canvas.d.ts.map +1 -1
- package/dist/cli/daemon-mismatch.d.ts +6 -0
- package/dist/cli/daemon-mismatch.d.ts.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.js +77 -77
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/workflow-message.d.ts +1 -1
- package/dist/cli/utils/workflow-message.d.ts.map +1 -1
- package/dist/{click-HLNXU4I5.js → click-U7ZFKSB4.js} +7 -7
- package/dist/{clone-component-QIKN5PIM.js → clone-component-SWYAORTU.js} +7 -7
- package/dist/{clone-page-5C7DTGZT.js → clone-page-WJ6UJOJG.js} +7 -7
- package/dist/{close-PCRZHX7F.js → close-NAVIHZ2T.js} +7 -7
- package/dist/{close-WTXB3EDD.js → close-VKIGIKVT.js} +7 -7
- package/dist/{connect-6C2IG55I.js → connect-XVG2MOZL.js} +7 -7
- package/dist/{console-poll-VJXCZR3F.js → console-poll-XI5BZPL7.js} +7 -7
- package/dist/{cookie-import-5OEDFB6U.js → cookie-import-QELKE7TK.js} +7 -7
- package/dist/{cookie-list-44UNJJ6D.js → cookie-list-QDA6KWIY.js} +7 -7
- package/dist/{daemon-CIKGBWEB.js → daemon-CA4UIIZQ.js} +6 -6
- package/dist/daemon-fingerprint.json +1 -1
- package/dist/{debug-trace-snapshot-RGXAPGWB.js → debug-trace-snapshot-AT4GAO57.js} +7 -7
- package/dist/{dialog-S64MJUM2.js → dialog-O3V2IBFH.js} +7 -7
- package/dist/{disconnect-MTIELIM7.js → disconnect-NAX5TPTG.js} +7 -7
- package/dist/{enabled-KF2L7LW4.js → enabled-VT4FJXDX.js} +7 -7
- package/dist/{goto-ULWINUAZ.js → goto-GBJG5NC4.js} +7 -7
- package/dist/guidance/context.d.ts +44 -0
- package/dist/guidance/context.d.ts.map +1 -0
- package/dist/guidance/index.d.ts +7 -0
- package/dist/guidance/index.d.ts.map +1 -0
- package/dist/guidance/readiness.d.ts +7 -0
- package/dist/guidance/readiness.d.ts.map +1 -0
- package/dist/guidance/recipes/generic.d.ts +3 -0
- package/dist/guidance/recipes/generic.d.ts.map +1 -0
- package/dist/guidance/recipes/pinterest.d.ts +5 -0
- package/dist/guidance/recipes/pinterest.d.ts.map +1 -0
- package/dist/guidance/recipes/site-recipe-types.d.ts +2 -0
- package/dist/guidance/recipes/site-recipe-types.d.ts.map +1 -0
- package/dist/guidance/recipes/site-registry.d.ts +5 -0
- package/dist/guidance/recipes/site-registry.d.ts.map +1 -0
- package/dist/guidance/renderers.d.ts +22 -0
- package/dist/guidance/renderers.d.ts.map +1 -0
- package/dist/guidance/router.d.ts +8 -0
- package/dist/guidance/router.d.ts.map +1 -0
- package/dist/guidance/types.d.ts +139 -0
- package/dist/guidance/types.d.ts.map +1 -0
- package/dist/{help-IG5S5RJD.js → help-SUI4H77K.js} +6 -5
- package/dist/help-SUI4H77K.js.map +1 -0
- package/dist/{hover-NOCOTR6N.js → hover-476ZNQZE.js} +7 -7
- package/dist/{html-LXSYP6BT.js → html-5C4TXOV3.js} +7 -7
- package/dist/index.js +11 -11
- package/dist/{inspector-62EPCLYB.js → inspector-73ARPCIV.js} +8 -8
- package/dist/{inspector-audit-T2IF67RJ.js → inspector-audit-QT6QY7KS.js} +9 -9
- package/dist/{inspector-plan-KQS6LRMW.js → inspector-plan-JRNSGN2Z.js} +9 -9
- package/dist/inspiredesign/contract.d.ts +2 -0
- package/dist/inspiredesign/contract.d.ts.map +1 -1
- package/dist/inspiredesign/handoff.d.ts +2 -2
- package/dist/inspiredesign/meta-prompt.d.ts +1 -1
- package/dist/inspiredesign/meta-prompt.d.ts.map +1 -1
- package/dist/inspiredesign/reference-pattern-board.d.ts +17 -1
- package/dist/inspiredesign/reference-pattern-board.d.ts.map +1 -1
- package/dist/{inspiredesign-DB6CHYN3.js → inspiredesign-IPVZDLSQ.js} +9 -9
- package/dist/{launch-B5ES6FVS.js → launch-B35YDRQC.js} +7 -7
- package/dist/{list-XM4BP5GM.js → list-JV55JVGB.js} +7 -7
- package/dist/{list-TIZVR6RO.js → list-YETWKTKY.js} +7 -7
- package/dist/{macro-resolve-TTQZVFIW.js → macro-resolve-DQK4B3W3.js} +8 -8
- package/dist/{network-poll-NNSY4W63.js → network-poll-4GWHCJXI.js} +7 -7
- package/dist/{new-E6VNAC2A.js → new-XDCQPIEG.js} +7 -7
- package/dist/{open-F55XKMKB.js → open-GIM3ZCSV.js} +7 -7
- package/dist/opendevbrowser.js +11 -11
- package/dist/{perf-RE7JE6CP.js → perf-26VBXDPI.js} +7 -7
- package/dist/{pointer-down-BCBPC5FJ.js → pointer-down-O3VSNAXW.js} +7 -7
- package/dist/{pointer-drag-QK7KGF7W.js → pointer-drag-WQ5QGE6J.js} +7 -7
- package/dist/{pointer-move-VFAZQAXA.js → pointer-move-4N4D7JY2.js} +7 -7
- package/dist/{pointer-up-FA5WE6LS.js → pointer-up-CQC4NPDX.js} +7 -7
- package/dist/{press-TNRHNDSW.js → press-XGJD45CU.js} +7 -7
- package/dist/{product-video-UEANMZ2U.js → product-video-HD4ZOUI7.js} +9 -9
- package/dist/providers/browser-native-discovery.d.ts +23 -0
- package/dist/providers/browser-native-discovery.d.ts.map +1 -0
- package/dist/providers/renderer.d.ts +2 -0
- package/dist/providers/renderer.d.ts.map +1 -1
- package/dist/providers/workflow-handoff.d.ts +3 -0
- package/dist/providers/workflow-handoff.d.ts.map +1 -1
- package/dist/providers/workflows.d.ts.map +1 -1
- package/dist/{providers-AMCNWZUL.js → providers-KKNPJSQK.js} +4 -4
- package/dist/public-surface/generated-manifest.d.ts +3 -3
- 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-YFY7WJSZ.js → research-VUWWEQ4R.js} +9 -9
- package/dist/{review-NHOPLAT7.js → review-LZ3TA7U7.js} +7 -7
- package/dist/{review-desktop-OFWPDYGD.js → review-desktop-LAO7U7T3.js} +7 -7
- package/dist/{rpc-TVVQPUOL.js → rpc-HKNIVFGC.js} +7 -7
- package/dist/{run-OCBEZRDW.js → run-SHCF53FO.js} +5 -5
- package/dist/{screencast-start-GTSDA33J.js → screencast-start-JHMQZVWJ.js} +7 -7
- package/dist/{screencast-stop-FYBUIXAA.js → screencast-stop-RWQTWWQS.js} +7 -7
- package/dist/{screenshot-OEYRT3SP.js → screenshot-QHFYO6PB.js} +7 -7
- package/dist/{scroll-35OFEFC5.js → scroll-L3FTMAV4.js} +7 -7
- package/dist/{scroll-into-view-UQ5RAWIX.js → scroll-into-view-JVDHX4WU.js} +7 -7
- package/dist/{select-K56QELVZ.js → select-X4BO7GTB.js} +7 -7
- package/dist/{serve-5UJ3VMWC.js → serve-JIMIBCNO.js} +6 -6
- package/dist/{shopping-FJG7XB4Q.js → shopping-EGSDP2GL.js} +9 -9
- package/dist/{snapshot-W7RKVZEI.js → snapshot-QGJ7RDNV.js} +7 -7
- package/dist/{status-KHYCLGUD.js → status-CKGPNYIH.js} +7 -7
- package/dist/{status-R4EV4TWO.js → status-LEBY2X7N.js} +8 -8
- package/dist/{status-capabilities-XD3RGLKF.js → status-capabilities-6QTWNGKM.js} +8 -8
- package/dist/{text-TANLFZ4O.js → text-VUZU7D3L.js} +7 -7
- package/dist/{type-Y2Y7LX7Y.js → type-N5SURP74.js} +7 -7
- package/dist/{uncheck-6REVUUB2.js → uncheck-JFMK3SSY.js} +7 -7
- package/dist/{upload-GGZC5UQP.js → upload-KFUYLL7M.js} +7 -7
- package/dist/{use-B4Q7CFG2.js → use-CNMPP2ED.js} +7 -7
- package/dist/{value-DHOHO55D.js → value-J335MPZE.js} +7 -7
- package/dist/{visible-S5BTWYNH.js → visible-YQZWWPBZ.js} +7 -7
- package/dist/{wait-WV6NZUKL.js → wait-IC7YJJPJ.js} +7 -7
- package/dist/{windows-GKE36DJQ.js → windows-AGVQ3KX3.js} +8 -8
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/opendevbrowser-best-practices/SKILL.md +8 -2
- package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +4 -4
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +7 -0
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +6 -0
- package/skills/opendevbrowser-design-agent/SKILL.md +8 -6
- package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +4 -3
- package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +28 -4
- package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +1 -0
- package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +5 -2
- package/skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh +8 -2
- package/skills/opendevbrowser-motion-design/SKILL.md +1 -1
- package/skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh +1 -0
- package/dist/canvas-3AJVL5I5.js.map +0 -1
- package/dist/chunk-2X4JFMKJ.js.map +0 -1
- package/dist/chunk-37VSRUW4.js.map +0 -1
- package/dist/chunk-AKIAGFOE.js.map +0 -1
- package/dist/chunk-HBK56JST.js.map +0 -1
- package/dist/chunk-RO3SMXF3.js.map +0 -1
- package/dist/chunk-ZOVMMQO6.js.map +0 -1
- package/dist/help-IG5S5RJD.js.map +0 -1
- /package/dist/{accessibility-snapshot-XOP66CSK.js.map → accessibility-snapshot-JSPFVWZ6.js.map} +0 -0
- /package/dist/{active-window-E3WFOQGX.js.map → active-window-2OB2MSCR.js.map} +0 -0
- /package/dist/{annotate-MAE7ZJOZ.js.map → annotate-VDZBZBKZ.js.map} +0 -0
- /package/dist/{attr-M3PFDJ7Q.js.map → attr-7XIO4MCH.js.map} +0 -0
- /package/dist/{capture-desktop-VJGEETMJ.js.map → capture-desktop-T5YO3EBI.js.map} +0 -0
- /package/dist/{capture-window-W5UFSFQL.js.map → capture-window-UKEUBWKH.js.map} +0 -0
- /package/dist/{check-4IR3UJVW.js.map → check-PQB6KKMN.js.map} +0 -0
- /package/dist/{checked-PKNY7724.js.map → checked-RNZIMCU6.js.map} +0 -0
- /package/dist/{chunk-PIFHXKV4.js.map → chunk-52ZIOWVU.js.map} +0 -0
- /package/dist/{chunk-AWQ37HSC.js.map → chunk-FDBUB7BM.js.map} +0 -0
- /package/dist/{chunk-BUXFIY2P.js.map → chunk-JROW6ZNN.js.map} +0 -0
- /package/dist/{chunk-XDLJE3RJ.js.map → chunk-MJF67OTH.js.map} +0 -0
- /package/dist/{chunk-P5K3ZIPI.js.map → chunk-YRRRUGSQ.js.map} +0 -0
- /package/dist/{click-HLNXU4I5.js.map → click-U7ZFKSB4.js.map} +0 -0
- /package/dist/{clone-component-QIKN5PIM.js.map → clone-component-SWYAORTU.js.map} +0 -0
- /package/dist/{clone-page-5C7DTGZT.js.map → clone-page-WJ6UJOJG.js.map} +0 -0
- /package/dist/{close-PCRZHX7F.js.map → close-NAVIHZ2T.js.map} +0 -0
- /package/dist/{close-WTXB3EDD.js.map → close-VKIGIKVT.js.map} +0 -0
- /package/dist/{connect-6C2IG55I.js.map → connect-XVG2MOZL.js.map} +0 -0
- /package/dist/{console-poll-VJXCZR3F.js.map → console-poll-XI5BZPL7.js.map} +0 -0
- /package/dist/{cookie-import-5OEDFB6U.js.map → cookie-import-QELKE7TK.js.map} +0 -0
- /package/dist/{cookie-list-44UNJJ6D.js.map → cookie-list-QDA6KWIY.js.map} +0 -0
- /package/dist/{daemon-CIKGBWEB.js.map → daemon-CA4UIIZQ.js.map} +0 -0
- /package/dist/{debug-trace-snapshot-RGXAPGWB.js.map → debug-trace-snapshot-AT4GAO57.js.map} +0 -0
- /package/dist/{dialog-S64MJUM2.js.map → dialog-O3V2IBFH.js.map} +0 -0
- /package/dist/{disconnect-MTIELIM7.js.map → disconnect-NAX5TPTG.js.map} +0 -0
- /package/dist/{enabled-KF2L7LW4.js.map → enabled-VT4FJXDX.js.map} +0 -0
- /package/dist/{goto-ULWINUAZ.js.map → goto-GBJG5NC4.js.map} +0 -0
- /package/dist/{hover-NOCOTR6N.js.map → hover-476ZNQZE.js.map} +0 -0
- /package/dist/{html-LXSYP6BT.js.map → html-5C4TXOV3.js.map} +0 -0
- /package/dist/{inspector-62EPCLYB.js.map → inspector-73ARPCIV.js.map} +0 -0
- /package/dist/{inspector-audit-T2IF67RJ.js.map → inspector-audit-QT6QY7KS.js.map} +0 -0
- /package/dist/{inspector-plan-KQS6LRMW.js.map → inspector-plan-JRNSGN2Z.js.map} +0 -0
- /package/dist/{inspiredesign-DB6CHYN3.js.map → inspiredesign-IPVZDLSQ.js.map} +0 -0
- /package/dist/{launch-B5ES6FVS.js.map → launch-B35YDRQC.js.map} +0 -0
- /package/dist/{list-XM4BP5GM.js.map → list-JV55JVGB.js.map} +0 -0
- /package/dist/{list-TIZVR6RO.js.map → list-YETWKTKY.js.map} +0 -0
- /package/dist/{macro-resolve-TTQZVFIW.js.map → macro-resolve-DQK4B3W3.js.map} +0 -0
- /package/dist/{network-poll-NNSY4W63.js.map → network-poll-4GWHCJXI.js.map} +0 -0
- /package/dist/{new-E6VNAC2A.js.map → new-XDCQPIEG.js.map} +0 -0
- /package/dist/{open-F55XKMKB.js.map → open-GIM3ZCSV.js.map} +0 -0
- /package/dist/{perf-RE7JE6CP.js.map → perf-26VBXDPI.js.map} +0 -0
- /package/dist/{pointer-down-BCBPC5FJ.js.map → pointer-down-O3VSNAXW.js.map} +0 -0
- /package/dist/{pointer-drag-QK7KGF7W.js.map → pointer-drag-WQ5QGE6J.js.map} +0 -0
- /package/dist/{pointer-move-VFAZQAXA.js.map → pointer-move-4N4D7JY2.js.map} +0 -0
- /package/dist/{pointer-up-FA5WE6LS.js.map → pointer-up-CQC4NPDX.js.map} +0 -0
- /package/dist/{press-TNRHNDSW.js.map → press-XGJD45CU.js.map} +0 -0
- /package/dist/{product-video-UEANMZ2U.js.map → product-video-HD4ZOUI7.js.map} +0 -0
- /package/dist/{providers-AMCNWZUL.js.map → providers-KKNPJSQK.js.map} +0 -0
- /package/dist/{research-YFY7WJSZ.js.map → research-VUWWEQ4R.js.map} +0 -0
- /package/dist/{review-NHOPLAT7.js.map → review-LZ3TA7U7.js.map} +0 -0
- /package/dist/{review-desktop-OFWPDYGD.js.map → review-desktop-LAO7U7T3.js.map} +0 -0
- /package/dist/{rpc-TVVQPUOL.js.map → rpc-HKNIVFGC.js.map} +0 -0
- /package/dist/{run-OCBEZRDW.js.map → run-SHCF53FO.js.map} +0 -0
- /package/dist/{screencast-start-GTSDA33J.js.map → screencast-start-JHMQZVWJ.js.map} +0 -0
- /package/dist/{screencast-stop-FYBUIXAA.js.map → screencast-stop-RWQTWWQS.js.map} +0 -0
- /package/dist/{screenshot-OEYRT3SP.js.map → screenshot-QHFYO6PB.js.map} +0 -0
- /package/dist/{scroll-35OFEFC5.js.map → scroll-L3FTMAV4.js.map} +0 -0
- /package/dist/{scroll-into-view-UQ5RAWIX.js.map → scroll-into-view-JVDHX4WU.js.map} +0 -0
- /package/dist/{select-K56QELVZ.js.map → select-X4BO7GTB.js.map} +0 -0
- /package/dist/{serve-5UJ3VMWC.js.map → serve-JIMIBCNO.js.map} +0 -0
- /package/dist/{shopping-FJG7XB4Q.js.map → shopping-EGSDP2GL.js.map} +0 -0
- /package/dist/{snapshot-W7RKVZEI.js.map → snapshot-QGJ7RDNV.js.map} +0 -0
- /package/dist/{status-KHYCLGUD.js.map → status-CKGPNYIH.js.map} +0 -0
- /package/dist/{status-R4EV4TWO.js.map → status-LEBY2X7N.js.map} +0 -0
- /package/dist/{status-capabilities-XD3RGLKF.js.map → status-capabilities-6QTWNGKM.js.map} +0 -0
- /package/dist/{text-TANLFZ4O.js.map → text-VUZU7D3L.js.map} +0 -0
- /package/dist/{type-Y2Y7LX7Y.js.map → type-N5SURP74.js.map} +0 -0
- /package/dist/{uncheck-6REVUUB2.js.map → uncheck-JFMK3SSY.js.map} +0 -0
- /package/dist/{upload-GGZC5UQP.js.map → upload-KFUYLL7M.js.map} +0 -0
- /package/dist/{use-B4Q7CFG2.js.map → use-CNMPP2ED.js.map} +0 -0
- /package/dist/{value-DHOHO55D.js.map → value-J335MPZE.js.map} +0 -0
- /package/dist/{visible-S5BTWYNH.js.map → visible-YQZWWPBZ.js.map} +0 -0
- /package/dist/{wait-WV6NZUKL.js.map → wait-IC7YJJPJ.js.map} +0 -0
- /package/dist/{windows-GKE36DJQ.js.map → windows-AGVQ3KX3.js.map} +0 -0
package/README.md
CHANGED
|
@@ -108,7 +108,7 @@ export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
|
|
|
108
108
|
export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
|
|
109
109
|
cd "$WORKDIR"
|
|
110
110
|
npm init -y
|
|
111
|
-
npm install <public-repo-root>/opendevbrowser-0.0.
|
|
111
|
+
npm install <public-repo-root>/opendevbrowser-0.0.33.tgz
|
|
112
112
|
npx --no-install opendevbrowser --help
|
|
113
113
|
npx --no-install opendevbrowser help
|
|
114
114
|
```
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
desktopCommandResult,
|
|
4
4
|
parseDesktopWindowReasonArgs,
|
|
5
5
|
requireDesktopReason
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JROW6ZNN.js";
|
|
7
7
|
import "./chunk-RJNI3BHT.js";
|
|
8
8
|
import "./chunk-SKFB5ICF.js";
|
|
9
9
|
import "./chunk-OW5HMYMI.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-MJF67OTH.js";
|
|
11
|
+
import "./chunk-HMRANSDX.js";
|
|
12
|
+
import "./chunk-EOX6U6Q4.js";
|
|
13
13
|
import "./chunk-MX3NFLCE.js";
|
|
14
14
|
import "./chunk-ASMHEEKY.js";
|
|
15
15
|
import "./chunk-7BNU6DFI.js";
|
|
@@ -18,10 +18,10 @@ 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-
|
|
21
|
+
import "./chunk-FBKPDILE.js";
|
|
22
22
|
import "./chunk-S5KZQJJI.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-IBIHDGTZ.js";
|
|
24
|
+
import "./chunk-3WLCWHIV.js";
|
|
25
25
|
import "./chunk-FUSXMW3G.js";
|
|
26
26
|
|
|
27
27
|
// src/cli/commands/desktop/accessibility-snapshot.ts
|
|
@@ -36,4 +36,4 @@ async function runDesktopAccessibilitySnapshot(args) {
|
|
|
36
36
|
export {
|
|
37
37
|
runDesktopAccessibilitySnapshot
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=accessibility-snapshot-
|
|
39
|
+
//# sourceMappingURL=accessibility-snapshot-JSPFVWZ6.js.map
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
callDesktopCommand,
|
|
3
3
|
desktopCommandResult,
|
|
4
4
|
parseDesktopReasonArgs
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JROW6ZNN.js";
|
|
6
6
|
import "./chunk-RJNI3BHT.js";
|
|
7
7
|
import "./chunk-SKFB5ICF.js";
|
|
8
8
|
import "./chunk-OW5HMYMI.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-MJF67OTH.js";
|
|
10
|
+
import "./chunk-HMRANSDX.js";
|
|
11
|
+
import "./chunk-EOX6U6Q4.js";
|
|
12
12
|
import "./chunk-MX3NFLCE.js";
|
|
13
13
|
import "./chunk-ASMHEEKY.js";
|
|
14
14
|
import "./chunk-7BNU6DFI.js";
|
|
@@ -17,10 +17,10 @@ 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-
|
|
20
|
+
import "./chunk-FBKPDILE.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-IBIHDGTZ.js";
|
|
23
|
+
import "./chunk-3WLCWHIV.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
26
26
|
// src/cli/commands/desktop/active-window.ts
|
|
@@ -34,4 +34,4 @@ async function runDesktopActiveWindow(args) {
|
|
|
34
34
|
export {
|
|
35
35
|
runDesktopActiveWindow
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=active-window-
|
|
37
|
+
//# sourceMappingURL=active-window-2OB2MSCR.js.map
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
} from "./chunk-IQTJHXZJ.js";
|
|
7
7
|
import {
|
|
8
8
|
DaemonClient
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-MJF67OTH.js";
|
|
10
|
+
import "./chunk-HMRANSDX.js";
|
|
11
|
+
import "./chunk-EOX6U6Q4.js";
|
|
12
12
|
import "./chunk-MX3NFLCE.js";
|
|
13
13
|
import "./chunk-ASMHEEKY.js";
|
|
14
14
|
import {
|
|
@@ -19,10 +19,10 @@ import "./chunk-BUVYTJZR.js";
|
|
|
19
19
|
import "./chunk-TBUCZX4A.js";
|
|
20
20
|
import "./chunk-Y2KL55OG.js";
|
|
21
21
|
import "./chunk-5SWZDVOW.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-FBKPDILE.js";
|
|
23
23
|
import "./chunk-S5KZQJJI.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-IBIHDGTZ.js";
|
|
25
|
+
import "./chunk-3WLCWHIV.js";
|
|
26
26
|
import "./chunk-FUSXMW3G.js";
|
|
27
27
|
|
|
28
28
|
// src/cli/commands/annotate.ts
|
|
@@ -202,4 +202,4 @@ export {
|
|
|
202
202
|
parseAnnotateArgs,
|
|
203
203
|
runAnnotate
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=annotate-
|
|
205
|
+
//# sourceMappingURL=annotate-VDZBZBKZ.js.map
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-MJF67OTH.js";
|
|
8
|
+
import "./chunk-HMRANSDX.js";
|
|
9
|
+
import "./chunk-EOX6U6Q4.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
@@ -17,10 +17,10 @@ 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-
|
|
20
|
+
import "./chunk-FBKPDILE.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-IBIHDGTZ.js";
|
|
23
|
+
import "./chunk-3WLCWHIV.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
26
26
|
// src/cli/commands/dom/attr.ts
|
|
@@ -81,4 +81,4 @@ async function runDomAttr(args) {
|
|
|
81
81
|
export {
|
|
82
82
|
runDomAttr
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=attr-
|
|
84
|
+
//# sourceMappingURL=attr-7XIO4MCH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-manager.d.ts","sourceRoot":"","sources":["../../src/browser/canvas-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-manager.d.ts","sourceRoot":"","sources":["../../src/browser/canvas-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import type { JsonValue } from "../providers/types";
|
|
2
|
+
import type { GuidanceFieldExample, GuidanceParamsExample, GuidanceValidationCheck } from "../guidance/types";
|
|
1
3
|
export type CanvasNextStepGuidance = {
|
|
2
4
|
recommendedNextCommands: string[];
|
|
3
5
|
reason: string;
|
|
6
|
+
nextStepGuidance?: Record<string, JsonValue>;
|
|
7
|
+
paramsExamples?: GuidanceParamsExample[];
|
|
8
|
+
fieldExamples?: GuidanceFieldExample[];
|
|
9
|
+
validationChecks?: GuidanceValidationCheck[];
|
|
10
|
+
doNotProceedIf?: string[];
|
|
4
11
|
};
|
|
5
12
|
export type CanvasGuidanceCommand = "canvas.session.open" | "canvas.capabilities.get" | "canvas.plan.set" | "canvas.plan.get" | "canvas.document.load" | "canvas.document.patch" | "canvas.preview.render" | "canvas.preview.refresh" | "canvas.feedback.poll" | "canvas.document.save" | "canvas.document.export";
|
|
6
13
|
type CanvasBlockerGuidanceCode = "plan_required" | "generation_plan_invalid" | "revision_conflict" | "policy_violation" | "unsupported_target" | "lease_reclaim_required";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/canvas/guidance.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/canvas/guidance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,sBAAsB,GAAG;IACnC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACzC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,yBAAyB,GACzB,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B,KAAK,yBAAyB,GAC1B,eAAe,GACf,yBAAyB,GACzB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,CAAC;AAc7B,eAAO,MAAM,uBAAuB,EAAE,sBAGwB,CAAC;AAE/D,eAAO,MAAM,4BAA4B,EAAE,sBAG6B,CAAC;AAEzE,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAG3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,sBAGvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,sBAGtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAOrG,CAAC;AAqBF,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,KAAG,sBAQH,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,yBAAyB,KAAG,MAAM,EAErF,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { JsonValue } from "../providers/types";
|
|
2
|
+
import type { GuidanceFieldExample, GuidanceParamsExample, GuidanceValidationCheck, NextStepGuidance } from "../guidance/types";
|
|
3
|
+
import type { CanvasGenerationPlan, CanvasGenerationPlanIssue } from "./types";
|
|
4
|
+
export type CanvasRepairReasonCode = "plan_required" | "generation_plan_invalid" | "governance_missing" | "missing_canvas_session_id" | "missing_lease_id" | "missing_document_id";
|
|
5
|
+
export type CanvasMissingIdentifier = "canvasSessionId" | "leaseId" | "documentId";
|
|
6
|
+
export type CanvasRepairGuidancePayload = {
|
|
7
|
+
recommendedNextCommands: string[];
|
|
8
|
+
reason: string;
|
|
9
|
+
nextStepGuidance: Record<string, JsonValue>;
|
|
10
|
+
paramsExamples: GuidanceParamsExample[];
|
|
11
|
+
fieldExamples: GuidanceFieldExample[];
|
|
12
|
+
validationChecks: GuidanceValidationCheck[];
|
|
13
|
+
doNotProceedIf: string[];
|
|
14
|
+
};
|
|
15
|
+
export type CanvasRepairEnvelope = {
|
|
16
|
+
code: CanvasRepairReasonCode;
|
|
17
|
+
message: string;
|
|
18
|
+
recommendedNextCommands: string[];
|
|
19
|
+
guidance: CanvasRepairGuidancePayload;
|
|
20
|
+
nextStepGuidance: Record<string, JsonValue>;
|
|
21
|
+
paramsExamples: GuidanceParamsExample[];
|
|
22
|
+
fieldExamples: GuidanceFieldExample[];
|
|
23
|
+
validationChecks: GuidanceValidationCheck[];
|
|
24
|
+
doNotProceedIf: string[];
|
|
25
|
+
};
|
|
26
|
+
export declare const EXAMPLE_CANVAS_GENERATION_PLAN: CanvasGenerationPlan;
|
|
27
|
+
export declare const buildCanvasPlanSetParamsExample: () => Record<string, JsonValue>;
|
|
28
|
+
export declare const buildCanvasGovernancePatchParamsExample: () => Record<string, JsonValue>;
|
|
29
|
+
export declare const buildCanvasRepairGuidance: (input: {
|
|
30
|
+
reasonCode: CanvasRepairReasonCode;
|
|
31
|
+
missingFields?: string[];
|
|
32
|
+
issues?: CanvasGenerationPlanIssue[];
|
|
33
|
+
message?: string;
|
|
34
|
+
blockedCommand?: string;
|
|
35
|
+
}) => NextStepGuidance;
|
|
36
|
+
export declare const buildCanvasRepairEnvelope: (input: {
|
|
37
|
+
reasonCode: CanvasRepairReasonCode;
|
|
38
|
+
message?: string;
|
|
39
|
+
missingFields?: string[];
|
|
40
|
+
issues?: CanvasGenerationPlanIssue[];
|
|
41
|
+
blockedCommand?: string;
|
|
42
|
+
}) => CanvasRepairEnvelope;
|
|
43
|
+
export declare const buildCanvasCommandValidationEnvelope: (command: string, params: Record<string, unknown>) => CanvasRepairEnvelope | null;
|
|
44
|
+
export declare const buildCanvasMissingIdentifierEnvelope: (field: CanvasMissingIdentifier, blockedCommand?: string) => CanvasRepairEnvelope;
|
|
45
|
+
//# sourceMappingURL=repair-examples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair-examples.d.ts","sourceRoot":"","sources":["../../src/canvas/repair-examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,2BAA2B,GAC3B,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnF,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,oBA4C5C,CAAC;AAqGF,eAAO,MAAM,+BAA+B,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAIzE,CAAC;AAEH,eAAO,MAAM,uCAAuC,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAkBjF,CAAC;AAoNH,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,gBA4BH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,oBAyBH,CAAC;AAgFF,eAAO,MAAM,oCAAoC,GAC/C,SAAS,MAAM,EACf,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,oBAAoB,GAAG,IAazB,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,OAAO,uBAAuB,EAC9B,iBAAiB,MAAM,KACtB,oBAOF,CAAC"}
|
|
@@ -3,15 +3,16 @@ import {
|
|
|
3
3
|
} from "./chunk-SKFB5ICF.js";
|
|
4
4
|
import {
|
|
5
5
|
DaemonClient
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-MJF67OTH.js";
|
|
7
|
+
import "./chunk-HMRANSDX.js";
|
|
8
|
+
import "./chunk-EOX6U6Q4.js";
|
|
9
9
|
import "./chunk-MX3NFLCE.js";
|
|
10
10
|
import "./chunk-ASMHEEKY.js";
|
|
11
11
|
import {
|
|
12
12
|
writeOutput
|
|
13
13
|
} from "./chunk-7GVOUZMQ.js";
|
|
14
14
|
import {
|
|
15
|
+
EXIT_EXECUTION,
|
|
15
16
|
createUsageError
|
|
16
17
|
} from "./chunk-7BNU6DFI.js";
|
|
17
18
|
import "./chunk-QMHKAFYX.js";
|
|
@@ -19,10 +20,12 @@ import "./chunk-BUVYTJZR.js";
|
|
|
19
20
|
import "./chunk-TBUCZX4A.js";
|
|
20
21
|
import "./chunk-Y2KL55OG.js";
|
|
21
22
|
import "./chunk-5SWZDVOW.js";
|
|
22
|
-
import
|
|
23
|
+
import {
|
|
24
|
+
buildCanvasCommandValidationEnvelope
|
|
25
|
+
} from "./chunk-FBKPDILE.js";
|
|
23
26
|
import "./chunk-S5KZQJJI.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-IBIHDGTZ.js";
|
|
28
|
+
import "./chunk-3WLCWHIV.js";
|
|
26
29
|
import "./chunk-FUSXMW3G.js";
|
|
27
30
|
|
|
28
31
|
// src/cli/commands/canvas.ts
|
|
@@ -259,6 +262,18 @@ async function runCanvas(args) {
|
|
|
259
262
|
const client = new DaemonClient({ autoRenew: true });
|
|
260
263
|
try {
|
|
261
264
|
const params = attachRepoRoot(resolveCanvasParams(canvasArgs));
|
|
265
|
+
const validationEnvelope = buildCanvasCommandValidationEnvelope(canvasArgs.command, params);
|
|
266
|
+
if (validationEnvelope) {
|
|
267
|
+
return {
|
|
268
|
+
success: false,
|
|
269
|
+
message: validationEnvelope.message,
|
|
270
|
+
exitCode: EXIT_EXECUTION,
|
|
271
|
+
data: {
|
|
272
|
+
command: canvasArgs.command,
|
|
273
|
+
result: validationEnvelope
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
262
277
|
const result = await client.call(
|
|
263
278
|
"canvas.execute",
|
|
264
279
|
{
|
|
@@ -306,4 +321,4 @@ export {
|
|
|
306
321
|
parseCanvasArgs,
|
|
307
322
|
runCanvas
|
|
308
323
|
};
|
|
309
|
-
//# sourceMappingURL=canvas-
|
|
324
|
+
//# sourceMappingURL=canvas-N4PAA274.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/canvas.ts"],"sourcesContent":["import { readFileSync } from \"fs\";\nimport type { ParsedArgs } from \"../args\";\nimport { DaemonClient } from \"../daemon-client\";\nimport { createUsageError, EXIT_EXECUTION } from \"../errors\";\nimport { buildCanvasCommandValidationEnvelope } from \"../../canvas/repair-examples\";\nimport { writeOutput } from \"../output\";\nimport { parseNumberFlag } from \"../utils/parse\";\n\ntype CanvasArgs = {\n command?: string;\n params?: string;\n paramsFile?: string;\n timeoutMs?: number;\n};\n\nconst DEFAULT_FEEDBACK_STREAM_TIMEOUT_MS = 30000;\n\ntype FeedbackItem = Record<string, unknown>;\n\ntype FeedbackSubscribeResult = {\n subscriptionId: string | null;\n initialItems: FeedbackItem[];\n cursor: string | null;\n heartbeatMs: number;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\nconst asString = (value: unknown): string | null => {\n return typeof value === \"string\" && value.length > 0 ? value : null;\n};\n\nconst asNumber = (value: unknown): number | null => {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n};\n\nconst asRecordArray = (value: unknown): FeedbackItem[] => {\n return Array.isArray(value) ? value.filter(isRecord) : [];\n};\n\nconst toFeedbackSubscribeResult = (value: unknown): FeedbackSubscribeResult => {\n if (!isRecord(value)) {\n return {\n subscriptionId: null,\n initialItems: [],\n cursor: null,\n heartbeatMs: 15000\n };\n }\n return {\n subscriptionId: asString(value.subscriptionId),\n initialItems: asRecordArray(value.initialItems),\n cursor: asString(value.cursor),\n heartbeatMs: Math.max(asNumber(value.heartbeatMs) ?? 15000, 1000)\n };\n};\n\nasync function streamFeedbackViaSubscription(\n client: DaemonClient,\n args: ParsedArgs,\n canvasArgs: CanvasArgs,\n params: Record<string, unknown>,\n initial: Record<string, unknown>\n): Promise<void> {\n const outputOptions = { format: args.outputFormat, quiet: args.quiet };\n writeOutput({\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n result: initial\n }\n }, outputOptions);\n\n const initialResult = toFeedbackSubscribeResult(initial);\n const subscriptionId = initialResult.subscriptionId;\n const heartbeatMs = initialResult.heartbeatMs;\n const streamTimeoutMs = canvasArgs.timeoutMs ?? DEFAULT_FEEDBACK_STREAM_TIMEOUT_MS;\n const deadline = Date.now() + streamTimeoutMs;\n let cursor = initialResult.cursor;\n\n for (const item of initialResult.initialItems) {\n const itemCursor = asString(item.cursor);\n if (itemCursor) {\n cursor = itemCursor;\n }\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: {\n eventType: \"feedback.item\",\n item\n }\n }\n }, outputOptions);\n }\n\n while (subscriptionId && Date.now() < deadline) {\n const remainingMs = deadline - Date.now();\n if (remainingMs <= 0) {\n break;\n }\n const nextEvent = await client.call(\n \"canvas.execute\",\n {\n command: \"canvas.feedback.next\",\n params: {\n ...params,\n subscriptionId,\n timeoutMs: Math.min(heartbeatMs, remainingMs)\n }\n },\n { timeoutMs: remainingMs }\n );\n if (isRecord(nextEvent)) {\n if (nextEvent.eventType === \"feedback.item\" && isRecord(nextEvent.item)) {\n const itemCursor = asString(nextEvent.item.cursor);\n if (itemCursor) {\n cursor = itemCursor;\n }\n } else if (typeof nextEvent.cursor === \"string\") {\n cursor = nextEvent.cursor;\n }\n }\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: nextEvent\n }\n }, outputOptions);\n if (isRecord(nextEvent) && nextEvent.eventType === \"feedback.complete\") {\n break;\n }\n }\n\n if (Date.now() >= deadline) {\n writeOutput({\n success: true,\n message: `Canvas feedback: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n streamEvent: {\n eventType: \"feedback.complete\",\n cursor: cursor ?? null,\n reason: \"timeout\"\n }\n }\n }, outputOptions);\n }\n\n if (subscriptionId) {\n await client.call(\n \"canvas.execute\",\n {\n command: \"canvas.feedback.unsubscribe\",\n params: {\n ...params,\n subscriptionId\n }\n }\n ).catch(() => {});\n }\n}\n\nconst requireValue = (value: string | undefined, flag: string): string => {\n if (!value) throw createUsageError(`Missing value for ${flag}`);\n return value;\n};\n\nconst parseJsonObject = (raw: string, source: string): Record<string, unknown> => {\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Invalid JSON\";\n throw createUsageError(`Invalid JSON from ${source}: ${message}`);\n }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n throw createUsageError(`Invalid JSON from ${source}: expected object`);\n }\n return parsed as Record<string, unknown>;\n};\n\nexport const parseCanvasArgs = (rawArgs: string[]): CanvasArgs => {\n const parsed: CanvasArgs = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--command\") {\n parsed.command = requireValue(rawArgs[i + 1], \"--command\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--command=\")) {\n parsed.command = requireValue(arg.split(\"=\", 2)[1], \"--command\");\n continue;\n }\n if (arg === \"--params\") {\n parsed.params = requireValue(rawArgs[i + 1], \"--params\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--params=\")) {\n parsed.params = requireValue(arg.split(\"=\", 2)[1], \"--params\");\n continue;\n }\n if (arg === \"--params-file\") {\n parsed.paramsFile = requireValue(rawArgs[i + 1], \"--params-file\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--params-file=\")) {\n parsed.paramsFile = requireValue(arg.split(\"=\", 2)[1], \"--params-file\");\n continue;\n }\n if (arg === \"--timeout-ms\") {\n parsed.timeoutMs = parseNumberFlag(requireValue(rawArgs[i + 1], \"--timeout-ms\"), \"--timeout-ms\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--timeout-ms=\")) {\n parsed.timeoutMs = parseNumberFlag(requireValue(arg.split(\"=\", 2)[1], \"--timeout-ms\"), \"--timeout-ms\", { min: 1 });\n }\n }\n return parsed;\n};\n\nconst resolveCanvasParams = (canvasArgs: CanvasArgs): Record<string, unknown> => {\n const hasParams = typeof canvasArgs.params === \"string\";\n const hasParamsFile = typeof canvasArgs.paramsFile === \"string\";\n if (Number(hasParams) + Number(hasParamsFile) > 1) {\n throw createUsageError(\"Provide only one params source: --params or --params-file.\");\n }\n if (hasParams) {\n return parseJsonObject(canvasArgs.params ?? \"\", \"--params\");\n }\n if (hasParamsFile) {\n let raw = \"\";\n try {\n raw = readFileSync(canvasArgs.paramsFile ?? \"\", \"utf8\");\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unable to read file\";\n throw createUsageError(`Invalid --params-file: ${message}`);\n }\n if (!raw.trim()) {\n throw createUsageError(\"Invalid JSON from --params-file: empty input\");\n }\n return parseJsonObject(raw, \"--params-file\");\n }\n return {};\n};\n\nconst attachRepoRoot = (params: Record<string, unknown>): Record<string, unknown> => {\n if (typeof params.repoRoot === \"string\" && params.repoRoot.trim().length > 0) {\n return params;\n }\n return {\n ...params,\n repoRoot: process.cwd()\n };\n};\n\nexport async function runCanvas(args: ParsedArgs) {\n const canvasArgs = parseCanvasArgs(args.rawArgs);\n if (!canvasArgs.command) {\n throw createUsageError(\"Usage: opendevbrowser canvas --command <canvas.command> [--params <json> | --params-file <path>]\");\n }\n if (!canvasArgs.command.startsWith(\"canvas.\")) {\n throw createUsageError(\"Canvas command names must start with 'canvas.'.\");\n }\n\n const client = new DaemonClient({ autoRenew: true });\n try {\n const params = attachRepoRoot(resolveCanvasParams(canvasArgs));\n const validationEnvelope = buildCanvasCommandValidationEnvelope(canvasArgs.command, params);\n if (validationEnvelope) {\n return {\n success: false,\n message: validationEnvelope.message,\n exitCode: EXIT_EXECUTION,\n data: {\n command: canvasArgs.command,\n result: validationEnvelope\n }\n };\n }\n const result = await client.call<unknown>(\n \"canvas.execute\",\n {\n command: canvasArgs.command,\n params\n },\n { timeoutMs: canvasArgs.timeoutMs }\n );\n if (\n canvasArgs.command === \"canvas.feedback.subscribe\"\n && args.outputFormat === \"stream-json\"\n && isRecord(result)\n ) {\n await streamFeedbackViaSubscription(client, args, canvasArgs, params, result);\n return {\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n suppressOutput: true\n }\n };\n }\n if (args.outputFormat === \"text\") {\n const output = typeof result === \"string\" ? result : JSON.stringify(result, null, 2);\n return { success: true, message: output };\n }\n return {\n success: true,\n message: `Canvas executed: ${canvasArgs.command}`,\n data: {\n command: canvasArgs.command,\n result\n }\n };\n } finally {\n await client.releaseBinding().catch(() => {});\n }\n}\n\nexport const __test__ = {\n parseCanvasArgs,\n parseJsonObject,\n resolveCanvasParams,\n attachRepoRoot,\n toFeedbackSubscribeResult\n};\n"],"mappings":"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","names":[]}
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
desktopCommandResult,
|
|
4
4
|
parseDesktopReasonArgs,
|
|
5
5
|
requireDesktopReason
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JROW6ZNN.js";
|
|
7
7
|
import "./chunk-RJNI3BHT.js";
|
|
8
8
|
import "./chunk-SKFB5ICF.js";
|
|
9
9
|
import "./chunk-OW5HMYMI.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-MJF67OTH.js";
|
|
11
|
+
import "./chunk-HMRANSDX.js";
|
|
12
|
+
import "./chunk-EOX6U6Q4.js";
|
|
13
13
|
import "./chunk-MX3NFLCE.js";
|
|
14
14
|
import "./chunk-ASMHEEKY.js";
|
|
15
15
|
import "./chunk-7BNU6DFI.js";
|
|
@@ -18,10 +18,10 @@ 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-
|
|
21
|
+
import "./chunk-FBKPDILE.js";
|
|
22
22
|
import "./chunk-S5KZQJJI.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-IBIHDGTZ.js";
|
|
24
|
+
import "./chunk-3WLCWHIV.js";
|
|
25
25
|
import "./chunk-FUSXMW3G.js";
|
|
26
26
|
|
|
27
27
|
// src/cli/commands/desktop/capture-desktop.ts
|
|
@@ -35,4 +35,4 @@ async function runDesktopCaptureDesktop(args) {
|
|
|
35
35
|
export {
|
|
36
36
|
runDesktopCaptureDesktop
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=capture-desktop-
|
|
38
|
+
//# sourceMappingURL=capture-desktop-T5YO3EBI.js.map
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
parseDesktopWindowReasonArgs,
|
|
5
5
|
requireDesktopReason,
|
|
6
6
|
requireDesktopWindowId
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JROW6ZNN.js";
|
|
8
8
|
import "./chunk-RJNI3BHT.js";
|
|
9
9
|
import "./chunk-SKFB5ICF.js";
|
|
10
10
|
import "./chunk-OW5HMYMI.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-MJF67OTH.js";
|
|
12
|
+
import "./chunk-HMRANSDX.js";
|
|
13
|
+
import "./chunk-EOX6U6Q4.js";
|
|
14
14
|
import "./chunk-MX3NFLCE.js";
|
|
15
15
|
import "./chunk-ASMHEEKY.js";
|
|
16
16
|
import "./chunk-7BNU6DFI.js";
|
|
@@ -19,10 +19,10 @@ import "./chunk-BUVYTJZR.js";
|
|
|
19
19
|
import "./chunk-TBUCZX4A.js";
|
|
20
20
|
import "./chunk-Y2KL55OG.js";
|
|
21
21
|
import "./chunk-5SWZDVOW.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-FBKPDILE.js";
|
|
23
23
|
import "./chunk-S5KZQJJI.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-IBIHDGTZ.js";
|
|
25
|
+
import "./chunk-3WLCWHIV.js";
|
|
26
26
|
import "./chunk-FUSXMW3G.js";
|
|
27
27
|
|
|
28
28
|
// src/cli/commands/desktop/capture-window.ts
|
|
@@ -37,4 +37,4 @@ async function runDesktopCaptureWindow(args) {
|
|
|
37
37
|
export {
|
|
38
38
|
runDesktopCaptureWindow
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=capture-window-
|
|
40
|
+
//# sourceMappingURL=capture-window-UKEUBWKH.js.map
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-MJF67OTH.js";
|
|
8
|
+
import "./chunk-HMRANSDX.js";
|
|
9
|
+
import "./chunk-EOX6U6Q4.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
@@ -17,10 +17,10 @@ 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-
|
|
20
|
+
import "./chunk-FBKPDILE.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-IBIHDGTZ.js";
|
|
23
|
+
import "./chunk-3WLCWHIV.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
26
26
|
// src/cli/commands/interact/check.ts
|
|
@@ -68,4 +68,4 @@ async function runCheck(args) {
|
|
|
68
68
|
export {
|
|
69
69
|
runCheck
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=check-
|
|
71
|
+
//# sourceMappingURL=check-PQB6KKMN.js.map
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-MJF67OTH.js";
|
|
8
|
+
import "./chunk-HMRANSDX.js";
|
|
9
|
+
import "./chunk-EOX6U6Q4.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
@@ -17,10 +17,10 @@ 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-
|
|
20
|
+
import "./chunk-FBKPDILE.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-IBIHDGTZ.js";
|
|
23
|
+
import "./chunk-3WLCWHIV.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
26
26
|
// src/cli/commands/dom/checked.ts
|
|
@@ -68,4 +68,4 @@ async function runDomChecked(args) {
|
|
|
68
68
|
export {
|
|
69
69
|
runDomChecked
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=checked-
|
|
71
|
+
//# sourceMappingURL=checked-RNZIMCU6.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-05-
|
|
4
|
+
"generatedAt": "2026-05-20T18:36:56.052Z",
|
|
5
5
|
"cli": {
|
|
6
6
|
"groups": [
|
|
7
7
|
{
|
|
@@ -586,12 +586,16 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
586
586
|
],
|
|
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
|
-
'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'
|
|
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
591
|
],
|
|
591
592
|
"notes": [
|
|
592
593
|
"Any inspiredesign --url forces deep capture for DOM/layout evidence; without URLs, --capture-mode defaults to off.",
|
|
593
594
|
"Repeat --url for multiple references. There is no --urls alias.",
|
|
594
595
|
"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. Only readiness=ready makes Canvas continuation the primary action.",
|
|
597
|
+
"Do not proceed when nextStepGuidance.doNotProceedIf matches zero references, empty ranked references, missing required screenshots, provider unavailability, or diagnostic-only captures.",
|
|
598
|
+
"Pinterest is modeled as a browser-native site recipe for social/pinterest, not as a default full social provider. Use extension mode, cookies, and recovery-first guidance when session evidence is not ready.",
|
|
595
599
|
"Harvest JSON is metadata-only: screenshots are artifact PNG files referenced by relative paths, hashes, viewport metadata, and warnings.",
|
|
596
600
|
"Load opendevbrowser-motion-design before turning harvest motion posture into implementation timing, scroll choreography, reduced-motion behavior, or temporal proof."
|
|
597
601
|
],
|
|
@@ -646,18 +650,22 @@ var PUBLIC_SURFACE_MANIFEST = {
|
|
|
646
650
|
{
|
|
647
651
|
"name": "canvas",
|
|
648
652
|
"description": "Execute a design-canvas command",
|
|
649
|
-
"usage": "npx opendevbrowser canvas --command <canvas.command> [--params <json> | --params-file <path>] [--timeout-ms <ms>]",
|
|
653
|
+
"usage": "npx opendevbrowser canvas --command <canvas.command> [--params <json> | --params-file <path>] [--timeout-ms <ms>] [--output-format json]",
|
|
650
654
|
"flags": [
|
|
651
655
|
"--command",
|
|
652
656
|
"--params",
|
|
653
657
|
"--params-file",
|
|
654
|
-
"--timeout-ms"
|
|
658
|
+
"--timeout-ms",
|
|
659
|
+
"--output-format"
|
|
655
660
|
],
|
|
656
661
|
"examples": [
|
|
657
|
-
`npx opendevbrowser canvas --command canvas.session.open --params '{"label":"design review"}' --timeout-ms 120000 --output-format json
|
|
662
|
+
`npx opendevbrowser canvas --command canvas.session.open --params '{"label":"design review"}' --timeout-ms 120000 --output-format json`,
|
|
663
|
+
"npx opendevbrowser canvas --command canvas.plan.set --params-file ./canvas-plan.request.json --output-format json"
|
|
658
664
|
],
|
|
659
665
|
"notes": [
|
|
660
|
-
"Use --params-file for strict request envelopes such as canvas.plan.set or governance handoff payloads."
|
|
666
|
+
"Use --params-file for strict request envelopes such as canvas.plan.set or governance handoff payloads.",
|
|
667
|
+
"Canvas guidance preserves guidance.recommendedNextCommands and adds nextStepGuidance, paramsExamples, fieldExamples, validationChecks, and doNotProceedIf when a repair envelope exists.",
|
|
668
|
+
"For generation_plan_invalid or missing session identifiers, follow returned paramsExamples before retrying canvas.plan.set."
|
|
661
669
|
],
|
|
662
670
|
"groupId": "design_canvas",
|
|
663
671
|
"groupTitle": "Design Canvas",
|
|
@@ -2989,4 +2997,4 @@ export {
|
|
|
2989
2997
|
PUBLIC_CLI_COMMAND_GROUPS,
|
|
2990
2998
|
TOOL_SURFACE_ENTRIES
|
|
2991
2999
|
};
|
|
2992
|
-
//# sourceMappingURL=chunk-
|
|
3000
|
+
//# sourceMappingURL=chunk-27W46IKI.js.map
|