opendevbrowser 0.0.28 → 0.0.29
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 +2 -2
- package/dist/accessibility-snapshot-PA6NWNS7.js +39 -0
- package/dist/accessibility-snapshot-PA6NWNS7.js.map +1 -0
- package/dist/active-window-YNYTIPZN.js +37 -0
- package/dist/active-window-YNYTIPZN.js.map +1 -0
- package/dist/annotate-STYHXZYJ.js +205 -0
- package/dist/annotate-STYHXZYJ.js.map +1 -0
- package/dist/artifacts-KJ6RNDO2.js +120 -0
- package/dist/artifacts-KJ6RNDO2.js.map +1 -0
- package/dist/attr-GHFZZ4SA.js +84 -0
- package/dist/attr-GHFZZ4SA.js.map +1 -0
- package/dist/browser/ops-client.d.ts +1 -0
- package/dist/browser/ops-client.d.ts.map +1 -1
- package/dist/canvas-54FBOEGP.js +309 -0
- package/dist/canvas-54FBOEGP.js.map +1 -0
- package/dist/capture-desktop-SNABC24E.js +38 -0
- package/dist/capture-desktop-SNABC24E.js.map +1 -0
- package/dist/capture-window-UJSB5AMP.js +40 -0
- package/dist/capture-window-UJSB5AMP.js.map +1 -0
- package/dist/check-ST5UQ2F5.js +71 -0
- package/dist/check-ST5UQ2F5.js.map +1 -0
- package/dist/checked-IEMWI5CU.js +71 -0
- package/dist/checked-IEMWI5CU.js.map +1 -0
- package/dist/chunk-2CG4SW3E.js +64 -0
- package/dist/chunk-2CG4SW3E.js.map +1 -0
- package/dist/chunk-2SIMIPLY.js +67 -0
- package/dist/chunk-2SIMIPLY.js.map +1 -0
- package/dist/chunk-37VSRUW4.js +141 -0
- package/dist/chunk-37VSRUW4.js.map +1 -0
- package/dist/chunk-5SWZDVOW.js +144 -0
- package/dist/chunk-5SWZDVOW.js.map +1 -0
- package/dist/chunk-6PVZ2ABC.js +429 -0
- package/dist/chunk-6PVZ2ABC.js.map +1 -0
- package/dist/chunk-7GVOUZMQ.js +64 -0
- package/dist/chunk-7GVOUZMQ.js.map +1 -0
- package/dist/chunk-7THCPS52.js +84 -0
- package/dist/chunk-7THCPS52.js.map +1 -0
- package/dist/chunk-ASMHEEKY.js +10 -0
- package/dist/chunk-ASMHEEKY.js.map +1 -0
- package/dist/chunk-DBF5OKH3.js +111 -0
- package/dist/chunk-DBF5OKH3.js.map +1 -0
- package/dist/chunk-DW4TX7MU.js +54 -0
- package/dist/chunk-DW4TX7MU.js.map +1 -0
- package/dist/chunk-IPE7TF2P.js +54 -0
- package/dist/chunk-IPE7TF2P.js.map +1 -0
- package/dist/chunk-IQTJHXZJ.js +126 -0
- package/dist/chunk-IQTJHXZJ.js.map +1 -0
- package/dist/chunk-J47N77VG.js +2969 -0
- package/dist/chunk-J47N77VG.js.map +1 -0
- package/dist/chunk-JZXD6FWR.js +25 -0
- package/dist/chunk-JZXD6FWR.js.map +1 -0
- package/dist/{chunk-QVWOPIZJ.js → chunk-KDSNXS6N.js} +75 -149
- package/dist/chunk-KDSNXS6N.js.map +1 -0
- package/dist/chunk-KZ2IXVQT.js +219 -0
- package/dist/chunk-KZ2IXVQT.js.map +1 -0
- package/dist/chunk-LBPELU7L.js +3649 -0
- package/dist/chunk-LBPELU7L.js.map +1 -0
- package/dist/chunk-MX3NFLCE.js +940 -0
- package/dist/chunk-MX3NFLCE.js.map +1 -0
- package/dist/chunk-N44UXKIB.js +26 -0
- package/dist/chunk-N44UXKIB.js.map +1 -0
- package/dist/chunk-OW5HMYMI.js +19 -0
- package/dist/chunk-OW5HMYMI.js.map +1 -0
- package/dist/chunk-OYNLAZQU.js +838 -0
- package/dist/chunk-OYNLAZQU.js.map +1 -0
- package/dist/chunk-PDPJN2OP.js +17 -0
- package/dist/chunk-PDPJN2OP.js.map +1 -0
- package/dist/chunk-RCZZGGJS.js +226 -0
- package/dist/chunk-RCZZGGJS.js.map +1 -0
- package/dist/chunk-RJNI3BHT.js +1 -0
- package/dist/chunk-RPXWUCQQ.js +112 -0
- package/dist/chunk-RPXWUCQQ.js.map +1 -0
- package/dist/chunk-S5KZQJJI.js +107 -0
- package/dist/chunk-S5KZQJJI.js.map +1 -0
- package/dist/{chunk-T3VVHJTK.js → chunk-S6S2UP6U.js} +1074 -1459
- package/dist/chunk-S6S2UP6U.js.map +1 -0
- package/dist/{chunk-I5ZCOZZV.js → chunk-SXAGSEKZ.js} +1202 -9561
- package/dist/chunk-SXAGSEKZ.js.map +1 -0
- package/dist/chunk-T4GMCW6Z.js +46 -0
- package/dist/chunk-T4GMCW6Z.js.map +1 -0
- package/dist/chunk-WHQZBUNY.js +982 -0
- package/dist/chunk-WHQZBUNY.js.map +1 -0
- package/dist/chunk-WOXBLP7V.js +610 -0
- package/dist/chunk-WOXBLP7V.js.map +1 -0
- package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
- package/dist/cli/commands/macro-resolve.d.ts +4 -1
- package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
- package/dist/cli/commands/product-video.d.ts.map +1 -1
- package/dist/cli/commands/research.d.ts.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/shopping.d.ts.map +1 -1
- package/dist/cli/commands/workflow-output.d.ts +2 -0
- package/dist/cli/commands/workflow-output.d.ts.map +1 -0
- package/dist/cli/daemon-commands.d.ts.map +1 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/index.js +204 -8123
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installers/postinstall-skill-sync.js +2 -1
- package/dist/cli/installers/postinstall-skill-sync.js.map +1 -1
- package/dist/cli/remote-relay.d.ts.map +1 -1
- package/dist/click-TENZA3Y6.js +81 -0
- package/dist/click-TENZA3Y6.js.map +1 -0
- package/dist/clone-component-STH5AR6M.js +82 -0
- package/dist/clone-component-STH5AR6M.js.map +1 -0
- package/dist/clone-page-BSTWAPAJ.js +69 -0
- package/dist/clone-page-BSTWAPAJ.js.map +1 -0
- package/dist/close-CEMMAAM7.js +63 -0
- package/dist/close-CEMMAAM7.js.map +1 -0
- package/dist/close-QCWUNRAI.js +63 -0
- package/dist/close-QCWUNRAI.js.map +1 -0
- package/dist/connect-J3RVSEZF.js +107 -0
- package/dist/connect-J3RVSEZF.js.map +1 -0
- package/dist/console-poll-HL7BVIVX.js +76 -0
- package/dist/console-poll-HL7BVIVX.js.map +1 -0
- package/dist/cookie-import-WMUCIIHN.js +177 -0
- package/dist/cookie-import-WMUCIIHN.js.map +1 -0
- package/dist/cookie-list-PB2N4RPH.js +117 -0
- package/dist/cookie-list-PB2N4RPH.js.map +1 -0
- package/dist/daemon-5KSVMGN4.js +194 -0
- package/dist/daemon-5KSVMGN4.js.map +1 -0
- package/dist/daemon-fingerprint.json +1 -1
- package/dist/debug-trace-snapshot-RK7KDXA5.js +136 -0
- package/dist/debug-trace-snapshot-RK7KDXA5.js.map +1 -0
- package/dist/dialog-P6P4U7XE.js +75 -0
- package/dist/dialog-P6P4U7XE.js.map +1 -0
- package/dist/disconnect-32F7IDIP.js +58 -0
- package/dist/disconnect-32F7IDIP.js.map +1 -0
- package/dist/enabled-A6C6ZM2O.js +71 -0
- package/dist/enabled-A6C6ZM2O.js.map +1 -0
- package/dist/extension-extractor-GKWSFHPN.js +11 -0
- package/dist/extension-extractor-GKWSFHPN.js.map +1 -0
- package/dist/global-D6WLWBXA.js +56 -0
- package/dist/global-D6WLWBXA.js.map +1 -0
- package/dist/goto-ULTSABDM.js +98 -0
- package/dist/goto-ULTSABDM.js.map +1 -0
- package/dist/help-EKKKEDL5.js +491 -0
- package/dist/help-EKKKEDL5.js.map +1 -0
- package/dist/hover-UF2ZUMTQ.js +71 -0
- package/dist/hover-UF2ZUMTQ.js.map +1 -0
- package/dist/html-B6TX7GK7.js +84 -0
- package/dist/html-B6TX7GK7.js.map +1 -0
- package/dist/index.js +68 -34
- package/dist/index.js.map +1 -1
- package/dist/inspector-6S5FKUZQ.js +62 -0
- package/dist/inspector-6S5FKUZQ.js.map +1 -0
- package/dist/inspector-audit-ARGEGOS7.js +84 -0
- package/dist/inspector-audit-ARGEGOS7.js.map +1 -0
- package/dist/inspector-plan-CSG5HZOC.js +69 -0
- package/dist/inspector-plan-CSG5HZOC.js.map +1 -0
- package/dist/inspiredesign-7VRMMZN4.js +234 -0
- package/dist/inspiredesign-7VRMMZN4.js.map +1 -0
- package/dist/install-autostart-output-5DOMKCQL.js +41 -0
- package/dist/install-autostart-output-5DOMKCQL.js.map +1 -0
- package/dist/install-autostart-reconciliation-NHKOFYTD.js +73 -0
- package/dist/install-autostart-reconciliation-NHKOFYTD.js.map +1 -0
- package/dist/launch-REYCIR3Z.js +225 -0
- package/dist/launch-REYCIR3Z.js.map +1 -0
- package/dist/list-NPRXRQY2.js +51 -0
- package/dist/list-NPRXRQY2.js.map +1 -0
- package/dist/list-STYD2ZWA.js +54 -0
- package/dist/list-STYD2ZWA.js.map +1 -0
- package/dist/local-HXJLUUNT.js +54 -0
- package/dist/local-HXJLUUNT.js.map +1 -0
- package/dist/macro-resolve-ZIJZ65QI.js +253 -0
- package/dist/macro-resolve-ZIJZ65QI.js.map +1 -0
- package/dist/macros/execute-runtime.d.ts +3 -1
- package/dist/macros/execute-runtime.d.ts.map +1 -1
- package/dist/macros/execute.d.ts +2 -0
- package/dist/macros/execute.d.ts.map +1 -1
- package/dist/native-UPLVQ2SG.js +22 -0
- package/dist/native-UPLVQ2SG.js.map +1 -0
- package/dist/network-poll-HLDOSC72.js +76 -0
- package/dist/network-poll-HLDOSC72.js.map +1 -0
- package/dist/new-HXLLN6UT.js +69 -0
- package/dist/new-HXLLN6UT.js.map +1 -0
- package/dist/onboarding-metadata-7E3KLYSZ.js +27 -0
- package/dist/onboarding-metadata-7E3KLYSZ.js.map +1 -0
- package/dist/open-KDR25LQZ.js +81 -0
- package/dist/open-KDR25LQZ.js.map +1 -0
- package/dist/opendevbrowser.js +68 -34
- package/dist/opendevbrowser.js.map +1 -1
- package/dist/perf-EM6SWFJ6.js +58 -0
- package/dist/perf-EM6SWFJ6.js.map +1 -0
- package/dist/pointer-down-ZYWRZNCH.js +55 -0
- package/dist/pointer-down-ZYWRZNCH.js.map +1 -0
- package/dist/pointer-drag-LVEAVJO4.js +54 -0
- package/dist/pointer-drag-LVEAVJO4.js.map +1 -0
- package/dist/pointer-move-7SRKUS66.js +52 -0
- package/dist/pointer-move-7SRKUS66.js.map +1 -0
- package/dist/pointer-up-KLDBSK37.js +55 -0
- package/dist/pointer-up-KLDBSK37.js.map +1 -0
- package/dist/press-UIIXFTD7.js +83 -0
- package/dist/press-UIIXFTD7.js.map +1 -0
- package/dist/product-video-PYOXJVAI.js +235 -0
- package/dist/product-video-PYOXJVAI.js.map +1 -0
- package/dist/providers/artifacts.d.ts +0 -2
- package/dist/providers/artifacts.d.ts.map +1 -1
- package/dist/providers/blocker.d.ts.map +1 -1
- package/dist/providers/bounded-map.d.ts +2 -0
- package/dist/providers/bounded-map.d.ts.map +1 -0
- package/dist/providers/community/index.d.ts.map +1 -1
- package/dist/providers/constraint.d.ts.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/renderer.d.ts.map +1 -1
- package/dist/providers/research-compiler.d.ts +1 -1
- package/dist/providers/research-compiler.d.ts.map +1 -1
- package/dist/providers/research-executor.d.ts.map +1 -1
- package/dist/providers/runtime-factory.d.ts.map +1 -1
- package/dist/providers/shared/traversal-url.d.ts +3 -0
- package/dist/providers/shared/traversal-url.d.ts.map +1 -1
- package/dist/providers/shopping/index.d.ts.map +1 -1
- package/dist/providers/social/search-quality.d.ts.map +1 -1
- package/dist/providers/workflow-handoff.d.ts +4 -0
- package/dist/providers/workflow-handoff.d.ts.map +1 -1
- package/dist/providers/workflows.d.ts.map +1 -1
- package/dist/{providers-QF2RFB4J.js → providers-4YY2BLXG.js} +19 -14
- package/dist/providers-4YY2BLXG.js.map +1 -0
- package/dist/public-surface/generated-manifest.d.ts +2 -2
- 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/relay/protocol.d.ts +3 -1
- package/dist/relay/protocol.d.ts.map +1 -1
- package/dist/relay/relay-server.d.ts +6 -0
- package/dist/relay/relay-server.d.ts.map +1 -1
- package/dist/research-CKXMJ2DK.js +295 -0
- package/dist/research-CKXMJ2DK.js.map +1 -0
- package/dist/review-7HWJPZOD.js +48 -0
- package/dist/review-7HWJPZOD.js.map +1 -0
- package/dist/review-desktop-2IBJHFB5.js +54 -0
- package/dist/review-desktop-2IBJHFB5.js.map +1 -0
- package/dist/rpc-3HGIEJUO.js +159 -0
- package/dist/rpc-3HGIEJUO.js.map +1 -0
- package/dist/run-ADRYI3MS.js +180 -0
- package/dist/run-ADRYI3MS.js.map +1 -0
- package/dist/screencast-start-DTLUHD5H.js +67 -0
- package/dist/screencast-start-DTLUHD5H.js.map +1 -0
- package/dist/screencast-stop-54C5LRSS.js +59 -0
- package/dist/screencast-stop-54C5LRSS.js.map +1 -0
- package/dist/screenshot-HOAKR7P7.js +68 -0
- package/dist/screenshot-HOAKR7P7.js.map +1 -0
- package/dist/scroll-IAOO5COY.js +84 -0
- package/dist/scroll-IAOO5COY.js.map +1 -0
- package/dist/scroll-into-view-RKWSLAPH.js +71 -0
- package/dist/scroll-into-view-RKWSLAPH.js.map +1 -0
- package/dist/select-IGD3T6X4.js +86 -0
- package/dist/select-IGD3T6X4.js.map +1 -0
- package/dist/serve-7X4INUCU.js +498 -0
- package/dist/serve-7X4INUCU.js.map +1 -0
- package/dist/shopping-FC6DRW76.js +273 -0
- package/dist/shopping-FC6DRW76.js.map +1 -0
- package/dist/skill-lifecycle-5UAZGKSN.js +89 -0
- package/dist/skill-lifecycle-5UAZGKSN.js.map +1 -0
- package/dist/skills-NSXDX6YM.js +26 -0
- package/dist/skills-NSXDX6YM.js.map +1 -0
- package/dist/snapshot-X22GG324.js +113 -0
- package/dist/snapshot-X22GG324.js.map +1 -0
- package/dist/status-SP55LMNW.js +132 -0
- package/dist/status-SP55LMNW.js.map +1 -0
- package/dist/status-VH2WXIDG.js +35 -0
- package/dist/status-VH2WXIDG.js.map +1 -0
- package/dist/status-capabilities-YBERLRRA.js +57 -0
- package/dist/status-capabilities-YBERLRRA.js.map +1 -0
- package/dist/text-6TB5WNLI.js +84 -0
- package/dist/text-6TB5WNLI.js.map +1 -0
- package/dist/tools/macro_resolve.d.ts.map +1 -1
- package/dist/type-3UI3TQH3.js +94 -0
- package/dist/type-3UI3TQH3.js.map +1 -0
- package/dist/uncheck-5L3D2D4U.js +71 -0
- package/dist/uncheck-5L3D2D4U.js.map +1 -0
- package/dist/uninstall-KYKGJAX7.js +91 -0
- package/dist/uninstall-KYKGJAX7.js.map +1 -0
- package/dist/update-SMXPYGXS.js +305 -0
- package/dist/update-SMXPYGXS.js.map +1 -0
- package/dist/update-skill-modes-BVX7IVMW.js +38 -0
- package/dist/update-skill-modes-BVX7IVMW.js.map +1 -0
- package/dist/upload-YG4J2EMI.js +56 -0
- package/dist/upload-YG4J2EMI.js.map +1 -0
- package/dist/use-V3LGFP3K.js +63 -0
- package/dist/use-V3LGFP3K.js.map +1 -0
- package/dist/value-3247D57X.js +71 -0
- package/dist/value-3247D57X.js.map +1 -0
- package/dist/visible-A7HEV36U.js +71 -0
- package/dist/visible-A7HEV36U.js.map +1 -0
- package/dist/wait-UZPP4Y4R.js +109 -0
- package/dist/wait-UZPP4Y4R.js.map +1 -0
- package/dist/windows-76TR3AIP.js +37 -0
- package/dist/windows-76TR3AIP.js.map +1 -0
- package/extension/dist/background.js +99 -22
- package/extension/dist/ops/ops-runtime.js +85 -7
- package/extension/dist/ops/ops-session-store.js +3 -0
- package/extension/dist/ops/target-session-coordinator.js +3 -0
- package/extension/dist/services/CDPRouter.js +9 -0
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/opendevbrowser-best-practices/SKILL.md +8 -6
- package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +1 -1
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +3 -2
- package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +39 -2
- package/skills/opendevbrowser-research/SKILL.md +64 -12
- package/skills/opendevbrowser-research/artifacts/research-workflows.md +56 -19
- package/skills/opendevbrowser-research/assets/templates/compact.md +31 -5
- package/skills/opendevbrowser-research/assets/templates/context.json +52 -1
- package/skills/opendevbrowser-research/assets/templates/report.md +57 -4
- package/skills/opendevbrowser-research/examples/sample-input.json +1 -1
- package/skills/opendevbrowser-research/examples/sample-output.md +27 -2
- package/skills/opendevbrowser-research/scripts/run-research.sh +2 -6
- package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +115 -1
- package/dist/chunk-I5ZCOZZV.js.map +0 -1
- package/dist/chunk-QVWOPIZJ.js.map +0 -1
- package/dist/chunk-T3VVHJTK.js.map +0 -1
- /package/dist/{providers-QF2RFB4J.js.map → chunk-RJNI3BHT.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.29.tgz
|
|
112
112
|
npx --no-install opendevbrowser --help
|
|
113
113
|
npx --no-install opendevbrowser help
|
|
114
114
|
```
|
|
@@ -257,7 +257,7 @@ Start every surface check from generated help when you need the current public l
|
|
|
257
257
|
|
|
258
258
|
- `screencast / browser replay`: `screencast-start`, `screencast-stop`
|
|
259
259
|
- `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
|
|
260
|
-
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, `inspiredesign run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --
|
|
260
|
+
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, `inspiredesign run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --sources web,community --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
|
|
261
261
|
|
|
262
262
|
## Challenge Handling Boundary
|
|
263
263
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {
|
|
2
|
+
callDesktopCommand,
|
|
3
|
+
desktopCommandResult,
|
|
4
|
+
parseDesktopWindowReasonArgs,
|
|
5
|
+
requireDesktopReason
|
|
6
|
+
} from "./chunk-2CG4SW3E.js";
|
|
7
|
+
import "./chunk-RJNI3BHT.js";
|
|
8
|
+
import "./chunk-RPXWUCQQ.js";
|
|
9
|
+
import "./chunk-OW5HMYMI.js";
|
|
10
|
+
import "./chunk-OYNLAZQU.js";
|
|
11
|
+
import "./chunk-LBPELU7L.js";
|
|
12
|
+
import "./chunk-SXAGSEKZ.js";
|
|
13
|
+
import "./chunk-MX3NFLCE.js";
|
|
14
|
+
import "./chunk-ASMHEEKY.js";
|
|
15
|
+
import "./chunk-IPE7TF2P.js";
|
|
16
|
+
import "./chunk-STGGGVYT.js";
|
|
17
|
+
import "./chunk-3ILXPKSJ.js";
|
|
18
|
+
import "./chunk-TBUCZX4A.js";
|
|
19
|
+
import "./chunk-Y2KL55OG.js";
|
|
20
|
+
import "./chunk-5SWZDVOW.js";
|
|
21
|
+
import "./chunk-S6S2UP6U.js";
|
|
22
|
+
import "./chunk-S5KZQJJI.js";
|
|
23
|
+
import "./chunk-KZ2IXVQT.js";
|
|
24
|
+
import "./chunk-WHQZBUNY.js";
|
|
25
|
+
import "./chunk-FUSXMW3G.js";
|
|
26
|
+
|
|
27
|
+
// src/cli/commands/desktop/accessibility-snapshot.ts
|
|
28
|
+
async function runDesktopAccessibilitySnapshot(args) {
|
|
29
|
+
const { windowId, reason, timeoutMs } = parseDesktopWindowReasonArgs(args.rawArgs);
|
|
30
|
+
const result = await callDesktopCommand("desktop.accessibility.snapshot", {
|
|
31
|
+
reason: requireDesktopReason(reason),
|
|
32
|
+
...typeof windowId === "string" ? { windowId } : {}
|
|
33
|
+
}, timeoutMs);
|
|
34
|
+
return desktopCommandResult("Desktop accessibility snapshot captured.", result);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
runDesktopAccessibilitySnapshot
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=accessibility-snapshot-PA6NWNS7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/desktop/accessibility-snapshot.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport {\n callDesktopCommand,\n desktopCommandResult,\n parseDesktopWindowReasonArgs,\n requireDesktopReason\n} from \"./shared\";\n\nexport async function runDesktopAccessibilitySnapshot(args: ParsedArgs) {\n const { windowId, reason, timeoutMs } = parseDesktopWindowReasonArgs(args.rawArgs);\n const result = await callDesktopCommand(\"desktop.accessibility.snapshot\", {\n reason: requireDesktopReason(reason),\n ...(typeof windowId === \"string\" ? { windowId } : {})\n }, timeoutMs);\n return desktopCommandResult(\"Desktop accessibility snapshot captured.\", result);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,eAAsB,gCAAgC,MAAkB;AACtE,QAAM,EAAE,UAAU,QAAQ,UAAU,IAAI,6BAA6B,KAAK,OAAO;AACjF,QAAM,SAAS,MAAM,mBAAmB,kCAAkC;AAAA,IACxE,QAAQ,qBAAqB,MAAM;AAAA,IACnC,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,GAAG,SAAS;AACZ,SAAO,qBAAqB,4CAA4C,MAAM;AAChF;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
callDesktopCommand,
|
|
3
|
+
desktopCommandResult,
|
|
4
|
+
parseDesktopReasonArgs
|
|
5
|
+
} from "./chunk-2CG4SW3E.js";
|
|
6
|
+
import "./chunk-RJNI3BHT.js";
|
|
7
|
+
import "./chunk-RPXWUCQQ.js";
|
|
8
|
+
import "./chunk-OW5HMYMI.js";
|
|
9
|
+
import "./chunk-OYNLAZQU.js";
|
|
10
|
+
import "./chunk-LBPELU7L.js";
|
|
11
|
+
import "./chunk-SXAGSEKZ.js";
|
|
12
|
+
import "./chunk-MX3NFLCE.js";
|
|
13
|
+
import "./chunk-ASMHEEKY.js";
|
|
14
|
+
import "./chunk-IPE7TF2P.js";
|
|
15
|
+
import "./chunk-STGGGVYT.js";
|
|
16
|
+
import "./chunk-3ILXPKSJ.js";
|
|
17
|
+
import "./chunk-TBUCZX4A.js";
|
|
18
|
+
import "./chunk-Y2KL55OG.js";
|
|
19
|
+
import "./chunk-5SWZDVOW.js";
|
|
20
|
+
import "./chunk-S6S2UP6U.js";
|
|
21
|
+
import "./chunk-S5KZQJJI.js";
|
|
22
|
+
import "./chunk-KZ2IXVQT.js";
|
|
23
|
+
import "./chunk-WHQZBUNY.js";
|
|
24
|
+
import "./chunk-FUSXMW3G.js";
|
|
25
|
+
|
|
26
|
+
// src/cli/commands/desktop/active-window.ts
|
|
27
|
+
async function runDesktopActiveWindow(args) {
|
|
28
|
+
const { reason, timeoutMs } = parseDesktopReasonArgs(args.rawArgs);
|
|
29
|
+
const result = await callDesktopCommand("desktop.window.active", {
|
|
30
|
+
...typeof reason === "string" ? { reason } : {}
|
|
31
|
+
}, timeoutMs);
|
|
32
|
+
return desktopCommandResult("Active desktop window captured.", result);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
runDesktopActiveWindow
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=active-window-YNYTIPZN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/desktop/active-window.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDesktopCommand, desktopCommandResult, parseDesktopReasonArgs } from \"./shared\";\n\nexport async function runDesktopActiveWindow(args: ParsedArgs) {\n const { reason, timeoutMs } = parseDesktopReasonArgs(args.rawArgs);\n const result = await callDesktopCommand(\"desktop.window.active\", {\n ...(typeof reason === \"string\" ? { reason } : {})\n }, timeoutMs);\n return desktopCommandResult(\"Active desktop window captured.\", result);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsB,uBAAuB,MAAkB;AAC7D,QAAM,EAAE,QAAQ,UAAU,IAAI,uBAAuB,KAAK,OAAO;AACjE,QAAM,SAAS,MAAM,mBAAmB,yBAAyB;AAAA,IAC/D,GAAI,OAAO,WAAW,WAAW,EAAE,OAAO,IAAI,CAAC;AAAA,EACjD,GAAG,SAAS;AACZ,SAAO,qBAAqB,mCAAmC,MAAM;AACvE;","names":[]}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseNumberFlag
|
|
3
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
4
|
+
import {
|
|
5
|
+
buildAnnotateResult
|
|
6
|
+
} from "./chunk-IQTJHXZJ.js";
|
|
7
|
+
import {
|
|
8
|
+
DaemonClient
|
|
9
|
+
} from "./chunk-OYNLAZQU.js";
|
|
10
|
+
import "./chunk-LBPELU7L.js";
|
|
11
|
+
import "./chunk-SXAGSEKZ.js";
|
|
12
|
+
import "./chunk-MX3NFLCE.js";
|
|
13
|
+
import "./chunk-ASMHEEKY.js";
|
|
14
|
+
import {
|
|
15
|
+
createUsageError
|
|
16
|
+
} from "./chunk-IPE7TF2P.js";
|
|
17
|
+
import "./chunk-STGGGVYT.js";
|
|
18
|
+
import "./chunk-3ILXPKSJ.js";
|
|
19
|
+
import "./chunk-TBUCZX4A.js";
|
|
20
|
+
import "./chunk-Y2KL55OG.js";
|
|
21
|
+
import "./chunk-5SWZDVOW.js";
|
|
22
|
+
import "./chunk-S6S2UP6U.js";
|
|
23
|
+
import "./chunk-S5KZQJJI.js";
|
|
24
|
+
import "./chunk-KZ2IXVQT.js";
|
|
25
|
+
import "./chunk-WHQZBUNY.js";
|
|
26
|
+
import "./chunk-FUSXMW3G.js";
|
|
27
|
+
|
|
28
|
+
// src/cli/commands/annotate.ts
|
|
29
|
+
var requireValue = (value, flag) => {
|
|
30
|
+
if (!value) throw createUsageError(`Missing value for ${flag}`);
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
33
|
+
var requireScreenshotMode = (value) => {
|
|
34
|
+
if (value === "visible" || value === "full" || value === "none") {
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
throw createUsageError(`Invalid --screenshot-mode: ${value}`);
|
|
38
|
+
};
|
|
39
|
+
var requireTransport = (value) => {
|
|
40
|
+
if (value === "auto" || value === "direct" || value === "relay") {
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
throw createUsageError(`Invalid --transport: ${value}`);
|
|
44
|
+
};
|
|
45
|
+
var parseAnnotateArgs = (rawArgs) => {
|
|
46
|
+
const parsed = {};
|
|
47
|
+
for (let i = 0; i < rawArgs.length; i += 1) {
|
|
48
|
+
const arg = rawArgs[i];
|
|
49
|
+
if (arg === "--session-id") {
|
|
50
|
+
const value = requireValue(rawArgs[i + 1], "--session-id");
|
|
51
|
+
parsed.sessionId = value;
|
|
52
|
+
i += 1;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (arg?.startsWith("--session-id=")) {
|
|
56
|
+
const value = requireValue(arg.split("=", 2)[1], "--session-id");
|
|
57
|
+
parsed.sessionId = value;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (arg === "--stored") {
|
|
61
|
+
parsed.stored = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (arg === "--include-screenshots") {
|
|
65
|
+
parsed.includeScreenshots = true;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (arg === "--url") {
|
|
69
|
+
const value = requireValue(rawArgs[i + 1], "--url");
|
|
70
|
+
parsed.url = value;
|
|
71
|
+
i += 1;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (arg?.startsWith("--url=")) {
|
|
75
|
+
const value = requireValue(arg.split("=", 2)[1], "--url");
|
|
76
|
+
parsed.url = value;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (arg === "--screenshot-mode") {
|
|
80
|
+
const value = requireValue(rawArgs[i + 1], "--screenshot-mode");
|
|
81
|
+
parsed.screenshotMode = requireScreenshotMode(value);
|
|
82
|
+
i += 1;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (arg?.startsWith("--screenshot-mode=")) {
|
|
86
|
+
const value = requireValue(arg.split("=", 2)[1], "--screenshot-mode");
|
|
87
|
+
parsed.screenshotMode = requireScreenshotMode(value);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (arg === "--transport") {
|
|
91
|
+
const value = requireValue(rawArgs[i + 1], "--transport");
|
|
92
|
+
parsed.transport = requireTransport(value);
|
|
93
|
+
i += 1;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (arg?.startsWith("--transport=")) {
|
|
97
|
+
const value = requireValue(arg.split("=", 2)[1], "--transport");
|
|
98
|
+
parsed.transport = requireTransport(value);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (arg === "--target-id") {
|
|
102
|
+
const value = requireValue(rawArgs[i + 1], "--target-id");
|
|
103
|
+
parsed.targetId = value;
|
|
104
|
+
i += 1;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (arg?.startsWith("--target-id=")) {
|
|
108
|
+
const value = requireValue(arg.split("=", 2)[1], "--target-id");
|
|
109
|
+
parsed.targetId = value;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (arg === "--tab-id") {
|
|
113
|
+
const value = requireValue(rawArgs[i + 1], "--tab-id");
|
|
114
|
+
parsed.tabId = parseNumberFlag(value, "--tab-id", { min: 1 });
|
|
115
|
+
i += 1;
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (arg?.startsWith("--tab-id=")) {
|
|
119
|
+
const value = requireValue(arg.split("=", 2)[1], "--tab-id");
|
|
120
|
+
parsed.tabId = parseNumberFlag(value, "--tab-id", { min: 1 });
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (arg === "--debug") {
|
|
124
|
+
parsed.debug = true;
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (arg === "--context") {
|
|
128
|
+
const value = requireValue(rawArgs[i + 1], "--context");
|
|
129
|
+
parsed.context = value;
|
|
130
|
+
i += 1;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
if (arg?.startsWith("--context=")) {
|
|
134
|
+
const value = requireValue(arg.split("=", 2)[1], "--context");
|
|
135
|
+
parsed.context = value;
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (arg === "--timeout-ms") {
|
|
139
|
+
const value = requireValue(rawArgs[i + 1], "--timeout-ms");
|
|
140
|
+
parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
|
|
141
|
+
i += 1;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
if (arg?.startsWith("--timeout-ms=")) {
|
|
145
|
+
const value = requireValue(arg.split("=", 2)[1], "--timeout-ms");
|
|
146
|
+
parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return parsed;
|
|
151
|
+
};
|
|
152
|
+
async function runAnnotate(args) {
|
|
153
|
+
const {
|
|
154
|
+
sessionId,
|
|
155
|
+
stored,
|
|
156
|
+
includeScreenshots,
|
|
157
|
+
url,
|
|
158
|
+
screenshotMode,
|
|
159
|
+
debug,
|
|
160
|
+
context,
|
|
161
|
+
timeoutMs,
|
|
162
|
+
transport,
|
|
163
|
+
targetId,
|
|
164
|
+
tabId
|
|
165
|
+
} = parseAnnotateArgs(args.rawArgs);
|
|
166
|
+
if (!sessionId) throw createUsageError("Missing --session-id");
|
|
167
|
+
const client = new DaemonClient({ autoRenew: true });
|
|
168
|
+
const callTimeoutMs = typeof timeoutMs === "number" ? timeoutMs + 1e4 : void 0;
|
|
169
|
+
try {
|
|
170
|
+
const response = await client.call("annotate", {
|
|
171
|
+
sessionId,
|
|
172
|
+
stored,
|
|
173
|
+
includeScreenshots,
|
|
174
|
+
transport,
|
|
175
|
+
targetId,
|
|
176
|
+
tabId,
|
|
177
|
+
url,
|
|
178
|
+
screenshotMode,
|
|
179
|
+
debug,
|
|
180
|
+
context,
|
|
181
|
+
timeoutMs
|
|
182
|
+
}, { timeoutMs: callTimeoutMs });
|
|
183
|
+
if (response.status === "cancelled") {
|
|
184
|
+
return {
|
|
185
|
+
success: true,
|
|
186
|
+
message: response.error?.message ?? "Annotation cancelled.",
|
|
187
|
+
data: { cancelled: true }
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
if (response.status !== "ok" || !response.payload) {
|
|
191
|
+
const message2 = response.error?.message ?? "Annotation failed.";
|
|
192
|
+
throw new Error(message2);
|
|
193
|
+
}
|
|
194
|
+
const { message, details, screenshots } = await buildAnnotateResult(response.payload);
|
|
195
|
+
return { success: true, message, data: { details, screenshots } };
|
|
196
|
+
} finally {
|
|
197
|
+
await client.releaseBinding().catch(() => {
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export {
|
|
202
|
+
parseAnnotateArgs,
|
|
203
|
+
runAnnotate
|
|
204
|
+
};
|
|
205
|
+
//# sourceMappingURL=annotate-STYHXZYJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/annotate.ts"],"sourcesContent":["import type { ParsedArgs } from \"../args\";\nimport { createUsageError } from \"../errors\";\nimport { parseNumberFlag } from \"../utils/parse\";\nimport { DaemonClient } from \"../daemon-client\";\nimport { buildAnnotateResult } from \"../../annotate/output\";\nimport type { AnnotationResponse, AnnotationTransport } from \"../../relay/protocol\";\n\ntype AnnotateArgs = {\n sessionId?: string;\n stored?: boolean;\n includeScreenshots?: boolean;\n url?: string;\n screenshotMode?: \"visible\" | \"full\" | \"none\";\n debug?: boolean;\n context?: string;\n timeoutMs?: number;\n transport?: AnnotationTransport;\n targetId?: string;\n tabId?: number;\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 requireScreenshotMode = (value: string): \"visible\" | \"full\" | \"none\" => {\n if (value === \"visible\" || value === \"full\" || value === \"none\") {\n return value;\n }\n throw createUsageError(`Invalid --screenshot-mode: ${value}`);\n};\n\nconst requireTransport = (value: string): AnnotationTransport => {\n if (value === \"auto\" || value === \"direct\" || value === \"relay\") {\n return value;\n }\n throw createUsageError(`Invalid --transport: ${value}`);\n};\n\nexport const parseAnnotateArgs = (rawArgs: string[]): AnnotateArgs => {\n const parsed: AnnotateArgs = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--session-id\") {\n const value = requireValue(rawArgs[i + 1], \"--session-id\");\n parsed.sessionId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--session-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--session-id\");\n parsed.sessionId = value;\n continue;\n }\n if (arg === \"--stored\") {\n parsed.stored = true;\n continue;\n }\n if (arg === \"--include-screenshots\") {\n parsed.includeScreenshots = true;\n continue;\n }\n if (arg === \"--url\") {\n const value = requireValue(rawArgs[i + 1], \"--url\");\n parsed.url = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--url=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--url\");\n parsed.url = value;\n continue;\n }\n if (arg === \"--screenshot-mode\") {\n const value = requireValue(rawArgs[i + 1], \"--screenshot-mode\");\n parsed.screenshotMode = requireScreenshotMode(value);\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--screenshot-mode=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--screenshot-mode\");\n parsed.screenshotMode = requireScreenshotMode(value);\n continue;\n }\n if (arg === \"--transport\") {\n const value = requireValue(rawArgs[i + 1], \"--transport\");\n parsed.transport = requireTransport(value);\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--transport=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--transport\");\n parsed.transport = requireTransport(value);\n continue;\n }\n if (arg === \"--target-id\") {\n const value = requireValue(rawArgs[i + 1], \"--target-id\");\n parsed.targetId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--target-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--target-id\");\n parsed.targetId = value;\n continue;\n }\n if (arg === \"--tab-id\") {\n const value = requireValue(rawArgs[i + 1], \"--tab-id\");\n parsed.tabId = parseNumberFlag(value, \"--tab-id\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--tab-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--tab-id\");\n parsed.tabId = parseNumberFlag(value, \"--tab-id\", { min: 1 });\n continue;\n }\n if (arg === \"--debug\") {\n parsed.debug = true;\n continue;\n }\n if (arg === \"--context\") {\n const value = requireValue(rawArgs[i + 1], \"--context\");\n parsed.context = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--context=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--context\");\n parsed.context = value;\n continue;\n }\n if (arg === \"--timeout-ms\") {\n const value = requireValue(rawArgs[i + 1], \"--timeout-ms\");\n parsed.timeoutMs = parseNumberFlag(value, \"--timeout-ms\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--timeout-ms=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--timeout-ms\");\n parsed.timeoutMs = parseNumberFlag(value, \"--timeout-ms\", { min: 1 });\n continue;\n }\n }\n return parsed;\n};\n\nexport async function runAnnotate(args: ParsedArgs) {\n const {\n sessionId,\n stored,\n includeScreenshots,\n url,\n screenshotMode,\n debug,\n context,\n timeoutMs,\n transport,\n targetId,\n tabId\n } = parseAnnotateArgs(args.rawArgs);\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n\n const client = new DaemonClient({ autoRenew: true });\n const callTimeoutMs = typeof timeoutMs === \"number\" ? timeoutMs + 10_000 : undefined;\n\n try {\n const response = await client.call<AnnotationResponse>(\"annotate\", {\n sessionId,\n stored,\n includeScreenshots,\n transport,\n targetId,\n tabId,\n url,\n screenshotMode,\n debug,\n context,\n timeoutMs\n }, { timeoutMs: callTimeoutMs });\n\n if (response.status === \"cancelled\") {\n return {\n success: true,\n message: response.error?.message ?? \"Annotation cancelled.\",\n data: { cancelled: true }\n };\n }\n\n if (response.status !== \"ok\" || !response.payload) {\n const message = response.error?.message ?? \"Annotation failed.\";\n throw new Error(message);\n }\n\n const { message, details, screenshots } = await buildAnnotateResult(response.payload);\n return { success: true, message, data: { details, screenshots } };\n } finally {\n await client.releaseBinding().catch(() => {});\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAM,eAAe,CAAC,OAA2B,SAAyB;AACxE,MAAI,CAAC,MAAO,OAAM,iBAAiB,qBAAqB,IAAI,EAAE;AAC9D,SAAO;AACT;AAEA,IAAM,wBAAwB,CAAC,UAA+C;AAC5E,MAAI,UAAU,aAAa,UAAU,UAAU,UAAU,QAAQ;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,iBAAiB,8BAA8B,KAAK,EAAE;AAC9D;AAEA,IAAM,mBAAmB,CAAC,UAAuC;AAC/D,MAAI,UAAU,UAAU,UAAU,YAAY,UAAU,SAAS;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,iBAAiB,wBAAwB,KAAK,EAAE;AACxD;AAEO,IAAM,oBAAoB,CAAC,YAAoC;AACpE,QAAM,SAAuB,CAAC;AAC9B,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1C,UAAM,MAAM,QAAQ,CAAC;AACrB,QAAI,QAAQ,gBAAgB;AAC1B,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,cAAc;AACzD,aAAO,YAAY;AACnB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,cAAc;AAC/D,aAAO,YAAY;AACnB;AAAA,IACF;AACA,QAAI,QAAQ,YAAY;AACtB,aAAO,SAAS;AAChB;AAAA,IACF;AACA,QAAI,QAAQ,yBAAyB;AACnC,aAAO,qBAAqB;AAC5B;AAAA,IACF;AACA,QAAI,QAAQ,SAAS;AACnB,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,OAAO;AAClD,aAAO,MAAM;AACb,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO;AACxD,aAAO,MAAM;AACb;AAAA,IACF;AACA,QAAI,QAAQ,qBAAqB;AAC/B,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,mBAAmB;AAC9D,aAAO,iBAAiB,sBAAsB,KAAK;AACnD,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,oBAAoB,GAAG;AACzC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,mBAAmB;AACpE,aAAO,iBAAiB,sBAAsB,KAAK;AACnD;AAAA,IACF;AACA,QAAI,QAAQ,eAAe;AACzB,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,aAAa;AACxD,aAAO,YAAY,iBAAiB,KAAK;AACzC,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,cAAc,GAAG;AACnC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,aAAa;AAC9D,aAAO,YAAY,iBAAiB,KAAK;AACzC;AAAA,IACF;AACA,QAAI,QAAQ,eAAe;AACzB,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,aAAa;AACxD,aAAO,WAAW;AAClB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,cAAc,GAAG;AACnC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,aAAa;AAC9D,aAAO,WAAW;AAClB;AAAA,IACF;AACA,QAAI,QAAQ,YAAY;AACtB,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,UAAU;AACrD,aAAO,QAAQ,gBAAgB,OAAO,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5D,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,WAAW,GAAG;AAChC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU;AAC3D,aAAO,QAAQ,gBAAgB,OAAO,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5D;AAAA,IACF;AACA,QAAI,QAAQ,WAAW;AACrB,aAAO,QAAQ;AACf;AAAA,IACF;AACA,QAAI,QAAQ,aAAa;AACvB,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,WAAW;AACtD,aAAO,UAAU;AACjB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,YAAY,GAAG;AACjC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW;AAC5D,aAAO,UAAU;AACjB;AAAA,IACF;AACA,QAAI,QAAQ,gBAAgB;AAC1B,YAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,GAAG,cAAc;AACzD,aAAO,YAAY,gBAAgB,OAAO,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACpE,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,YAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,cAAc;AAC/D,aAAO,YAAY,gBAAgB,OAAO,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACpE;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,YAAY,MAAkB;AAClD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,kBAAkB,KAAK,OAAO;AAClC,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAE7D,QAAM,SAAS,IAAI,aAAa,EAAE,WAAW,KAAK,CAAC;AACnD,QAAM,gBAAgB,OAAO,cAAc,WAAW,YAAY,MAAS;AAE3E,MAAI;AACF,UAAM,WAAW,MAAM,OAAO,KAAyB,YAAY;AAAA,MACjE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,GAAG,EAAE,WAAW,cAAc,CAAC;AAE/B,QAAI,SAAS,WAAW,aAAa;AACnC,aAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS,SAAS,OAAO,WAAW;AAAA,QACpC,MAAM,EAAE,WAAW,KAAK;AAAA,MAC1B;AAAA,IACF;AAEA,QAAI,SAAS,WAAW,QAAQ,CAAC,SAAS,SAAS;AACjD,YAAMA,WAAU,SAAS,OAAO,WAAW;AAC3C,YAAM,IAAI,MAAMA,QAAO;AAAA,IACzB;AAEA,UAAM,EAAE,SAAS,SAAS,YAAY,IAAI,MAAM,oBAAoB,SAAS,OAAO;AACpF,WAAO,EAAE,SAAS,MAAM,SAAS,MAAM,EAAE,SAAS,YAAY,EAAE;AAAA,EAClE,UAAE;AACA,UAAM,OAAO,eAAe,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EAC9C;AACF;","names":["message"]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createUsageError
|
|
3
|
+
} from "./chunk-IPE7TF2P.js";
|
|
4
|
+
import {
|
|
5
|
+
cleanupExpiredArtifacts
|
|
6
|
+
} from "./chunk-S5KZQJJI.js";
|
|
7
|
+
|
|
8
|
+
// src/cli/commands/artifacts.ts
|
|
9
|
+
import { join, resolve } from "path";
|
|
10
|
+
import { tmpdir } from "os";
|
|
11
|
+
var PASSTHROUGH_BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
12
|
+
"--with-config",
|
|
13
|
+
"--no-prompt",
|
|
14
|
+
"--no-interactive",
|
|
15
|
+
"--quiet",
|
|
16
|
+
"--skills-global",
|
|
17
|
+
"--skills-local",
|
|
18
|
+
"--no-skills",
|
|
19
|
+
"--full"
|
|
20
|
+
]);
|
|
21
|
+
var PASSTHROUGH_VALUE_FLAGS = /* @__PURE__ */ new Set([
|
|
22
|
+
"--output-format",
|
|
23
|
+
"--transport"
|
|
24
|
+
]);
|
|
25
|
+
var usageError = () => {
|
|
26
|
+
throw createUsageError("Usage: opendevbrowser artifacts cleanup --expired-only [--output-dir <path>]");
|
|
27
|
+
};
|
|
28
|
+
var requireValue = (rawArgs, index, flag) => {
|
|
29
|
+
const value = rawArgs[index + 1];
|
|
30
|
+
if (!value) {
|
|
31
|
+
throw createUsageError(`Missing value for ${flag}`);
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
};
|
|
35
|
+
var consumePassthroughFlag = (rawArgs, index) => {
|
|
36
|
+
const arg = rawArgs[index];
|
|
37
|
+
if (!arg) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
if (PASSTHROUGH_BOOLEAN_FLAGS.has(arg)) {
|
|
41
|
+
return index;
|
|
42
|
+
}
|
|
43
|
+
if (PASSTHROUGH_VALUE_FLAGS.has(arg)) {
|
|
44
|
+
requireValue(rawArgs, index, arg);
|
|
45
|
+
return index + 1;
|
|
46
|
+
}
|
|
47
|
+
const equalsFlag = arg.split("=", 2)[0];
|
|
48
|
+
if (equalsFlag && PASSTHROUGH_VALUE_FLAGS.has(equalsFlag)) {
|
|
49
|
+
return index;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
};
|
|
53
|
+
var parseArtifactsArgs = (rawArgs) => {
|
|
54
|
+
const [candidate, ...rest] = rawArgs;
|
|
55
|
+
if (candidate !== "cleanup") {
|
|
56
|
+
usageError();
|
|
57
|
+
}
|
|
58
|
+
const subcommand = "cleanup";
|
|
59
|
+
let expiredOnly = false;
|
|
60
|
+
let outputDir;
|
|
61
|
+
for (let index = 0; index < rest.length; index += 1) {
|
|
62
|
+
const arg = rest[index];
|
|
63
|
+
if (arg === "--expired-only") {
|
|
64
|
+
expiredOnly = true;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (arg === "--output-dir") {
|
|
68
|
+
outputDir = requireValue(rest, index, "--output-dir");
|
|
69
|
+
index += 1;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (arg?.startsWith("--output-dir=")) {
|
|
73
|
+
const value = arg.split("=", 2)[1];
|
|
74
|
+
if (!value) {
|
|
75
|
+
throw createUsageError("Missing value for --output-dir");
|
|
76
|
+
}
|
|
77
|
+
outputDir = value;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const passthroughIndex = consumePassthroughFlag(rest, index);
|
|
81
|
+
if (passthroughIndex !== null) {
|
|
82
|
+
index = passthroughIndex;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
throw createUsageError(`Unknown artifacts flag: ${arg}`);
|
|
86
|
+
}
|
|
87
|
+
if (!expiredOnly) {
|
|
88
|
+
usageError();
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
subcommand,
|
|
92
|
+
expiredOnly,
|
|
93
|
+
outputDir
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
async function runArtifactsCommand(args) {
|
|
97
|
+
const parsed = parseArtifactsArgs(args.rawArgs);
|
|
98
|
+
const rootDir = parsed.outputDir ? resolve(parsed.outputDir) : join(tmpdir(), "opendevbrowser");
|
|
99
|
+
const cleaned = await cleanupExpiredArtifacts(rootDir);
|
|
100
|
+
return {
|
|
101
|
+
success: true,
|
|
102
|
+
message: `Artifact cleanup completed. Removed ${cleaned.removed.length} expired run(s).`,
|
|
103
|
+
data: {
|
|
104
|
+
rootDir,
|
|
105
|
+
expiredOnly: parsed.expiredOnly,
|
|
106
|
+
removed: cleaned.removed,
|
|
107
|
+
skipped: cleaned.skipped,
|
|
108
|
+
removedCount: cleaned.removed.length,
|
|
109
|
+
skippedCount: cleaned.skipped.length
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
var __test__ = {
|
|
114
|
+
parseArtifactsArgs
|
|
115
|
+
};
|
|
116
|
+
export {
|
|
117
|
+
__test__,
|
|
118
|
+
runArtifactsCommand
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=artifacts-KJ6RNDO2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/artifacts.ts"],"sourcesContent":["import { join, resolve } from \"path\";\nimport { tmpdir } from \"os\";\nimport type { ParsedArgs } from \"../args\";\nimport { createUsageError } from \"../errors\";\nimport { cleanupExpiredArtifacts } from \"../../providers/artifacts\";\n\ntype ArtifactsSubcommand = \"cleanup\";\n\ninterface CleanupArgs {\n subcommand: ArtifactsSubcommand;\n expiredOnly: boolean;\n outputDir?: string;\n}\n\nconst PASSTHROUGH_BOOLEAN_FLAGS = new Set([\n \"--with-config\",\n \"--no-prompt\",\n \"--no-interactive\",\n \"--quiet\",\n \"--skills-global\",\n \"--skills-local\",\n \"--no-skills\",\n \"--full\"\n]);\n\nconst PASSTHROUGH_VALUE_FLAGS = new Set([\n \"--output-format\",\n \"--transport\"\n]);\n\nconst usageError = (): never => {\n throw createUsageError(\"Usage: opendevbrowser artifacts cleanup --expired-only [--output-dir <path>]\");\n};\n\nconst requireValue = (rawArgs: string[], index: number, flag: string): string => {\n const value = rawArgs[index + 1];\n if (!value) {\n throw createUsageError(`Missing value for ${flag}`);\n }\n return value;\n};\n\nconst consumePassthroughFlag = (rawArgs: string[], index: number): number | null => {\n const arg = rawArgs[index];\n if (!arg) {\n return null;\n }\n\n if (PASSTHROUGH_BOOLEAN_FLAGS.has(arg)) {\n return index;\n }\n\n if (PASSTHROUGH_VALUE_FLAGS.has(arg)) {\n requireValue(rawArgs, index, arg);\n return index + 1;\n }\n\n const equalsFlag = arg.split(\"=\", 2)[0];\n if (equalsFlag && PASSTHROUGH_VALUE_FLAGS.has(equalsFlag)) {\n return index;\n }\n\n return null;\n};\n\nconst parseArtifactsArgs = (rawArgs: string[]): CleanupArgs => {\n const [candidate, ...rest] = rawArgs;\n if (candidate !== \"cleanup\") {\n usageError();\n }\n const subcommand: ArtifactsSubcommand = \"cleanup\";\n\n let expiredOnly = false;\n let outputDir: string | undefined;\n\n for (let index = 0; index < rest.length; index += 1) {\n const arg = rest[index];\n if (arg === \"--expired-only\") {\n expiredOnly = true;\n continue;\n }\n\n if (arg === \"--output-dir\") {\n outputDir = requireValue(rest, index, \"--output-dir\");\n index += 1;\n continue;\n }\n\n if (arg?.startsWith(\"--output-dir=\")) {\n const value = arg.split(\"=\", 2)[1];\n if (!value) {\n throw createUsageError(\"Missing value for --output-dir\");\n }\n outputDir = value;\n continue;\n }\n\n const passthroughIndex = consumePassthroughFlag(rest, index);\n if (passthroughIndex !== null) {\n index = passthroughIndex;\n continue;\n }\n\n throw createUsageError(`Unknown artifacts flag: ${arg}`);\n }\n\n if (!expiredOnly) {\n usageError();\n }\n\n return {\n subcommand,\n expiredOnly,\n outputDir\n };\n};\n\nexport async function runArtifactsCommand(args: ParsedArgs) {\n const parsed = parseArtifactsArgs(args.rawArgs);\n const rootDir = parsed.outputDir ? resolve(parsed.outputDir) : join(tmpdir(), \"opendevbrowser\");\n const cleaned = await cleanupExpiredArtifacts(rootDir);\n\n return {\n success: true,\n message: `Artifact cleanup completed. Removed ${cleaned.removed.length} expired run(s).`,\n data: {\n rootDir,\n expiredOnly: parsed.expiredOnly,\n removed: cleaned.removed,\n skipped: cleaned.skipped,\n removedCount: cleaned.removed.length,\n skippedCount: cleaned.skipped.length\n }\n };\n}\n\nexport const __test__ = {\n parseArtifactsArgs\n};\n"],"mappings":";;;;;;;;AAAA,SAAS,MAAM,eAAe;AAC9B,SAAS,cAAc;AAavB,IAAM,4BAA4B,oBAAI,IAAI;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAM,0BAA0B,oBAAI,IAAI;AAAA,EACtC;AAAA,EACA;AACF,CAAC;AAED,IAAM,aAAa,MAAa;AAC9B,QAAM,iBAAiB,8EAA8E;AACvG;AAEA,IAAM,eAAe,CAAC,SAAmB,OAAe,SAAyB;AAC/E,QAAM,QAAQ,QAAQ,QAAQ,CAAC;AAC/B,MAAI,CAAC,OAAO;AACV,UAAM,iBAAiB,qBAAqB,IAAI,EAAE;AAAA,EACpD;AACA,SAAO;AACT;AAEA,IAAM,yBAAyB,CAAC,SAAmB,UAAiC;AAClF,QAAM,MAAM,QAAQ,KAAK;AACzB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,0BAA0B,IAAI,GAAG,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,MAAI,wBAAwB,IAAI,GAAG,GAAG;AACpC,iBAAa,SAAS,OAAO,GAAG;AAChC,WAAO,QAAQ;AAAA,EACjB;AAEA,QAAM,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACtC,MAAI,cAAc,wBAAwB,IAAI,UAAU,GAAG;AACzD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,qBAAqB,CAAC,YAAmC;AAC7D,QAAM,CAAC,WAAW,GAAG,IAAI,IAAI;AAC7B,MAAI,cAAc,WAAW;AAC3B,eAAW;AAAA,EACb;AACA,QAAM,aAAkC;AAExC,MAAI,cAAc;AAClB,MAAI;AAEJ,WAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAG;AACnD,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,QAAQ,kBAAkB;AAC5B,oBAAc;AACd;AAAA,IACF;AAEA,QAAI,QAAQ,gBAAgB;AAC1B,kBAAY,aAAa,MAAM,OAAO,cAAc;AACpD,eAAS;AACT;AAAA,IACF;AAEA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,YAAM,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACjC,UAAI,CAAC,OAAO;AACV,cAAM,iBAAiB,gCAAgC;AAAA,MACzD;AACA,kBAAY;AACZ;AAAA,IACF;AAEA,UAAM,mBAAmB,uBAAuB,MAAM,KAAK;AAC3D,QAAI,qBAAqB,MAAM;AAC7B,cAAQ;AACR;AAAA,IACF;AAEA,UAAM,iBAAiB,2BAA2B,GAAG,EAAE;AAAA,EACzD;AAEA,MAAI,CAAC,aAAa;AAChB,eAAW;AAAA,EACb;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAsB,oBAAoB,MAAkB;AAC1D,QAAM,SAAS,mBAAmB,KAAK,OAAO;AAC9C,QAAM,UAAU,OAAO,YAAY,QAAQ,OAAO,SAAS,IAAI,KAAK,OAAO,GAAG,gBAAgB;AAC9F,QAAM,UAAU,MAAM,wBAAwB,OAAO;AAErD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS,uCAAuC,QAAQ,QAAQ,MAAM;AAAA,IACtE,MAAM;AAAA,MACJ;AAAA,MACA,aAAa,OAAO;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,SAAS,QAAQ;AAAA,MACjB,cAAc,QAAQ,QAAQ;AAAA,MAC9B,cAAc,QAAQ,QAAQ;AAAA,IAChC;AAAA,EACF;AACF;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import "./chunk-RJNI3BHT.js";
|
|
2
|
+
import {
|
|
3
|
+
parseOptionalStringFlag
|
|
4
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
5
|
+
import {
|
|
6
|
+
callDaemon
|
|
7
|
+
} from "./chunk-OYNLAZQU.js";
|
|
8
|
+
import "./chunk-LBPELU7L.js";
|
|
9
|
+
import "./chunk-SXAGSEKZ.js";
|
|
10
|
+
import "./chunk-MX3NFLCE.js";
|
|
11
|
+
import "./chunk-ASMHEEKY.js";
|
|
12
|
+
import {
|
|
13
|
+
createUsageError
|
|
14
|
+
} from "./chunk-IPE7TF2P.js";
|
|
15
|
+
import "./chunk-STGGGVYT.js";
|
|
16
|
+
import "./chunk-3ILXPKSJ.js";
|
|
17
|
+
import "./chunk-TBUCZX4A.js";
|
|
18
|
+
import "./chunk-Y2KL55OG.js";
|
|
19
|
+
import "./chunk-5SWZDVOW.js";
|
|
20
|
+
import "./chunk-S6S2UP6U.js";
|
|
21
|
+
import "./chunk-S5KZQJJI.js";
|
|
22
|
+
import "./chunk-KZ2IXVQT.js";
|
|
23
|
+
import "./chunk-WHQZBUNY.js";
|
|
24
|
+
import "./chunk-FUSXMW3G.js";
|
|
25
|
+
|
|
26
|
+
// src/cli/commands/dom/attr.ts
|
|
27
|
+
function parseDomAttrArgs(rawArgs) {
|
|
28
|
+
const parsed = {};
|
|
29
|
+
for (let i = 0; i < rawArgs.length; i += 1) {
|
|
30
|
+
const arg = rawArgs[i];
|
|
31
|
+
if (arg === "--session-id") {
|
|
32
|
+
const value = rawArgs[i + 1];
|
|
33
|
+
if (!value) throw createUsageError("Missing value for --session-id");
|
|
34
|
+
parsed.sessionId = value;
|
|
35
|
+
i += 1;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (arg?.startsWith("--session-id=")) {
|
|
39
|
+
parsed.sessionId = arg.split("=", 2)[1];
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (arg === "--ref") {
|
|
43
|
+
const value = rawArgs[i + 1];
|
|
44
|
+
if (!value) throw createUsageError("Missing value for --ref");
|
|
45
|
+
parsed.ref = value;
|
|
46
|
+
i += 1;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (arg?.startsWith("--ref=")) {
|
|
50
|
+
parsed.ref = arg.split("=", 2)[1];
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (arg === "--attr") {
|
|
54
|
+
const value = rawArgs[i + 1];
|
|
55
|
+
if (!value) throw createUsageError("Missing value for --attr");
|
|
56
|
+
parsed.attr = value;
|
|
57
|
+
i += 1;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (arg?.startsWith("--attr=")) {
|
|
61
|
+
parsed.attr = arg.split("=", 2)[1];
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return parsed;
|
|
66
|
+
}
|
|
67
|
+
async function runDomAttr(args) {
|
|
68
|
+
const { sessionId, ref, attr } = parseDomAttrArgs(args.rawArgs);
|
|
69
|
+
const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
|
|
70
|
+
if (!sessionId) throw createUsageError("Missing --session-id");
|
|
71
|
+
if (!ref) throw createUsageError("Missing --ref");
|
|
72
|
+
if (!attr) throw createUsageError("Missing --attr");
|
|
73
|
+
const result = await callDaemon("dom.getAttr", {
|
|
74
|
+
sessionId,
|
|
75
|
+
ref,
|
|
76
|
+
name: attr,
|
|
77
|
+
...typeof targetId === "string" ? { targetId } : {}
|
|
78
|
+
});
|
|
79
|
+
return { success: true, message: "DOM attribute captured.", data: result };
|
|
80
|
+
}
|
|
81
|
+
export {
|
|
82
|
+
runDomAttr
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=attr-GHFZZ4SA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/dom/attr.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseDomAttrArgs(rawArgs: string[]): { sessionId?: string; ref?: string; attr?: string } {\n const parsed: { sessionId?: string; ref?: string; attr?: string } = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--session-id\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --session-id\");\n parsed.sessionId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--session-id=\")) {\n parsed.sessionId = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--ref\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --ref\");\n parsed.ref = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--ref=\")) {\n parsed.ref = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--attr\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --attr\");\n parsed.attr = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--attr=\")) {\n parsed.attr = arg.split(\"=\", 2)[1];\n continue;\n }\n }\n return parsed;\n}\n\nexport async function runDomAttr(args: ParsedArgs) {\n const { sessionId, ref, attr } = parseDomAttrArgs(args.rawArgs);\n const targetId = parseOptionalStringFlag(args.rawArgs, \"--target-id\");\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n if (!ref) throw createUsageError(\"Missing --ref\");\n if (!attr) throw createUsageError(\"Missing --attr\");\n const result = await callDaemon(\"dom.getAttr\", {\n sessionId,\n ref,\n name: attr,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"DOM attribute captured.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,iBAAiB,SAAwE;AAChG,QAAM,SAA8D,CAAC;AACrE,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1C,UAAM,MAAM,QAAQ,CAAC;AACrB,QAAI,QAAQ,gBAAgB;AAC1B,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,gCAAgC;AACnE,aAAO,YAAY;AACnB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,aAAO,YAAY,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACtC;AAAA,IACF;AACA,QAAI,QAAQ,SAAS;AACnB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,yBAAyB;AAC5D,aAAO,MAAM;AACb,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,aAAO,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AAChC;AAAA,IACF;AACA,QAAI,QAAQ,UAAU;AACpB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,0BAA0B;AAC7D,aAAO,OAAO;AACd,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,SAAS,GAAG;AAC9B,aAAO,OAAO,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACjC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,WAAW,MAAkB;AACjD,QAAM,EAAE,WAAW,KAAK,KAAK,IAAI,iBAAiB,KAAK,OAAO;AAC9D,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,CAAC,IAAK,OAAM,iBAAiB,eAAe;AAChD,MAAI,CAAC,KAAM,OAAM,iBAAiB,gBAAgB;AAClD,QAAM,SAAS,MAAM,WAAW,eAAe;AAAA,IAC7C;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,2BAA2B,MAAM,OAAO;AAC3E;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops-client.d.ts","sourceRoot":"","sources":["../../src/browser/ops-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,QAAQ,EAEb,KAAK,WAAW,EAKjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoBF,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;gBAE/B,OAAO,EAAE,wBAAwB,EAAE,KAAK,CAAC,EAAE,OAAO;CAK/D;AAED,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,sBASlE,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,OAAO,OAAO,EACd,SAAS,OAAO,CAAC,wBAAwB,CAAC,KACzC,OAYF,CAAC;AAEF,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IACnD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAC,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAwD;IACxE,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAcjD,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ops-client.d.ts","sourceRoot":"","sources":["../../src/browser/ops-client.ts"],"names":[],"mappings":"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"}
|