@vforsh/argus 0.1.12 → 0.1.13
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/dist/.tsbuildinfo +1 -1
- package/dist/argus.js +6266 -1284
- package/dist/cdp/sendCdpCommand.d.ts +6 -2
- package/dist/cdp/sendCdpCommand.d.ts.map +1 -1
- package/dist/cdp/sendCdpCommand.js +18 -12
- package/dist/cdp/sendCdpCommand.js.map +1 -1
- package/dist/cli/plugins/registerPlugins.d.ts.map +1 -1
- package/dist/cli/plugins/registerPlugins.js +1 -1
- package/dist/cli/plugins/registerPlugins.js.map +1 -1
- package/dist/cli/register/domCommandBuilder.d.ts +1 -0
- package/dist/cli/register/domCommandBuilder.d.ts.map +1 -1
- package/dist/cli/register/domCommandBuilder.js +3 -0
- package/dist/cli/register/domCommandBuilder.js.map +1 -1
- package/dist/cli/register/index.d.ts.map +1 -1
- package/dist/cli/register/index.js +4 -0
- package/dist/cli/register/index.js.map +1 -1
- package/dist/cli/register/registerAuth.d.ts.map +1 -1
- package/dist/cli/register/registerAuth.js +103 -4
- package/dist/cli/register/registerAuth.js.map +1 -1
- package/dist/cli/register/registerChrome.d.ts.map +1 -1
- package/dist/cli/register/registerChrome.js +53 -14
- package/dist/cli/register/registerChrome.js.map +1 -1
- package/dist/cli/register/registerClick.d.ts.map +1 -1
- package/dist/cli/register/registerClick.js +2 -1
- package/dist/cli/register/registerClick.js.map +1 -1
- package/dist/cli/register/registerDialog.d.ts +3 -0
- package/dist/cli/register/registerDialog.d.ts.map +1 -0
- package/dist/cli/register/registerDialog.js +45 -0
- package/dist/cli/register/registerDialog.js.map +1 -0
- package/dist/cli/register/registerDom.d.ts.map +1 -1
- package/dist/cli/register/registerDom.js +4 -0
- package/dist/cli/register/registerDom.js.map +1 -1
- package/dist/cli/register/registerEval.js +1 -1
- package/dist/cli/register/registerEval.js.map +1 -1
- package/dist/cli/register/registerFill.d.ts.map +1 -1
- package/dist/cli/register/registerFill.js +4 -3
- package/dist/cli/register/registerFill.js.map +1 -1
- package/dist/cli/register/registerHover.d.ts.map +1 -1
- package/dist/cli/register/registerHover.js +2 -1
- package/dist/cli/register/registerHover.js.map +1 -1
- package/dist/cli/register/registerLocate.d.ts +3 -0
- package/dist/cli/register/registerLocate.d.ts.map +1 -0
- package/dist/cli/register/registerLocate.js +48 -0
- package/dist/cli/register/registerLocate.js.map +1 -0
- package/dist/cli/register/registerNet.d.ts.map +1 -1
- package/dist/cli/register/registerNet.js +234 -13
- package/dist/cli/register/registerNet.js.map +1 -1
- package/dist/cli/register/registerQuickAccess.d.ts.map +1 -1
- package/dist/cli/register/registerQuickAccess.js +33 -3
- package/dist/cli/register/registerQuickAccess.js.map +1 -1
- package/dist/cli/register/registerStorage.d.ts.map +1 -1
- package/dist/cli/register/registerStorage.js +26 -21
- package/dist/cli/register/registerStorage.js.map +1 -1
- package/dist/cli/validation.d.ts +1 -0
- package/dist/cli/validation.d.ts.map +1 -1
- package/dist/cli/validation.js +1 -0
- package/dist/cli/validation.js.map +1 -1
- package/dist/commands/auth.d.ts +39 -18
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +104 -122
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/authCookieSupport.d.ts +54 -0
- package/dist/commands/authCookieSupport.d.ts.map +1 -0
- package/dist/commands/authCookieSupport.js +206 -0
- package/dist/commands/authCookieSupport.js.map +1 -0
- package/dist/commands/authCookies.d.ts +60 -0
- package/dist/commands/authCookies.d.ts.map +1 -0
- package/dist/commands/authCookies.js +149 -0
- package/dist/commands/authCookies.js.map +1 -0
- package/dist/commands/chrome/authState.d.ts +23 -0
- package/dist/commands/chrome/authState.d.ts.map +1 -0
- package/dist/commands/chrome/authState.js +97 -0
- package/dist/commands/chrome/authState.js.map +1 -0
- package/dist/commands/chromeStart.d.ts +1 -0
- package/dist/commands/chromeStart.d.ts.map +1 -1
- package/dist/commands/chromeStart.js +28 -3
- package/dist/commands/chromeStart.js.map +1 -1
- package/dist/commands/code.d.ts.map +1 -1
- package/dist/commands/code.js +9 -1
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/dialog.d.ts +13 -0
- package/dist/commands/dialog.d.ts.map +1 -0
- package/dist/commands/dialog.js +71 -0
- package/dist/commands/dialog.js.map +1 -0
- package/dist/commands/dom/shared.d.ts +5 -1
- package/dist/commands/dom/shared.d.ts.map +1 -1
- package/dist/commands/dom/shared.js +27 -0
- package/dist/commands/dom/shared.js.map +1 -1
- package/dist/commands/domClick.d.ts +1 -0
- package/dist/commands/domClick.d.ts.map +1 -1
- package/dist/commands/domClick.js +20 -10
- package/dist/commands/domClick.js.map +1 -1
- package/dist/commands/domFill.d.ts +1 -0
- package/dist/commands/domFill.d.ts.map +1 -1
- package/dist/commands/domFill.js +13 -9
- package/dist/commands/domFill.js.map +1 -1
- package/dist/commands/domFocus.d.ts +2 -1
- package/dist/commands/domFocus.d.ts.map +1 -1
- package/dist/commands/domFocus.js +7 -6
- package/dist/commands/domFocus.js.map +1 -1
- package/dist/commands/domHover.d.ts +2 -1
- package/dist/commands/domHover.d.ts.map +1 -1
- package/dist/commands/domHover.js +7 -6
- package/dist/commands/domHover.js.map +1 -1
- package/dist/commands/domInfo.d.ts +2 -1
- package/dist/commands/domInfo.d.ts.map +1 -1
- package/dist/commands/domInfo.js +6 -5
- package/dist/commands/domInfo.js.map +1 -1
- package/dist/commands/domTree.js +2 -2
- package/dist/commands/domTree.js.map +1 -1
- package/dist/commands/locate.d.ts +17 -0
- package/dist/commands/locate.d.ts.map +1 -0
- package/dist/commands/locate.js +117 -0
- package/dist/commands/locate.js.map +1 -0
- package/dist/commands/net.d.ts +2 -5
- package/dist/commands/net.d.ts.map +1 -1
- package/dist/commands/net.js +5 -7
- package/dist/commands/net.js.map +1 -1
- package/dist/commands/netBody.d.ts +6 -0
- package/dist/commands/netBody.d.ts.map +1 -0
- package/dist/commands/netBody.js +32 -0
- package/dist/commands/netBody.js.map +1 -0
- package/dist/commands/netCapture.d.ts +36 -0
- package/dist/commands/netCapture.d.ts.map +1 -0
- package/dist/commands/netCapture.js +105 -0
- package/dist/commands/netCapture.js.map +1 -0
- package/dist/commands/netClear.d.ts +5 -0
- package/dist/commands/netClear.d.ts.map +1 -0
- package/dist/commands/netClear.js +20 -0
- package/dist/commands/netClear.js.map +1 -0
- package/dist/commands/netExport.d.ts +13 -0
- package/dist/commands/netExport.d.ts.map +1 -0
- package/dist/commands/netExport.js +124 -0
- package/dist/commands/netExport.js.map +1 -0
- package/dist/commands/netInspect.d.ts +12 -0
- package/dist/commands/netInspect.d.ts.map +1 -0
- package/dist/commands/netInspect.js +205 -0
- package/dist/commands/netInspect.js.map +1 -0
- package/dist/commands/netRequestClient.d.ts +17 -0
- package/dist/commands/netRequestClient.d.ts.map +1 -0
- package/dist/commands/netRequestClient.js +54 -0
- package/dist/commands/netRequestClient.js.map +1 -0
- package/dist/commands/netRequestTarget.d.ts +14 -0
- package/dist/commands/netRequestTarget.d.ts.map +1 -0
- package/dist/commands/netRequestTarget.js +36 -0
- package/dist/commands/netRequestTarget.js.map +1 -0
- package/dist/commands/netShared.d.ts +40 -0
- package/dist/commands/netShared.d.ts.map +1 -0
- package/dist/commands/netShared.js +108 -0
- package/dist/commands/netShared.js.map +1 -0
- package/dist/commands/netShow.d.ts +5 -0
- package/dist/commands/netShow.d.ts.map +1 -0
- package/dist/commands/netShow.js +28 -0
- package/dist/commands/netShow.js.map +1 -0
- package/dist/commands/netSummary.d.ts +6 -0
- package/dist/commands/netSummary.d.ts.map +1 -0
- package/dist/commands/netSummary.js +99 -0
- package/dist/commands/netSummary.js.map +1 -0
- package/dist/commands/netTail.d.ts +2 -5
- package/dist/commands/netTail.d.ts.map +1 -1
- package/dist/commands/netTail.js +7 -15
- package/dist/commands/netTail.js.map +1 -1
- package/dist/commands/netWatch.d.ts +11 -0
- package/dist/commands/netWatch.d.ts.map +1 -0
- package/dist/commands/netWatch.js +55 -0
- package/dist/commands/netWatch.js.map +1 -0
- package/dist/commands/resolveTestId.d.ts +2 -1
- package/dist/commands/resolveTestId.d.ts.map +1 -1
- package/dist/commands/resolveTestId.js +3 -3
- package/dist/commands/resolveTestId.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +62 -7
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/storage.d.ts +17 -0
- package/dist/commands/storage.d.ts.map +1 -0
- package/dist/commands/storage.js +67 -0
- package/dist/commands/storage.js.map +1 -0
- package/dist/commands/watcherNativeHost.d.ts.map +1 -1
- package/dist/commands/watcherNativeHost.js +13 -2
- package/dist/commands/watcherNativeHost.js.map +1 -1
- package/dist/net/har.d.ts +86 -0
- package/dist/net/har.d.ts.map +1 -0
- package/dist/net/har.js +125 -0
- package/dist/net/har.js.map +1 -0
- package/dist/net/summary.d.ts +33 -0
- package/dist/net/summary.d.ts.map +1 -0
- package/dist/net/summary.js +128 -0
- package/dist/net/summary.js.map +1 -0
- package/dist/output/accessibility.js +16 -12
- package/dist/output/accessibility.js.map +1 -1
- package/dist/output/code.d.ts +2 -1
- package/dist/output/code.d.ts.map +1 -1
- package/dist/output/code.js +10 -0
- package/dist/output/code.js.map +1 -1
- package/dist/output/dom.d.ts.map +1 -1
- package/dist/output/dom.js +2 -1
- package/dist/output/dom.js.map +1 -1
- package/dist/output/format.d.ts +1 -3
- package/dist/output/format.d.ts.map +1 -1
- package/dist/output/format.js +0 -8
- package/dist/output/format.js.map +1 -1
- package/dist/output/locate.d.ts +3 -0
- package/dist/output/locate.d.ts.map +1 -0
- package/dist/output/locate.js +25 -0
- package/dist/output/locate.js.map +1 -0
- package/dist/output/net.d.ts +13 -0
- package/dist/output/net.d.ts.map +1 -0
- package/dist/output/net.js +239 -0
- package/dist/output/net.js.map +1 -0
- package/dist/watchers/queryParams.d.ts +17 -0
- package/dist/watchers/queryParams.d.ts.map +1 -1
- package/dist/watchers/queryParams.js +61 -0
- package/dist/watchers/queryParams.js.map +1 -1
- package/package.json +2 -5
- package/dist/commands/storageLocal.d.ts +0 -18
- package/dist/commands/storageLocal.d.ts.map +0 -1
- package/dist/commands/storageLocal.js +0 -92
- package/dist/commands/storageLocal.js.map +0 -1
- package/dist/plugin.d.ts +0 -29
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugin.js +0 -2
- package/dist/plugin.js.map +0 -1
|
@@ -4,8 +4,12 @@ export type CdpCommandPayload = {
|
|
|
4
4
|
params?: Record<string, unknown>;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
* Send a single CDP command over a target/browser websocket and
|
|
8
|
-
|
|
7
|
+
* Send a single CDP command over a target/browser websocket and return the raw `result` payload.
|
|
8
|
+
*/
|
|
9
|
+
export declare const sendCdpRequest: <T>(wsUrl: string, payload: CdpCommandPayload, timeoutMs?: number) => Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Send a single CDP command and ignore any successful result payload.
|
|
12
|
+
* Keeps existing callsites terse while sharing the same request/response path.
|
|
9
13
|
*/
|
|
10
14
|
export declare const sendCdpCommand: (wsUrl: string, payload: CdpCommandPayload, timeoutMs?: number) => Promise<void>;
|
|
11
15
|
//# sourceMappingURL=sendCdpCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendCdpCommand.d.ts","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"sendCdpCommand.d.ts","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AA0BD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,CAAC,EAAE,OAAO,MAAM,EAAE,SAAS,iBAAiB,EAAE,kBAAiB,KAAG,OAAO,CAAC,CAAC,CAuF/G,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAU,OAAO,MAAM,EAAE,SAAS,iBAAiB,EAAE,kBAAiB,KAAG,OAAO,CAAC,IAAI,CAE/G,CAAA"}
|
|
@@ -15,17 +15,16 @@ const toMessageText = (data) => {
|
|
|
15
15
|
return null;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* Send a single CDP command over a target/browser websocket and
|
|
19
|
-
* This stays intentionally tiny so command modules can focus on selecting targets and formatting output.
|
|
18
|
+
* Send a single CDP command over a target/browser websocket and return the raw `result` payload.
|
|
20
19
|
*/
|
|
21
|
-
export const
|
|
20
|
+
export const sendCdpRequest = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
22
21
|
const WebSocketConstructor = getWebSocketCtor();
|
|
23
22
|
if (!WebSocketConstructor) {
|
|
24
23
|
throw new Error('WebSocket unavailable. Node 18+ required.');
|
|
25
24
|
}
|
|
26
25
|
const ws = new WebSocketConstructor(wsUrl);
|
|
27
26
|
const requestId = payload.id;
|
|
28
|
-
await new Promise((resolve, reject) => {
|
|
27
|
+
return await new Promise((resolve, reject) => {
|
|
29
28
|
let settled = false;
|
|
30
29
|
const timer = setTimeout(() => {
|
|
31
30
|
if (!settled) {
|
|
@@ -44,7 +43,7 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
|
44
43
|
ws.removeEventListener?.('error', onError);
|
|
45
44
|
ws.removeEventListener?.('close', onClose);
|
|
46
45
|
};
|
|
47
|
-
const finish = (error) => {
|
|
46
|
+
const finish = (result, error) => {
|
|
48
47
|
if (settled) {
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
@@ -58,14 +57,14 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
|
58
57
|
reject(error);
|
|
59
58
|
return;
|
|
60
59
|
}
|
|
61
|
-
resolve();
|
|
60
|
+
resolve(result);
|
|
62
61
|
};
|
|
63
62
|
const onOpen = () => {
|
|
64
63
|
try {
|
|
65
64
|
ws.send(JSON.stringify(payload));
|
|
66
65
|
}
|
|
67
66
|
catch (error) {
|
|
68
|
-
finish(error instanceof Error ? error : new Error(String(error)));
|
|
67
|
+
finish(undefined, error instanceof Error ? error : new Error(String(error)));
|
|
69
68
|
}
|
|
70
69
|
};
|
|
71
70
|
const onMessage = (event) => {
|
|
@@ -79,20 +78,20 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
|
79
78
|
return;
|
|
80
79
|
}
|
|
81
80
|
if (message.error?.message) {
|
|
82
|
-
finish(new Error(message.error.message));
|
|
81
|
+
finish(undefined, new Error(message.error.message));
|
|
83
82
|
return;
|
|
84
83
|
}
|
|
85
|
-
finish();
|
|
84
|
+
finish(message.result);
|
|
86
85
|
}
|
|
87
86
|
catch (error) {
|
|
88
|
-
finish(error instanceof Error ? error : new Error(String(error)));
|
|
87
|
+
finish(undefined, error instanceof Error ? error : new Error(String(error)));
|
|
89
88
|
}
|
|
90
89
|
};
|
|
91
90
|
const onError = () => {
|
|
92
|
-
finish(new Error('WebSocket error'));
|
|
91
|
+
finish(undefined, new Error('WebSocket error'));
|
|
93
92
|
};
|
|
94
93
|
const onClose = () => {
|
|
95
|
-
finish(new Error('WebSocket closed before response'));
|
|
94
|
+
finish(undefined, new Error('WebSocket closed before response'));
|
|
96
95
|
};
|
|
97
96
|
ws.addEventListener('open', onOpen);
|
|
98
97
|
ws.addEventListener('message', onMessage);
|
|
@@ -100,4 +99,11 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
|
100
99
|
ws.addEventListener('close', onClose);
|
|
101
100
|
});
|
|
102
101
|
};
|
|
102
|
+
/**
|
|
103
|
+
* Send a single CDP command and ignore any successful result payload.
|
|
104
|
+
* Keeps existing callsites terse while sharing the same request/response path.
|
|
105
|
+
*/
|
|
106
|
+
export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
|
|
107
|
+
await sendCdpRequest(wsUrl, payload, timeoutMs);
|
|
108
|
+
};
|
|
103
109
|
//# sourceMappingURL=sendCdpCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendCdpCommand.js","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sendCdpCommand.js","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerPlugins.d.ts","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerPlugins.d.ts","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsFxC,eAAO,MAAM,eAAe,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CA8DpE,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { pathToFileURL } from 'node:url';
|
|
3
|
+
import { ARGUS_PLUGIN_API_VERSION } from '@vforsh/argus-plugin-api';
|
|
3
4
|
import { resolveArgusConfigPath, loadArgusConfig } from '../../config/argusConfig.js';
|
|
4
5
|
import { createOutput } from '../../output/io.js';
|
|
5
6
|
import { requestWatcherJson, writeRequestError } from '../../watchers/requestWatcher.js';
|
|
6
7
|
import { runChromeOpen } from '../../commands/chrome.js';
|
|
7
|
-
import { ARGUS_PLUGIN_API_VERSION } from '../../plugin.js';
|
|
8
8
|
const parseEnvPlugins = () => {
|
|
9
9
|
const raw = process.env.ARGUS_PLUGINS;
|
|
10
10
|
if (!raw)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerPlugins.js","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"registerPlugins.js","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domCommandBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"domCommandBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,OAAO,EAAE,MAAM,sBAAsB,KAAG,IAgC1F,CAAA"}
|
|
@@ -10,6 +10,9 @@ export const registerDomSelectorCommand = (parent, spec) => {
|
|
|
10
10
|
}
|
|
11
11
|
command.option('--selector <css>', 'CSS selector to match element(s)');
|
|
12
12
|
command.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"');
|
|
13
|
+
if (spec.allowRef) {
|
|
14
|
+
command.option('--ref <elementRef>', 'Stable element ref from snapshot/locate output');
|
|
15
|
+
}
|
|
13
16
|
if (spec.allowsAll !== false) {
|
|
14
17
|
command.option('--all', 'Allow multiple matches (default: error if >1 match)');
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domCommandBuilder.js","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"domCommandBuilder.js","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAyB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,IAA4B,EAAQ,EAAE;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/G,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAA;IACpF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC,CAAA;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,OAA4B,CAAC,EAAE,CAAC;YAClD,OAAM;QACP,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAkC,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAyBxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAEzD,eAAO,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAwB5D,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { registerQuickAccess } from './registerQuickAccess.js';
|
|
|
2
2
|
import { registerChrome } from './registerChrome.js';
|
|
3
3
|
import { registerWatcher } from './registerWatcher.js';
|
|
4
4
|
import { registerPage } from './registerPage.js';
|
|
5
|
+
import { registerDialog } from './registerDialog.js';
|
|
5
6
|
import { registerLogs } from './registerLogs.js';
|
|
6
7
|
import { registerNet } from './registerNet.js';
|
|
7
8
|
import { registerAuth } from './registerAuth.js';
|
|
@@ -19,15 +20,18 @@ import { registerTrace } from './registerTrace.js';
|
|
|
19
20
|
import { registerConfig } from './registerConfig.js';
|
|
20
21
|
import { registerExtension } from './registerExtension.js';
|
|
21
22
|
import { registerCode } from './registerCode.js';
|
|
23
|
+
import { registerLocate } from './registerLocate.js';
|
|
22
24
|
export const coreProgramRegistrars = [
|
|
23
25
|
registerQuickAccess,
|
|
24
26
|
registerChrome,
|
|
25
27
|
registerWatcher,
|
|
26
28
|
registerPage,
|
|
29
|
+
registerDialog,
|
|
27
30
|
registerLogs,
|
|
28
31
|
registerNet,
|
|
29
32
|
registerAuth,
|
|
30
33
|
registerEval,
|
|
34
|
+
registerLocate,
|
|
31
35
|
registerCode,
|
|
32
36
|
registerDom,
|
|
33
37
|
registerClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IACjE,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,iBAAiB;CACjB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerAuth.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"registerAuth.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgKnD"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runAuthClone, runAuthExportState, runAuthLoadState } from '../../commands/auth.js';
|
|
2
|
+
import { runAuthCookieClear, runAuthCookieDelete, runAuthCookieGet, runAuthCookies, runAuthCookieSet, runAuthExportCookies, } from '../../commands/authCookies.js';
|
|
2
3
|
export function registerAuth(program) {
|
|
3
|
-
const auth = program.command('auth').description('
|
|
4
|
-
|
|
4
|
+
const auth = program.command('auth').description('Inspect, export, and load browser auth state');
|
|
5
|
+
const cookies = auth.command('cookies').description('Inspect and mutate browser cookies');
|
|
6
|
+
addCookieScopeOptions(cookies.command('list').alias('ls'), 'Only include first-party cookies for the attached page origin')
|
|
5
7
|
.argument('[id]', 'Watcher id')
|
|
6
8
|
.description('List cookies for the attached page')
|
|
7
9
|
.option('--domain <domain>', 'Filter cookies by domain suffix')
|
|
@@ -10,10 +12,68 @@ export function registerAuth(program) {
|
|
|
10
12
|
.option('--secure', 'Show only Secure cookies')
|
|
11
13
|
.option('--show-values', 'Reveal raw cookie values instead of previews')
|
|
12
14
|
.option('--json', 'Output JSON for automation')
|
|
13
|
-
.addHelpText('after', '\nExamples:\n $ argus auth cookies app\n $ argus auth cookies app --for-origin --exclude-tracking\n $ argus auth cookies app --domain example.com\n $ argus auth cookies app --session-only --show-values\n')
|
|
15
|
+
.addHelpText('after', '\nExamples:\n $ argus auth cookies list app\n $ argus auth cookies ls app --for-origin --exclude-tracking\n $ argus auth cookies list app --domain example.com\n $ argus auth cookies list app --session-only --show-values\n')
|
|
14
16
|
.action(async (id, options) => {
|
|
15
17
|
await runAuthCookies(id, options);
|
|
16
18
|
});
|
|
19
|
+
cookies
|
|
20
|
+
.command('get')
|
|
21
|
+
.argument('[id]', 'Watcher id')
|
|
22
|
+
.argument('<name>', 'Cookie name')
|
|
23
|
+
.description('Fetch one cookie by exact identity')
|
|
24
|
+
.requiredOption('--domain <domain>', 'Exact cookie domain')
|
|
25
|
+
.requiredOption('--path <path>', 'Exact cookie path')
|
|
26
|
+
.option('--show-value', 'Reveal the raw cookie value')
|
|
27
|
+
.option('--json', 'Output JSON for automation')
|
|
28
|
+
.addHelpText('after', '\nExamples:\n $ argus auth cookies get app session --domain .example.com --path /\n $ argus auth cookies get app session --domain example.com --path / --show-value --json\n')
|
|
29
|
+
.action(async (id, name, options) => {
|
|
30
|
+
await runAuthCookieGet(id, name, options);
|
|
31
|
+
});
|
|
32
|
+
cookies
|
|
33
|
+
.command('set')
|
|
34
|
+
.argument('[id]', 'Watcher id')
|
|
35
|
+
.argument('<name>', 'Cookie name')
|
|
36
|
+
.argument('<value>', 'Cookie value')
|
|
37
|
+
.description('Create or update one cookie by exact identity')
|
|
38
|
+
.requiredOption('--domain <domain>', 'Cookie domain')
|
|
39
|
+
.requiredOption('--path <path>', 'Cookie path')
|
|
40
|
+
.option('--secure', 'Mark the cookie as Secure')
|
|
41
|
+
.option('--http-only', 'Mark the cookie as HttpOnly')
|
|
42
|
+
.option('--same-site <mode>', 'Cookie SameSite mode: Strict, Lax, or None')
|
|
43
|
+
.option('--expires <value>', 'Expiry as Unix seconds or ISO timestamp')
|
|
44
|
+
.option('--session', 'Create a session cookie (cannot be combined with --expires)')
|
|
45
|
+
.option('--json', 'Output JSON for automation')
|
|
46
|
+
.addHelpText('after', '\nExamples:\n $ argus auth cookies set app session token123 --domain .example.com --path / --secure --http-only\n $ argus auth cookies set app preview 1 --domain app.example.com --path / --session --json\n')
|
|
47
|
+
.action(async (id, name, value, options) => {
|
|
48
|
+
await runAuthCookieSet(id, name, value, options);
|
|
49
|
+
});
|
|
50
|
+
cookies
|
|
51
|
+
.command('delete')
|
|
52
|
+
.argument('[id]', 'Watcher id')
|
|
53
|
+
.argument('<name>', 'Cookie name')
|
|
54
|
+
.description('Delete one cookie by exact identity')
|
|
55
|
+
.requiredOption('--domain <domain>', 'Exact cookie domain')
|
|
56
|
+
.requiredOption('--path <path>', 'Exact cookie path')
|
|
57
|
+
.option('--json', 'Output JSON for automation')
|
|
58
|
+
.addHelpText('after', '\nExamples:\n $ argus auth cookies delete app session --domain .example.com --path /\n $ argus auth cookies delete app session --domain example.com --path / --json\n')
|
|
59
|
+
.action(async (id, name, options) => {
|
|
60
|
+
await runAuthCookieDelete(id, name, options);
|
|
61
|
+
});
|
|
62
|
+
cookies
|
|
63
|
+
.command('clear')
|
|
64
|
+
.argument('[id]', 'Watcher id')
|
|
65
|
+
.description('Delete cookies in a scoped slice of the current browser context')
|
|
66
|
+
.option('--for-origin', 'Clear cookies that apply to the attached page host')
|
|
67
|
+
.option('--site', 'Clear cookies in the current site domain')
|
|
68
|
+
.option('--domain <domain>', 'Clear cookies matching an explicit domain suffix')
|
|
69
|
+
.option('--browser-context', 'Clear all cookies visible to the current browser context')
|
|
70
|
+
.option('--session-only', 'Only clear session cookies')
|
|
71
|
+
.option('--auth-only', 'Only clear auth-looking cookies')
|
|
72
|
+
.option('--json', 'Output JSON for automation')
|
|
73
|
+
.addHelpText('after', '\nExamples:\n $ argus auth cookies clear app --for-origin\n $ argus auth cookies clear app --site --auth-only\n $ argus auth cookies clear app --domain example.com --session-only --json\n $ argus auth cookies clear app --browser-context\n')
|
|
74
|
+
.action(async (id, options) => {
|
|
75
|
+
await runAuthCookieClear(id, options);
|
|
76
|
+
});
|
|
17
77
|
addCookieScopeOptions(auth.command('export-cookies'), 'Only include first-party cookies for the attached page origin')
|
|
18
78
|
.argument('[id]', 'Watcher id')
|
|
19
79
|
.description('Export cookies for companion CLIs and HTTP clients')
|
|
@@ -24,6 +84,45 @@ export function registerAuth(program) {
|
|
|
24
84
|
.action(async (id, options) => {
|
|
25
85
|
await runAuthExportCookies(id, options);
|
|
26
86
|
});
|
|
87
|
+
auth.command('export-state')
|
|
88
|
+
.alias('export')
|
|
89
|
+
.argument('[id]', 'Watcher id')
|
|
90
|
+
.description('Export a portable auth snapshot (cookies + storage) for a fresh browser session')
|
|
91
|
+
.option('--domain <domain>', 'Filter cookies by domain suffix')
|
|
92
|
+
.option('--out <path>', 'Write the export to a file instead of stdout')
|
|
93
|
+
.addHelpText('after', '\nExamples:\n $ argus auth export-state app\n $ argus auth export-state app --out auth.json\n $ argus auth export app --domain example.com --out auth.json\n')
|
|
94
|
+
.action(async (id, options) => {
|
|
95
|
+
await runAuthExportState(id, options);
|
|
96
|
+
});
|
|
97
|
+
auth.command('load-state')
|
|
98
|
+
.alias('load')
|
|
99
|
+
.argument('[id]', 'Watcher id')
|
|
100
|
+
.description('Load a portable auth snapshot into the currently attached watcher tab')
|
|
101
|
+
.requiredOption('--in <path>', 'Read the auth snapshot from a file')
|
|
102
|
+
.option('--url <url>', 'Override the final URL opened after hydration')
|
|
103
|
+
.option('--json', 'Output JSON for automation')
|
|
104
|
+
.addHelpText('after', '\nExamples:\n $ argus auth load-state app --in auth.json\n $ argus auth load app --in auth.json --url https://target.app/\n $ argus auth load-state app --in auth.json --json\n')
|
|
105
|
+
.action(async (id, options) => {
|
|
106
|
+
await runAuthLoadState(id, {
|
|
107
|
+
inputPath: options.in,
|
|
108
|
+
url: options.url,
|
|
109
|
+
json: options.json,
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
auth.command('clone')
|
|
113
|
+
.argument('<sourceId>', 'Source watcher id')
|
|
114
|
+
.description('Clone auth state directly from one watcher into another without writing a snapshot file')
|
|
115
|
+
.requiredOption('--to <watcherId>', 'Target watcher id')
|
|
116
|
+
.option('--url <url>', 'Override the final URL opened after hydration')
|
|
117
|
+
.option('--json', 'Output JSON for automation')
|
|
118
|
+
.addHelpText('after', '\nExamples:\n $ argus auth clone extension-2 --to app\n $ argus auth clone extension-2 --to app --url https://target.app/\n $ argus auth clone extension-2 --to app --json\n')
|
|
119
|
+
.action(async (sourceId, options) => {
|
|
120
|
+
await runAuthClone(sourceId, {
|
|
121
|
+
targetId: options.to,
|
|
122
|
+
url: options.url,
|
|
123
|
+
json: options.json,
|
|
124
|
+
});
|
|
125
|
+
});
|
|
27
126
|
}
|
|
28
127
|
const addCookieScopeOptions = (command, forOriginDescription) => command.option('--for-origin', forOriginDescription).option('--exclude-tracking', 'Hide common analytics/tracking cookies such as _ga and _ym');
|
|
29
128
|
//# sourceMappingURL=registerAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerAuth.js","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registerAuth.js","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerChrome.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"registerChrome.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiFrD"}
|
|
@@ -9,30 +9,22 @@ export function registerChrome(program) {
|
|
|
9
9
|
.option('--url <url>', 'URL to open in Chrome')
|
|
10
10
|
.option('--from-watcher <watcherId>', 'Use match.url from a registered watcher')
|
|
11
11
|
.option('--profile <type>', 'Profile mode: temp, default-full, default-medium, or default-lite (default: default-lite)')
|
|
12
|
+
.option('--auth-state <path>', 'Load a portable auth snapshot into a fresh temp Chrome profile')
|
|
12
13
|
.option('--dev-tools', 'Open DevTools for new tabs')
|
|
13
14
|
.option('--headless', 'Run Chrome in headless mode (no visible window)')
|
|
14
15
|
.option('--config <path>', 'Path to Argus config file')
|
|
15
16
|
.option('--json', 'Output JSON for automation')
|
|
16
|
-
.addHelpText('after', '\nExamples:\n $ argus chrome start\n $ argus chrome start --url http://localhost:3000\n $ argus chrome start --from-watcher app\n $ argus chrome start --profile default-full\n $ argus chrome start --profile default-medium\n $ argus chrome start --profile default-lite\n $ argus chrome start --profile temp\n $ argus chrome start --dev-tools\n $ argus chrome start --headless\n $ argus chrome start --json\n')
|
|
17
|
+
.addHelpText('after', '\nExamples:\n $ argus chrome start\n $ argus chrome start --url http://localhost:3000\n $ argus chrome start --from-watcher app\n $ argus chrome start --profile default-full\n $ argus chrome start --profile default-medium\n $ argus chrome start --profile default-lite\n $ argus chrome start --profile temp\n $ argus chrome start --auth-state ./auth.json\n $ argus chrome start --dev-tools\n $ argus chrome start --headless\n $ argus chrome start --json\n')
|
|
17
18
|
.action(async (options, command) => {
|
|
18
19
|
const { config: configPath, ...cliOptions } = options;
|
|
19
|
-
|
|
20
|
-
if (!resolvedPath) {
|
|
21
|
-
if (configPath) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
await runChromeStart(cliOptions);
|
|
20
|
+
if (!normalizeAuthStateProfileOptions(command, cliOptions)) {
|
|
25
21
|
return;
|
|
26
22
|
}
|
|
27
|
-
const
|
|
28
|
-
if (!
|
|
23
|
+
const startOptions = resolveChromeStartOptions(command, cliOptions, configPath);
|
|
24
|
+
if (!startOptions) {
|
|
29
25
|
return;
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
if (!merged) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
await runChromeStart(merged);
|
|
27
|
+
await runChromeStart(startOptions);
|
|
36
28
|
});
|
|
37
29
|
chrome
|
|
38
30
|
.command('ls')
|
|
@@ -76,4 +68,51 @@ export function registerChrome(program) {
|
|
|
76
68
|
await runChromeStop(options);
|
|
77
69
|
});
|
|
78
70
|
}
|
|
71
|
+
const normalizeAuthStateProfileOptions = (command, options) => {
|
|
72
|
+
if (!options.authState) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
if (getOptionValueSource(command, 'profile') === 'cli') {
|
|
76
|
+
if (options.profile && options.profile !== 'temp') {
|
|
77
|
+
console.error('Cannot combine --auth-state with a copied Chrome profile. Use --profile temp or omit --profile.');
|
|
78
|
+
process.exitCode = 2;
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
options.profile = undefined;
|
|
84
|
+
return true;
|
|
85
|
+
};
|
|
86
|
+
const resolveChromeStartOptions = (command, cliOptions, configPath) => {
|
|
87
|
+
const resolvedPath = resolveArgusConfigPath({ cliPath: configPath, cwd: process.cwd() });
|
|
88
|
+
if (!resolvedPath) {
|
|
89
|
+
return configPath ? null : applyAuthStateOptionOverrides(command, cliOptions);
|
|
90
|
+
}
|
|
91
|
+
const configResult = loadArgusConfig(resolvedPath);
|
|
92
|
+
if (!configResult) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
const merged = mergeChromeStartOptionsWithConfig(cliOptions, createOptionSourceProvider(command), configResult);
|
|
96
|
+
if (!merged) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return applyAuthStateOptionOverrides(command, merged);
|
|
100
|
+
};
|
|
101
|
+
const applyAuthStateOptionOverrides = (command, options) => {
|
|
102
|
+
if (!options.authState) {
|
|
103
|
+
return options;
|
|
104
|
+
}
|
|
105
|
+
options.profile = 'temp';
|
|
106
|
+
if (getOptionValueSource(command, 'url') !== 'cli') {
|
|
107
|
+
options.url = undefined;
|
|
108
|
+
}
|
|
109
|
+
if (getOptionValueSource(command, 'fromWatcher') !== 'cli') {
|
|
110
|
+
options.fromWatcher = undefined;
|
|
111
|
+
}
|
|
112
|
+
return options;
|
|
113
|
+
};
|
|
114
|
+
const createOptionSourceProvider = (command) => ({
|
|
115
|
+
getOptionValueSource: (key) => getOptionValueSource(command, key),
|
|
116
|
+
});
|
|
117
|
+
const getOptionValueSource = (command, key) => command.getOptionValueSource(key) ?? '';
|
|
79
118
|
//# sourceMappingURL=registerChrome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerChrome.js","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerChrome.js","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerClick.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"registerClick.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBpD"}
|
|
@@ -7,13 +7,14 @@ export function registerClick(program) {
|
|
|
7
7
|
.description('Click at coordinates or on element(s) matching a CSS selector')
|
|
8
8
|
.option('--selector <css>', 'CSS selector to match element(s)')
|
|
9
9
|
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
10
|
+
.option('--ref <elementRef>', 'Stable element ref from snapshot/locate output')
|
|
10
11
|
.option('--pos <x,y>', 'Viewport coordinates or offset from element top-left')
|
|
11
12
|
.option('--button <type>', 'Mouse button: left, middle, right (default: left)')
|
|
12
13
|
.option('--all', 'Allow multiple matches (default: error if >1 match)')
|
|
13
14
|
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
14
15
|
.option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)')
|
|
15
16
|
.option('--json', 'Output JSON for automation')
|
|
16
|
-
.addHelpText('after', '\nExamples:\n $ argus click app --pos 100,200\n $ argus click app --selector "#btn"\n $ argus click app --testid "submit-btn"\n $ argus click app --selector "#btn" --pos 10,5\n $ argus click app --selector ".item" --all\n $ argus click app --selector "#btn" --button right\n $ argus click app --pos 100,200 --button middle\n')
|
|
17
|
+
.addHelpText('after', '\nExamples:\n $ argus click app --pos 100,200\n $ argus click app --selector "#btn"\n $ argus click app --testid "submit-btn"\n $ argus click app --ref e5\n $ argus click app --selector "#btn" --pos 10,5\n $ argus click app --selector ".item" --all\n $ argus click app --selector "#btn" --button right\n $ argus click app --pos 100,200 --button middle\n')
|
|
17
18
|
.action(async (id, options) => {
|
|
18
19
|
if (!resolveTestId(options))
|
|
19
20
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerClick.js","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAO;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,aAAa,EAAE,sDAAsD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"registerClick.js","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAO;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SAC9E,MAAM,CAAC,aAAa,EAAE,sDAAsD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,2WAA2W,CAC3W;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerDialog.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerDialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkCrD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { runDialogAccept, runDialogDismiss, runDialogPrompt, runDialogStatus } from '../../commands/dialog.js';
|
|
2
|
+
export function registerDialog(program) {
|
|
3
|
+
const dialog = program.command('dialog').alias('dialogs').description('Inspect and handle browser dialogs');
|
|
4
|
+
registerSimpleDialogCommand(dialog, {
|
|
5
|
+
name: 'status',
|
|
6
|
+
description: 'Show the currently active browser dialog',
|
|
7
|
+
examples: ['argus dialog status app', 'argus dialog status app --json'],
|
|
8
|
+
run: runDialogStatus,
|
|
9
|
+
});
|
|
10
|
+
registerSimpleDialogCommand(dialog, {
|
|
11
|
+
name: 'accept',
|
|
12
|
+
description: 'Accept the active browser dialog',
|
|
13
|
+
examples: ['argus dialog accept app', 'argus dialog accept app --json'],
|
|
14
|
+
run: runDialogAccept,
|
|
15
|
+
});
|
|
16
|
+
registerSimpleDialogCommand(dialog, {
|
|
17
|
+
name: 'dismiss',
|
|
18
|
+
description: 'Dismiss the active browser dialog',
|
|
19
|
+
examples: ['argus dialog dismiss app', 'argus dialog dismiss app --json'],
|
|
20
|
+
run: runDialogDismiss,
|
|
21
|
+
});
|
|
22
|
+
dialog
|
|
23
|
+
.command('prompt')
|
|
24
|
+
.description('Accept the active prompt dialog with custom text')
|
|
25
|
+
.argument('[id]', 'Watcher ID')
|
|
26
|
+
.requiredOption('--text <text>', 'Prompt response text')
|
|
27
|
+
.option('--json', 'Output JSON for automation')
|
|
28
|
+
.addHelpText('after', '\nExamples:\n $ argus dialog prompt app --text "hello"\n $ argus dialog prompt app --text "hello" --json\n')
|
|
29
|
+
.action(async (id, options) => {
|
|
30
|
+
await runDialogPrompt(id, options.text, options);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const registerSimpleDialogCommand = (dialog, command) => {
|
|
34
|
+
dialog
|
|
35
|
+
.command(command.name)
|
|
36
|
+
.description(command.description)
|
|
37
|
+
.argument('[id]', 'Watcher ID')
|
|
38
|
+
.option('--json', 'Output JSON for automation')
|
|
39
|
+
.addHelpText('after', formatExamples(command.examples))
|
|
40
|
+
.action(async (id, options) => {
|
|
41
|
+
await command.run(id, options);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
const formatExamples = (examples) => `\nExamples:\n${examples.map((example) => ` $ ${example}`).join('\n')}\n`;
|
|
45
|
+
//# sourceMappingURL=registerDialog.js.map
|