opendevbrowser 0.0.30 → 0.0.32
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 +20 -7
- package/dist/{accessibility-snapshot-CQ4ZKWKC.js → accessibility-snapshot-XOP66CSK.js} +11 -11
- package/dist/{active-window-TD5HYJ72.js → active-window-E3WFOQGX.js} +11 -11
- package/dist/{annotate-VTLFS2XV.js → annotate-MAE7ZJOZ.js} +10 -10
- package/dist/{artifacts-KJ6RNDO2.js → artifacts-JHDUUJGQ.js} +2 -2
- package/dist/{attr-BCI5KYCW.js → attr-M3PFDJ7Q.js} +10 -10
- package/dist/{canvas-5DFEEOKM.js → canvas-3AJVL5I5.js} +10 -10
- package/dist/{capture-desktop-HFTTWY4Z.js → capture-desktop-VJGEETMJ.js} +11 -11
- package/dist/{capture-window-X63XPIFF.js → capture-window-W5UFSFQL.js} +11 -11
- package/dist/{check-LWAUY7GC.js → check-4IR3UJVW.js} +10 -10
- package/dist/{checked-ZSOUKVYT.js → checked-PKNY7724.js} +10 -10
- package/dist/{chunk-KZ2IXVQT.js → chunk-2X4JFMKJ.js} +39 -4
- package/dist/chunk-2X4JFMKJ.js.map +1 -0
- package/dist/{chunk-IPE7TF2P.js → chunk-7BNU6DFI.js} +8 -5
- package/dist/chunk-7BNU6DFI.js.map +1 -0
- package/dist/{chunk-J47N77VG.js → chunk-AKIAGFOE.js} +31 -8
- package/dist/chunk-AKIAGFOE.js.map +1 -0
- package/dist/{chunk-RCZZGGJS.js → chunk-AWQ37HSC.js} +7 -3
- package/dist/chunk-AWQ37HSC.js.map +1 -0
- package/dist/{chunk-3ILXPKSJ.js → chunk-BUVYTJZR.js} +2 -1
- package/dist/chunk-BUVYTJZR.js.map +1 -0
- package/dist/{chunk-AHEWXOKY.js → chunk-BUXFIY2P.js} +4 -4
- package/dist/{chunk-QOMWCRE3.js → chunk-HBK56JST.js} +3 -3
- package/dist/{chunk-T4GMCW6Z.js → chunk-J3KYGJRQ.js} +3 -3
- package/dist/{chunk-6PVZ2ABC.js → chunk-L3YNUGYF.js} +2 -2
- package/dist/{chunk-JZXD6FWR.js → chunk-NURQB55J.js} +2 -2
- package/dist/{chunk-GQJ5S3BL.js → chunk-P5K3ZIPI.js} +3 -3
- package/dist/{chunk-PPUWQKIC.js → chunk-PIFHXKV4.js} +4 -4
- package/dist/{chunk-STGGGVYT.js → chunk-QMHKAFYX.js} +2 -2
- package/dist/{chunk-4BEJVZRK.js → chunk-RO3SMXF3.js} +1073 -138
- package/dist/chunk-RO3SMXF3.js.map +1 -0
- package/dist/{chunk-RPXWUCQQ.js → chunk-SKFB5ICF.js} +2 -2
- package/dist/{chunk-2SIMIPLY.js → chunk-W6YPVNDX.js} +3 -3
- package/dist/{chunk-MD655IPO.js → chunk-XDLJE3RJ.js} +11 -4
- package/dist/chunk-XDLJE3RJ.js.map +1 -0
- package/dist/{chunk-KDSNXS6N.js → chunk-ZMNEWS7A.js} +2 -2
- package/dist/{chunk-COAOWH3G.js → chunk-ZOVMMQO6.js} +119 -27
- package/dist/chunk-ZOVMMQO6.js.map +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/commands/daemon.d.ts +19 -2
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/inspiredesign.d.ts +6 -1
- package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
- package/dist/cli/commands/serve.d.ts +12 -3
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/types.d.ts +1 -0
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/daemon-client.d.ts.map +1 -1
- package/dist/cli/daemon-commands.d.ts.map +1 -1
- package/dist/cli/daemon-mismatch.d.ts +9 -0
- package/dist/cli/daemon-mismatch.d.ts.map +1 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/errors.d.ts +4 -2
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.js +91 -90
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installers/postinstall-skill-sync.js +2 -2
- package/dist/{click-2AILSEIZ.js → click-HLNXU4I5.js} +10 -10
- package/dist/{clone-component-TPJS3PEG.js → clone-component-QIKN5PIM.js} +9 -9
- package/dist/{clone-page-LE74CIFC.js → clone-page-5C7DTGZT.js} +9 -9
- package/dist/{close-HN4YI47K.js → close-PCRZHX7F.js} +9 -9
- package/dist/{close-WFERRHX6.js → close-WTXB3EDD.js} +9 -9
- package/dist/{connect-RWBV2UCQ.js → connect-6C2IG55I.js} +10 -10
- package/dist/{console-poll-PP4YYPDF.js → console-poll-VJXCZR3F.js} +10 -10
- package/dist/{cookie-import-6IP776FC.js → cookie-import-5OEDFB6U.js} +9 -9
- package/dist/{cookie-list-O2KG6DPU.js → cookie-list-44UNJJ6D.js} +9 -9
- package/dist/{daemon-2BSAZXLT.js → daemon-CIKGBWEB.js} +25 -12
- package/dist/daemon-CIKGBWEB.js.map +1 -0
- package/dist/daemon-fingerprint.json +1 -1
- package/dist/{debug-trace-snapshot-F3BDVZXS.js → debug-trace-snapshot-RGXAPGWB.js} +10 -10
- package/dist/{dialog-6JQYUWMQ.js → dialog-S64MJUM2.js} +10 -10
- package/dist/{disconnect-763TP7GH.js → disconnect-MTIELIM7.js} +9 -9
- package/dist/{enabled-DLYQFNIP.js → enabled-KF2L7LW4.js} +10 -10
- package/dist/{goto-S346TJJH.js → goto-ULWINUAZ.js} +10 -10
- package/dist/{help-EKKKEDL5.js → help-IG5S5RJD.js} +14 -10
- package/dist/help-IG5S5RJD.js.map +1 -0
- package/dist/{hover-6JVJFGO7.js → hover-NOCOTR6N.js} +10 -10
- package/dist/{html-EVOSPBIT.js → html-LXSYP6BT.js} +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -17
- package/dist/index.js.map +1 -1
- package/dist/{inspector-H57BVUJP.js → inspector-62EPCLYB.js} +11 -11
- package/dist/{inspector-audit-NQBAJWC7.js → inspector-audit-T2IF67RJ.js} +13 -13
- package/dist/{inspector-plan-ZDIQVND3.js → inspector-plan-KQS6LRMW.js} +11 -11
- package/dist/inspiredesign/capture.d.ts +4 -0
- package/dist/inspiredesign/capture.d.ts.map +1 -1
- package/dist/inspiredesign/contract.d.ts +22 -0
- package/dist/inspiredesign/contract.d.ts.map +1 -1
- package/dist/inspiredesign/handoff.d.ts +7 -1
- package/dist/inspiredesign/handoff.d.ts.map +1 -1
- package/dist/inspiredesign/meta-prompt.d.ts +9 -0
- package/dist/inspiredesign/meta-prompt.d.ts.map +1 -0
- package/dist/inspiredesign/reference-discovery.d.ts +29 -0
- package/dist/inspiredesign/reference-discovery.d.ts.map +1 -0
- package/dist/inspiredesign/reference-pattern-board.d.ts +21 -0
- package/dist/inspiredesign/reference-pattern-board.d.ts.map +1 -1
- package/dist/inspiredesign/visual-evidence.d.ts +46 -0
- package/dist/inspiredesign/visual-evidence.d.ts.map +1 -0
- package/dist/inspiredesign/visual-policy.d.ts +17 -0
- package/dist/inspiredesign/visual-policy.d.ts.map +1 -0
- package/dist/{inspiredesign-IEUL4PX3.js → inspiredesign-DB6CHYN3.js} +71 -19
- package/dist/inspiredesign-DB6CHYN3.js.map +1 -0
- package/dist/{launch-EK66VQPF.js → launch-B5ES6FVS.js} +10 -10
- package/dist/{list-KKUKN467.js → list-TIZVR6RO.js} +9 -9
- package/dist/{list-ADZAQ2IU.js → list-XM4BP5GM.js} +9 -9
- package/dist/{macro-resolve-6DOQJ7CA.js → macro-resolve-TTQZVFIW.js} +10 -10
- package/dist/{native-UPLVQ2SG.js → native-J2DFLOLP.js} +3 -3
- package/dist/{network-poll-NUL4PDPY.js → network-poll-NNSY4W63.js} +10 -10
- package/dist/{new-5NKYPEFT.js → new-E6VNAC2A.js} +9 -9
- package/dist/{open-NR3BPLXV.js → open-F55XKMKB.js} +9 -9
- package/dist/opendevbrowser.d.ts.map +1 -1
- package/dist/opendevbrowser.js +46 -17
- package/dist/opendevbrowser.js.map +1 -1
- package/dist/{perf-HJ36ZI6H.js → perf-RE7JE6CP.js} +10 -10
- package/dist/{pointer-down-IYTTQWXZ.js → pointer-down-BCBPC5FJ.js} +11 -11
- package/dist/{pointer-drag-A2YC5PWI.js → pointer-drag-QK7KGF7W.js} +11 -11
- package/dist/{pointer-move-W5K5FUI4.js → pointer-move-VFAZQAXA.js} +11 -11
- package/dist/{pointer-up-6GWVO64Y.js → pointer-up-FA5WE6LS.js} +11 -11
- package/dist/{press-A3V5WB3S.js → press-TNRHNDSW.js} +10 -10
- package/dist/{product-video-52REKWF3.js → product-video-UEANMZ2U.js} +11 -11
- package/dist/providers/renderer.d.ts +7 -1
- package/dist/providers/renderer.d.ts.map +1 -1
- package/dist/providers/workflow-handoff.d.ts +1 -0
- package/dist/providers/workflow-handoff.d.ts.map +1 -1
- package/dist/providers/workflows.d.ts +45 -3
- package/dist/providers/workflows.d.ts.map +1 -1
- package/dist/{providers-IMFYMMHQ.js → providers-AMCNWZUL.js} +3 -3
- package/dist/public-surface/generated-manifest.d.ts +12 -3
- package/dist/public-surface/generated-manifest.d.ts.map +1 -1
- package/dist/public-surface/source.d.ts +6 -6
- package/dist/public-surface/source.d.ts.map +1 -1
- package/dist/{research-WB6BBCDD.js → research-YFY7WJSZ.js} +11 -11
- package/dist/{review-BGWVY4RA.js → review-NHOPLAT7.js} +11 -11
- package/dist/{review-desktop-LEORC5VS.js → review-desktop-OFWPDYGD.js} +11 -11
- package/dist/{rpc-4TSKSFGC.js → rpc-TVVQPUOL.js} +10 -10
- package/dist/{run-3NBLVWXD.js → run-OCBEZRDW.js} +8 -8
- package/dist/{screencast-start-UZVIT3IN.js → screencast-start-GTSDA33J.js} +10 -10
- package/dist/{screencast-stop-NOSJSIUO.js → screencast-stop-FYBUIXAA.js} +10 -10
- package/dist/{screenshot-LARG4JQG.js → screenshot-OEYRT3SP.js} +10 -10
- package/dist/{scroll-VNFMV6TW.js → scroll-35OFEFC5.js} +10 -10
- package/dist/{scroll-into-view-VYRT3JPT.js → scroll-into-view-UQ5RAWIX.js} +10 -10
- package/dist/{select-KJTUZDVO.js → select-K56QELVZ.js} +10 -10
- package/dist/{serve-EV7K4HKR.js → serve-5UJ3VMWC.js} +48 -24
- package/dist/serve-5UJ3VMWC.js.map +1 -0
- package/dist/{shopping-DTXHVQ2X.js → shopping-FJG7XB4Q.js} +11 -11
- package/dist/{skill-lifecycle-5UAZGKSN.js → skill-lifecycle-OWZYBPFS.js} +3 -3
- package/dist/skills/bundled-skill-directories.d.ts.map +1 -1
- package/dist/skills/skill-loader.js +2 -2
- package/dist/{skills-NSXDX6YM.js → skills-KHMRNOE4.js} +3 -3
- package/dist/{snapshot-3XQMCMRJ.js → snapshot-W7RKVZEI.js} +10 -10
- package/dist/{status-YUMDP5KY.js → status-KHYCLGUD.js} +20 -12
- package/dist/status-KHYCLGUD.js.map +1 -0
- package/dist/{status-OXSYA5XD.js → status-R4EV4TWO.js} +11 -11
- package/dist/{status-capabilities-P4KDSE2Y.js → status-capabilities-XD3RGLKF.js} +11 -11
- package/dist/{text-V3B7UVIH.js → text-TANLFZ4O.js} +10 -10
- package/dist/tools/inspiredesign_run.d.ts.map +1 -1
- package/dist/{type-IYBN3ZLR.js → type-Y2Y7LX7Y.js} +10 -10
- package/dist/{uncheck-SG737EGI.js → uncheck-6REVUUB2.js} +10 -10
- package/dist/{uninstall-KYKGJAX7.js → uninstall-FW5ORBIN.js} +3 -3
- package/dist/{update-SMXPYGXS.js → update-FZGSXB74.js} +6 -2
- package/dist/update-FZGSXB74.js.map +1 -0
- package/dist/{update-skill-modes-BVX7IVMW.js → update-skill-modes-3ULKJK3Y.js} +3 -3
- package/dist/{upload-KH6ZABJA.js → upload-GGZC5UQP.js} +10 -10
- package/dist/{use-7YDKO3U4.js → use-B4Q7CFG2.js} +9 -9
- package/dist/{value-RZBWSKKM.js → value-DHOHO55D.js} +10 -10
- package/dist/{visible-BSFTAKXR.js → visible-S5BTWYNH.js} +10 -10
- package/dist/{wait-TMTEAYOP.js → wait-WV6NZUKL.js} +10 -10
- package/dist/{windows-HIZ23OHS.js → windows-GKE36DJQ.js} +11 -11
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/AGENTS.md +2 -1
- package/skills/opendevbrowser-best-practices/SKILL.md +9 -2
- package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +4 -3
- package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +7 -0
- package/skills/opendevbrowser-best-practices/assets/templates/skill-runtime-pack-matrix.json +49 -3
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +24 -2
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +1 -0
- package/skills/opendevbrowser-design-agent/SKILL.md +3 -0
- package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +85 -40
- package/skills/opendevbrowser-design-agent/artifacts/scroll-reveal-surface-planning.md +2 -0
- package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +20 -5
- package/skills/opendevbrowser-motion-design/SKILL.md +129 -0
- package/skills/opendevbrowser-motion-design/artifacts/accessibility-reduced-motion.md +37 -0
- package/skills/opendevbrowser-motion-design/artifacts/device-breakpoint-posture.md +40 -0
- package/skills/opendevbrowser-motion-design/artifacts/motion-anti-patterns.md +29 -0
- package/skills/opendevbrowser-motion-design/artifacts/motion-pattern-catalog.md +430 -0
- package/skills/opendevbrowser-motion-design/artifacts/motion-release-gate.md +28 -0
- package/skills/opendevbrowser-motion-design/artifacts/motion-terminology.md +46 -0
- package/skills/opendevbrowser-motion-design/artifacts/open-dev-browser-motion-evidence.md +48 -0
- package/skills/opendevbrowser-motion-design/artifacts/performance-frame-budget.md +38 -0
- package/skills/opendevbrowser-motion-design/artifacts/platform-framework-guide.md +166 -0
- package/skills/opendevbrowser-motion-design/assets/templates/motion-audit-report.v1.md +70 -0
- package/skills/opendevbrowser-motion-design/assets/templates/motion-contract.v1.json +79 -0
- package/skills/opendevbrowser-motion-design/assets/templates/motion-release-gate.v1.json +18 -0
- package/skills/opendevbrowser-motion-design/assets/templates/motion-viewport-matrix.v1.json +76 -0
- package/skills/opendevbrowser-motion-design/scripts/motion-workflow.sh +163 -0
- package/skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh +374 -0
- package/dist/chunk-3ILXPKSJ.js.map +0 -1
- package/dist/chunk-4BEJVZRK.js.map +0 -1
- package/dist/chunk-COAOWH3G.js.map +0 -1
- package/dist/chunk-IPE7TF2P.js.map +0 -1
- package/dist/chunk-J47N77VG.js.map +0 -1
- package/dist/chunk-KZ2IXVQT.js.map +0 -1
- package/dist/chunk-MD655IPO.js.map +0 -1
- package/dist/chunk-RCZZGGJS.js.map +0 -1
- package/dist/daemon-2BSAZXLT.js.map +0 -1
- package/dist/help-EKKKEDL5.js.map +0 -1
- package/dist/inspiredesign-IEUL4PX3.js.map +0 -1
- package/dist/serve-EV7K4HKR.js.map +0 -1
- package/dist/status-YUMDP5KY.js.map +0 -1
- package/dist/update-SMXPYGXS.js.map +0 -1
- /package/dist/{accessibility-snapshot-CQ4ZKWKC.js.map → accessibility-snapshot-XOP66CSK.js.map} +0 -0
- /package/dist/{active-window-TD5HYJ72.js.map → active-window-E3WFOQGX.js.map} +0 -0
- /package/dist/{annotate-VTLFS2XV.js.map → annotate-MAE7ZJOZ.js.map} +0 -0
- /package/dist/{artifacts-KJ6RNDO2.js.map → artifacts-JHDUUJGQ.js.map} +0 -0
- /package/dist/{attr-BCI5KYCW.js.map → attr-M3PFDJ7Q.js.map} +0 -0
- /package/dist/{canvas-5DFEEOKM.js.map → canvas-3AJVL5I5.js.map} +0 -0
- /package/dist/{capture-desktop-HFTTWY4Z.js.map → capture-desktop-VJGEETMJ.js.map} +0 -0
- /package/dist/{capture-window-X63XPIFF.js.map → capture-window-W5UFSFQL.js.map} +0 -0
- /package/dist/{check-LWAUY7GC.js.map → check-4IR3UJVW.js.map} +0 -0
- /package/dist/{checked-ZSOUKVYT.js.map → checked-PKNY7724.js.map} +0 -0
- /package/dist/{chunk-AHEWXOKY.js.map → chunk-BUXFIY2P.js.map} +0 -0
- /package/dist/{chunk-QOMWCRE3.js.map → chunk-HBK56JST.js.map} +0 -0
- /package/dist/{chunk-T4GMCW6Z.js.map → chunk-J3KYGJRQ.js.map} +0 -0
- /package/dist/{chunk-6PVZ2ABC.js.map → chunk-L3YNUGYF.js.map} +0 -0
- /package/dist/{chunk-JZXD6FWR.js.map → chunk-NURQB55J.js.map} +0 -0
- /package/dist/{chunk-GQJ5S3BL.js.map → chunk-P5K3ZIPI.js.map} +0 -0
- /package/dist/{chunk-PPUWQKIC.js.map → chunk-PIFHXKV4.js.map} +0 -0
- /package/dist/{chunk-STGGGVYT.js.map → chunk-QMHKAFYX.js.map} +0 -0
- /package/dist/{chunk-RPXWUCQQ.js.map → chunk-SKFB5ICF.js.map} +0 -0
- /package/dist/{chunk-2SIMIPLY.js.map → chunk-W6YPVNDX.js.map} +0 -0
- /package/dist/{chunk-KDSNXS6N.js.map → chunk-ZMNEWS7A.js.map} +0 -0
- /package/dist/{click-2AILSEIZ.js.map → click-HLNXU4I5.js.map} +0 -0
- /package/dist/{clone-component-TPJS3PEG.js.map → clone-component-QIKN5PIM.js.map} +0 -0
- /package/dist/{clone-page-LE74CIFC.js.map → clone-page-5C7DTGZT.js.map} +0 -0
- /package/dist/{close-HN4YI47K.js.map → close-PCRZHX7F.js.map} +0 -0
- /package/dist/{close-WFERRHX6.js.map → close-WTXB3EDD.js.map} +0 -0
- /package/dist/{connect-RWBV2UCQ.js.map → connect-6C2IG55I.js.map} +0 -0
- /package/dist/{console-poll-PP4YYPDF.js.map → console-poll-VJXCZR3F.js.map} +0 -0
- /package/dist/{cookie-import-6IP776FC.js.map → cookie-import-5OEDFB6U.js.map} +0 -0
- /package/dist/{cookie-list-O2KG6DPU.js.map → cookie-list-44UNJJ6D.js.map} +0 -0
- /package/dist/{debug-trace-snapshot-F3BDVZXS.js.map → debug-trace-snapshot-RGXAPGWB.js.map} +0 -0
- /package/dist/{dialog-6JQYUWMQ.js.map → dialog-S64MJUM2.js.map} +0 -0
- /package/dist/{disconnect-763TP7GH.js.map → disconnect-MTIELIM7.js.map} +0 -0
- /package/dist/{enabled-DLYQFNIP.js.map → enabled-KF2L7LW4.js.map} +0 -0
- /package/dist/{goto-S346TJJH.js.map → goto-ULWINUAZ.js.map} +0 -0
- /package/dist/{hover-6JVJFGO7.js.map → hover-NOCOTR6N.js.map} +0 -0
- /package/dist/{html-EVOSPBIT.js.map → html-LXSYP6BT.js.map} +0 -0
- /package/dist/{inspector-H57BVUJP.js.map → inspector-62EPCLYB.js.map} +0 -0
- /package/dist/{inspector-audit-NQBAJWC7.js.map → inspector-audit-T2IF67RJ.js.map} +0 -0
- /package/dist/{inspector-plan-ZDIQVND3.js.map → inspector-plan-KQS6LRMW.js.map} +0 -0
- /package/dist/{launch-EK66VQPF.js.map → launch-B5ES6FVS.js.map} +0 -0
- /package/dist/{list-KKUKN467.js.map → list-TIZVR6RO.js.map} +0 -0
- /package/dist/{list-ADZAQ2IU.js.map → list-XM4BP5GM.js.map} +0 -0
- /package/dist/{macro-resolve-6DOQJ7CA.js.map → macro-resolve-TTQZVFIW.js.map} +0 -0
- /package/dist/{native-UPLVQ2SG.js.map → native-J2DFLOLP.js.map} +0 -0
- /package/dist/{network-poll-NUL4PDPY.js.map → network-poll-NNSY4W63.js.map} +0 -0
- /package/dist/{new-5NKYPEFT.js.map → new-E6VNAC2A.js.map} +0 -0
- /package/dist/{open-NR3BPLXV.js.map → open-F55XKMKB.js.map} +0 -0
- /package/dist/{perf-HJ36ZI6H.js.map → perf-RE7JE6CP.js.map} +0 -0
- /package/dist/{pointer-down-IYTTQWXZ.js.map → pointer-down-BCBPC5FJ.js.map} +0 -0
- /package/dist/{pointer-drag-A2YC5PWI.js.map → pointer-drag-QK7KGF7W.js.map} +0 -0
- /package/dist/{pointer-move-W5K5FUI4.js.map → pointer-move-VFAZQAXA.js.map} +0 -0
- /package/dist/{pointer-up-6GWVO64Y.js.map → pointer-up-FA5WE6LS.js.map} +0 -0
- /package/dist/{press-A3V5WB3S.js.map → press-TNRHNDSW.js.map} +0 -0
- /package/dist/{product-video-52REKWF3.js.map → product-video-UEANMZ2U.js.map} +0 -0
- /package/dist/{providers-IMFYMMHQ.js.map → providers-AMCNWZUL.js.map} +0 -0
- /package/dist/{research-WB6BBCDD.js.map → research-YFY7WJSZ.js.map} +0 -0
- /package/dist/{review-BGWVY4RA.js.map → review-NHOPLAT7.js.map} +0 -0
- /package/dist/{review-desktop-LEORC5VS.js.map → review-desktop-OFWPDYGD.js.map} +0 -0
- /package/dist/{rpc-4TSKSFGC.js.map → rpc-TVVQPUOL.js.map} +0 -0
- /package/dist/{run-3NBLVWXD.js.map → run-OCBEZRDW.js.map} +0 -0
- /package/dist/{screencast-start-UZVIT3IN.js.map → screencast-start-GTSDA33J.js.map} +0 -0
- /package/dist/{screencast-stop-NOSJSIUO.js.map → screencast-stop-FYBUIXAA.js.map} +0 -0
- /package/dist/{screenshot-LARG4JQG.js.map → screenshot-OEYRT3SP.js.map} +0 -0
- /package/dist/{scroll-VNFMV6TW.js.map → scroll-35OFEFC5.js.map} +0 -0
- /package/dist/{scroll-into-view-VYRT3JPT.js.map → scroll-into-view-UQ5RAWIX.js.map} +0 -0
- /package/dist/{select-KJTUZDVO.js.map → select-K56QELVZ.js.map} +0 -0
- /package/dist/{shopping-DTXHVQ2X.js.map → shopping-FJG7XB4Q.js.map} +0 -0
- /package/dist/{skill-lifecycle-5UAZGKSN.js.map → skill-lifecycle-OWZYBPFS.js.map} +0 -0
- /package/dist/{skills-NSXDX6YM.js.map → skills-KHMRNOE4.js.map} +0 -0
- /package/dist/{snapshot-3XQMCMRJ.js.map → snapshot-W7RKVZEI.js.map} +0 -0
- /package/dist/{status-OXSYA5XD.js.map → status-R4EV4TWO.js.map} +0 -0
- /package/dist/{status-capabilities-P4KDSE2Y.js.map → status-capabilities-XD3RGLKF.js.map} +0 -0
- /package/dist/{text-V3B7UVIH.js.map → text-TANLFZ4O.js.map} +0 -0
- /package/dist/{type-IYBN3ZLR.js.map → type-Y2Y7LX7Y.js.map} +0 -0
- /package/dist/{uncheck-SG737EGI.js.map → uncheck-6REVUUB2.js.map} +0 -0
- /package/dist/{uninstall-KYKGJAX7.js.map → uninstall-FW5ORBIN.js.map} +0 -0
- /package/dist/{update-skill-modes-BVX7IVMW.js.map → update-skill-modes-3ULKJK3Y.js.map} +0 -0
- /package/dist/{upload-KH6ZABJA.js.map → upload-GGZC5UQP.js.map} +0 -0
- /package/dist/{use-7YDKO3U4.js.map → use-B4Q7CFG2.js.map} +0 -0
- /package/dist/{value-RZBWSKKM.js.map → value-DHOHO55D.js.map} +0 -0
- /package/dist/{visible-BSFTAKXR.js.map → visible-S5BTWYNH.js.map} +0 -0
- /package/dist/{wait-TMTEAYOP.js.map → wait-WV6NZUKL.js.map} +0 -0
- /package/dist/{windows-HIZ23OHS.js.map → windows-GKE36DJQ.js.map} +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./chunk-RJNI3BHT.js";
|
|
2
2
|
import {
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
8
|
+
import "./chunk-ZOVMMQO6.js";
|
|
9
|
+
import "./chunk-HBK56JST.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
13
13
|
createUsageError
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-7BNU6DFI.js";
|
|
15
|
+
import "./chunk-QMHKAFYX.js";
|
|
16
|
+
import "./chunk-BUVYTJZR.js";
|
|
17
17
|
import "./chunk-TBUCZX4A.js";
|
|
18
18
|
import "./chunk-Y2KL55OG.js";
|
|
19
19
|
import "./chunk-5SWZDVOW.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RO3SMXF3.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2X4JFMKJ.js";
|
|
23
23
|
import "./chunk-WHQZBUNY.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
@@ -91,4 +91,4 @@ async function runType(args) {
|
|
|
91
91
|
export {
|
|
92
92
|
runType
|
|
93
93
|
};
|
|
94
|
-
//# sourceMappingURL=type-
|
|
94
|
+
//# sourceMappingURL=type-Y2Y7LX7Y.js.map
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./chunk-RJNI3BHT.js";
|
|
2
2
|
import {
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
8
|
+
import "./chunk-ZOVMMQO6.js";
|
|
9
|
+
import "./chunk-HBK56JST.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
13
13
|
createUsageError
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-7BNU6DFI.js";
|
|
15
|
+
import "./chunk-QMHKAFYX.js";
|
|
16
|
+
import "./chunk-BUVYTJZR.js";
|
|
17
17
|
import "./chunk-TBUCZX4A.js";
|
|
18
18
|
import "./chunk-Y2KL55OG.js";
|
|
19
19
|
import "./chunk-5SWZDVOW.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RO3SMXF3.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2X4JFMKJ.js";
|
|
23
23
|
import "./chunk-WHQZBUNY.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
@@ -68,4 +68,4 @@ async function runUncheck(args) {
|
|
|
68
68
|
export {
|
|
69
69
|
runUncheck
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=uncheck-
|
|
71
|
+
//# sourceMappingURL=uncheck-6REVUUB2.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hasBundledSkillArtifacts,
|
|
3
3
|
hasManagedBundledSkillInstall
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZMNEWS7A.js";
|
|
5
5
|
import {
|
|
6
6
|
getGlobalConfigPath,
|
|
7
7
|
getLocalConfigPath,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
readConfig,
|
|
10
10
|
removePluginFromContent
|
|
11
11
|
} from "./chunk-7THCPS52.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-BUVYTJZR.js";
|
|
13
13
|
import "./chunk-TBUCZX4A.js";
|
|
14
14
|
|
|
15
15
|
// src/cli/commands/uninstall.ts
|
|
@@ -88,4 +88,4 @@ export {
|
|
|
88
88
|
hasInstalledConfig,
|
|
89
89
|
runUninstall
|
|
90
90
|
};
|
|
91
|
-
//# sourceMappingURL=uninstall-
|
|
91
|
+
//# sourceMappingURL=uninstall-FW5ORBIN.js.map
|
|
@@ -7,6 +7,7 @@ var PLUGIN_NAME = "opendevbrowser";
|
|
|
7
7
|
var CACHE_MANIFEST = "package.json";
|
|
8
8
|
var CACHE_LOCKFILE = "package-lock.json";
|
|
9
9
|
var CACHE_UPDATE_LOCK = ".opendevbrowser-update.lock";
|
|
10
|
+
var OPENCODE_PACKAGE_ALIAS = `${PLUGIN_NAME}@latest`;
|
|
10
11
|
var CACHE_LOCK_STALE_MS = 30 * 60 * 1e3;
|
|
11
12
|
var DEPENDENCY_SECTIONS = [
|
|
12
13
|
"dependencies",
|
|
@@ -257,6 +258,7 @@ function runUpdate() {
|
|
|
257
258
|
const cacheDir = getCacheDir();
|
|
258
259
|
const nodeModulesDir = path.join(cacheDir, "node_modules");
|
|
259
260
|
const pluginCacheDir = path.join(nodeModulesDir, PLUGIN_NAME);
|
|
261
|
+
const pluginPackageCacheDir = path.join(cacheDir, "packages", OPENCODE_PACKAGE_ALIAS);
|
|
260
262
|
const lockfilePath = path.join(cacheDir, CACHE_LOCKFILE);
|
|
261
263
|
try {
|
|
262
264
|
if (!cacheDirectoryExists(cacheDir)) {
|
|
@@ -269,14 +271,16 @@ function runUpdate() {
|
|
|
269
271
|
preflightCacheMutationPaths(cacheDir, [
|
|
270
272
|
path.join(cacheDir, CACHE_MANIFEST),
|
|
271
273
|
pluginCacheDir,
|
|
274
|
+
pluginPackageCacheDir,
|
|
272
275
|
lockfilePath,
|
|
273
276
|
path.join(cacheDir, CACHE_UPDATE_LOCK)
|
|
274
277
|
]);
|
|
275
278
|
const cleared = withCacheMutationLock(cacheDir, () => {
|
|
276
279
|
const manifestPinRemoved = removeManifestPin(cacheDir);
|
|
277
280
|
const packageRemoved = removePathIfExists(pluginCacheDir, cacheDir);
|
|
281
|
+
const aliasedPackageRemoved = removePathIfExists(pluginPackageCacheDir, cacheDir);
|
|
278
282
|
const lockfileRemoved = removePathIfExists(lockfilePath, cacheDir);
|
|
279
|
-
return packageRemoved || manifestPinRemoved || lockfileRemoved;
|
|
283
|
+
return packageRemoved || aliasedPackageRemoved || manifestPinRemoved || lockfileRemoved;
|
|
280
284
|
});
|
|
281
285
|
if (!cleared) {
|
|
282
286
|
return {
|
|
@@ -302,4 +306,4 @@ function runUpdate() {
|
|
|
302
306
|
export {
|
|
303
307
|
runUpdate
|
|
304
308
|
};
|
|
305
|
-
//# sourceMappingURL=update-
|
|
309
|
+
//# sourceMappingURL=update-FZGSXB74.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/update.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\nimport { randomUUID } from \"crypto\";\n\nconst PLUGIN_NAME = \"opendevbrowser\";\nconst CACHE_MANIFEST = \"package.json\";\nconst CACHE_LOCKFILE = \"package-lock.json\";\nconst CACHE_UPDATE_LOCK = \".opendevbrowser-update.lock\";\n// OpenCode's active package alias cache uses the npm spec directory name.\n// Keep this exact so update repair cannot delete unrelated package aliases.\nconst OPENCODE_PACKAGE_ALIAS = `${PLUGIN_NAME}@latest`;\nconst CACHE_LOCK_STALE_MS = 30 * 60 * 1000;\nconst DEPENDENCY_SECTIONS = [\n \"dependencies\",\n \"devDependencies\",\n \"optionalDependencies\",\n \"peerDependencies\"\n] as const;\n\ntype DependencySection = typeof DEPENDENCY_SECTIONS[number];\ntype JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\ntype JsonObject = { [key: string]: JsonValue };\ntype CacheMutationLock = {\n pid: number;\n createdAt: number;\n token?: string;\n};\ntype HeldCacheMutationLock = {\n fd: number;\n token: string;\n};\n\nexport interface UpdateResult {\n success: boolean;\n message: string;\n cleared: boolean;\n}\n\nfunction getCacheDir(): string {\n return process.env.OPENCODE_CACHE_DIR\n || path.join(os.homedir(), \".cache\", \"opencode\");\n}\n\nfunction assertCacheChild(targetPath: string, cacheDir: string): void {\n const resolvedCache = path.resolve(cacheDir);\n const resolvedPath = path.resolve(targetPath);\n const relativePath = path.relative(resolvedCache, resolvedPath);\n\n if (!relativePath || relativePath.startsWith(\"..\") || path.isAbsolute(relativePath)) {\n throw new Error(`Security: refusing to modify path outside cache directory: ${targetPath}`);\n }\n}\n\nfunction isMissingPathError(error: unknown): boolean {\n return error instanceof Error && \"code\" in error && error.code === \"ENOENT\";\n}\n\nfunction isExistingPathError(error: unknown): boolean {\n return error instanceof Error && \"code\" in error && error.code === \"EEXIST\";\n}\n\nfunction assertNoSymlinkCachePath(targetPath: string, cacheDir: string): void {\n assertCacheChild(targetPath, cacheDir);\n const resolvedCache = path.resolve(cacheDir);\n const relativeSegments = path.relative(resolvedCache, path.resolve(targetPath)).split(path.sep).filter(Boolean);\n for (const candidate of [resolvedCache, ...relativeSegments.map((_, index) => path.join(resolvedCache, ...relativeSegments.slice(0, index + 1)))]) {\n try {\n if (fs.lstatSync(candidate).isSymbolicLink()) {\n throw new Error(`Security: refusing to modify symlinked cache path: ${candidate}`);\n }\n } catch (error) {\n if (isMissingPathError(error)) {\n continue;\n }\n throw error;\n }\n }\n}\n\nfunction cacheDirectoryExists(cacheDir: string): boolean {\n try {\n const stat = fs.lstatSync(cacheDir);\n if (stat.isSymbolicLink()) {\n throw new Error(`Security: refusing to modify symlinked cache path: ${cacheDir}`);\n }\n if (!stat.isDirectory()) {\n throw new Error(`${cacheDir} must be a directory`);\n }\n return true;\n } catch (error) {\n if (isMissingPathError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nfunction removePathIfExists(targetPath: string, cacheDir: string): boolean {\n assertNoSymlinkCachePath(targetPath, cacheDir);\n if (!fs.existsSync(targetPath)) {\n return false;\n }\n\n fs.rmSync(targetPath, { recursive: true, force: true });\n return true;\n}\n\nfunction cacheFileExists(targetPath: string, cacheDir: string): boolean {\n assertNoSymlinkCachePath(targetPath, cacheDir);\n try {\n const stat = fs.lstatSync(targetPath);\n if (stat.isSymbolicLink()) {\n throw new Error(`Security: refusing to modify symlinked cache manifest: ${targetPath}`);\n }\n return stat.isFile();\n } catch (error) {\n if (isMissingPathError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nfunction writeManifestAtomic(manifestPath: string, cacheDir: string, manifest: JsonObject): void {\n const tempPath = `${manifestPath}.${process.pid}.tmp`;\n assertNoSymlinkCachePath(tempPath, cacheDir);\n let fd: number | null = null;\n try {\n fd = fs.openSync(tempPath, \"wx\");\n fs.writeFileSync(fd, `${JSON.stringify(manifest, null, 2)}\\n`, \"utf8\");\n fs.closeSync(fd);\n fd = null;\n fs.renameSync(tempPath, manifestPath);\n } catch (error) {\n if (fd !== null) {\n fs.closeSync(fd);\n }\n fs.rmSync(tempPath, { force: true });\n throw error;\n }\n}\n\nfunction withCacheMutationLock<T>(cacheDir: string, action: () => T): T {\n const lockPath = path.join(cacheDir, CACHE_UPDATE_LOCK);\n assertNoSymlinkCachePath(lockPath, cacheDir);\n let lock: HeldCacheMutationLock | null = null;\n try {\n lock = openCacheMutationLock(lockPath);\n return action();\n } catch (error) {\n if (isExistingPathError(error)) {\n throw new Error(\"another update is already running for this OpenCode cache\");\n }\n throw error;\n } finally {\n if (lock !== null) {\n fs.closeSync(lock.fd);\n removeOwnedCacheMutationLock(lockPath, lock.token);\n }\n }\n}\n\nfunction openCacheMutationLock(lockPath: string): HeldCacheMutationLock {\n try {\n return writeCacheMutationLock(lockPath);\n } catch (error) {\n if (!isExistingPathError(error) || !isStaleCacheMutationLock(lockPath)) {\n throw error;\n }\n removeStaleCacheMutationLock(lockPath);\n return writeCacheMutationLock(lockPath);\n }\n}\n\nfunction writeCacheMutationLock(lockPath: string): HeldCacheMutationLock {\n const fd = fs.openSync(lockPath, \"wx\");\n const token = randomUUID();\n try {\n const lock: CacheMutationLock = { pid: process.pid, createdAt: Date.now(), token };\n fs.writeFileSync(fd, `${JSON.stringify(lock)}\\n`, \"utf8\");\n return { fd, token };\n } catch (error) {\n fs.closeSync(fd);\n fs.rmSync(lockPath, { force: true });\n throw error;\n }\n}\n\nfunction isStaleCacheMutationLock(lockPath: string): boolean {\n const lock = readCacheMutationLock(lockPath);\n if (!lock) {\n return isLegacyCacheMutationLockStale(lockPath);\n }\n if (Date.now() - lock.createdAt < CACHE_LOCK_STALE_MS) {\n return false;\n }\n return !isProcessRunning(lock.pid);\n}\n\nfunction isLegacyCacheMutationLockStale(lockPath: string): boolean {\n try {\n const pid = readLegacyCacheMutationLockPid(lockPath);\n if (pid !== null && isProcessRunning(pid)) {\n return false;\n }\n return Date.now() - fs.statSync(lockPath).mtimeMs >= CACHE_LOCK_STALE_MS;\n } catch {\n return false;\n }\n}\n\nfunction readLegacyCacheMutationLockPid(lockPath: string): number | null {\n const raw = fs.readFileSync(lockPath, \"utf8\").trim();\n if (!/^\\d+$/.test(raw)) {\n return null;\n }\n const pid = Number(raw);\n return Number.isSafeInteger(pid) && pid > 0 ? pid : null;\n}\n\nfunction readCacheMutationLock(lockPath: string): CacheMutationLock | null {\n try {\n const parsed = JSON.parse(fs.readFileSync(lockPath, \"utf8\")) as Partial<CacheMutationLock>;\n const { pid, createdAt, token } = parsed;\n const hasToken = token === undefined || (typeof token === \"string\" && token.length > 0);\n if (typeof pid === \"number\" && typeof createdAt === \"number\" && hasToken\n && Number.isInteger(pid) && Number.isFinite(createdAt)) {\n return token === undefined ? { pid, createdAt } : { pid, createdAt, token };\n }\n } catch {\n return null;\n }\n return null;\n}\n\nfunction isProcessRunning(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return error instanceof Error && \"code\" in error && error.code === \"EPERM\";\n }\n}\n\nfunction createExistingLockError(): NodeJS.ErrnoException {\n const error = new Error(\"cache update lock changed before stale cleanup\") as NodeJS.ErrnoException;\n error.code = \"EEXIST\";\n return error;\n}\n\nfunction removeStaleCacheMutationLock(lockPath: string): void {\n const content = fs.readFileSync(lockPath, \"utf8\");\n if (!isStaleCacheMutationLock(lockPath) || fs.readFileSync(lockPath, \"utf8\") !== content) {\n throw createExistingLockError();\n }\n fs.rmSync(lockPath, { force: true });\n}\n\nfunction removeOwnedCacheMutationLock(lockPath: string, token: string): void {\n const lock = readCacheMutationLock(lockPath);\n if (lock?.token === token) {\n fs.rmSync(lockPath, { force: true });\n }\n}\n\nfunction preflightCacheMutationPaths(cacheDir: string, paths: readonly string[]): void {\n for (const targetPath of paths) {\n assertNoSymlinkCachePath(targetPath, cacheDir);\n }\n}\n\nfunction isJsonObject(value: JsonValue | undefined): value is JsonObject {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction removeDependencyPin(manifest: JsonObject, section: DependencySection): boolean {\n const dependencies = manifest[section];\n if (!isJsonObject(dependencies) || !(PLUGIN_NAME in dependencies)) {\n return false;\n }\n\n delete dependencies[PLUGIN_NAME];\n if (Object.keys(dependencies).length === 0) {\n delete manifest[section];\n }\n return true;\n}\n\nfunction removeManifestPin(cacheDir: string): boolean {\n const manifestPath = path.join(cacheDir, CACHE_MANIFEST);\n if (!cacheFileExists(manifestPath, cacheDir)) {\n return false;\n }\n\n const manifest = JSON.parse(fs.readFileSync(manifestPath, \"utf8\")) as JsonValue;\n if (!isJsonObject(manifest)) {\n throw new Error(`${CACHE_MANIFEST} must contain a JSON object`);\n }\n\n const removed = DEPENDENCY_SECTIONS\n .map((section) => removeDependencyPin(manifest, section))\n .some(Boolean);\n if (removed) {\n writeManifestAtomic(manifestPath, cacheDir, manifest);\n }\n return removed;\n}\n\nexport function runUpdate(): UpdateResult {\n const cacheDir = getCacheDir();\n const nodeModulesDir = path.join(cacheDir, \"node_modules\");\n const pluginCacheDir = path.join(nodeModulesDir, PLUGIN_NAME);\n const pluginPackageCacheDir = path.join(cacheDir, \"packages\", OPENCODE_PACKAGE_ALIAS);\n const lockfilePath = path.join(cacheDir, CACHE_LOCKFILE);\n\n try {\n if (!cacheDirectoryExists(cacheDir)) {\n return {\n success: true,\n message: \"No cached plugin found. OpenCode will install the latest version on next run.\",\n cleared: false\n };\n }\n\n preflightCacheMutationPaths(cacheDir, [\n path.join(cacheDir, CACHE_MANIFEST),\n pluginCacheDir,\n pluginPackageCacheDir,\n lockfilePath,\n path.join(cacheDir, CACHE_UPDATE_LOCK)\n ]);\n const cleared = withCacheMutationLock(cacheDir, () => {\n const manifestPinRemoved = removeManifestPin(cacheDir);\n const packageRemoved = removePathIfExists(pluginCacheDir, cacheDir);\n const aliasedPackageRemoved = removePathIfExists(pluginPackageCacheDir, cacheDir);\n const lockfileRemoved = removePathIfExists(lockfilePath, cacheDir);\n return packageRemoved || aliasedPackageRemoved || manifestPinRemoved || lockfileRemoved;\n });\n\n if (!cleared) {\n return {\n success: true,\n message: \"No cached plugin found. OpenCode will install the latest version on next run.\",\n cleared: false\n };\n }\n\n return {\n success: true,\n message: \"Cache repaired. OpenCode will install the latest version on next run.\",\n cleared: true\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Failed to clear cache: ${message}`,\n cleared: false\n };\n }\n}\n"],"mappings":";AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAE3B,IAAM,cAAc;AACpB,IAAM,iBAAiB;AACvB,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;AAG1B,IAAM,yBAAyB,GAAG,WAAW;AAC7C,IAAM,sBAAsB,KAAK,KAAK;AACtC,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAqBA,SAAS,cAAsB;AAC7B,SAAO,QAAQ,IAAI,sBACT,UAAQ,WAAQ,GAAG,UAAU,UAAU;AACnD;AAEA,SAAS,iBAAiB,YAAoB,UAAwB;AACpE,QAAM,gBAAqB,aAAQ,QAAQ;AAC3C,QAAM,eAAoB,aAAQ,UAAU;AAC5C,QAAM,eAAoB,cAAS,eAAe,YAAY;AAE9D,MAAI,CAAC,gBAAgB,aAAa,WAAW,IAAI,KAAU,gBAAW,YAAY,GAAG;AACnF,UAAM,IAAI,MAAM,8DAA8D,UAAU,EAAE;AAAA,EAC5F;AACF;AAEA,SAAS,mBAAmB,OAAyB;AACnD,SAAO,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS;AACrE;AAEA,SAAS,oBAAoB,OAAyB;AACpD,SAAO,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS;AACrE;AAEA,SAAS,yBAAyB,YAAoB,UAAwB;AAC5E,mBAAiB,YAAY,QAAQ;AACrC,QAAM,gBAAqB,aAAQ,QAAQ;AAC3C,QAAM,mBAAwB,cAAS,eAAoB,aAAQ,UAAU,CAAC,EAAE,MAAW,QAAG,EAAE,OAAO,OAAO;AAC9G,aAAW,aAAa,CAAC,eAAe,GAAG,iBAAiB,IAAI,CAAC,GAAG,UAAe,UAAK,eAAe,GAAG,iBAAiB,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;AACjJ,QAAI;AACF,UAAO,aAAU,SAAS,EAAE,eAAe,GAAG;AAC5C,cAAM,IAAI,MAAM,sDAAsD,SAAS,EAAE;AAAA,MACnF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,mBAAmB,KAAK,GAAG;AAC7B;AAAA,MACF;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,qBAAqB,UAA2B;AACvD,MAAI;AACF,UAAM,OAAU,aAAU,QAAQ;AAClC,QAAI,KAAK,eAAe,GAAG;AACzB,YAAM,IAAI,MAAM,sDAAsD,QAAQ,EAAE;AAAA,IAClF;AACA,QAAI,CAAC,KAAK,YAAY,GAAG;AACvB,YAAM,IAAI,MAAM,GAAG,QAAQ,sBAAsB;AAAA,IACnD;AACA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,QAAI,mBAAmB,KAAK,GAAG;AAC7B,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAEA,SAAS,mBAAmB,YAAoB,UAA2B;AACzE,2BAAyB,YAAY,QAAQ;AAC7C,MAAI,CAAI,cAAW,UAAU,GAAG;AAC9B,WAAO;AAAA,EACT;AAEA,EAAG,UAAO,YAAY,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AACtD,SAAO;AACT;AAEA,SAAS,gBAAgB,YAAoB,UAA2B;AACtE,2BAAyB,YAAY,QAAQ;AAC7C,MAAI;AACF,UAAM,OAAU,aAAU,UAAU;AACpC,QAAI,KAAK,eAAe,GAAG;AACzB,YAAM,IAAI,MAAM,0DAA0D,UAAU,EAAE;AAAA,IACxF;AACA,WAAO,KAAK,OAAO;AAAA,EACrB,SAAS,OAAO;AACd,QAAI,mBAAmB,KAAK,GAAG;AAC7B,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAEA,SAAS,oBAAoB,cAAsB,UAAkB,UAA4B;AAC/F,QAAM,WAAW,GAAG,YAAY,IAAI,QAAQ,GAAG;AAC/C,2BAAyB,UAAU,QAAQ;AAC3C,MAAI,KAAoB;AACxB,MAAI;AACF,SAAQ,YAAS,UAAU,IAAI;AAC/B,IAAG,iBAAc,IAAI,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,GAAM,MAAM;AACrE,IAAG,aAAU,EAAE;AACf,SAAK;AACL,IAAG,cAAW,UAAU,YAAY;AAAA,EACtC,SAAS,OAAO;AACd,QAAI,OAAO,MAAM;AACf,MAAG,aAAU,EAAE;AAAA,IACjB;AACA,IAAG,UAAO,UAAU,EAAE,OAAO,KAAK,CAAC;AACnC,UAAM;AAAA,EACR;AACF;AAEA,SAAS,sBAAyB,UAAkB,QAAoB;AACtE,QAAM,WAAgB,UAAK,UAAU,iBAAiB;AACtD,2BAAyB,UAAU,QAAQ;AAC3C,MAAI,OAAqC;AACzC,MAAI;AACF,WAAO,sBAAsB,QAAQ;AACrC,WAAO,OAAO;AAAA,EAChB,SAAS,OAAO;AACd,QAAI,oBAAoB,KAAK,GAAG;AAC9B,YAAM,IAAI,MAAM,2DAA2D;AAAA,IAC7E;AACA,UAAM;AAAA,EACR,UAAE;AACA,QAAI,SAAS,MAAM;AACjB,MAAG,aAAU,KAAK,EAAE;AACpB,mCAA6B,UAAU,KAAK,KAAK;AAAA,IACnD;AAAA,EACF;AACF;AAEA,SAAS,sBAAsB,UAAyC;AACtE,MAAI;AACF,WAAO,uBAAuB,QAAQ;AAAA,EACxC,SAAS,OAAO;AACd,QAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,yBAAyB,QAAQ,GAAG;AACtE,YAAM;AAAA,IACR;AACA,iCAA6B,QAAQ;AACrC,WAAO,uBAAuB,QAAQ;AAAA,EACxC;AACF;AAEA,SAAS,uBAAuB,UAAyC;AACvE,QAAM,KAAQ,YAAS,UAAU,IAAI;AACrC,QAAM,QAAQ,WAAW;AACzB,MAAI;AACF,UAAM,OAA0B,EAAE,KAAK,QAAQ,KAAK,WAAW,KAAK,IAAI,GAAG,MAAM;AACjF,IAAG,iBAAc,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC;AAAA,GAAM,MAAM;AACxD,WAAO,EAAE,IAAI,MAAM;AAAA,EACrB,SAAS,OAAO;AACd,IAAG,aAAU,EAAE;AACf,IAAG,UAAO,UAAU,EAAE,OAAO,KAAK,CAAC;AACnC,UAAM;AAAA,EACR;AACF;AAEA,SAAS,yBAAyB,UAA2B;AAC3D,QAAM,OAAO,sBAAsB,QAAQ;AAC3C,MAAI,CAAC,MAAM;AACT,WAAO,+BAA+B,QAAQ;AAAA,EAChD;AACA,MAAI,KAAK,IAAI,IAAI,KAAK,YAAY,qBAAqB;AACrD,WAAO;AAAA,EACT;AACA,SAAO,CAAC,iBAAiB,KAAK,GAAG;AACnC;AAEA,SAAS,+BAA+B,UAA2B;AACjE,MAAI;AACF,UAAM,MAAM,+BAA+B,QAAQ;AACnD,QAAI,QAAQ,QAAQ,iBAAiB,GAAG,GAAG;AACzC,aAAO;AAAA,IACT;AACA,WAAO,KAAK,IAAI,IAAO,YAAS,QAAQ,EAAE,WAAW;AAAA,EACvD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAA+B,UAAiC;AACvE,QAAM,MAAS,gBAAa,UAAU,MAAM,EAAE,KAAK;AACnD,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,WAAO;AAAA,EACT;AACA,QAAM,MAAM,OAAO,GAAG;AACtB,SAAO,OAAO,cAAc,GAAG,KAAK,MAAM,IAAI,MAAM;AACtD;AAEA,SAAS,sBAAsB,UAA4C;AACzE,MAAI;AACF,UAAM,SAAS,KAAK,MAAS,gBAAa,UAAU,MAAM,CAAC;AAC3D,UAAM,EAAE,KAAK,WAAW,MAAM,IAAI;AAClC,UAAM,WAAW,UAAU,UAAc,OAAO,UAAU,YAAY,MAAM,SAAS;AACrF,QAAI,OAAO,QAAQ,YAAY,OAAO,cAAc,YAAY,YAC3D,OAAO,UAAU,GAAG,KAAK,OAAO,SAAS,SAAS,GAAG;AACxD,aAAO,UAAU,SAAY,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,WAAW,MAAM;AAAA,IAC5E;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,iBAAiB,KAAsB;AAC9C,MAAI;AACF,YAAQ,KAAK,KAAK,CAAC;AACnB,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS;AAAA,EACrE;AACF;AAEA,SAAS,0BAAiD;AACxD,QAAM,QAAQ,IAAI,MAAM,gDAAgD;AACxE,QAAM,OAAO;AACb,SAAO;AACT;AAEA,SAAS,6BAA6B,UAAwB;AAC5D,QAAM,UAAa,gBAAa,UAAU,MAAM;AAChD,MAAI,CAAC,yBAAyB,QAAQ,KAAQ,gBAAa,UAAU,MAAM,MAAM,SAAS;AACxF,UAAM,wBAAwB;AAAA,EAChC;AACA,EAAG,UAAO,UAAU,EAAE,OAAO,KAAK,CAAC;AACrC;AAEA,SAAS,6BAA6B,UAAkB,OAAqB;AAC3E,QAAM,OAAO,sBAAsB,QAAQ;AAC3C,MAAI,MAAM,UAAU,OAAO;AACzB,IAAG,UAAO,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,EACrC;AACF;AAEA,SAAS,4BAA4B,UAAkB,OAAgC;AACrF,aAAW,cAAc,OAAO;AAC9B,6BAAyB,YAAY,QAAQ;AAAA,EAC/C;AACF;AAEA,SAAS,aAAa,OAAmD;AACvE,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAS,oBAAoB,UAAsB,SAAqC;AACtF,QAAM,eAAe,SAAS,OAAO;AACrC,MAAI,CAAC,aAAa,YAAY,KAAK,EAAE,eAAe,eAAe;AACjE,WAAO;AAAA,EACT;AAEA,SAAO,aAAa,WAAW;AAC/B,MAAI,OAAO,KAAK,YAAY,EAAE,WAAW,GAAG;AAC1C,WAAO,SAAS,OAAO;AAAA,EACzB;AACA,SAAO;AACT;AAEA,SAAS,kBAAkB,UAA2B;AACpD,QAAM,eAAoB,UAAK,UAAU,cAAc;AACvD,MAAI,CAAC,gBAAgB,cAAc,QAAQ,GAAG;AAC5C,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,KAAK,MAAS,gBAAa,cAAc,MAAM,CAAC;AACjE,MAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,UAAM,IAAI,MAAM,GAAG,cAAc,6BAA6B;AAAA,EAChE;AAEA,QAAM,UAAU,oBACb,IAAI,CAAC,YAAY,oBAAoB,UAAU,OAAO,CAAC,EACvD,KAAK,OAAO;AACf,MAAI,SAAS;AACX,wBAAoB,cAAc,UAAU,QAAQ;AAAA,EACtD;AACA,SAAO;AACT;AAEO,SAAS,YAA0B;AACxC,QAAM,WAAW,YAAY;AAC7B,QAAM,iBAAsB,UAAK,UAAU,cAAc;AACzD,QAAM,iBAAsB,UAAK,gBAAgB,WAAW;AAC5D,QAAM,wBAA6B,UAAK,UAAU,YAAY,sBAAsB;AACpF,QAAM,eAAoB,UAAK,UAAU,cAAc;AAEvD,MAAI;AACF,QAAI,CAAC,qBAAqB,QAAQ,GAAG;AACnC,aAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,gCAA4B,UAAU;AAAA,MAC/B,UAAK,UAAU,cAAc;AAAA,MAClC;AAAA,MACA;AAAA,MACA;AAAA,MACK,UAAK,UAAU,iBAAiB;AAAA,IACvC,CAAC;AACD,UAAM,UAAU,sBAAsB,UAAU,MAAM;AACpD,YAAM,qBAAqB,kBAAkB,QAAQ;AACrD,YAAM,iBAAiB,mBAAmB,gBAAgB,QAAQ;AAClE,YAAM,wBAAwB,mBAAmB,uBAAuB,QAAQ;AAChF,YAAM,kBAAkB,mBAAmB,cAAc,QAAQ;AACjE,aAAO,kBAAkB,yBAAyB,sBAAsB;AAAA,IAC1E,CAAC;AAED,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS,0BAA0B,OAAO;AAAA,MAC1C,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hasBundledSkillArtifacts,
|
|
3
3
|
hasManagedBundledSkillInstall
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZMNEWS7A.js";
|
|
5
5
|
import "./chunk-7THCPS52.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-BUVYTJZR.js";
|
|
7
7
|
import "./chunk-TBUCZX4A.js";
|
|
8
8
|
|
|
9
9
|
// src/cli/update-skill-modes.ts
|
|
@@ -35,4 +35,4 @@ function resolveUpdateSkillModes(args) {
|
|
|
35
35
|
export {
|
|
36
36
|
resolveUpdateSkillModes
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=update-skill-modes-
|
|
38
|
+
//# sourceMappingURL=update-skill-modes-3ULKJK3Y.js.map
|
|
@@ -2,25 +2,25 @@ import "./chunk-RJNI3BHT.js";
|
|
|
2
2
|
import {
|
|
3
3
|
parseOptionalStringFlag,
|
|
4
4
|
parseStringArrayFlag
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SKFB5ICF.js";
|
|
6
6
|
import {
|
|
7
7
|
callDaemon
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
9
|
+
import "./chunk-ZOVMMQO6.js";
|
|
10
|
+
import "./chunk-HBK56JST.js";
|
|
11
11
|
import "./chunk-MX3NFLCE.js";
|
|
12
12
|
import "./chunk-ASMHEEKY.js";
|
|
13
13
|
import {
|
|
14
14
|
createUsageError
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-7BNU6DFI.js";
|
|
16
|
+
import "./chunk-QMHKAFYX.js";
|
|
17
|
+
import "./chunk-BUVYTJZR.js";
|
|
18
18
|
import "./chunk-TBUCZX4A.js";
|
|
19
19
|
import "./chunk-Y2KL55OG.js";
|
|
20
20
|
import "./chunk-5SWZDVOW.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-RO3SMXF3.js";
|
|
22
22
|
import "./chunk-S5KZQJJI.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-2X4JFMKJ.js";
|
|
24
24
|
import "./chunk-WHQZBUNY.js";
|
|
25
25
|
import "./chunk-FUSXMW3G.js";
|
|
26
26
|
|
|
@@ -53,4 +53,4 @@ export {
|
|
|
53
53
|
__test__,
|
|
54
54
|
runUpload
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=upload-
|
|
56
|
+
//# sourceMappingURL=upload-GGZC5UQP.js.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import "./chunk-RJNI3BHT.js";
|
|
2
2
|
import {
|
|
3
3
|
callDaemon
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
5
|
+
import "./chunk-ZOVMMQO6.js";
|
|
6
|
+
import "./chunk-HBK56JST.js";
|
|
7
7
|
import "./chunk-MX3NFLCE.js";
|
|
8
8
|
import "./chunk-ASMHEEKY.js";
|
|
9
9
|
import {
|
|
10
10
|
createUsageError
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-7BNU6DFI.js";
|
|
12
|
+
import "./chunk-QMHKAFYX.js";
|
|
13
|
+
import "./chunk-BUVYTJZR.js";
|
|
14
14
|
import "./chunk-TBUCZX4A.js";
|
|
15
15
|
import "./chunk-Y2KL55OG.js";
|
|
16
16
|
import "./chunk-5SWZDVOW.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-RO3SMXF3.js";
|
|
18
18
|
import "./chunk-S5KZQJJI.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-2X4JFMKJ.js";
|
|
20
20
|
import "./chunk-WHQZBUNY.js";
|
|
21
21
|
import "./chunk-FUSXMW3G.js";
|
|
22
22
|
|
|
@@ -60,4 +60,4 @@ async function runTargetUse(args) {
|
|
|
60
60
|
export {
|
|
61
61
|
runTargetUse
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=use-
|
|
63
|
+
//# sourceMappingURL=use-B4Q7CFG2.js.map
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./chunk-RJNI3BHT.js";
|
|
2
2
|
import {
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
8
|
+
import "./chunk-ZOVMMQO6.js";
|
|
9
|
+
import "./chunk-HBK56JST.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
13
13
|
createUsageError
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-7BNU6DFI.js";
|
|
15
|
+
import "./chunk-QMHKAFYX.js";
|
|
16
|
+
import "./chunk-BUVYTJZR.js";
|
|
17
17
|
import "./chunk-TBUCZX4A.js";
|
|
18
18
|
import "./chunk-Y2KL55OG.js";
|
|
19
19
|
import "./chunk-5SWZDVOW.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RO3SMXF3.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2X4JFMKJ.js";
|
|
23
23
|
import "./chunk-WHQZBUNY.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
@@ -68,4 +68,4 @@ async function runDomValue(args) {
|
|
|
68
68
|
export {
|
|
69
69
|
runDomValue
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=value-
|
|
71
|
+
//# sourceMappingURL=value-DHOHO55D.js.map
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./chunk-RJNI3BHT.js";
|
|
2
2
|
import {
|
|
3
3
|
parseOptionalStringFlag
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SKFB5ICF.js";
|
|
5
5
|
import {
|
|
6
6
|
callDaemon
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
8
|
+
import "./chunk-ZOVMMQO6.js";
|
|
9
|
+
import "./chunk-HBK56JST.js";
|
|
10
10
|
import "./chunk-MX3NFLCE.js";
|
|
11
11
|
import "./chunk-ASMHEEKY.js";
|
|
12
12
|
import {
|
|
13
13
|
createUsageError
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-7BNU6DFI.js";
|
|
15
|
+
import "./chunk-QMHKAFYX.js";
|
|
16
|
+
import "./chunk-BUVYTJZR.js";
|
|
17
17
|
import "./chunk-TBUCZX4A.js";
|
|
18
18
|
import "./chunk-Y2KL55OG.js";
|
|
19
19
|
import "./chunk-5SWZDVOW.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RO3SMXF3.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2X4JFMKJ.js";
|
|
23
23
|
import "./chunk-WHQZBUNY.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
@@ -68,4 +68,4 @@ async function runDomVisible(args) {
|
|
|
68
68
|
export {
|
|
69
69
|
runDomVisible
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=visible-
|
|
71
|
+
//# sourceMappingURL=visible-S5BTWYNH.js.map
|
|
@@ -2,25 +2,25 @@ import "./chunk-RJNI3BHT.js";
|
|
|
2
2
|
import {
|
|
3
3
|
parseNumberFlag,
|
|
4
4
|
parseOptionalStringFlag
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SKFB5ICF.js";
|
|
6
6
|
import {
|
|
7
7
|
callDaemon
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-XDLJE3RJ.js";
|
|
9
|
+
import "./chunk-ZOVMMQO6.js";
|
|
10
|
+
import "./chunk-HBK56JST.js";
|
|
11
11
|
import "./chunk-MX3NFLCE.js";
|
|
12
12
|
import "./chunk-ASMHEEKY.js";
|
|
13
13
|
import {
|
|
14
14
|
createUsageError
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-7BNU6DFI.js";
|
|
16
|
+
import "./chunk-QMHKAFYX.js";
|
|
17
|
+
import "./chunk-BUVYTJZR.js";
|
|
18
18
|
import "./chunk-TBUCZX4A.js";
|
|
19
19
|
import "./chunk-Y2KL55OG.js";
|
|
20
20
|
import "./chunk-5SWZDVOW.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-RO3SMXF3.js";
|
|
22
22
|
import "./chunk-S5KZQJJI.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-2X4JFMKJ.js";
|
|
24
24
|
import "./chunk-WHQZBUNY.js";
|
|
25
25
|
import "./chunk-FUSXMW3G.js";
|
|
26
26
|
|
|
@@ -106,4 +106,4 @@ async function runWait(args) {
|
|
|
106
106
|
export {
|
|
107
107
|
runWait
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=wait-
|
|
109
|
+
//# sourceMappingURL=wait-WV6NZUKL.js.map
|
|
@@ -2,24 +2,24 @@ import {
|
|
|
2
2
|
callDesktopCommand,
|
|
3
3
|
desktopCommandResult,
|
|
4
4
|
parseDesktopReasonArgs
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BUXFIY2P.js";
|
|
6
6
|
import "./chunk-RJNI3BHT.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-SKFB5ICF.js";
|
|
8
8
|
import "./chunk-OW5HMYMI.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-XDLJE3RJ.js";
|
|
10
|
+
import "./chunk-ZOVMMQO6.js";
|
|
11
|
+
import "./chunk-HBK56JST.js";
|
|
12
12
|
import "./chunk-MX3NFLCE.js";
|
|
13
13
|
import "./chunk-ASMHEEKY.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-7BNU6DFI.js";
|
|
15
|
+
import "./chunk-QMHKAFYX.js";
|
|
16
|
+
import "./chunk-BUVYTJZR.js";
|
|
17
17
|
import "./chunk-TBUCZX4A.js";
|
|
18
18
|
import "./chunk-Y2KL55OG.js";
|
|
19
19
|
import "./chunk-5SWZDVOW.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RO3SMXF3.js";
|
|
21
21
|
import "./chunk-S5KZQJJI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2X4JFMKJ.js";
|
|
23
23
|
import "./chunk-WHQZBUNY.js";
|
|
24
24
|
import "./chunk-FUSXMW3G.js";
|
|
25
25
|
|
|
@@ -34,4 +34,4 @@ async function runDesktopWindows(args) {
|
|
|
34
34
|
export {
|
|
35
35
|
runDesktopWindows
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=windows-
|
|
37
|
+
//# sourceMappingURL=windows-GKE36DJQ.js.map
|
package/extension/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opendevbrowser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.32",
|
|
4
4
|
"description": "Browser automation runtime with snapshot-refs-actions, browser replay screencasts, public read-only desktop observation, and browser-scoped computer-use orchestration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/skills/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# skills/ — Agent Guidelines
|
|
2
2
|
|
|
3
|
-
Bundled OpenDevBrowser skill directories (
|
|
3
|
+
Bundled OpenDevBrowser skill directories (10 canonical packs). Extends root `AGENTS.md`.
|
|
4
4
|
|
|
5
5
|
## Structure
|
|
6
6
|
|
|
@@ -8,6 +8,7 @@ Bundled OpenDevBrowser skill directories (9 canonical packs). Extends root `AGEN
|
|
|
8
8
|
skills/
|
|
9
9
|
├── opendevbrowser-best-practices/SKILL.md
|
|
10
10
|
├── opendevbrowser-design-agent/SKILL.md
|
|
11
|
+
├── opendevbrowser-motion-design/SKILL.md
|
|
11
12
|
├── opendevbrowser-continuity-ledger/SKILL.md
|
|
12
13
|
├── opendevbrowser-login-automation/SKILL.md
|
|
13
14
|
├── opendevbrowser-form-testing/SKILL.md
|
|
@@ -145,12 +145,16 @@ Rules:
|
|
|
145
145
|
|
|
146
146
|
```bash
|
|
147
147
|
npx opendevbrowser inspiredesign run --brief "Design a premium docs workspace" --url "https://example.com/reference-a" --url "https://example.com/reference-b" --browser-mode managed --use-cookies --challenge-automation-mode browser_with_helper --include-prototype-guidance --mode json --output-format json
|
|
148
|
+
npx opendevbrowser inspiredesign harvest --brief "Design a premium docs workspace" --query "best docs product landing pages" --provider web/default --max-references 5 --visual-evidence required --browser-mode managed --mode path --output-format json
|
|
148
149
|
```
|
|
149
150
|
|
|
150
151
|
Rules:
|
|
151
152
|
- keep inspiredesign references public-first; any supplied `--url` now forces deep capture so the workflow can collect DOM/layout evidence
|
|
152
153
|
- use repeated `--url` flags instead of packed URL strings
|
|
153
|
-
-
|
|
154
|
+
- provide `--query` or at least one `--url` for `inspiredesign harvest`; use `--query` when provider discovery is part of the task
|
|
155
|
+
- use `inspiredesign harvest` when visual reference discovery, screenshot PNG artifacts, ranked references, metadata-only visual JSON, `meta-prompt.md`, or motion-design follow-through is required
|
|
156
|
+
- visual harvest must not bypass `policy_blocked`, unresolved `auth_required`, `challenge_detected`, or `rate_limited`; inspect diagnostics instead of forcing screenshots through blocked references
|
|
157
|
+
- after a successful run or harvest, read `advanced-brief.md` first, inspect `ranked-references.json`, `visual-evidence.json`, `screenshot-index.json`, and `meta-prompt.md` when present, load `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"`, `opendevbrowser_skill_load opendevbrowser-design-agent "canvas-contract"`, and `opendevbrowser_skill_load opendevbrowser-motion-design "quick start"`, fill the ids in `canvas-plan.request.json`, run `opendevbrowser canvas --command canvas.plan.set --params-file ./canvas-plan.request.json`, confirm `planStatus=accepted`, then patch only the governance blocks listed in `design-agent-handoff.json`
|
|
154
158
|
- pair this lane with `opendevbrowser-design-agent` when the brief moves from contract synthesis into implementation or `/canvas`
|
|
155
159
|
|
|
156
160
|
## Agent Sync Targets
|
|
@@ -168,6 +172,9 @@ Install and update refresh managed copies of these canonical packs; uninstall re
|
|
|
168
172
|
- Prefer refs from `opendevbrowser_snapshot` over raw selectors.
|
|
169
173
|
- Use one action per decision loop: snapshot -> action -> snapshot.
|
|
170
174
|
- Keep a single correlation context (`requestId`, `sessionId`) across a run.
|
|
175
|
+
- Before daemon-backed workflows, run `opendevbrowser status --daemon --output-format json` and require `data.fingerprintCurrent === true`.
|
|
176
|
+
- Treat missing or false `data.fingerprintCurrent` as not current; use the matching binary, restart from the current install, or isolate shared runs with `OPENCODE_CONFIG_DIR`, `OPENCODE_CACHE_DIR`, and unique daemon or relay ports.
|
|
177
|
+
- Do not conflate `daemon_fingerprint_mismatch` with native messaging host drift.
|
|
171
178
|
- Run the same workflow shape across all three modes before claiming parity.
|
|
172
179
|
- Default to read/research workflows. Social posting probes remain disabled unless explicitly requested via direct-run opt-in (`--include-social-posts`).
|
|
173
180
|
- Apply rate-limit/backoff discipline (`Retry-After` aware) whenever 429 pressure appears.
|
|
@@ -181,7 +188,7 @@ Install and update refresh managed copies of these canonical packs; uninstall re
|
|
|
181
188
|
- Use default extension `/ops` for relay-backed concurrency; use `/cdp` only for legacy compatibility paths.
|
|
182
189
|
- For managed parallel runs with persisted profiles, use unique profile paths per session (or disable persistence) to avoid profile lock collisions.
|
|
183
190
|
- Treat extension headless attempts (`--extension-only --headless`) as expected `unsupported_mode`; route headless workloads through managed/cdpConnect instead.
|
|
184
|
-
- Before extension-mode runs, preflight `npx opendevbrowser status --daemon` and require `
|
|
191
|
+
- Before extension-mode runs, preflight `npx opendevbrowser status --daemon --output-format json` and require `data.fingerprintCurrent === true`, `data.relay.extensionConnected === true`, and `data.relay.extensionHandshakeComplete === true`.
|
|
185
192
|
|
|
186
193
|
Operational references:
|
|
187
194
|
- `artifacts/provider-workflows.md` (see Workflow E)
|
|
@@ -10,6 +10,7 @@ Canonical inventory of repo-local OpenDevBrowser skill packs and the audit evide
|
|
|
10
10
|
| `opendevbrowser-continuity-ledger` | `doc_only` | `./skills/opendevbrowser-continuity-ledger/scripts/validate-skill-assets.sh` | continuity ownership, ledger template, reply protocol | validator output plus `skill-discovery` and `docs-drift`; no live browser probe | not applicable |
|
|
11
11
|
| `opendevbrowser-data-extraction` | `workflow` | `./skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh` | snapshot, DOM text/html extraction, pagination, quality gates, structured extraction | `node scripts/cli-smoke-test.mjs` plus `node scripts/product-video-fixture-live-probe.mjs` for structured extraction on a repo-local product page | extension unavailable at start if extension mode is audited separately |
|
|
12
12
|
| `opendevbrowser-design-agent` | `browser_surface` | `./skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh` | `/canvas`, annotate send/stored semantics, design contract workflow, real-surface validation | `node scripts/live-regression-direct.mjs`, `node scripts/canvas-competitive-validation.mjs` | extension unavailable at start, optional Figma live smoke |
|
|
13
|
+
| `opendevbrowser-motion-design` | `browser_surface` | `./skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh` | screenshot, debug-trace-snapshot, screencast-start, screencast-stop, `/canvas`, reduced-motion checks, viewport motion matrix | `node scripts/live-regression-direct.mjs`, `node scripts/canvas-competitive-validation.mjs`, `skill-discovery` | extension unavailable at start, reduced-motion emulation unavailable |
|
|
13
14
|
| `opendevbrowser-form-testing` | `workflow` | `./skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh` | snapshot -> type/click -> validation loop, multi-step forms, challenge checkpoints, network correlation | `node scripts/cli-smoke-test.mjs` plus `node scripts/login-fixture-live-probe.mjs` for invalid-submit, MFA, and persistence branches | extension unavailable at start if extension mode is audited separately |
|
|
14
15
|
| `opendevbrowser-login-automation` | `workflow` | `./skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh` | login branching, invalid credential handling, MFA step-up, session validation | `node scripts/login-fixture-live-probe.mjs` | none; proof lane is repo-local |
|
|
15
16
|
| `opendevbrowser-product-presentation-asset` | `workflow` | `./skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh` | `product-video run`, asset-pack assembly, screenshots, evidence mapping | `node scripts/product-video-fixture-live-probe.mjs` | none; proof lane is repo-local |
|
|
@@ -36,12 +37,12 @@ Canonical inventory of repo-local OpenDevBrowser skill packs and the audit evide
|
|
|
36
37
|
|
|
37
38
|
| Audit domain | Covers | Proof lanes | Contract tests | Targeted reruns |
|
|
38
39
|
|---|---|---|---|---|
|
|
39
|
-
| `skills-assets-discovery` | bundled skills
|
|
40
|
+
| `skills-assets-discovery` | bundled skills including `opendevbrowser-motion-design`, validator assets, loader discovery, install targets | `skill-discovery`, `docs-drift` | `tests/skill-loader.test.ts`, `tests/skill-workflow-packs.test.ts`, `tests/cli-skills-installer.test.ts` | `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`, `./skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh`, `node scripts/skill-runtime-audit.mjs --smoke --out artifacts/skill-runtime-audit/smoke.json` |
|
|
40
41
|
| `cli-tools-surface` | CLI args/help, tool registry, surface inventory docs, generated help, onboarding metadata, and first-contact owners | `docs-drift`, `cli-smoke` | `tests/cli-help.test.ts`, `tests/cli-help-parity.test.ts`, `tests/daemon-commands.integration.test.ts` | `node scripts/docs-drift-check.mjs`, `node scripts/cli-smoke-test.mjs` |
|
|
41
42
|
| `scripts-and-governance` | audit scripts, workflow router, drift and robustness policy, machine matrix, prose mirror, and surface-audit checklist | `docs-drift`, `best-practices-robustness`, `skill-discovery` | `tests/docs-drift-check.test.ts`, `tests/skill-runtime-audit.test.ts`, `tests/audit-zombie-files.test.ts` | `./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh`, `node scripts/docs-drift-check.mjs` |
|
|
42
43
|
| `browser-snapshot-interaction` | browser lifecycle, snapshot refs, DOM reads, click/type flows | `cli-smoke`, `login-fixture`, `product-video-fixture` | `tests/tools-workflows.test.ts`, `tests/tools-workflows-branches.test.ts`, `tests/browser-manager.test.ts` | `node scripts/cli-smoke-test.mjs`, `node scripts/login-fixture-live-probe.mjs --out artifacts/skill-runtime-audit/lanes/login-fixture.json` |
|
|
43
|
-
| `canvas-annotate-design` | `/canvas`, annotate delivery, design-agent workflow, extension canvas runtime | `live-regression`, `canvas-competitive` | `tests/canvas-command-inventory.test.ts`, `tests/canvas-live-workflow-script.test.ts`, `tests/annotate-live-probe-script.test.ts` | `node scripts/live-regression-direct.mjs --out artifacts/skill-runtime-audit/lanes/live-regression.json`, `node scripts/canvas-competitive-validation.mjs --out artifacts/skill-runtime-audit/lanes/canvas-competitive.json` |
|
|
44
|
-
| `extension-relay-cdp` | extension `/ops`, relay contracts, legacy CDP, target-session routing | `live-regression`, `docs-drift` | `tests/parity-matrix.test.ts`, `tests/relay-server.test.ts`, `tests/ops-browser-manager.test.ts` | `node scripts/live-regression-direct.mjs --out artifacts/skill-runtime-audit/lanes/live-regression.json`, `./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh cdp-channel-check` |
|
|
44
|
+
| `canvas-annotate-design` | `/canvas`, annotate delivery, design-agent workflow, motion-design temporal evidence workflow, extension canvas runtime | `live-regression`, `canvas-competitive` | `tests/canvas-command-inventory.test.ts`, `tests/canvas-live-workflow-script.test.ts`, `tests/annotate-live-probe-script.test.ts` | `node scripts/live-regression-direct.mjs --out artifacts/skill-runtime-audit/lanes/live-regression.json`, `node scripts/canvas-competitive-validation.mjs --out artifacts/skill-runtime-audit/lanes/canvas-competitive.json`, `./skills/opendevbrowser-motion-design/scripts/validate-skill-assets.sh` |
|
|
45
|
+
| `extension-relay-cdp` | extension `/ops`, relay contracts, legacy CDP, target-session routing, motion-design replay parity | `live-regression`, `docs-drift` | `tests/parity-matrix.test.ts`, `tests/relay-server.test.ts`, `tests/ops-browser-manager.test.ts` | `node scripts/live-regression-direct.mjs --out artifacts/skill-runtime-audit/lanes/live-regression.json`, `./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh cdp-channel-check` |
|
|
45
46
|
| `providers-macros-workflows` | providers, workflow wrappers, inspiredesign contract synthesis, macro resolve or execute, product-video | `provider-direct`, `research-live`, `product-video-fixture` | `tests/provider-direct-runs.test.ts`, `tests/macro-resolve.test.ts`, `tests/cli-macro-resolve.test.ts`, `tests/providers-inspiredesign-workflow.test.ts` | `node scripts/provider-direct-runs.mjs --smoke --out artifacts/skill-runtime-audit/lanes/provider-direct.json`, `npm run test -- tests/macro-resolve.test.ts tests/cli-macro-resolve.test.ts tests/providers-inspiredesign-workflow.test.ts` |
|
|
46
47
|
| `challenges-and-guardrails` | challenge coordinator, browser-scoped `challengeAutomationMode` computer-use boundary, login/form challenge branches, blocker envelopes | `login-fixture`, `provider-direct`, `research-live`, `live-regression` | `tests/challenges-capability-matrix.test.ts`, `tests/browser-manager-challenge-runtime-handle.test.ts`, `tests/ops-browser-manager-challenge-runtime-handle.test.ts` | `node scripts/login-fixture-live-probe.mjs --out artifacts/skill-runtime-audit/lanes/login-fixture.json`, `node scripts/provider-direct-runs.mjs --smoke --out artifacts/skill-runtime-audit/lanes/provider-direct.json` |
|
|
47
48
|
| `runtime-infrastructure` | bootstrap, runtime factory, daemon client, shared hub utilities | `cli-smoke`, `live-regression` | `tests/core-bootstrap.test.ts`, `tests/providers-runtime-factory.test.ts`, `tests/daemon-client.test.ts` | `npm run test -- tests/core-bootstrap.test.ts tests/providers-runtime-factory.test.ts tests/daemon-client.test.ts`, `node scripts/cli-smoke-test.mjs` |
|