@vforsh/argus 0.1.15 → 0.1.18
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 +19359 -16671
- package/dist/cli/defineCommand.d.ts +3 -0
- package/dist/cli/defineCommand.d.ts.map +1 -1
- package/dist/cli/defineCommand.js +11 -0
- package/dist/cli/defineCommand.js.map +1 -1
- package/dist/cli/plugins/registerPlugins.d.ts +3 -1
- package/dist/cli/plugins/registerPlugins.d.ts.map +1 -1
- package/dist/cli/plugins/registerPlugins.js +31 -12
- package/dist/cli/plugins/registerPlugins.js.map +1 -1
- package/dist/cli/register/authCommands.d.ts +3 -0
- package/dist/cli/register/authCommands.d.ts.map +1 -0
- package/dist/cli/register/authCommands.js +230 -0
- package/dist/cli/register/authCommands.js.map +1 -0
- package/dist/cli/register/chromeCommands.d.ts +3 -0
- package/dist/cli/register/chromeCommands.d.ts.map +1 -0
- package/dist/cli/register/chromeCommands.js +153 -0
- package/dist/cli/register/chromeCommands.js.map +1 -0
- package/dist/cli/register/codeCommands.d.ts +3 -0
- package/dist/cli/register/codeCommands.d.ts.map +1 -0
- package/dist/cli/register/codeCommands.js +116 -0
- package/dist/cli/register/codeCommands.js.map +1 -0
- package/dist/cli/register/configCommands.d.ts +3 -0
- package/dist/cli/register/configCommands.d.ts.map +1 -0
- package/dist/cli/register/configCommands.js +23 -0
- package/dist/cli/register/configCommands.js.map +1 -0
- package/dist/cli/register/dialogCommands.d.ts +3 -0
- package/dist/cli/register/dialogCommands.d.ts.map +1 -0
- package/dist/cli/register/dialogCommands.js +52 -0
- package/dist/cli/register/dialogCommands.js.map +1 -0
- package/dist/cli/register/domCommandBuilder.d.ts +7 -5
- package/dist/cli/register/domCommandBuilder.d.ts.map +1 -1
- package/dist/cli/register/domCommandBuilder.js +28 -23
- package/dist/cli/register/domCommandBuilder.js.map +1 -1
- package/dist/cli/register/domCommands.d.ts +3 -0
- package/dist/cli/register/domCommands.d.ts.map +1 -0
- package/dist/cli/register/domCommands.js +318 -0
- package/dist/cli/register/domCommands.js.map +1 -0
- package/dist/cli/register/evalCommands.d.ts +3 -0
- package/dist/cli/register/evalCommands.d.ts.map +1 -0
- package/dist/cli/register/evalCommands.js +173 -0
- package/dist/cli/register/evalCommands.js.map +1 -0
- package/dist/cli/register/extensionCommands.d.ts +3 -0
- package/dist/cli/register/extensionCommands.d.ts.map +1 -0
- package/dist/cli/register/extensionCommands.js +115 -0
- package/dist/cli/register/extensionCommands.js.map +1 -0
- package/dist/cli/register/fillCommand.d.ts +3 -0
- package/dist/cli/register/fillCommand.d.ts.map +1 -0
- package/dist/cli/register/fillCommand.js +44 -0
- package/dist/cli/register/fillCommand.js.map +1 -0
- package/dist/cli/register/hoverCommand.d.ts +3 -0
- package/dist/cli/register/hoverCommand.d.ts.map +1 -0
- package/dist/cli/register/hoverCommand.js +27 -0
- package/dist/cli/register/hoverCommand.js.map +1 -0
- package/dist/cli/register/index.d.ts.map +1 -1
- package/dist/cli/register/index.js +51 -52
- package/dist/cli/register/index.js.map +1 -1
- package/dist/cli/register/keydownCommand.d.ts +3 -0
- package/dist/cli/register/keydownCommand.d.ts.map +1 -0
- package/dist/cli/register/keydownCommand.js +21 -0
- package/dist/cli/register/keydownCommand.js.map +1 -0
- package/dist/cli/register/locateCommands.d.ts +3 -0
- package/dist/cli/register/locateCommands.d.ts.map +1 -0
- package/dist/cli/register/locateCommands.js +60 -0
- package/dist/cli/register/locateCommands.js.map +1 -0
- package/dist/cli/register/logsCommands.d.ts +3 -0
- package/dist/cli/register/logsCommands.d.ts.map +1 -0
- package/dist/cli/register/logsCommands.js +67 -0
- package/dist/cli/register/logsCommands.js.map +1 -0
- package/dist/cli/register/netCommands.d.ts +3 -0
- package/dist/cli/register/netCommands.d.ts.map +1 -0
- package/dist/cli/register/netCommands.js +442 -0
- package/dist/cli/register/netCommands.js.map +1 -0
- package/dist/cli/register/pageCommands.d.ts +3 -0
- package/dist/cli/register/pageCommands.d.ts.map +1 -0
- package/dist/cli/register/pageCommands.js +188 -0
- package/dist/cli/register/pageCommands.js.map +1 -0
- package/dist/cli/register/pluginCommands.d.ts +3 -0
- package/dist/cli/register/pluginCommands.d.ts.map +1 -0
- package/dist/cli/register/pluginCommands.js +51 -0
- package/dist/cli/register/pluginCommands.js.map +1 -0
- package/dist/cli/register/quickAccessCommands.d.ts +3 -0
- package/dist/cli/register/quickAccessCommands.d.ts.map +1 -0
- package/dist/cli/register/quickAccessCommands.js +138 -0
- package/dist/cli/register/quickAccessCommands.js.map +1 -0
- package/dist/cli/register/scrollToCommand.d.ts +3 -0
- package/dist/cli/register/scrollToCommand.d.ts.map +1 -0
- package/dist/cli/register/scrollToCommand.js +30 -0
- package/dist/cli/register/scrollToCommand.js.map +1 -0
- package/dist/cli/register/snapshotCommands.d.ts +3 -0
- package/dist/cli/register/snapshotCommands.d.ts.map +1 -0
- package/dist/cli/register/snapshotCommands.js +57 -0
- package/dist/cli/register/snapshotCommands.js.map +1 -0
- package/dist/cli/register/storageCommands.d.ts +3 -0
- package/dist/cli/register/storageCommands.d.ts.map +1 -0
- package/dist/cli/register/storageCommands.js +78 -0
- package/dist/cli/register/storageCommands.js.map +1 -0
- package/dist/cli/register/throttleCommands.d.ts +3 -0
- package/dist/cli/register/throttleCommands.d.ts.map +1 -0
- package/dist/cli/register/throttleCommands.js +48 -0
- package/dist/cli/register/throttleCommands.js.map +1 -0
- package/dist/cli/register/traceCommands.d.ts +3 -0
- package/dist/cli/register/traceCommands.d.ts.map +1 -0
- package/dist/cli/register/traceCommands.js +72 -0
- package/dist/cli/register/traceCommands.js.map +1 -0
- package/dist/cli/register/watcherCommands.d.ts +3 -0
- package/dist/cli/register/watcherCommands.d.ts.map +1 -0
- package/dist/cli/register/watcherCommands.js +180 -0
- package/dist/cli/register/watcherCommands.js.map +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/code.d.ts +2 -2
- package/dist/commands/code.d.ts.map +1 -1
- package/dist/commands/code.js +42 -45
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/codeEdit.d.ts.map +1 -1
- package/dist/commands/codeEdit.js.map +1 -1
- package/dist/commands/eval.d.ts +11 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +20 -10
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evalArgs.d.ts +31 -0
- package/dist/commands/evalArgs.d.ts.map +1 -0
- package/dist/commands/evalArgs.js +103 -0
- package/dist/commands/evalArgs.js.map +1 -0
- package/dist/commands/evalBundle.d.ts +16 -0
- package/dist/commands/evalBundle.d.ts.map +1 -0
- package/dist/commands/evalBundle.js +138 -0
- package/dist/commands/evalBundle.js.map +1 -0
- package/dist/commands/evalModuleSyntax.d.ts +6 -0
- package/dist/commands/evalModuleSyntax.d.ts.map +1 -0
- package/dist/commands/evalModuleSyntax.js +33 -0
- package/dist/commands/evalModuleSyntax.js.map +1 -0
- package/dist/commands/evalPolling.d.ts +1 -1
- package/dist/commands/evalPolling.d.ts.map +1 -1
- package/dist/commands/evalPolling.js +1 -1
- package/dist/commands/evalPolling.js.map +1 -1
- package/dist/commands/evalResultOutput.d.ts +25 -0
- package/dist/commands/evalResultOutput.d.ts.map +1 -0
- package/dist/commands/evalResultOutput.js +85 -0
- package/dist/commands/evalResultOutput.js.map +1 -0
- package/dist/commands/evalShared.d.ts +43 -17
- package/dist/commands/evalShared.d.ts.map +1 -1
- package/dist/commands/evalShared.js +103 -42
- package/dist/commands/evalShared.js.map +1 -1
- package/dist/commands/evalUntil.d.ts +9 -1
- package/dist/commands/evalUntil.d.ts.map +1 -1
- package/dist/commands/evalUntil.js +16 -27
- package/dist/commands/evalUntil.js.map +1 -1
- package/dist/commands/extension/attach.d.ts +14 -0
- package/dist/commands/extension/attach.d.ts.map +1 -0
- package/dist/commands/extension/attach.js +110 -0
- package/dist/commands/extension/attach.js.map +1 -0
- package/dist/commands/extension/info.d.ts.map +1 -1
- package/dist/commands/extension/info.js +13 -33
- package/dist/commands/extension/info.js.map +1 -1
- package/dist/commands/extension/nativeHost.d.ts +35 -5
- package/dist/commands/extension/nativeHost.d.ts.map +1 -1
- package/dist/commands/extension/nativeHost.js +95 -12
- package/dist/commands/extension/nativeHost.js.map +1 -1
- package/dist/commands/extension/remove.d.ts.map +1 -1
- package/dist/commands/extension/remove.js +18 -38
- package/dist/commands/extension/remove.js.map +1 -1
- package/dist/commands/extension/resolveExtensionWatcher.d.ts +1 -1
- package/dist/commands/extension/resolveExtensionWatcher.d.ts.map +1 -1
- package/dist/commands/extension/resolveExtensionWatcher.js +15 -29
- package/dist/commands/extension/resolveExtensionWatcher.js.map +1 -1
- package/dist/commands/extension/setup.d.ts.map +1 -1
- package/dist/commands/extension/setup.js +20 -35
- package/dist/commands/extension/setup.js.map +1 -1
- package/dist/commands/extension/show.d.ts +12 -0
- package/dist/commands/extension/show.d.ts.map +1 -0
- package/dist/commands/extension/show.js +208 -0
- package/dist/commands/extension/show.js.map +1 -0
- package/dist/commands/extension/status.d.ts.map +1 -1
- package/dist/commands/extension/status.js +12 -38
- package/dist/commands/extension/status.js.map +1 -1
- package/dist/commands/extension/tabSelection.d.ts +45 -0
- package/dist/commands/extension/tabSelection.d.ts.map +1 -0
- package/dist/commands/extension/tabSelection.js +76 -0
- package/dist/commands/extension/tabSelection.js.map +1 -0
- package/dist/commands/locate.d.ts.map +1 -1
- package/dist/commands/locate.js.map +1 -1
- package/dist/commands/netMock.d.ts +34 -0
- package/dist/commands/netMock.d.ts.map +1 -0
- package/dist/commands/netMock.js +323 -0
- package/dist/commands/netMock.js.map +1 -0
- package/dist/commands/netSse.d.ts +1 -1
- package/dist/commands/netSse.d.ts.map +1 -1
- package/dist/commands/netSse.js +19 -23
- package/dist/commands/netSse.js.map +1 -1
- package/dist/commands/netWebSocket.d.ts +2 -2
- package/dist/commands/netWebSocket.d.ts.map +1 -1
- package/dist/commands/netWebSocket.js +42 -55
- package/dist/commands/netWebSocket.js.map +1 -1
- package/dist/commands/pluginConfig.d.ts +1 -0
- package/dist/commands/pluginConfig.d.ts.map +1 -1
- package/dist/commands/pluginConfig.js +12 -2
- package/dist/commands/pluginConfig.js.map +1 -1
- package/dist/commands/start.d.ts +2 -2
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/startShared.d.ts +1 -1
- package/dist/commands/startShared.d.ts.map +1 -1
- package/dist/commands/watcherNativeHost.d.ts +1 -0
- package/dist/commands/watcherNativeHost.d.ts.map +1 -1
- package/dist/commands/watcherNativeHost.js +8 -2
- package/dist/commands/watcherNativeHost.js.map +1 -1
- package/dist/commands/watcherSession.d.ts +3 -3
- package/dist/commands/watcherSession.d.ts.map +1 -1
- package/dist/commands/watcherSession.js.map +1 -1
- package/dist/commands/watcherStart.d.ts +2 -2
- package/dist/commands/watcherStart.d.ts.map +1 -1
- package/dist/config/argusHome.d.ts +3 -0
- package/dist/config/argusHome.d.ts.map +1 -0
- package/dist/config/argusHome.js +11 -0
- package/dist/config/argusHome.js.map +1 -0
- package/dist/config/loadConfig.d.ts +13 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/config/loadConfig.js +59 -0
- package/dist/config/loadConfig.js.map +1 -0
- package/dist/config/mergeConfig.d.ts +34 -0
- package/dist/config/mergeConfig.d.ts.map +1 -0
- package/dist/config/mergeConfig.js +57 -0
- package/dist/config/mergeConfig.js.map +1 -0
- package/dist/config/types.d.ts +51 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validateConfig.d.ts +14 -0
- package/dist/config/validateConfig.d.ts.map +1 -0
- package/dist/config/{argusConfig.js → validateConfig.js} +136 -244
- package/dist/config/validateConfig.js.map +1 -0
- package/dist/eval/evalClient.d.ts +2 -0
- package/dist/eval/evalClient.d.ts.map +1 -1
- package/dist/eval/evalClient.js +26 -2
- package/dist/eval/evalClient.js.map +1 -1
- package/package.json +5 -2
- package/dist/cli/register/registerAuth.d.ts +0 -3
- package/dist/cli/register/registerAuth.d.ts.map +0 -1
- package/dist/cli/register/registerAuth.js +0 -133
- package/dist/cli/register/registerAuth.js.map +0 -1
- package/dist/cli/register/registerChrome.d.ts +0 -3
- package/dist/cli/register/registerChrome.d.ts.map +0 -1
- package/dist/cli/register/registerChrome.js +0 -118
- package/dist/cli/register/registerChrome.js.map +0 -1
- package/dist/cli/register/registerCode.d.ts +0 -3
- package/dist/cli/register/registerCode.d.ts.map +0 -1
- package/dist/cli/register/registerCode.js +0 -74
- package/dist/cli/register/registerCode.js.map +0 -1
- package/dist/cli/register/registerConfig.d.ts +0 -3
- package/dist/cli/register/registerConfig.d.ts.map +0 -1
- package/dist/cli/register/registerConfig.js +0 -14
- package/dist/cli/register/registerConfig.js.map +0 -1
- package/dist/cli/register/registerDialog.d.ts +0 -3
- package/dist/cli/register/registerDialog.d.ts.map +0 -1
- package/dist/cli/register/registerDialog.js +0 -45
- package/dist/cli/register/registerDialog.js.map +0 -1
- package/dist/cli/register/registerDom.d.ts +0 -3
- package/dist/cli/register/registerDom.d.ts.map +0 -1
- package/dist/cli/register/registerDom.js +0 -284
- package/dist/cli/register/registerDom.js.map +0 -1
- package/dist/cli/register/registerEval.d.ts +0 -3
- package/dist/cli/register/registerEval.d.ts.map +0 -1
- package/dist/cli/register/registerEval.js +0 -143
- package/dist/cli/register/registerEval.js.map +0 -1
- package/dist/cli/register/registerExtension.d.ts +0 -3
- package/dist/cli/register/registerExtension.d.ts.map +0 -1
- package/dist/cli/register/registerExtension.js +0 -49
- package/dist/cli/register/registerExtension.js.map +0 -1
- package/dist/cli/register/registerFill.d.ts +0 -3
- package/dist/cli/register/registerFill.d.ts.map +0 -1
- package/dist/cli/register/registerFill.js +0 -31
- package/dist/cli/register/registerFill.js.map +0 -1
- package/dist/cli/register/registerHover.d.ts +0 -3
- package/dist/cli/register/registerHover.d.ts.map +0 -1
- package/dist/cli/register/registerHover.js +0 -21
- package/dist/cli/register/registerHover.js.map +0 -1
- package/dist/cli/register/registerKeydown.d.ts +0 -3
- package/dist/cli/register/registerKeydown.d.ts.map +0 -1
- package/dist/cli/register/registerKeydown.js +0 -20
- package/dist/cli/register/registerKeydown.js.map +0 -1
- package/dist/cli/register/registerLocate.d.ts +0 -3
- package/dist/cli/register/registerLocate.d.ts.map +0 -1
- package/dist/cli/register/registerLocate.js +0 -48
- package/dist/cli/register/registerLocate.js.map +0 -1
- package/dist/cli/register/registerLogs.d.ts +0 -3
- package/dist/cli/register/registerLogs.d.ts.map +0 -1
- package/dist/cli/register/registerLogs.js +0 -64
- package/dist/cli/register/registerLogs.js.map +0 -1
- package/dist/cli/register/registerNet.d.ts +0 -3
- package/dist/cli/register/registerNet.d.ts.map +0 -1
- package/dist/cli/register/registerNet.js +0 -287
- package/dist/cli/register/registerNet.js.map +0 -1
- package/dist/cli/register/registerPage.d.ts +0 -3
- package/dist/cli/register/registerPage.d.ts.map +0 -1
- package/dist/cli/register/registerPage.js +0 -123
- package/dist/cli/register/registerPage.js.map +0 -1
- package/dist/cli/register/registerPlugin.d.ts +0 -3
- package/dist/cli/register/registerPlugin.d.ts.map +0 -1
- package/dist/cli/register/registerPlugin.js +0 -34
- package/dist/cli/register/registerPlugin.js.map +0 -1
- package/dist/cli/register/registerQuickAccess.d.ts +0 -3
- package/dist/cli/register/registerQuickAccess.d.ts.map +0 -1
- package/dist/cli/register/registerQuickAccess.js +0 -112
- package/dist/cli/register/registerQuickAccess.js.map +0 -1
- package/dist/cli/register/registerScrollTo.d.ts +0 -3
- package/dist/cli/register/registerScrollTo.d.ts.map +0 -1
- package/dist/cli/register/registerScrollTo.js +0 -22
- package/dist/cli/register/registerScrollTo.js.map +0 -1
- package/dist/cli/register/registerSnapshot.d.ts +0 -3
- package/dist/cli/register/registerSnapshot.d.ts.map +0 -1
- package/dist/cli/register/registerSnapshot.js +0 -38
- package/dist/cli/register/registerSnapshot.js.map +0 -1
- package/dist/cli/register/registerStorage.d.ts +0 -3
- package/dist/cli/register/registerStorage.d.ts.map +0 -1
- package/dist/cli/register/registerStorage.js +0 -61
- package/dist/cli/register/registerStorage.js.map +0 -1
- package/dist/cli/register/registerThrottle.d.ts +0 -3
- package/dist/cli/register/registerThrottle.d.ts.map +0 -1
- package/dist/cli/register/registerThrottle.js +0 -33
- package/dist/cli/register/registerThrottle.js.map +0 -1
- package/dist/cli/register/registerTrace.d.ts +0 -3
- package/dist/cli/register/registerTrace.d.ts.map +0 -1
- package/dist/cli/register/registerTrace.js +0 -57
- package/dist/cli/register/registerTrace.js.map +0 -1
- package/dist/cli/register/registerWatcher.d.ts +0 -3
- package/dist/cli/register/registerWatcher.d.ts.map +0 -1
- package/dist/cli/register/registerWatcher.js +0 -134
- package/dist/cli/register/registerWatcher.js.map +0 -1
- package/dist/config/argusConfig.d.ts +0 -76
- package/dist/config/argusConfig.d.ts.map +0 -1
- package/dist/config/argusConfig.js.map +0 -1
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
import { runDomTree } from '../../commands/domTree.js';
|
|
2
|
-
import { runDomInfo } from '../../commands/domInfo.js';
|
|
3
|
-
import { runDomFocus } from '../../commands/domFocus.js';
|
|
4
|
-
import { runDomAdd } from '../../commands/domAdd.js';
|
|
5
|
-
import { runDomAddScript } from '../../commands/domAddScript.js';
|
|
6
|
-
import { runDomRemove } from '../../commands/domRemove.js';
|
|
7
|
-
import { runDomSetFile } from '../../commands/domSetFile.js';
|
|
8
|
-
import { runDomScroll } from '../../commands/domScroll.js';
|
|
9
|
-
import { runDomScrollTo } from '../../commands/domScrollTo.js';
|
|
10
|
-
import { runDomModifyAttr, runDomModifyClass, runDomModifyStyle, runDomModifyText, runDomModifyHtml } from '../../commands/domModify.js';
|
|
11
|
-
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
12
|
-
import { registerDomSelectorCommand } from './domCommandBuilder.js';
|
|
13
|
-
export function registerDom(program) {
|
|
14
|
-
const dom = program.command('dom').alias('html').description('Inspect DOM elements in the connected page');
|
|
15
|
-
registerDomSelectorCommand(dom, {
|
|
16
|
-
name: 'tree',
|
|
17
|
-
description: 'Fetch a DOM subtree rooted at element(s) matching a CSS selector',
|
|
18
|
-
examples: [
|
|
19
|
-
'argus dom tree app --selector "body"',
|
|
20
|
-
'argus dom tree app --testid "main-content"',
|
|
21
|
-
'argus dom tree app --selector "div" --all --depth 3',
|
|
22
|
-
'argus dom tree app --selector "#root" --json',
|
|
23
|
-
],
|
|
24
|
-
textOption: {
|
|
25
|
-
flags: '--text <string>',
|
|
26
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
27
|
-
},
|
|
28
|
-
configure: (command) => {
|
|
29
|
-
command.option('--depth <n>', 'Max depth to traverse (default: 2)');
|
|
30
|
-
command.option('--max-nodes <n>', 'Max total nodes to return (default: 5000)');
|
|
31
|
-
},
|
|
32
|
-
action: runDomTree,
|
|
33
|
-
});
|
|
34
|
-
registerDomSelectorCommand(dom, {
|
|
35
|
-
name: 'info',
|
|
36
|
-
description: 'Fetch detailed info for element(s) matching a CSS selector',
|
|
37
|
-
allowRef: true,
|
|
38
|
-
examples: [
|
|
39
|
-
'argus dom info app --selector "body"',
|
|
40
|
-
'argus dom info app --selector "div" --all',
|
|
41
|
-
'argus dom info app --ref e3',
|
|
42
|
-
'argus dom info app --selector "#root" --json',
|
|
43
|
-
],
|
|
44
|
-
textOption: {
|
|
45
|
-
flags: '--text <string>',
|
|
46
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
47
|
-
},
|
|
48
|
-
configure: (command) => {
|
|
49
|
-
command.option('--outer-html-max <n>', 'Max characters for outerHTML (default: 50000)');
|
|
50
|
-
},
|
|
51
|
-
action: runDomInfo,
|
|
52
|
-
});
|
|
53
|
-
registerDomSelectorCommand(dom, {
|
|
54
|
-
name: 'focus',
|
|
55
|
-
description: 'Focus element(s) matching a CSS selector',
|
|
56
|
-
allowRef: true,
|
|
57
|
-
examples: [
|
|
58
|
-
'argus dom focus app --selector "#input"',
|
|
59
|
-
'argus dom focus app --testid "search-box"',
|
|
60
|
-
'argus dom focus app --ref e5',
|
|
61
|
-
'argus dom focus app --selector ".item" --all',
|
|
62
|
-
],
|
|
63
|
-
textOption: {
|
|
64
|
-
flags: '--text <string>',
|
|
65
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
66
|
-
},
|
|
67
|
-
action: runDomFocus,
|
|
68
|
-
});
|
|
69
|
-
registerDomSelectorCommand(dom, {
|
|
70
|
-
name: 'add',
|
|
71
|
-
description: 'Insert HTML into the page relative to matched element(s)',
|
|
72
|
-
examples: [
|
|
73
|
-
'argus dom add app --selector "#container" --html "<div>Hello</div>"',
|
|
74
|
-
'argus dom add app --selector "body" --position append --html "<script src=\'debug.js\'></script>"',
|
|
75
|
-
'argus dom add app --selector ".item" --all --position afterend --html "<hr>"',
|
|
76
|
-
'argus dom add app --selector "#root" --html-file ./snippet.html',
|
|
77
|
-
'cat snippet.html | argus dom add app --selector "#root" --html -',
|
|
78
|
-
'argus dom add app --selector ".item" --nth 2 --html "<hr>"',
|
|
79
|
-
'argus dom add app --selector "#banner" --text --html "Preview mode"',
|
|
80
|
-
],
|
|
81
|
-
textOption: undefined,
|
|
82
|
-
configure: (command) => {
|
|
83
|
-
command.option('--html <string>', 'HTML to insert (use "-" for stdin)');
|
|
84
|
-
command.option('--html-file <path>', 'Read HTML to insert from a file');
|
|
85
|
-
command.option('--html-stdin', 'Read HTML to insert from stdin (same as --html -)');
|
|
86
|
-
command.option('--position <pos>', 'Insert position: beforebegin, afterbegin, beforeend, afterend (aliases: before, after, prepend, append)', 'beforeend');
|
|
87
|
-
command.option('--nth <index>', 'Insert at the zero-based match index');
|
|
88
|
-
command.option('--first', 'Insert at the first match (same as --nth 0)');
|
|
89
|
-
command.option('--expect <n>', 'Expect N matches before inserting');
|
|
90
|
-
command.option('--text', 'Insert text content (uses insertAdjacentText)');
|
|
91
|
-
},
|
|
92
|
-
action: runDomAdd,
|
|
93
|
-
});
|
|
94
|
-
dom.command('add-script')
|
|
95
|
-
.argument('[id]', 'Watcher id to query')
|
|
96
|
-
.argument('[code]', 'Inline JS code to inject (or use --file / --stdin / --src)')
|
|
97
|
-
.description('Add a <script> element to the page')
|
|
98
|
-
.option('--src <url>', 'External script URL (mutually exclusive with code/file/stdin)')
|
|
99
|
-
.option('-f, --file <path>', 'Read JS from file')
|
|
100
|
-
.option('--stdin', 'Read from stdin (also triggered by - as code arg)')
|
|
101
|
-
.option('--type <type>', 'Script type attribute (e.g. "module")')
|
|
102
|
-
.option('--id <id>', 'Script element id attribute')
|
|
103
|
-
.option('--target <el>', 'Append to "head" (default) or "body"')
|
|
104
|
-
.option('--json', 'Output JSON for automation')
|
|
105
|
-
.addHelpText('after', `
|
|
106
|
-
Examples:
|
|
107
|
-
$ argus dom add-script app "console.log('hello')"
|
|
108
|
-
$ argus dom add-script app --src "https://cdn.example.com/lib.js"
|
|
109
|
-
$ argus dom add-script app --file ./debug.js
|
|
110
|
-
$ cat debug.js | argus dom add-script app --stdin
|
|
111
|
-
$ argus dom add-script app - < debug.js
|
|
112
|
-
$ argus dom add-script app --src "./lib.js" --type module
|
|
113
|
-
$ argus dom add-script app "console.log('tagged')" --id my-debug
|
|
114
|
-
$ argus dom add-script app --file ./init.js --target body
|
|
115
|
-
`)
|
|
116
|
-
.action(async (id, code, options) => {
|
|
117
|
-
await runDomAddScript(id, code, {
|
|
118
|
-
src: options.src,
|
|
119
|
-
file: options.file,
|
|
120
|
-
stdin: options.stdin,
|
|
121
|
-
type: options.type,
|
|
122
|
-
scriptId: options.id,
|
|
123
|
-
target: options.target,
|
|
124
|
-
json: options.json,
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
registerDomSelectorCommand(dom, {
|
|
128
|
-
name: 'remove',
|
|
129
|
-
description: 'Remove elements from the page',
|
|
130
|
-
examples: ['argus dom remove app --selector ".debug-overlay"', 'argus dom remove app --selector "[data-testid=\'temp\']" --all'],
|
|
131
|
-
textOption: {
|
|
132
|
-
flags: '--text <string>',
|
|
133
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
134
|
-
},
|
|
135
|
-
action: runDomRemove,
|
|
136
|
-
});
|
|
137
|
-
registerDomModify(dom);
|
|
138
|
-
registerDomSelectorCommand(dom, {
|
|
139
|
-
name: 'set-file',
|
|
140
|
-
alias: 'upload',
|
|
141
|
-
description: 'Set file(s) on a <input type="file"> element via CDP',
|
|
142
|
-
examples: [
|
|
143
|
-
'argus dom set-file app --selector "input[type=file]" --file ./build.zip',
|
|
144
|
-
'argus dom set-file app --selector "#upload" --file a.png --file b.png',
|
|
145
|
-
'argus dom set-file app --selector "input[type=file]" --file ./build.zip --wait 5s',
|
|
146
|
-
],
|
|
147
|
-
textOption: {
|
|
148
|
-
flags: '--text <string>',
|
|
149
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
150
|
-
},
|
|
151
|
-
waitOption: true,
|
|
152
|
-
configure: (command) => {
|
|
153
|
-
command.requiredOption('--file <path...>', 'File path(s) to set on the input (repeatable)');
|
|
154
|
-
},
|
|
155
|
-
action: runDomSetFile,
|
|
156
|
-
});
|
|
157
|
-
registerDomSelectorCommand(dom, {
|
|
158
|
-
name: 'scroll',
|
|
159
|
-
alias: 'wheel',
|
|
160
|
-
description: 'Dispatch mouse wheel input (fires real wheel/scroll events)',
|
|
161
|
-
examples: [
|
|
162
|
-
'argus dom scroll app --by 0,300',
|
|
163
|
-
'argus dom wheel app --selector "input[type=number]" --by 0,-120',
|
|
164
|
-
'argus dom scroll app --selector ".panel" --by 0,200',
|
|
165
|
-
'argus dom scroll app --testid "feed" --by 0,500',
|
|
166
|
-
'argus dom scroll app --pos 400,300 --by 0,200',
|
|
167
|
-
],
|
|
168
|
-
textOption: {
|
|
169
|
-
flags: '--text <string>',
|
|
170
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
171
|
-
},
|
|
172
|
-
configure: (command) => {
|
|
173
|
-
command.option('--pos <x,y>', 'Viewport coordinates to scroll at (mutually exclusive with selector)');
|
|
174
|
-
command.requiredOption('--by <dx,dy>', 'Scroll delta (positive y = scroll down)');
|
|
175
|
-
},
|
|
176
|
-
action: runDomScroll,
|
|
177
|
-
});
|
|
178
|
-
registerDomSelectorCommand(dom, {
|
|
179
|
-
name: 'scroll-to',
|
|
180
|
-
description: 'Scroll the viewport or elements into view / to a position',
|
|
181
|
-
examples: [
|
|
182
|
-
'argus dom scroll-to app --selector "#footer"',
|
|
183
|
-
'argus dom scroll-to app --testid "footer"',
|
|
184
|
-
'argus dom scroll-to app --to 0,1000',
|
|
185
|
-
'argus dom scroll-to app --by 0,500',
|
|
186
|
-
'argus dom scroll-to app --selector ".panel" --to 0,1000',
|
|
187
|
-
'argus dom scroll-to app --selector ".panel" --by 0,500',
|
|
188
|
-
],
|
|
189
|
-
textOption: {
|
|
190
|
-
flags: '--text <string>',
|
|
191
|
-
description: 'Filter by textContent (trimmed). Supports /regex/flags syntax',
|
|
192
|
-
},
|
|
193
|
-
configure: (command) => {
|
|
194
|
-
command.option('--to <x,y>', 'Scroll to absolute position (viewport or element)');
|
|
195
|
-
command.option('--by <x,y>', 'Scroll by delta (viewport or element)');
|
|
196
|
-
},
|
|
197
|
-
action: runDomScrollTo,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
function registerDomModify(dom) {
|
|
201
|
-
const domModify = dom.command('modify').description('Modify DOM element properties');
|
|
202
|
-
domModify
|
|
203
|
-
.command('attr')
|
|
204
|
-
.argument('[id]', 'Watcher id to query')
|
|
205
|
-
.argument('[attrs...]', 'Attributes: name (boolean) or name=value')
|
|
206
|
-
.description('Modify element attributes')
|
|
207
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
208
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
209
|
-
.option('--remove <attrs...>', 'Attributes to remove')
|
|
210
|
-
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
211
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
212
|
-
.option('--json', 'Output JSON for automation')
|
|
213
|
-
.addHelpText('after', '\nExamples:\n $ argus dom modify attr app --selector "#btn" disabled\n $ argus dom modify attr app --selector "#btn" data-loading=true aria-label="Submit"\n $ argus dom modify attr app --selector "#btn" --remove disabled data-temp\n')
|
|
214
|
-
.action(async (id, attrs, options) => {
|
|
215
|
-
if (!resolveTestId(options))
|
|
216
|
-
return;
|
|
217
|
-
await runDomModifyAttr(id, attrs, options);
|
|
218
|
-
});
|
|
219
|
-
domModify
|
|
220
|
-
.command('class')
|
|
221
|
-
.argument('[id]', 'Watcher id to query')
|
|
222
|
-
.argument('[classes...]', 'Shorthand: +add, -remove, ~toggle (or plain name to add)')
|
|
223
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
224
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
225
|
-
.option('--add <classes...>', 'Classes to add')
|
|
226
|
-
.option('--remove <classes...>', 'Classes to remove')
|
|
227
|
-
.option('--toggle <classes...>', 'Classes to toggle')
|
|
228
|
-
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
229
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
230
|
-
.option('--json', 'Output JSON for automation')
|
|
231
|
-
.addHelpText('after', '\nExamples:\n $ argus dom modify class app --selector "#btn" --add active highlighted\n $ argus dom modify class app --selector "#btn" --remove hidden disabled\n $ argus dom modify class app --selector "#btn" --toggle loading\n $ argus dom modify class app --selector "#btn" +active +primary -hidden ~loading\n')
|
|
232
|
-
.action(async (id, classes, options) => {
|
|
233
|
-
if (!resolveTestId(options))
|
|
234
|
-
return;
|
|
235
|
-
await runDomModifyClass(id, classes, options);
|
|
236
|
-
});
|
|
237
|
-
domModify
|
|
238
|
-
.command('style')
|
|
239
|
-
.argument('[id]', 'Watcher id to query')
|
|
240
|
-
.argument('[styles...]', 'Styles: property=value')
|
|
241
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
242
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
243
|
-
.option('--remove <props...>', 'Style properties to remove')
|
|
244
|
-
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
245
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
246
|
-
.option('--json', 'Output JSON for automation')
|
|
247
|
-
.addHelpText('after', '\nExamples:\n $ argus dom modify style app --selector "#btn" color=red font-size=14px\n $ argus dom modify style app --selector "#btn" --remove color font-size\n')
|
|
248
|
-
.action(async (id, styles, options) => {
|
|
249
|
-
if (!resolveTestId(options))
|
|
250
|
-
return;
|
|
251
|
-
await runDomModifyStyle(id, styles, options);
|
|
252
|
-
});
|
|
253
|
-
domModify
|
|
254
|
-
.command('text')
|
|
255
|
-
.argument('[id]', 'Watcher id to query')
|
|
256
|
-
.argument('<text>', 'Text content to set')
|
|
257
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
258
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
259
|
-
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
260
|
-
.option('--text-filter <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
261
|
-
.option('--json', 'Output JSON for automation')
|
|
262
|
-
.addHelpText('after', '\nExamples:\n $ argus dom modify text app --selector "#msg" "Hello World"\n $ argus dom modify text app --selector ".counter" --all "0"\n')
|
|
263
|
-
.action(async (id, text, options) => {
|
|
264
|
-
if (!resolveTestId(options))
|
|
265
|
-
return;
|
|
266
|
-
await runDomModifyText(id, text, { ...options, text: options.textFilter });
|
|
267
|
-
});
|
|
268
|
-
domModify
|
|
269
|
-
.command('html')
|
|
270
|
-
.argument('[id]', 'Watcher id to query')
|
|
271
|
-
.argument('<html>', 'HTML content to set')
|
|
272
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
273
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
274
|
-
.option('--all', 'Apply to all matches (default: error if >1 match)')
|
|
275
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
276
|
-
.option('--json', 'Output JSON for automation')
|
|
277
|
-
.addHelpText('after', '\nExamples:\n $ argus dom modify html app --selector "#container" "<p>New <strong>content</strong></p>"\n')
|
|
278
|
-
.action(async (id, html, options) => {
|
|
279
|
-
if (!resolveTestId(options))
|
|
280
|
-
return;
|
|
281
|
-
await runDomModifyHtml(id, html, options);
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
//# sourceMappingURL=registerDom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerDom.js","sourceRoot":"","sources":["../../../src/cli/register/registerDom.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerEval.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerEval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoJnD"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { runEval } from '../../commands/eval.js';
|
|
2
|
-
import { runEvalUntil } from '../../commands/evalUntil.js';
|
|
3
|
-
import { runIframeHelper } from '../../commands/iframeHelper.js';
|
|
4
|
-
const collectValue = (value, previous = []) => [...previous, value];
|
|
5
|
-
export function registerEval(program) {
|
|
6
|
-
const evalCmd = program
|
|
7
|
-
.command('eval')
|
|
8
|
-
.alias('js')
|
|
9
|
-
.argument('[id]', 'Watcher id to query')
|
|
10
|
-
.argument('[expression]', 'JS expression to evaluate (or use --file / --stdin)')
|
|
11
|
-
.description('Evaluate a JS expression in the connected page')
|
|
12
|
-
.option('--no-await', 'Do not await promises')
|
|
13
|
-
.option('--timeout <ms>', 'Eval timeout in milliseconds')
|
|
14
|
-
.option('--json', 'Output JSON for automation')
|
|
15
|
-
.option('--no-return-by-value', 'Disable returnByValue (use preview)')
|
|
16
|
-
.option('--no-fail-on-exception', 'Do not exit with code 1 when the evaluation throws')
|
|
17
|
-
.option('--retry <n>', 'Retry failed evaluations up to N times')
|
|
18
|
-
.option('-q, --silent', 'Suppress success output; only emit output on error')
|
|
19
|
-
.option('--interval <ms|duration>', 'Re-evaluate every interval (e.g. 500, 3s)')
|
|
20
|
-
.option('--count <n>', 'Stop after N iterations (requires --interval)')
|
|
21
|
-
.option('--until <condition>', 'Stop when local condition becomes truthy (requires --interval)')
|
|
22
|
-
.option('-f, --file <path>', 'Read expression from a file')
|
|
23
|
-
.option('--stdin', 'Read expression from stdin')
|
|
24
|
-
.option('--inject <path>', 'Read setup code from a file and run it before the expression')
|
|
25
|
-
.option('--iframe <selector>', 'Eval in iframe via postMessage (requires helper script)')
|
|
26
|
-
.option('--iframe-namespace <name>', 'Message type prefix for iframe eval (default: argus)')
|
|
27
|
-
.option('--iframe-timeout <ms>', 'Timeout for iframe postMessage response (default: 5000)')
|
|
28
|
-
.option('--arg <key=value>', 'Argument exposed to eval scripts as args[key]', collectValue, [])
|
|
29
|
-
.addHelpText('after', `
|
|
30
|
-
Examples:
|
|
31
|
-
$ argus eval app "location.href"
|
|
32
|
-
$ argus eval app "await fetch('/ping').then(r => r.status)"
|
|
33
|
-
$ argus eval app --file ./script.js
|
|
34
|
-
$ argus eval app "window.store.getState()" --inject ./debug-hooks.js
|
|
35
|
-
$ argus eval app --file ./script.js --arg level=10 --arg mode=fast
|
|
36
|
-
$ cat script.js | argus eval app --stdin
|
|
37
|
-
$ argus eval app - < script.js
|
|
38
|
-
$ argus eval app "document.title" --no-fail-on-exception
|
|
39
|
-
$ argus eval app "1+1" --retry 3
|
|
40
|
-
$ argus eval app "1+1" --silent
|
|
41
|
-
$ argus eval app "Date.now()" --interval 500 --count 10
|
|
42
|
-
$ argus eval app "document.title" --interval 250 --until 'result === "ready"'
|
|
43
|
-
$ argus eval app "window.gameState" --iframe "iframe#game"
|
|
44
|
-
$ argus eval app "document.title" --iframe "iframe" --iframe-timeout 10000
|
|
45
|
-
`)
|
|
46
|
-
.action(async (id, expression, options) => {
|
|
47
|
-
await runEval(id, expression, {
|
|
48
|
-
json: options.json,
|
|
49
|
-
await: options.await,
|
|
50
|
-
timeout: options.timeout,
|
|
51
|
-
returnByValue: options.returnByValue,
|
|
52
|
-
failOnException: options.failOnException,
|
|
53
|
-
retry: options.retry,
|
|
54
|
-
silent: options.silent,
|
|
55
|
-
interval: options.interval,
|
|
56
|
-
count: options.count,
|
|
57
|
-
until: options.until,
|
|
58
|
-
file: options.file,
|
|
59
|
-
stdin: options.stdin,
|
|
60
|
-
inject: options.inject,
|
|
61
|
-
iframe: options.iframe,
|
|
62
|
-
iframeNamespace: options.iframeNamespace,
|
|
63
|
-
iframeTimeout: options.iframeTimeout,
|
|
64
|
-
arg: options.arg,
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
evalCmd
|
|
68
|
-
.command('iframe-helper')
|
|
69
|
-
.description('Output helper script for cross-origin iframe eval via postMessage')
|
|
70
|
-
.option('--out <file>', 'Write script to file instead of stdout')
|
|
71
|
-
.option('--no-log', 'Omit console.log confirmation')
|
|
72
|
-
.option('--iife', 'Wrap in IIFE to avoid global scope')
|
|
73
|
-
.option('--namespace <name>', 'Message type prefix (default: argus)')
|
|
74
|
-
.addHelpText('after', `
|
|
75
|
-
Examples:
|
|
76
|
-
$ argus eval iframe-helper > helper.js
|
|
77
|
-
$ argus eval iframe-helper --out src/argus.js
|
|
78
|
-
$ argus eval iframe-helper --iife --no-log
|
|
79
|
-
$ argus eval iframe-helper --namespace myapp
|
|
80
|
-
`)
|
|
81
|
-
.action(async (options) => {
|
|
82
|
-
await runIframeHelper(options);
|
|
83
|
-
});
|
|
84
|
-
program
|
|
85
|
-
.command('eval-until')
|
|
86
|
-
.alias('wait')
|
|
87
|
-
.argument('[id]', 'Watcher id to query')
|
|
88
|
-
.argument('[expression]', 'JS expression to poll until truthy (or use --file / --stdin)')
|
|
89
|
-
.description('Poll a JS expression until it returns a truthy value')
|
|
90
|
-
.option('--no-await', 'Do not await promises')
|
|
91
|
-
.option('--timeout <ms>', 'Per-eval timeout in milliseconds')
|
|
92
|
-
.option('--json', 'Output JSON for automation')
|
|
93
|
-
.option('--no-return-by-value', 'Disable returnByValue (use preview)')
|
|
94
|
-
.option('--no-fail-on-exception', 'Do not exit with code 1 when the evaluation throws')
|
|
95
|
-
.option('--retry <n>', 'Retry failed evaluations up to N times')
|
|
96
|
-
.option('-q, --silent', 'Suppress success output; only emit output on error')
|
|
97
|
-
.option('--interval <ms|duration>', 'Polling interval (default: 250ms)')
|
|
98
|
-
.option('--count <n>', 'Stop after N iterations')
|
|
99
|
-
.option('--total-timeout <duration>', 'Max wall-clock time (e.g. 30s, 2m)')
|
|
100
|
-
.option('--verbose', 'Print intermediate (falsy) results')
|
|
101
|
-
.option('-f, --file <path>', 'Read expression from a file')
|
|
102
|
-
.option('--stdin', 'Read expression from stdin')
|
|
103
|
-
.option('--inject <path>', 'Read setup code from a file and run it before the expression')
|
|
104
|
-
.option('--iframe <selector>', 'Eval in iframe via postMessage (requires helper script)')
|
|
105
|
-
.option('--iframe-namespace <name>', 'Message type prefix for iframe eval (default: argus)')
|
|
106
|
-
.option('--iframe-timeout <ms>', 'Timeout for iframe postMessage response (default: 5000)')
|
|
107
|
-
.option('--arg <key=value>', 'Argument exposed to eval scripts as args[key]', collectValue, [])
|
|
108
|
-
.addHelpText('after', `
|
|
109
|
-
Examples:
|
|
110
|
-
$ argus eval-until app "document.querySelector('#loaded')"
|
|
111
|
-
$ argus eval-until app "await window.appReadyPromise"
|
|
112
|
-
$ argus eval-until app "window.APP_READY" --interval 500
|
|
113
|
-
$ argus eval-until app "document.title === 'Ready'" --total-timeout 30s
|
|
114
|
-
$ argus eval-until app "window.data" --verbose
|
|
115
|
-
$ argus eval-until app "window.data" --count 20 --interval 1s
|
|
116
|
-
$ argus eval-until app --file ./check.js --total-timeout 1m
|
|
117
|
-
$ argus wait app "window.appReady" --inject ./debug-hooks.js --total-timeout 20s
|
|
118
|
-
$ argus wait app --file ./ready.js --arg level=10 --total-timeout 20s
|
|
119
|
-
`)
|
|
120
|
-
.action(async (id, expression, options) => {
|
|
121
|
-
await runEvalUntil(id, expression, {
|
|
122
|
-
json: options.json,
|
|
123
|
-
await: options.await,
|
|
124
|
-
timeout: options.timeout,
|
|
125
|
-
returnByValue: options.returnByValue,
|
|
126
|
-
failOnException: options.failOnException,
|
|
127
|
-
retry: options.retry,
|
|
128
|
-
silent: options.silent,
|
|
129
|
-
interval: options.interval,
|
|
130
|
-
count: options.count,
|
|
131
|
-
totalTimeout: options.totalTimeout,
|
|
132
|
-
verbose: options.verbose,
|
|
133
|
-
file: options.file,
|
|
134
|
-
stdin: options.stdin,
|
|
135
|
-
inject: options.inject,
|
|
136
|
-
iframe: options.iframe,
|
|
137
|
-
iframeNamespace: options.iframeNamespace,
|
|
138
|
-
iframeTimeout: options.iframeTimeout,
|
|
139
|
-
arg: options.arg,
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=registerEval.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerEval.js","sourceRoot":"","sources":["../../../src/cli/register/registerEval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqDxD"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { runExtensionSetup } from '../../commands/extension/setup.js';
|
|
2
|
-
import { runExtensionRemove } from '../../commands/extension/remove.js';
|
|
3
|
-
import { runExtensionStatus } from '../../commands/extension/status.js';
|
|
4
|
-
import { runExtensionInfo } from '../../commands/extension/info.js';
|
|
5
|
-
import { runExtensionTabs } from '../../commands/extension/tabs.js';
|
|
6
|
-
export function registerExtension(program) {
|
|
7
|
-
const extension = program.command('extension').alias('ext').description('Browser extension management');
|
|
8
|
-
extension
|
|
9
|
-
.command('setup <extensionId>')
|
|
10
|
-
.description('Install native messaging host for the browser extension')
|
|
11
|
-
.option('--json', 'Output JSON for automation')
|
|
12
|
-
.addHelpText('after', '\nTo get your extension ID:\n 1. Open chrome://extensions\n 2. Enable Developer mode\n 3. Load argus-extension as unpacked\n 4. Copy the ID from the extension card\n')
|
|
13
|
-
.action(async (extensionId, options) => {
|
|
14
|
-
await runExtensionSetup({ extensionId, ...options });
|
|
15
|
-
});
|
|
16
|
-
extension
|
|
17
|
-
.command('remove')
|
|
18
|
-
.description('Uninstall native messaging host')
|
|
19
|
-
.option('--json', 'Output JSON for automation')
|
|
20
|
-
.action(async (options) => {
|
|
21
|
-
await runExtensionRemove(options);
|
|
22
|
-
});
|
|
23
|
-
extension
|
|
24
|
-
.command('status')
|
|
25
|
-
.description('Check native messaging host configuration')
|
|
26
|
-
.option('--json', 'Output JSON for automation')
|
|
27
|
-
.action(async (options) => {
|
|
28
|
-
await runExtensionStatus(options);
|
|
29
|
-
});
|
|
30
|
-
extension
|
|
31
|
-
.command('info')
|
|
32
|
-
.description('Show native messaging host paths and configuration')
|
|
33
|
-
.option('--json', 'Output JSON for automation')
|
|
34
|
-
.action(async (options) => {
|
|
35
|
-
await runExtensionInfo(options);
|
|
36
|
-
});
|
|
37
|
-
extension
|
|
38
|
-
.command('tabs')
|
|
39
|
-
.description('List browser tabs visible to the extension transport')
|
|
40
|
-
.option('--id <watcherId>', 'Extension-backed watcher id to use as the transport')
|
|
41
|
-
.option('--url <substring>', 'Filter tabs by URL substring')
|
|
42
|
-
.option('--title <substring>', 'Filter tabs by title substring')
|
|
43
|
-
.option('--json', 'Output JSON for automation')
|
|
44
|
-
.addHelpText('after', '\nExamples:\n $ argus ext tabs\n $ argus ext tabs --url localhost\n $ argus ext tabs --title Docs --json\n $ argus ext tabs --id extension-2\n')
|
|
45
|
-
.action(async (options) => {
|
|
46
|
-
await runExtensionTabs(options);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=registerExtension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerExtension.js","sourceRoot":"","sources":["../../../src/cli/register/registerExtension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAEnE,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA;IAEvG,SAAS;SACP,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,2KAA2K,CAC3K;SACA,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEH,SAAS;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,qDAAqD,CAAC;SACjF,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;SAC3D,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,oJAAoJ,CACpJ;SACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerFill.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6BnD"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { runDomFill } from '../../commands/domFill.js';
|
|
2
|
-
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
3
|
-
export function registerFill(program) {
|
|
4
|
-
program
|
|
5
|
-
.command('fill')
|
|
6
|
-
.argument('[id]', 'Watcher id to query')
|
|
7
|
-
.argument('[value]', 'Value to fill (or use --value-file / --value-stdin / "-" for stdin)')
|
|
8
|
-
.description('Fill input/textarea/contenteditable elements with a value')
|
|
9
|
-
.option('--selector <css>', 'CSS selector for target element(s)')
|
|
10
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
11
|
-
.option('--ref <elementRef>', 'Stable element ref from snapshot/locate output')
|
|
12
|
-
.option('--name <attr>', 'Shorthand for --selector "[name=<attr>]"')
|
|
13
|
-
.option('--value-file <path>', 'Read value from a file')
|
|
14
|
-
.option('--value-stdin', 'Read value from stdin (also triggered by "-" as value arg)')
|
|
15
|
-
.option('--all', 'Allow multiple matches (default: error if >1 match)')
|
|
16
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
17
|
-
.option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)')
|
|
18
|
-
.option('--json', 'Output JSON for automation')
|
|
19
|
-
.addHelpText('after', '\nExamples:\n $ argus fill app --selector "#username" "Bob"\n $ argus fill app --testid "username" "Bob"\n $ argus fill app --ref e7 "Bob"\n $ argus fill app --name "title" "Hello"\n $ argus fill app --selector "textarea" "New content"\n $ argus fill app --selector "input[type=text]" --all "reset"\n $ argus fill app --selector "#desc" --value-file ./description.txt\n $ echo "hello" | argus fill app --selector "#input" --value-stdin\n $ argus fill app --selector "#input" - < value.txt\n')
|
|
20
|
-
.action(async (id, value, options) => {
|
|
21
|
-
if (options.name && (options.testid || options.ref)) {
|
|
22
|
-
console.error('Cannot use --name with --testid or --ref.');
|
|
23
|
-
process.exitCode = 2;
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (!resolveTestId(options))
|
|
27
|
-
return;
|
|
28
|
-
await runDomFill(id, value, options);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=registerFill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerFill.js","sourceRoot":"","sources":["../../../src/cli/register/registerFill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,OAAO;SACL,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,QAAQ,CAAC,SAAS,EAAE,qEAAqE,CAAC;SAC1F,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SAC9E,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,4DAA4D,CAAC;SACrF,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,qfAAqf,CACrf;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACP,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerHover.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerHover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBpD"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { runDomHover } from '../../commands/domHover.js';
|
|
2
|
-
import { resolveTestId } from '../../commands/resolveTestId.js';
|
|
3
|
-
export function registerHover(program) {
|
|
4
|
-
program
|
|
5
|
-
.command('hover')
|
|
6
|
-
.argument('[id]', 'Watcher id to query')
|
|
7
|
-
.description('Hover over element(s) matching a CSS selector')
|
|
8
|
-
.option('--selector <css>', 'CSS selector to match element(s)')
|
|
9
|
-
.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
|
|
10
|
-
.option('--ref <elementRef>', 'Stable element ref from snapshot/locate output')
|
|
11
|
-
.option('--all', 'Allow multiple matches (default: error if >1 match)')
|
|
12
|
-
.option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
|
|
13
|
-
.option('--json', 'Output JSON for automation')
|
|
14
|
-
.addHelpText('after', '\nExamples:\n $ argus hover app --selector "#btn"\n $ argus hover app --ref e5\n $ argus hover app --selector ".item" --all\n $ argus hover app --selector "#btn" --json\n')
|
|
15
|
-
.action(async (id, options) => {
|
|
16
|
-
if (!resolveTestId(options))
|
|
17
|
-
return;
|
|
18
|
-
await runDomHover(id, options);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=registerHover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerHover.js","sourceRoot":"","sources":["../../../src/cli/register/registerHover.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,+CAA+C,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,gLAAgL,CAChL;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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerKeydown.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerKeydown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBtD"}
|