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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseBooleanFlag
|
|
3
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
4
|
+
import {
|
|
5
|
+
createOpenDevBrowserCore
|
|
6
|
+
} from "./chunk-SXAGSEKZ.js";
|
|
7
|
+
import "./chunk-MX3NFLCE.js";
|
|
8
|
+
import "./chunk-ASMHEEKY.js";
|
|
9
|
+
import {
|
|
10
|
+
writeOutput
|
|
11
|
+
} from "./chunk-7GVOUZMQ.js";
|
|
12
|
+
import {
|
|
13
|
+
EXIT_USAGE,
|
|
14
|
+
createUsageError
|
|
15
|
+
} from "./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/run.ts
|
|
28
|
+
import { readFileSync } from "fs";
|
|
29
|
+
function parseRunArgs(rawArgs) {
|
|
30
|
+
const parsed = { flags: [] };
|
|
31
|
+
for (let i = 0; i < rawArgs.length; i += 1) {
|
|
32
|
+
const arg = rawArgs[i];
|
|
33
|
+
if (arg === "--script") {
|
|
34
|
+
const value = rawArgs[i + 1];
|
|
35
|
+
if (!value) throw createUsageError("Missing value for --script");
|
|
36
|
+
parsed.scriptPath = value;
|
|
37
|
+
i += 1;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (arg?.startsWith("--script=")) {
|
|
41
|
+
parsed.scriptPath = arg.split("=", 2)[1];
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (arg === "--headless") {
|
|
45
|
+
parsed.headless = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (arg === "--profile") {
|
|
49
|
+
const value = rawArgs[i + 1];
|
|
50
|
+
if (!value) throw createUsageError("Missing value for --profile");
|
|
51
|
+
parsed.profile = value;
|
|
52
|
+
i += 1;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (arg?.startsWith("--profile=")) {
|
|
56
|
+
parsed.profile = arg.split("=", 2)[1];
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (arg === "--persist-profile") {
|
|
60
|
+
const value = rawArgs[i + 1];
|
|
61
|
+
if (value && !value.startsWith("--")) {
|
|
62
|
+
parsed.persistProfile = parseBooleanFlag(value, "--persist-profile");
|
|
63
|
+
i += 1;
|
|
64
|
+
} else {
|
|
65
|
+
parsed.persistProfile = true;
|
|
66
|
+
}
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (arg?.startsWith("--persist-profile=")) {
|
|
70
|
+
const value = arg.split("=", 2)[1];
|
|
71
|
+
if (!value) throw createUsageError("Missing value for --persist-profile");
|
|
72
|
+
parsed.persistProfile = parseBooleanFlag(value, "--persist-profile");
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (arg === "--chrome-path") {
|
|
76
|
+
const value = rawArgs[i + 1];
|
|
77
|
+
if (!value) throw createUsageError("Missing value for --chrome-path");
|
|
78
|
+
parsed.chromePath = value;
|
|
79
|
+
i += 1;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (arg?.startsWith("--chrome-path=")) {
|
|
83
|
+
parsed.chromePath = arg.split("=", 2)[1];
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (arg === "--start-url") {
|
|
87
|
+
const value = rawArgs[i + 1];
|
|
88
|
+
if (!value) throw createUsageError("Missing value for --start-url");
|
|
89
|
+
parsed.startUrl = value;
|
|
90
|
+
i += 1;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (arg?.startsWith("--start-url=")) {
|
|
94
|
+
const value = arg.split("=", 2)[1];
|
|
95
|
+
if (!value) throw createUsageError("Missing value for --start-url");
|
|
96
|
+
parsed.startUrl = value;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (arg === "--flag") {
|
|
100
|
+
const value = rawArgs[i + 1];
|
|
101
|
+
if (!value) throw createUsageError("Missing value for --flag");
|
|
102
|
+
parsed.flags.push(value);
|
|
103
|
+
i += 1;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (arg?.startsWith("--flag=")) {
|
|
107
|
+
const value = arg.split("=", 2)[1];
|
|
108
|
+
if (!value) throw createUsageError("Missing value for --flag");
|
|
109
|
+
parsed.flags.push(value);
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return parsed;
|
|
114
|
+
}
|
|
115
|
+
function readScriptFromStdin() {
|
|
116
|
+
return new Promise((resolve, reject) => {
|
|
117
|
+
let data = "";
|
|
118
|
+
process.stdin.setEncoding("utf8");
|
|
119
|
+
process.stdin.on("data", (chunk) => {
|
|
120
|
+
data += chunk;
|
|
121
|
+
});
|
|
122
|
+
process.stdin.on("end", () => resolve(data));
|
|
123
|
+
process.stdin.on("error", reject);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async function runScriptCommand(args) {
|
|
127
|
+
const runArgs = parseRunArgs(args.rawArgs);
|
|
128
|
+
const outputOptions = { format: args.outputFormat, quiet: args.quiet };
|
|
129
|
+
let scriptRaw = "";
|
|
130
|
+
if (runArgs.scriptPath) {
|
|
131
|
+
scriptRaw = readFileSync(runArgs.scriptPath, "utf-8");
|
|
132
|
+
} else if (!process.stdin.isTTY) {
|
|
133
|
+
scriptRaw = await readScriptFromStdin();
|
|
134
|
+
} else {
|
|
135
|
+
throw createUsageError("Provide --script <path> or pipe JSON to stdin.");
|
|
136
|
+
}
|
|
137
|
+
let steps = [];
|
|
138
|
+
try {
|
|
139
|
+
const parsed = JSON.parse(scriptRaw);
|
|
140
|
+
if (Array.isArray(parsed)) {
|
|
141
|
+
steps = parsed;
|
|
142
|
+
} else if (parsed && typeof parsed === "object" && Array.isArray(parsed.steps)) {
|
|
143
|
+
steps = parsed.steps;
|
|
144
|
+
} else {
|
|
145
|
+
throw new Error("Script must be a JSON array or an object with steps.");
|
|
146
|
+
}
|
|
147
|
+
} catch (error) {
|
|
148
|
+
const message = error instanceof Error ? error.message : "Invalid JSON script.";
|
|
149
|
+
writeOutput({ success: false, error: message, exitCode: EXIT_USAGE }, outputOptions);
|
|
150
|
+
return { success: false, message, exitCode: EXIT_USAGE, data: { suppressOutput: true } };
|
|
151
|
+
}
|
|
152
|
+
const core = createOpenDevBrowserCore({ directory: process.cwd() });
|
|
153
|
+
const launchResult = await core.manager.launch({
|
|
154
|
+
profile: runArgs.profile,
|
|
155
|
+
headless: runArgs.headless,
|
|
156
|
+
startUrl: runArgs.startUrl,
|
|
157
|
+
chromePath: runArgs.chromePath,
|
|
158
|
+
flags: runArgs.flags.length ? runArgs.flags : void 0,
|
|
159
|
+
persistProfile: runArgs.persistProfile ?? false
|
|
160
|
+
});
|
|
161
|
+
try {
|
|
162
|
+
const result = await core.runner.run(launchResult.sessionId, steps, true);
|
|
163
|
+
writeOutput({
|
|
164
|
+
success: true,
|
|
165
|
+
sessionId: launchResult.sessionId,
|
|
166
|
+
warnings: launchResult.warnings.length ? launchResult.warnings : void 0,
|
|
167
|
+
...result
|
|
168
|
+
}, outputOptions);
|
|
169
|
+
return { success: true, data: { suppressOutput: true } };
|
|
170
|
+
} finally {
|
|
171
|
+
await core.manager.disconnect(launchResult.sessionId, true);
|
|
172
|
+
core.cleanup();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
var __test__ = { parseRunArgs };
|
|
176
|
+
export {
|
|
177
|
+
__test__,
|
|
178
|
+
runScriptCommand
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=run-ADRYI3MS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/run.ts"],"sourcesContent":["import { readFileSync } from \"fs\";\nimport { createOpenDevBrowserCore } from \"../../core\";\nimport type { ParsedArgs } from \"../args\";\nimport { parseBooleanFlag } from \"../utils/parse\";\nimport { writeOutput } from \"../output\";\nimport { createUsageError, EXIT_USAGE } from \"../errors\";\n\ntype RunArgs = {\n scriptPath?: string;\n headless?: boolean;\n profile?: string;\n persistProfile?: boolean;\n chromePath?: string;\n startUrl?: string;\n flags: string[];\n};\n\nfunction parseRunArgs(rawArgs: string[]): RunArgs {\n const parsed: RunArgs = { flags: [] };\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--script\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --script\");\n parsed.scriptPath = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--script=\")) {\n parsed.scriptPath = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--headless\") {\n parsed.headless = true;\n continue;\n }\n if (arg === \"--profile\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --profile\");\n parsed.profile = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--profile=\")) {\n parsed.profile = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--persist-profile\") {\n const value = rawArgs[i + 1];\n if (value && !value.startsWith(\"--\")) {\n parsed.persistProfile = parseBooleanFlag(value, \"--persist-profile\");\n i += 1;\n } else {\n parsed.persistProfile = true;\n }\n continue;\n }\n if (arg?.startsWith(\"--persist-profile=\")) {\n const value = arg.split(\"=\", 2)[1];\n if (!value) throw createUsageError(\"Missing value for --persist-profile\");\n parsed.persistProfile = parseBooleanFlag(value, \"--persist-profile\");\n continue;\n }\n if (arg === \"--chrome-path\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --chrome-path\");\n parsed.chromePath = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--chrome-path=\")) {\n parsed.chromePath = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--start-url\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --start-url\");\n parsed.startUrl = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--start-url=\")) {\n const value = arg.split(\"=\", 2)[1];\n if (!value) throw createUsageError(\"Missing value for --start-url\");\n parsed.startUrl = value;\n continue;\n }\n if (arg === \"--flag\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --flag\");\n parsed.flags.push(value);\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--flag=\")) {\n const value = arg.split(\"=\", 2)[1];\n if (!value) throw createUsageError(\"Missing value for --flag\");\n parsed.flags.push(value);\n continue;\n }\n }\n return parsed;\n}\n\nfunction readScriptFromStdin(): Promise<string> {\n return new Promise((resolve, reject) => {\n let data = \"\";\n process.stdin.setEncoding(\"utf8\");\n process.stdin.on(\"data\", (chunk) => {\n data += chunk;\n });\n process.stdin.on(\"end\", () => resolve(data));\n process.stdin.on(\"error\", reject);\n });\n}\n\nexport async function runScriptCommand(args: ParsedArgs) {\n const runArgs = parseRunArgs(args.rawArgs);\n const outputOptions = { format: args.outputFormat, quiet: args.quiet };\n\n let scriptRaw = \"\";\n if (runArgs.scriptPath) {\n scriptRaw = readFileSync(runArgs.scriptPath, \"utf-8\");\n } else if (!process.stdin.isTTY) {\n scriptRaw = await readScriptFromStdin();\n } else {\n throw createUsageError(\"Provide --script <path> or pipe JSON to stdin.\");\n }\n\n let steps: Array<{ action: string; args?: Record<string, unknown> }> = [];\n try {\n const parsed = JSON.parse(scriptRaw);\n if (Array.isArray(parsed)) {\n steps = parsed;\n } else if (parsed && typeof parsed === \"object\" && Array.isArray(parsed.steps)) {\n steps = parsed.steps;\n } else {\n throw new Error(\"Script must be a JSON array or an object with steps.\");\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Invalid JSON script.\";\n writeOutput({ success: false, error: message, exitCode: EXIT_USAGE }, outputOptions);\n return { success: false, message, exitCode: EXIT_USAGE, data: { suppressOutput: true } };\n }\n\n const core = createOpenDevBrowserCore({ directory: process.cwd() });\n const launchResult = await core.manager.launch({\n profile: runArgs.profile,\n headless: runArgs.headless,\n startUrl: runArgs.startUrl,\n chromePath: runArgs.chromePath,\n flags: runArgs.flags.length ? runArgs.flags : undefined,\n persistProfile: runArgs.persistProfile ?? false\n });\n\n try {\n const result = await core.runner.run(launchResult.sessionId, steps, true);\n writeOutput({\n success: true,\n sessionId: launchResult.sessionId,\n warnings: launchResult.warnings.length ? launchResult.warnings : undefined,\n ...result\n }, outputOptions);\n return { success: true, data: { suppressOutput: true } };\n } finally {\n await core.manager.disconnect(launchResult.sessionId, true);\n core.cleanup();\n }\n}\n\nexport const __test__ = { parseRunArgs };\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import "./chunk-RJNI3BHT.js";
|
|
2
|
+
import {
|
|
3
|
+
parseNumberFlag,
|
|
4
|
+
parseOptionalStringFlag
|
|
5
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
8
|
+
} from "./chunk-OW5HMYMI.js";
|
|
9
|
+
import {
|
|
10
|
+
callDaemon
|
|
11
|
+
} from "./chunk-OYNLAZQU.js";
|
|
12
|
+
import "./chunk-LBPELU7L.js";
|
|
13
|
+
import "./chunk-SXAGSEKZ.js";
|
|
14
|
+
import "./chunk-MX3NFLCE.js";
|
|
15
|
+
import "./chunk-ASMHEEKY.js";
|
|
16
|
+
import {
|
|
17
|
+
createUsageError
|
|
18
|
+
} from "./chunk-IPE7TF2P.js";
|
|
19
|
+
import "./chunk-STGGGVYT.js";
|
|
20
|
+
import "./chunk-3ILXPKSJ.js";
|
|
21
|
+
import "./chunk-TBUCZX4A.js";
|
|
22
|
+
import "./chunk-Y2KL55OG.js";
|
|
23
|
+
import "./chunk-5SWZDVOW.js";
|
|
24
|
+
import "./chunk-S6S2UP6U.js";
|
|
25
|
+
import "./chunk-S5KZQJJI.js";
|
|
26
|
+
import "./chunk-KZ2IXVQT.js";
|
|
27
|
+
import "./chunk-WHQZBUNY.js";
|
|
28
|
+
import "./chunk-FUSXMW3G.js";
|
|
29
|
+
|
|
30
|
+
// src/cli/commands/devtools/screencast-start.ts
|
|
31
|
+
function parseScreencastStartArgs(rawArgs) {
|
|
32
|
+
const intervalValue = parseOptionalStringFlag(rawArgs, "--interval-ms");
|
|
33
|
+
const maxFramesValue = parseOptionalStringFlag(rawArgs, "--max-frames");
|
|
34
|
+
const timeoutValue = parseOptionalStringFlag(rawArgs, "--timeout-ms");
|
|
35
|
+
return {
|
|
36
|
+
sessionId: parseOptionalStringFlag(rawArgs, "--session-id"),
|
|
37
|
+
targetId: parseOptionalStringFlag(rawArgs, "--target-id"),
|
|
38
|
+
outputDir: parseOptionalStringFlag(rawArgs, "--output-dir"),
|
|
39
|
+
intervalMs: typeof intervalValue === "string" ? parseNumberFlag(intervalValue, "--interval-ms", { min: 250 }) : void 0,
|
|
40
|
+
maxFrames: typeof maxFramesValue === "string" ? parseNumberFlag(maxFramesValue, "--max-frames", { min: 1 }) : void 0,
|
|
41
|
+
timeoutMs: typeof timeoutValue === "string" ? parseNumberFlag(timeoutValue, "--timeout-ms", { min: 1 }) : void 0
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
async function runScreencastStart(args) {
|
|
45
|
+
const { sessionId, targetId, outputDir, intervalMs, maxFrames, timeoutMs } = parseScreencastStartArgs(args.rawArgs);
|
|
46
|
+
if (!sessionId) {
|
|
47
|
+
throw createUsageError("Missing --session-id");
|
|
48
|
+
}
|
|
49
|
+
const result = await callDaemon("page.screencast.start", {
|
|
50
|
+
sessionId,
|
|
51
|
+
...typeof targetId === "string" ? { targetId } : {},
|
|
52
|
+
...typeof outputDir === "string" ? { outputDir } : {},
|
|
53
|
+
...typeof intervalMs === "number" ? { intervalMs } : {},
|
|
54
|
+
...typeof maxFrames === "number" ? { maxFrames } : {}
|
|
55
|
+
}, {
|
|
56
|
+
timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
57
|
+
});
|
|
58
|
+
return { success: true, message: "Screencast started.", data: result };
|
|
59
|
+
}
|
|
60
|
+
var __test__ = {
|
|
61
|
+
parseScreencastStartArgs
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
__test__,
|
|
65
|
+
runScreencastStart
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=screencast-start-DTLUHD5H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/devtools/screencast-start.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\ntype ScreencastStartArgs = {\n sessionId?: string;\n targetId?: string;\n outputDir?: string;\n intervalMs?: number;\n maxFrames?: number;\n timeoutMs?: number;\n};\n\nfunction parseScreencastStartArgs(rawArgs: string[]): ScreencastStartArgs {\n const intervalValue = parseOptionalStringFlag(rawArgs, \"--interval-ms\");\n const maxFramesValue = parseOptionalStringFlag(rawArgs, \"--max-frames\");\n const timeoutValue = parseOptionalStringFlag(rawArgs, \"--timeout-ms\");\n return {\n sessionId: parseOptionalStringFlag(rawArgs, \"--session-id\"),\n targetId: parseOptionalStringFlag(rawArgs, \"--target-id\"),\n outputDir: parseOptionalStringFlag(rawArgs, \"--output-dir\"),\n intervalMs: typeof intervalValue === \"string\"\n ? parseNumberFlag(intervalValue, \"--interval-ms\", { min: 250 })\n : undefined,\n maxFrames: typeof maxFramesValue === \"string\"\n ? parseNumberFlag(maxFramesValue, \"--max-frames\", { min: 1 })\n : undefined,\n timeoutMs: typeof timeoutValue === \"string\"\n ? parseNumberFlag(timeoutValue, \"--timeout-ms\", { min: 1 })\n : undefined\n };\n}\n\nexport async function runScreencastStart(args: ParsedArgs) {\n const { sessionId, targetId, outputDir, intervalMs, maxFrames, timeoutMs } = parseScreencastStartArgs(args.rawArgs);\n if (!sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n const result = await callDaemon(\"page.screencast.start\", {\n sessionId,\n ...(typeof targetId === \"string\" ? { targetId } : {}),\n ...(typeof outputDir === \"string\" ? { outputDir } : {}),\n ...(typeof intervalMs === \"number\" ? { intervalMs } : {}),\n ...(typeof maxFrames === \"number\" ? { maxFrames } : {})\n }, {\n timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS\n });\n return { success: true, message: \"Screencast started.\", data: result };\n}\n\nexport const __test__ = {\n parseScreencastStartArgs\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAAS,yBAAyB,SAAwC;AACxE,QAAM,gBAAgB,wBAAwB,SAAS,eAAe;AACtE,QAAM,iBAAiB,wBAAwB,SAAS,cAAc;AACtE,QAAM,eAAe,wBAAwB,SAAS,cAAc;AACpE,SAAO;AAAA,IACL,WAAW,wBAAwB,SAAS,cAAc;AAAA,IAC1D,UAAU,wBAAwB,SAAS,aAAa;AAAA,IACxD,WAAW,wBAAwB,SAAS,cAAc;AAAA,IAC1D,YAAY,OAAO,kBAAkB,WACjC,gBAAgB,eAAe,iBAAiB,EAAE,KAAK,IAAI,CAAC,IAC5D;AAAA,IACJ,WAAW,OAAO,mBAAmB,WACjC,gBAAgB,gBAAgB,gBAAgB,EAAE,KAAK,EAAE,CAAC,IAC1D;AAAA,IACJ,WAAW,OAAO,iBAAiB,WAC/B,gBAAgB,cAAc,gBAAgB,EAAE,KAAK,EAAE,CAAC,IACxD;AAAA,EACN;AACF;AAEA,eAAsB,mBAAmB,MAAkB;AACzD,QAAM,EAAE,WAAW,UAAU,WAAW,YAAY,WAAW,UAAU,IAAI,yBAAyB,KAAK,OAAO;AAClH,MAAI,CAAC,WAAW;AACd,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AACA,QAAM,SAAS,MAAM,WAAW,yBAAyB;AAAA,IACvD;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,IACnD,GAAI,OAAO,cAAc,WAAW,EAAE,UAAU,IAAI,CAAC;AAAA,IACrD,GAAI,OAAO,eAAe,WAAW,EAAE,WAAW,IAAI,CAAC;AAAA,IACvD,GAAI,OAAO,cAAc,WAAW,EAAE,UAAU,IAAI,CAAC;AAAA,EACvD,GAAG;AAAA,IACD,WAAW,aAAa;AAAA,EAC1B,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,uBAAuB,MAAM,OAAO;AACvE;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import "./chunk-RJNI3BHT.js";
|
|
2
|
+
import {
|
|
3
|
+
parseNumberFlag,
|
|
4
|
+
parseOptionalStringFlag
|
|
5
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
8
|
+
} from "./chunk-OW5HMYMI.js";
|
|
9
|
+
import {
|
|
10
|
+
callDaemon
|
|
11
|
+
} from "./chunk-OYNLAZQU.js";
|
|
12
|
+
import "./chunk-LBPELU7L.js";
|
|
13
|
+
import "./chunk-SXAGSEKZ.js";
|
|
14
|
+
import "./chunk-MX3NFLCE.js";
|
|
15
|
+
import "./chunk-ASMHEEKY.js";
|
|
16
|
+
import {
|
|
17
|
+
createUsageError
|
|
18
|
+
} from "./chunk-IPE7TF2P.js";
|
|
19
|
+
import "./chunk-STGGGVYT.js";
|
|
20
|
+
import "./chunk-3ILXPKSJ.js";
|
|
21
|
+
import "./chunk-TBUCZX4A.js";
|
|
22
|
+
import "./chunk-Y2KL55OG.js";
|
|
23
|
+
import "./chunk-5SWZDVOW.js";
|
|
24
|
+
import "./chunk-S6S2UP6U.js";
|
|
25
|
+
import "./chunk-S5KZQJJI.js";
|
|
26
|
+
import "./chunk-KZ2IXVQT.js";
|
|
27
|
+
import "./chunk-WHQZBUNY.js";
|
|
28
|
+
import "./chunk-FUSXMW3G.js";
|
|
29
|
+
|
|
30
|
+
// src/cli/commands/devtools/screencast-stop.ts
|
|
31
|
+
function parseScreencastStopArgs(rawArgs) {
|
|
32
|
+
const timeoutValue = parseOptionalStringFlag(rawArgs, "--timeout-ms");
|
|
33
|
+
return {
|
|
34
|
+
sessionId: parseOptionalStringFlag(rawArgs, "--session-id"),
|
|
35
|
+
screencastId: parseOptionalStringFlag(rawArgs, "--screencast-id"),
|
|
36
|
+
timeoutMs: typeof timeoutValue === "string" ? parseNumberFlag(timeoutValue, "--timeout-ms", { min: 1 }) : void 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async function runScreencastStop(args) {
|
|
40
|
+
const { sessionId, screencastId, timeoutMs } = parseScreencastStopArgs(args.rawArgs);
|
|
41
|
+
if (!sessionId) {
|
|
42
|
+
throw createUsageError("Missing --session-id");
|
|
43
|
+
}
|
|
44
|
+
if (!screencastId) {
|
|
45
|
+
throw createUsageError("Missing --screencast-id");
|
|
46
|
+
}
|
|
47
|
+
const result = await callDaemon("page.screencast.stop", { sessionId, screencastId }, {
|
|
48
|
+
timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
49
|
+
});
|
|
50
|
+
return { success: true, message: "Screencast stopped.", data: result };
|
|
51
|
+
}
|
|
52
|
+
var __test__ = {
|
|
53
|
+
parseScreencastStopArgs
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
__test__,
|
|
57
|
+
runScreencastStop
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=screencast-stop-54C5LRSS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/devtools/screencast-stop.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\ntype ScreencastStopArgs = {\n sessionId?: string;\n screencastId?: string;\n timeoutMs?: number;\n};\n\nfunction parseScreencastStopArgs(rawArgs: string[]): ScreencastStopArgs {\n const timeoutValue = parseOptionalStringFlag(rawArgs, \"--timeout-ms\");\n return {\n sessionId: parseOptionalStringFlag(rawArgs, \"--session-id\"),\n screencastId: parseOptionalStringFlag(rawArgs, \"--screencast-id\"),\n timeoutMs: typeof timeoutValue === \"string\"\n ? parseNumberFlag(timeoutValue, \"--timeout-ms\", { min: 1 })\n : undefined\n };\n}\n\nexport async function runScreencastStop(args: ParsedArgs) {\n const { sessionId, screencastId, timeoutMs } = parseScreencastStopArgs(args.rawArgs);\n if (!sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n if (!screencastId) {\n throw createUsageError(\"Missing --screencast-id\");\n }\n const result = await callDaemon(\"page.screencast.stop\", { sessionId, screencastId }, {\n timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS\n });\n return { success: true, message: \"Screencast stopped.\", data: result };\n}\n\nexport const __test__ = {\n parseScreencastStopArgs\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,SAAS,wBAAwB,SAAuC;AACtE,QAAM,eAAe,wBAAwB,SAAS,cAAc;AACpE,SAAO;AAAA,IACL,WAAW,wBAAwB,SAAS,cAAc;AAAA,IAC1D,cAAc,wBAAwB,SAAS,iBAAiB;AAAA,IAChE,WAAW,OAAO,iBAAiB,WAC/B,gBAAgB,cAAc,gBAAgB,EAAE,KAAK,EAAE,CAAC,IACxD;AAAA,EACN;AACF;AAEA,eAAsB,kBAAkB,MAAkB;AACxD,QAAM,EAAE,WAAW,cAAc,UAAU,IAAI,wBAAwB,KAAK,OAAO;AACnF,MAAI,CAAC,WAAW;AACd,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AACA,MAAI,CAAC,cAAc;AACjB,UAAM,iBAAiB,yBAAyB;AAAA,EAClD;AACA,QAAM,SAAS,MAAM,WAAW,wBAAwB,EAAE,WAAW,aAAa,GAAG;AAAA,IACnF,WAAW,aAAa;AAAA,EAC1B,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,uBAAuB,MAAM,OAAO;AACvE;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "./chunk-RJNI3BHT.js";
|
|
2
|
+
import {
|
|
3
|
+
parseNumberFlag,
|
|
4
|
+
parseOptionalStringFlag
|
|
5
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
8
|
+
} from "./chunk-OW5HMYMI.js";
|
|
9
|
+
import {
|
|
10
|
+
callDaemon
|
|
11
|
+
} from "./chunk-OYNLAZQU.js";
|
|
12
|
+
import "./chunk-LBPELU7L.js";
|
|
13
|
+
import "./chunk-SXAGSEKZ.js";
|
|
14
|
+
import "./chunk-MX3NFLCE.js";
|
|
15
|
+
import "./chunk-ASMHEEKY.js";
|
|
16
|
+
import {
|
|
17
|
+
createUsageError
|
|
18
|
+
} from "./chunk-IPE7TF2P.js";
|
|
19
|
+
import "./chunk-STGGGVYT.js";
|
|
20
|
+
import "./chunk-3ILXPKSJ.js";
|
|
21
|
+
import "./chunk-TBUCZX4A.js";
|
|
22
|
+
import "./chunk-Y2KL55OG.js";
|
|
23
|
+
import "./chunk-5SWZDVOW.js";
|
|
24
|
+
import "./chunk-S6S2UP6U.js";
|
|
25
|
+
import "./chunk-S5KZQJJI.js";
|
|
26
|
+
import "./chunk-KZ2IXVQT.js";
|
|
27
|
+
import "./chunk-WHQZBUNY.js";
|
|
28
|
+
import "./chunk-FUSXMW3G.js";
|
|
29
|
+
|
|
30
|
+
// src/cli/commands/devtools/screenshot.ts
|
|
31
|
+
function parseScreenshotArgs(rawArgs) {
|
|
32
|
+
const timeoutValue = parseOptionalStringFlag(rawArgs, "--timeout-ms");
|
|
33
|
+
const parsed = {
|
|
34
|
+
sessionId: parseOptionalStringFlag(rawArgs, "--session-id"),
|
|
35
|
+
targetId: parseOptionalStringFlag(rawArgs, "--target-id"),
|
|
36
|
+
path: parseOptionalStringFlag(rawArgs, "--path"),
|
|
37
|
+
ref: parseOptionalStringFlag(rawArgs, "--ref"),
|
|
38
|
+
fullPage: rawArgs.includes("--full-page"),
|
|
39
|
+
timeoutMs: typeof timeoutValue === "string" ? parseNumberFlag(timeoutValue, "--timeout-ms", { min: 1 }) : void 0
|
|
40
|
+
};
|
|
41
|
+
if (parsed.ref && parsed.fullPage) {
|
|
42
|
+
throw createUsageError("Choose either --ref or --full-page.");
|
|
43
|
+
}
|
|
44
|
+
return parsed;
|
|
45
|
+
}
|
|
46
|
+
async function runScreenshot(args) {
|
|
47
|
+
const { sessionId, targetId, path, ref, fullPage, timeoutMs } = parseScreenshotArgs(args.rawArgs);
|
|
48
|
+
if (!sessionId) throw createUsageError("Missing --session-id");
|
|
49
|
+
const params = {
|
|
50
|
+
sessionId,
|
|
51
|
+
...typeof path === "string" ? { path } : {},
|
|
52
|
+
...typeof targetId === "string" ? { targetId } : {},
|
|
53
|
+
...typeof ref === "string" ? { ref } : {},
|
|
54
|
+
...fullPage === true ? { fullPage: true } : {}
|
|
55
|
+
};
|
|
56
|
+
const result = await callDaemon("page.screenshot", params, {
|
|
57
|
+
timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS
|
|
58
|
+
});
|
|
59
|
+
return { success: true, message: "Screenshot captured.", data: result };
|
|
60
|
+
}
|
|
61
|
+
var __test__ = {
|
|
62
|
+
parseScreenshotArgs
|
|
63
|
+
};
|
|
64
|
+
export {
|
|
65
|
+
__test__,
|
|
66
|
+
runScreenshot
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=screenshot-HOAKR7P7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/devtools/screenshot.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\ntype ScreenshotArgs = {\n sessionId?: string;\n targetId?: string;\n path?: string;\n ref?: string;\n fullPage?: boolean;\n timeoutMs?: number;\n};\n\nfunction parseScreenshotArgs(rawArgs: string[]): ScreenshotArgs {\n const timeoutValue = parseOptionalStringFlag(rawArgs, \"--timeout-ms\");\n const parsed: ScreenshotArgs = {\n sessionId: parseOptionalStringFlag(rawArgs, \"--session-id\"),\n targetId: parseOptionalStringFlag(rawArgs, \"--target-id\"),\n path: parseOptionalStringFlag(rawArgs, \"--path\"),\n ref: parseOptionalStringFlag(rawArgs, \"--ref\"),\n fullPage: rawArgs.includes(\"--full-page\"),\n timeoutMs: typeof timeoutValue === \"string\"\n ? parseNumberFlag(timeoutValue, \"--timeout-ms\", { min: 1 })\n : undefined\n };\n if (parsed.ref && parsed.fullPage) {\n throw createUsageError(\"Choose either --ref or --full-page.\");\n }\n return parsed;\n}\n\nexport async function runScreenshot(args: ParsedArgs) {\n const { sessionId, targetId, path, ref, fullPage, timeoutMs } = parseScreenshotArgs(args.rawArgs);\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n const params = {\n sessionId,\n ...(typeof path === \"string\" ? { path } : {}),\n ...(typeof targetId === \"string\" ? { targetId } : {}),\n ...(typeof ref === \"string\" ? { ref } : {}),\n ...(fullPage === true ? { fullPage: true } : {})\n };\n const result = await callDaemon(\"page.screenshot\", params, {\n timeoutMs: timeoutMs ?? DEFAULT_SCREENSHOT_TRANSPORT_TIMEOUT_MS\n });\n return { success: true, message: \"Screenshot captured.\", data: result };\n}\n\nexport const __test__ = {\n parseScreenshotArgs\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAAS,oBAAoB,SAAmC;AAC9D,QAAM,eAAe,wBAAwB,SAAS,cAAc;AACpE,QAAM,SAAyB;AAAA,IAC7B,WAAW,wBAAwB,SAAS,cAAc;AAAA,IAC1D,UAAU,wBAAwB,SAAS,aAAa;AAAA,IACxD,MAAM,wBAAwB,SAAS,QAAQ;AAAA,IAC/C,KAAK,wBAAwB,SAAS,OAAO;AAAA,IAC7C,UAAU,QAAQ,SAAS,aAAa;AAAA,IACxC,WAAW,OAAO,iBAAiB,WAC/B,gBAAgB,cAAc,gBAAgB,EAAE,KAAK,EAAE,CAAC,IACxD;AAAA,EACN;AACA,MAAI,OAAO,OAAO,OAAO,UAAU;AACjC,UAAM,iBAAiB,qCAAqC;AAAA,EAC9D;AACA,SAAO;AACT;AAEA,eAAsB,cAAc,MAAkB;AACpD,QAAM,EAAE,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,IAAI,oBAAoB,KAAK,OAAO;AAChG,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,QAAM,SAAS;AAAA,IACb;AAAA,IACA,GAAI,OAAO,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;AAAA,IAC3C,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,IACnD,GAAI,OAAO,QAAQ,WAAW,EAAE,IAAI,IAAI,CAAC;AAAA,IACzC,GAAI,aAAa,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;AAAA,EAChD;AACA,QAAM,SAAS,MAAM,WAAW,mBAAmB,QAAQ;AAAA,IACzD,WAAW,aAAa;AAAA,EAC1B,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,wBAAwB,MAAM,OAAO;AACxE;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import "./chunk-RJNI3BHT.js";
|
|
2
|
+
import {
|
|
3
|
+
parseNumberFlag,
|
|
4
|
+
parseOptionalStringFlag
|
|
5
|
+
} from "./chunk-RPXWUCQQ.js";
|
|
6
|
+
import {
|
|
7
|
+
callDaemon
|
|
8
|
+
} from "./chunk-OYNLAZQU.js";
|
|
9
|
+
import "./chunk-LBPELU7L.js";
|
|
10
|
+
import "./chunk-SXAGSEKZ.js";
|
|
11
|
+
import "./chunk-MX3NFLCE.js";
|
|
12
|
+
import "./chunk-ASMHEEKY.js";
|
|
13
|
+
import {
|
|
14
|
+
createUsageError
|
|
15
|
+
} from "./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/interact/scroll.ts
|
|
28
|
+
function parseScrollArgs(rawArgs) {
|
|
29
|
+
const parsed = {};
|
|
30
|
+
for (let i = 0; i < rawArgs.length; i += 1) {
|
|
31
|
+
const arg = rawArgs[i];
|
|
32
|
+
if (arg === "--session-id") {
|
|
33
|
+
const value = rawArgs[i + 1];
|
|
34
|
+
if (!value) throw createUsageError("Missing value for --session-id");
|
|
35
|
+
parsed.sessionId = value;
|
|
36
|
+
i += 1;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (arg?.startsWith("--session-id=")) {
|
|
40
|
+
parsed.sessionId = arg.split("=", 2)[1];
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (arg === "--ref") {
|
|
44
|
+
const value = rawArgs[i + 1];
|
|
45
|
+
if (!value) throw createUsageError("Missing value for --ref");
|
|
46
|
+
parsed.ref = value;
|
|
47
|
+
i += 1;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (arg?.startsWith("--ref=")) {
|
|
51
|
+
parsed.ref = arg.split("=", 2)[1];
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (arg === "--dy") {
|
|
55
|
+
const value = rawArgs[i + 1];
|
|
56
|
+
if (!value) throw createUsageError("Missing value for --dy");
|
|
57
|
+
parsed.dy = parseNumberFlag(value, "--dy");
|
|
58
|
+
i += 1;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (arg?.startsWith("--dy=")) {
|
|
62
|
+
parsed.dy = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--dy");
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return parsed;
|
|
67
|
+
}
|
|
68
|
+
async function runScroll(args) {
|
|
69
|
+
const { sessionId, ref, dy } = parseScrollArgs(args.rawArgs);
|
|
70
|
+
const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
|
|
71
|
+
if (!sessionId) throw createUsageError("Missing --session-id");
|
|
72
|
+
if (typeof dy !== "number" || Number.isNaN(dy)) throw createUsageError("Missing --dy");
|
|
73
|
+
const result = await callDaemon("interact.scroll", {
|
|
74
|
+
sessionId,
|
|
75
|
+
ref,
|
|
76
|
+
dy,
|
|
77
|
+
...typeof targetId === "string" ? { targetId } : {}
|
|
78
|
+
});
|
|
79
|
+
return { success: true, message: "Scroll complete.", data: result };
|
|
80
|
+
}
|
|
81
|
+
export {
|
|
82
|
+
runScroll
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=scroll-IAOO5COY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/interact/scroll.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseScrollArgs(rawArgs: string[]): { sessionId?: string; ref?: string; dy?: number } {\n const parsed: { sessionId?: string; ref?: string; dy?: number } = {};\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 === \"--dy\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --dy\");\n parsed.dy = parseNumberFlag(value, \"--dy\");\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--dy=\")) {\n parsed.dy = parseNumberFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--dy\");\n continue;\n }\n }\n return parsed;\n}\n\nexport async function runScroll(args: ParsedArgs) {\n const { sessionId, ref, dy } = parseScrollArgs(args.rawArgs);\n const targetId = parseOptionalStringFlag(args.rawArgs, \"--target-id\");\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n if (typeof dy !== \"number\" || Number.isNaN(dy)) throw createUsageError(\"Missing --dy\");\n const result = await callDaemon(\"interact.scroll\", {\n sessionId,\n ref,\n dy,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"Scroll complete.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,gBAAgB,SAAsE;AAC7F,QAAM,SAA4D,CAAC;AACnE,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,QAAQ;AAClB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,wBAAwB;AAC3D,aAAO,KAAK,gBAAgB,OAAO,MAAM;AACzC,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,OAAO,GAAG;AAC5B,aAAO,KAAK,gBAAgB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,MAAM;AAC9D;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,UAAU,MAAkB;AAChD,QAAM,EAAE,WAAW,KAAK,GAAG,IAAI,gBAAgB,KAAK,OAAO;AAC3D,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,OAAO,OAAO,YAAY,OAAO,MAAM,EAAE,EAAG,OAAM,iBAAiB,cAAc;AACrF,QAAM,SAAS,MAAM,WAAW,mBAAmB;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,oBAAoB,MAAM,OAAO;AACpE;","names":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
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/interact/scroll-into-view.ts
|
|
27
|
+
function parseScrollIntoViewArgs(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
|
+
}
|
|
54
|
+
return parsed;
|
|
55
|
+
}
|
|
56
|
+
async function runScrollIntoView(args) {
|
|
57
|
+
const { sessionId, ref } = parseScrollIntoViewArgs(args.rawArgs);
|
|
58
|
+
const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
|
|
59
|
+
if (!sessionId) throw createUsageError("Missing --session-id");
|
|
60
|
+
if (!ref) throw createUsageError("Missing --ref");
|
|
61
|
+
const result = await callDaemon("interact.scrollIntoView", {
|
|
62
|
+
sessionId,
|
|
63
|
+
ref,
|
|
64
|
+
...typeof targetId === "string" ? { targetId } : {}
|
|
65
|
+
});
|
|
66
|
+
return { success: true, message: "Scroll into view complete.", data: result };
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
runScrollIntoView
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=scroll-into-view-RKWSLAPH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/interact/scroll-into-view.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseScrollIntoViewArgs(rawArgs: string[]): { sessionId?: string; ref?: string } {\n const parsed: { sessionId?: string; ref?: 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 }\n return parsed;\n}\n\nexport async function runScrollIntoView(args: ParsedArgs) {\n const { sessionId, ref } = parseScrollIntoViewArgs(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 const result = await callDaemon(\"interact.scrollIntoView\", {\n sessionId,\n ref,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"Scroll into view complete.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,wBAAwB,SAAyD;AACxF,QAAM,SAA+C,CAAC;AACtD,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;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,kBAAkB,MAAkB;AACxD,QAAM,EAAE,WAAW,IAAI,IAAI,wBAAwB,KAAK,OAAO;AAC/D,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,CAAC,IAAK,OAAM,iBAAiB,eAAe;AAChD,QAAM,SAAS,MAAM,WAAW,2BAA2B;AAAA,IACzD;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,8BAA8B,MAAM,OAAO;AAC9E;","names":[]}
|