browser-debugger-cli 0.6.2 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -3
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/protocol.js +0 -6
- package/dist/cdp/protocol.js.map +1 -1
- package/dist/cdp/schema.d.ts.map +1 -1
- package/dist/cdp/schema.js +0 -2
- package/dist/cdp/schema.js.map +1 -1
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +12 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +102 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -0
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +9 -24
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +0 -13
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +22 -7
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +0 -5
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +51 -15
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +3 -7
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +30 -11
- package/dist/commands/dom/formFillHelpers.js.map +1 -1
- package/dist/commands/dom/formInteraction.d.ts.map +1 -1
- package/dist/commands/dom/formInteraction.js +0 -5
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.js +0 -13
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +0 -22
- package/dist/commands/dom/helpers.js.map +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -1
- package/dist/commands/dom/index.js +85 -19
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +3 -3
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +3 -31
- package/dist/commands/dom/reactEventHelpers.js.map +1 -1
- package/dist/commands/machineReadableHelp.d.ts +48 -0
- package/dist/commands/machineReadableHelp.d.ts.map +1 -1
- package/dist/commands/machineReadableHelp.js +80 -0
- package/dist/commands/machineReadableHelp.js.map +1 -1
- package/dist/commands/network.d.ts.map +1 -1
- package/dist/commands/network.js +185 -10
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +17 -14
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +2 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +3 -8
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts +7 -0
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +1 -0
- package/dist/commands/shared/__tests__/validation.unit.test.js +141 -0
- package/dist/commands/shared/__tests__/validation.unit.test.js.map +1 -0
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +0 -10
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +19 -0
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +110 -7
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +0 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +0 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +2 -11
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.js +6 -7
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +0 -5
- package/dist/commands.js.map +1 -1
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +9 -12
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/diagnostics.d.ts.map +1 -1
- package/dist/connection/diagnostics.js +7 -4
- package/dist/connection/diagnostics.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +0 -1
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +259 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
- package/dist/daemon/handlers/BaseHandler.d.ts +75 -0
- package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -0
- package/dist/daemon/handlers/BaseHandler.js +103 -0
- package/dist/daemon/handlers/BaseHandler.js.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts +3 -4
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/CommandHandlers.js +14 -52
- package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts +8 -6
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.js +42 -94
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.js +0 -15
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
- package/dist/daemon/handlers/requestHandlers.d.ts +5 -1
- package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/requestHandlers.js +7 -2
- package/dist/daemon/handlers/requestHandlers.js.map +1 -1
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/responseHandler.js +19 -8
- package/dist/daemon/handlers/responseHandler.js.map +1 -1
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +4 -11
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +0 -18
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.js +0 -4
- package/dist/daemon/lifecycle/cdpSetup.js.map +1 -1
- package/dist/daemon/lifecycle/chromeConnection.js +0 -1
- package/dist/daemon/lifecycle/chromeConnection.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +0 -3
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.js +0 -7
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.js +0 -1
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
- package/dist/daemon/patternDefinitions.d.ts +47 -0
- package/dist/daemon/patternDefinitions.d.ts.map +1 -0
- package/dist/daemon/patternDefinitions.js +71 -0
- package/dist/daemon/patternDefinitions.js.map +1 -0
- package/dist/daemon/patternDetector.d.ts +60 -0
- package/dist/daemon/patternDetector.d.ts.map +1 -0
- package/dist/daemon/patternDetector.js +74 -0
- package/dist/daemon/patternDetector.js.map +1 -0
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
- package/dist/daemon/server/JsonlParser.js +0 -2
- package/dist/daemon/server/JsonlParser.js.map +1 -1
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +0 -15
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +11 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +1 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +136 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +1 -0
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +46 -2
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/daemon/worker/plugins.d.ts.map +1 -1
- package/dist/daemon/worker/plugins.js +0 -3
- package/dist/daemon/worker/plugins.js.map +1 -1
- package/dist/daemon/worker.js +0 -9
- package/dist/daemon/worker.js.map +1 -1
- package/dist/daemon.js +0 -2
- package/dist/daemon.js.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/ipc/client.d.ts +47 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +51 -0
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/index.d.ts.map +1 -1
- package/dist/ipc/index.js +0 -6
- package/dist/ipc/index.js.map +1 -1
- package/dist/ipc/protocol/commands.d.ts +46 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -1
- package/dist/ipc/protocol/commands.js +8 -0
- package/dist/ipc/protocol/commands.js.map +1 -1
- package/dist/ipc/session/queries.d.ts +26 -2
- package/dist/ipc/session/queries.d.ts.map +1 -1
- package/dist/ipc/transport/index.d.ts.map +1 -1
- package/dist/ipc/transport/index.js +0 -1
- package/dist/ipc/transport/index.js.map +1 -1
- package/dist/ipc/transport/jsonl.d.ts.map +1 -1
- package/dist/ipc/transport/jsonl.js +0 -1
- package/dist/ipc/transport/jsonl.js.map +1 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +2 -20
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/queryCache.d.ts +35 -0
- package/dist/session/queryCache.d.ts.map +1 -0
- package/dist/session/queryCache.js +83 -0
- package/dist/session/queryCache.js.map +1 -0
- package/dist/telemetry/__tests__/filters.unit.test.js +119 -1
- package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -1
- package/dist/telemetry/__tests__/network.contract.test.js +114 -0
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
- package/dist/telemetry/a11y.d.ts +8 -5
- package/dist/telemetry/a11y.d.ts.map +1 -1
- package/dist/telemetry/a11y.js +34 -19
- package/dist/telemetry/a11y.js.map +1 -1
- package/dist/telemetry/dom.js +4 -4
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +17 -0
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +25 -0
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +8 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +1 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.js +694 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.js.map +1 -0
- package/dist/telemetry/har/builder.d.ts +43 -0
- package/dist/telemetry/har/builder.d.ts.map +1 -0
- package/dist/telemetry/har/builder.js +440 -0
- package/dist/telemetry/har/builder.js.map +1 -0
- package/dist/telemetry/har/types.d.ts +290 -0
- package/dist/telemetry/har/types.d.ts.map +1 -0
- package/dist/telemetry/har/types.js +7 -0
- package/dist/telemetry/har/types.js.map +1 -0
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +37 -4
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.js +0 -8
- package/dist/ui/OutputBuilder.js.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +5 -1
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js +0 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/errors/index.d.ts.map +1 -1
- package/dist/ui/errors/index.js +0 -2
- package/dist/ui/errors/index.js.map +1 -1
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +13 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +1 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js +180 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js.map +1 -0
- package/dist/ui/formatters/details.d.ts.map +1 -1
- package/dist/ui/formatters/details.js +1 -0
- package/dist/ui/formatters/details.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +5 -5
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/helpFormatters.d.ts +41 -0
- package/dist/ui/formatters/helpFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/helpFormatters.js +80 -0
- package/dist/ui/formatters/helpFormatters.js.map +1 -0
- package/dist/ui/formatters/index.d.ts +1 -0
- package/dist/ui/formatters/index.d.ts.map +1 -1
- package/dist/ui/formatters/index.js +1 -0
- package/dist/ui/formatters/index.js.map +1 -1
- package/dist/ui/formatters/networkHeaders.d.ts +14 -0
- package/dist/ui/formatters/networkHeaders.d.ts.map +1 -0
- package/dist/ui/formatters/networkHeaders.js +47 -0
- package/dist/ui/formatters/networkHeaders.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +102 -33
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/sessionFormatters.d.ts +58 -0
- package/dist/ui/formatters/sessionFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/sessionFormatters.js +116 -0
- package/dist/ui/formatters/sessionFormatters.js.map +1 -0
- package/dist/ui/formatters/status.d.ts.map +1 -1
- package/dist/ui/formatters/status.js +0 -11
- package/dist/ui/formatters/status.js.map +1 -1
- package/dist/ui/formatting.d.ts.map +1 -1
- package/dist/ui/formatting.js +0 -6
- package/dist/ui/formatting.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/chrome.d.ts.map +1 -1
- package/dist/ui/messages/chrome.js +0 -6
- package/dist/ui/messages/chrome.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +9 -0
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +11 -13
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/debug.d.ts.map +1 -1
- package/dist/ui/messages/debug.js +0 -6
- package/dist/ui/messages/debug.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +53 -0
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +59 -0
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/hints.d.ts +33 -0
- package/dist/ui/messages/hints.d.ts.map +1 -0
- package/dist/ui/messages/hints.js +37 -0
- package/dist/ui/messages/hints.js.map +1 -0
- package/dist/ui/messages/internal.d.ts.map +1 -1
- package/dist/ui/messages/internal.js +0 -3
- package/dist/ui/messages/internal.js.map +1 -1
- package/dist/ui/messages/preview.d.ts.map +1 -1
- package/dist/ui/messages/preview.js +0 -12
- package/dist/ui/messages/preview.js.map +1 -1
- package/dist/ui/messages/session.d.ts +11 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +14 -24
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/utils/atomicFile.d.ts.map +1 -1
- package/dist/utils/atomicFile.js +9 -6
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts +54 -0
- package/dist/utils/decisionTrees.d.ts.map +1 -0
- package/dist/utils/decisionTrees.js +171 -0
- package/dist/utils/decisionTrees.js.map +1 -0
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +0 -2
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/taskMappings.d.ts +47 -0
- package/dist/utils/taskMappings.d.ts.map +1 -0
- package/dist/utils/taskMappings.js +118 -0
- package/dist/utils/taskMappings.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +0 -3
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +0 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6C7D"}
|
package/dist/commands/details.js
CHANGED
|
@@ -31,11 +31,9 @@ export function registerDetailsCommand(program) {
|
|
|
31
31
|
.argument('<id>', 'Request ID (for network) or index (for console)')
|
|
32
32
|
.addOption(jsonOption)
|
|
33
33
|
.action(async (type, id, options) => {
|
|
34
|
-
// Store arguments in options for handler (type assertion safe due to validation below)
|
|
35
34
|
options.type = type;
|
|
36
35
|
options.id = id;
|
|
37
36
|
await runCommand(async (opts) => {
|
|
38
|
-
// Validate type argument
|
|
39
37
|
if (opts.type !== 'network' && opts.type !== 'console') {
|
|
40
38
|
return {
|
|
41
39
|
success: false,
|
|
@@ -43,11 +41,8 @@ export function registerDetailsCommand(program) {
|
|
|
43
41
|
exitCode: EXIT_CODES.INVALID_ARGUMENTS,
|
|
44
42
|
};
|
|
45
43
|
}
|
|
46
|
-
// Fetch details via IPC from daemon/worker
|
|
47
44
|
const response = await getDetails(opts.type, opts.id);
|
|
48
|
-
// Validate IPC response (throws on error)
|
|
49
45
|
validateIPCResponse(response);
|
|
50
|
-
// Check for data in response
|
|
51
46
|
if (!response.data?.item) {
|
|
52
47
|
return {
|
|
53
48
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAYlD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,iDAAiD,CAAC;SACnE,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,OAAuB,EAAE,EAAE;QAClE,
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAYlD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,iDAAiD,CAAC;SACnE,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,OAAuB,EAAE,EAAE;QAClE,OAAO,CAAC,IAAI,GAAG,IAA6B,CAAC;QAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAEhB,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;oBAC1E,QAAQ,EAAE,UAAU,CAAC,iBAAiB;iBACvC,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtD,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAE9B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,qBAAqB;oBAC5B,QAAQ,EAAE,UAAU,CAAC,kBAAkB;iBACxC,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAkD;oBACtE,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CAAC;QACJ,CAAC,EACD,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/a11y.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/a11y.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2MzC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAoC1D"}
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { runCommand } from '../../commands/shared/CommandRunner.js';
|
|
12
12
|
import { jsonOption } from '../../commands/shared/commonOptions.js';
|
|
13
|
-
import { collectA11yTree, queryA11yTree, parseQueryPattern,
|
|
13
|
+
import { collectA11yTree, queryA11yTree, parseQueryPattern, resolveA11yNode, } from '../../telemetry/a11y.js';
|
|
14
14
|
import { CommandError } from '../../ui/errors/index.js';
|
|
15
15
|
import { formatA11yTree, formatA11yQueryResult, formatA11yNode } from '../../ui/formatters/a11y.js';
|
|
16
|
+
import { elementNotFoundError } from '../../ui/messages/errors.js';
|
|
16
17
|
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
17
18
|
/**
|
|
18
19
|
* Handle bdg dom a11y tree command
|
|
@@ -72,12 +73,39 @@ async function handleA11yQuery(pattern, options) {
|
|
|
72
73
|
}, options, formatA11yQueryResult);
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
75
|
-
*
|
|
76
|
+
* Retrieve cached node by index with validation.
|
|
76
77
|
*
|
|
77
|
-
*
|
|
78
|
+
* @param index - Zero-based index from query results
|
|
79
|
+
* @returns Node from cache
|
|
80
|
+
* @throws CommandError if cache missing, index out of range, or node not found
|
|
81
|
+
*/
|
|
82
|
+
async function getCachedNodeByIndex(index) {
|
|
83
|
+
const { getSessionQueryCache } = await import('../../session/queryCache.js');
|
|
84
|
+
const cachedQuery = getSessionQueryCache();
|
|
85
|
+
if (!cachedQuery) {
|
|
86
|
+
throw new CommandError('No cached query results found', {
|
|
87
|
+
suggestion: 'Run "bdg dom query <selector>" first to generate indexed results',
|
|
88
|
+
}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
89
|
+
}
|
|
90
|
+
if (index < 0 || index >= cachedQuery.nodes.length) {
|
|
91
|
+
throw new CommandError(`Index ${index} out of range (found ${cachedQuery.nodes.length} elements)`, {
|
|
92
|
+
suggestion: `Use an index between 0 and ${cachedQuery.nodes.length - 1}`,
|
|
93
|
+
}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
94
|
+
}
|
|
95
|
+
const targetNode = cachedQuery.nodes[index];
|
|
96
|
+
if (!targetNode) {
|
|
97
|
+
throw new CommandError(`Element at index ${index} not found`, {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
98
|
+
}
|
|
99
|
+
return targetNode;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Handle bdg dom a11y describe <selectorOrIndex> command
|
|
103
|
+
*
|
|
104
|
+
* Gets accessibility properties for a DOM element by CSS selector or numeric index.
|
|
105
|
+
* Supports index-based access from query results (e.g., "bdg dom a11y describe 0").
|
|
78
106
|
* Useful for understanding how an element is exposed to assistive technologies.
|
|
79
107
|
*
|
|
80
|
-
* @param
|
|
108
|
+
* @param selectorOrIndex - CSS selector (e.g., "button.submit") or numeric index from query results
|
|
81
109
|
* @param options - Command options
|
|
82
110
|
*
|
|
83
111
|
* @example
|
|
@@ -85,15 +113,23 @@ async function handleA11yQuery(pattern, options) {
|
|
|
85
113
|
* bdg dom a11y describe "button.submit"
|
|
86
114
|
* bdg dom a11y describe "#email"
|
|
87
115
|
* bdg dom a11y describe "form input[type=password]"
|
|
116
|
+
* bdg dom a11y describe 0 # Uses cached query results
|
|
88
117
|
* ```
|
|
89
118
|
*/
|
|
90
|
-
async function handleA11yDescribe(
|
|
119
|
+
async function handleA11yDescribe(selectorOrIndex, options) {
|
|
120
|
+
const isNumericIndex = /^\d+$/.test(selectorOrIndex);
|
|
91
121
|
await runCommand(async () => {
|
|
92
|
-
|
|
122
|
+
let node;
|
|
123
|
+
if (isNumericIndex) {
|
|
124
|
+
const index = parseInt(selectorOrIndex, 10);
|
|
125
|
+
const targetNode = await getCachedNodeByIndex(index);
|
|
126
|
+
node = await resolveA11yNode('', targetNode.nodeId);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
node = await resolveA11yNode(selectorOrIndex);
|
|
130
|
+
}
|
|
93
131
|
if (!node) {
|
|
94
|
-
throw new CommandError(
|
|
95
|
-
suggestion: 'Verify the selector matches an element: bdg dom query <selector>',
|
|
96
|
-
}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
132
|
+
throw new CommandError(elementNotFoundError(selectorOrIndex), {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
97
133
|
}
|
|
98
134
|
return { success: true, data: node };
|
|
99
135
|
}, options, formatA11yNode);
|
|
@@ -116,19 +152,19 @@ export function registerA11yCommands(domCmd) {
|
|
|
116
152
|
});
|
|
117
153
|
a11y
|
|
118
154
|
.command('query')
|
|
119
|
-
.description('Query elements by accessibility properties')
|
|
120
|
-
.argument('<pattern>', '
|
|
155
|
+
.description('Query elements by accessibility properties (e.g., "role:button", "name:Submit")')
|
|
156
|
+
.argument('<pattern>', 'Pattern with field prefix - role:button, name:Submit, name:*search* (supports wildcards)')
|
|
121
157
|
.addOption(jsonOption)
|
|
122
158
|
.action(async (pattern, options) => {
|
|
123
159
|
await handleA11yQuery(pattern, options);
|
|
124
160
|
});
|
|
125
161
|
a11y
|
|
126
162
|
.command('describe')
|
|
127
|
-
.description('Get accessibility properties for CSS selector')
|
|
128
|
-
.argument('<
|
|
163
|
+
.description('Get accessibility properties for CSS selector or index')
|
|
164
|
+
.argument('<selectorOrIndex>', 'CSS selector (e.g., "button.submit") or numeric index from query results')
|
|
129
165
|
.addOption(jsonOption)
|
|
130
|
-
.action(async (
|
|
131
|
-
await handleA11yDescribe(
|
|
166
|
+
.action(async (selectorOrIndex, options) => {
|
|
167
|
+
await handleA11yDescribe(selectorOrIndex, options);
|
|
132
168
|
});
|
|
133
169
|
}
|
|
134
170
|
//# sourceMappingURL=a11y.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y.js","sourceRoot":"","sources":["../../../src/commands/dom/a11y.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"a11y.js","sourceRoot":"","sources":["../../../src/commands/dom/a11y.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { type SessionMetadata } from '../../session/metadata.js';
|
|
|
5
5
|
* Validate that an active session is running
|
|
6
6
|
*
|
|
7
7
|
* @returns PID of running session
|
|
8
|
-
* @throws
|
|
8
|
+
* @throws CommandError When no active session is found
|
|
9
9
|
*/
|
|
10
10
|
export declare function validateActiveSession(): number;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evalHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"evalHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuDlF;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,eAAe,CAY7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/F;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAyB5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readSessionMetadata } from '../../session/metadata.js';
|
|
2
2
|
import { readPid } from '../../session/pid.js';
|
|
3
3
|
import { CommandError } from '../../ui/errors/index.js';
|
|
4
|
+
import { sessionNotActiveError } from '../../ui/messages/errors.js';
|
|
4
5
|
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
5
6
|
import { fetchCDPTargetById } from '../../utils/http.js';
|
|
6
7
|
import { isProcessAlive } from '../../utils/process.js';
|
|
@@ -15,11 +16,9 @@ function isRuntimeEvaluateResult(value) {
|
|
|
15
16
|
return false;
|
|
16
17
|
}
|
|
17
18
|
const obj = value;
|
|
18
|
-
// Must have either result or exceptionDetails (or both)
|
|
19
19
|
if (!('result' in obj) && !('exceptionDetails' in obj)) {
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
|
-
// Validate exceptionDetails structure if present
|
|
23
22
|
if ('exceptionDetails' in obj) {
|
|
24
23
|
const exceptionDetails = obj['exceptionDetails'];
|
|
25
24
|
if (typeof exceptionDetails !== 'object' || exceptionDetails === null) {
|
|
@@ -37,7 +36,6 @@ function isRuntimeEvaluateResult(value) {
|
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
// Validate result structure if present
|
|
41
39
|
if ('result' in obj) {
|
|
42
40
|
const result = obj['result'];
|
|
43
41
|
if (typeof result !== 'object' || result === null) {
|
|
@@ -50,12 +48,12 @@ function isRuntimeEvaluateResult(value) {
|
|
|
50
48
|
* Validate that an active session is running
|
|
51
49
|
*
|
|
52
50
|
* @returns PID of running session
|
|
53
|
-
* @throws
|
|
51
|
+
* @throws CommandError When no active session is found
|
|
54
52
|
*/
|
|
55
53
|
export function validateActiveSession() {
|
|
56
54
|
const pid = readPid();
|
|
57
55
|
if (!pid || !isProcessAlive(pid)) {
|
|
58
|
-
throw new CommandError('
|
|
56
|
+
throw new CommandError(sessionNotActiveError('execute DOM operations'), {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
59
57
|
}
|
|
60
58
|
return pid;
|
|
61
59
|
}
|
|
@@ -105,14 +103,12 @@ export async function executeScript(cdp, script) {
|
|
|
105
103
|
returnByValue: true,
|
|
106
104
|
awaitPromise: true,
|
|
107
105
|
});
|
|
108
|
-
// Validate response structure at runtime
|
|
109
106
|
if (!isRuntimeEvaluateResult(response)) {
|
|
110
107
|
throw new CommandError('Invalid CDP Runtime.evaluate response structure', {
|
|
111
108
|
note: 'CDP response did not match expected format',
|
|
112
109
|
suggestion: 'This may indicate a CDP protocol version mismatch',
|
|
113
110
|
}, EXIT_CODES.CDP_CONNECTION_FAILURE);
|
|
114
111
|
}
|
|
115
|
-
// Check for execution exceptions
|
|
116
112
|
if (response.exceptionDetails) {
|
|
117
113
|
const errorMsg = response.exceptionDetails.exception?.description ?? 'Unknown error executing script';
|
|
118
114
|
throw new Error(errorMsg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evalHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,
|
|
1
|
+
{"version":3,"file":"evalHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,IAAI,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,kBAAkB,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,gBAA2C,CAAC;QAC5D,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,SAAoC,CAAC;YACnD,IAAI,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CACpB,qBAAqB,CAAC,wBAAwB,CAAC,EAC/C,EAAE,EACF,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC1D,MAAM,IAAI,YAAY,CACpB,2CAA2C,EAC3C,EAAE,IAAI,EAAE,qDAAqD,EAAE,EAC/D,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAyB,EAAE,IAAY;IAC9E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC,EAAE,UAAU,EAAE,qCAAqC,EAAE,EACrD,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACpB,qDAAqD,EACrD,EAAE,UAAU,EAAE,qCAAqC,EAAE,EACrD,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAkB,EAClB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAClD,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,YAAY,CACpB,iDAAiD,EACjD;YACE,IAAI,EAAE,4CAA4C;YAClD,UAAU,EAAE,mDAAmD;SAChE,EACD,UAAU,CAAC,sBAAsB,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,QAAQ,GACZ,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,IAAI,gCAAgC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formFillHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"formFillHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAqChC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA6DrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CAyDtB"}
|
|
@@ -4,6 +4,32 @@
|
|
|
4
4
|
import { CommandError } from '../../ui/errors/index.js';
|
|
5
5
|
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
6
6
|
import { REACT_FILL_SCRIPT, CLICK_ELEMENT_SCRIPT, GET_ELEMENT_BY_INDEX_SCRIPT, } from './reactEventHelpers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Format exception details into a user-friendly error message with troubleshooting hints.
|
|
9
|
+
*
|
|
10
|
+
* @param exceptionDetails - CDP exception details
|
|
11
|
+
* @param selector - CSS selector that was used
|
|
12
|
+
* @param operationType - Type of operation (fill or click) for tailored hints
|
|
13
|
+
* @returns Formatted error message with context
|
|
14
|
+
*/
|
|
15
|
+
function formatScriptExecutionError(exceptionDetails, selector, operationType = 'fill') {
|
|
16
|
+
const errorText = exceptionDetails.text || 'Unknown error';
|
|
17
|
+
const location = exceptionDetails.lineNumber !== undefined && exceptionDetails.columnNumber !== undefined
|
|
18
|
+
? ` at line ${exceptionDetails.lineNumber + 1}, column ${exceptionDetails.columnNumber + 1}`
|
|
19
|
+
: '';
|
|
20
|
+
const troubleshootingSteps = operationType === 'fill'
|
|
21
|
+
? [
|
|
22
|
+
`1. Verify element exists: bdg dom query "${selector}"`,
|
|
23
|
+
'2. Check element is visible and not disabled',
|
|
24
|
+
`3. Try direct eval: bdg dom eval "document.querySelector('${escapeSelectorForJS(selector)}').value = 'your-value'"`,
|
|
25
|
+
]
|
|
26
|
+
: [
|
|
27
|
+
`1. Verify element exists: bdg dom query "${selector}"`,
|
|
28
|
+
'2. Check element is visible and clickable',
|
|
29
|
+
`3. Try direct eval: bdg dom eval "document.querySelector('${escapeSelectorForJS(selector)}').click()"`,
|
|
30
|
+
];
|
|
31
|
+
return `Script execution failed: ${errorText}${location}\n\nTroubleshooting:\n ${troubleshootingSteps.join('\n ')}`;
|
|
32
|
+
}
|
|
7
33
|
/**
|
|
8
34
|
* Fill a form element with a value in a React-compatible way.
|
|
9
35
|
*
|
|
@@ -25,7 +51,6 @@ import { REACT_FILL_SCRIPT, CLICK_ELEMENT_SCRIPT, GET_ELEMENT_BY_INDEX_SCRIPT, }
|
|
|
25
51
|
*/
|
|
26
52
|
export async function fillElement(cdp, selector, value, options = {}) {
|
|
27
53
|
let targetSelector = selector;
|
|
28
|
-
// If index is specified, resolve it to a unique selector first
|
|
29
54
|
if (options.index !== undefined) {
|
|
30
55
|
const indexResult = await getElementByIndex(cdp, selector, options.index);
|
|
31
56
|
if (!indexResult.success) {
|
|
@@ -36,7 +61,6 @@ export async function fillElement(cdp, selector, value, options = {}) {
|
|
|
36
61
|
}
|
|
37
62
|
targetSelector = indexResult.uniqueSelector;
|
|
38
63
|
}
|
|
39
|
-
// Execute the fill script
|
|
40
64
|
const expression = `(${REACT_FILL_SCRIPT})('${escapeSelectorForJS(targetSelector)}', '${escapeValueForJS(value)}', ${JSON.stringify({ blur: options.blur ?? true })})`;
|
|
41
65
|
try {
|
|
42
66
|
const response = await cdp.send('Runtime.evaluate', {
|
|
@@ -44,10 +68,10 @@ export async function fillElement(cdp, selector, value, options = {}) {
|
|
|
44
68
|
returnByValue: true,
|
|
45
69
|
userGesture: true, // Treat as user-initiated action
|
|
46
70
|
});
|
|
47
|
-
// Type guard for CDP response
|
|
48
71
|
const cdpResponse = response;
|
|
49
72
|
if (cdpResponse.exceptionDetails) {
|
|
50
|
-
|
|
73
|
+
const errorMessage = formatScriptExecutionError(cdpResponse.exceptionDetails, selector, 'fill');
|
|
74
|
+
throw new CommandError(errorMessage, {}, EXIT_CODES.SOFTWARE_ERROR);
|
|
51
75
|
}
|
|
52
76
|
if (cdpResponse.result?.value) {
|
|
53
77
|
return cdpResponse.result.value;
|
|
@@ -82,7 +106,6 @@ export async function fillElement(cdp, selector, value, options = {}) {
|
|
|
82
106
|
*/
|
|
83
107
|
export async function clickElement(cdp, selector, options = {}) {
|
|
84
108
|
let targetSelector = selector;
|
|
85
|
-
// If index is specified, resolve it to a unique selector first
|
|
86
109
|
if (options.index !== undefined) {
|
|
87
110
|
const indexResult = await getElementByIndex(cdp, selector, options.index);
|
|
88
111
|
if (!indexResult.success) {
|
|
@@ -93,7 +116,6 @@ export async function clickElement(cdp, selector, options = {}) {
|
|
|
93
116
|
}
|
|
94
117
|
targetSelector = indexResult.uniqueSelector;
|
|
95
118
|
}
|
|
96
|
-
// Execute the click script
|
|
97
119
|
const expression = `(${CLICK_ELEMENT_SCRIPT})('${escapeSelectorForJS(targetSelector)}')`;
|
|
98
120
|
try {
|
|
99
121
|
const response = await cdp.send('Runtime.evaluate', {
|
|
@@ -103,7 +125,8 @@ export async function clickElement(cdp, selector, options = {}) {
|
|
|
103
125
|
});
|
|
104
126
|
const cdpResponse = response;
|
|
105
127
|
if (cdpResponse.exceptionDetails) {
|
|
106
|
-
|
|
128
|
+
const errorMessage = formatScriptExecutionError(cdpResponse.exceptionDetails, selector);
|
|
129
|
+
throw new CommandError(errorMessage, {}, EXIT_CODES.SOFTWARE_ERROR);
|
|
107
130
|
}
|
|
108
131
|
if (cdpResponse.result?.value) {
|
|
109
132
|
return cdpResponse.result.value;
|
|
@@ -164,8 +187,6 @@ async function getElementByIndex(cdp, selector, index) {
|
|
|
164
187
|
* @internal
|
|
165
188
|
*/
|
|
166
189
|
function escapeSelectorForJS(selector) {
|
|
167
|
-
// JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
|
|
168
|
-
// Remove surrounding quotes since we add them in the template
|
|
169
190
|
return JSON.stringify(selector).slice(1, -1);
|
|
170
191
|
}
|
|
171
192
|
/**
|
|
@@ -178,8 +199,6 @@ function escapeSelectorForJS(selector) {
|
|
|
178
199
|
* @internal
|
|
179
200
|
*/
|
|
180
201
|
function escapeValueForJS(value) {
|
|
181
|
-
// JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
|
|
182
|
-
// Remove surrounding quotes since we add them in the template
|
|
183
202
|
return JSON.stringify(value).slice(1, -1);
|
|
184
203
|
}
|
|
185
204
|
//# sourceMappingURL=formFillHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formFillHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"formFillHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,GAK5B,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,SAAS,0BAA0B,CACjC,gBAAmD,EACnD,QAAgB,EAChB,gBAAkC,MAAM;IAExC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,IAAI,eAAe,CAAC;IAC3D,MAAM,QAAQ,GACZ,gBAAgB,CAAC,UAAU,KAAK,SAAS,IAAI,gBAAgB,CAAC,YAAY,KAAK,SAAS;QACtF,CAAC,CAAC,YAAY,gBAAgB,CAAC,UAAU,GAAG,CAAC,YAAY,gBAAgB,CAAC,YAAY,GAAG,CAAC,EAAE;QAC5F,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,oBAAoB,GACxB,aAAa,KAAK,MAAM;QACtB,CAAC,CAAC;YACE,4CAA4C,QAAQ,GAAG;YACvD,8CAA8C;YAC9C,6DAA6D,mBAAmB,CAAC,QAAQ,CAAC,0BAA0B;SACrH;QACH,CAAC,CAAC;YACE,4CAA4C,QAAQ,GAAG;YACvD,2CAA2C;YAC3C,6DAA6D,mBAAmB,CAAC,QAAQ,CAAC,aAAa;SACxG,CAAC;IAER,OAAO,4BAA4B,SAAS,GAAG,QAAQ,2BAA2B,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACxH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,UAAuB,EAAE;IAEzB,IAAI,cAAc,GAAG,QAAQ,CAAC;IAE9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,WAAyB,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CACpB,qDAAqD,EACrD,EAAE,IAAI,EAAE,sDAAsD,EAAE,EAChE,UAAU,CAAC,cAAc,CAC1B,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,iBAAiB,MAAM,mBAAmB,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC;IAEvK,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU;YACV,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI,EAAE,iCAAiC;SACrD,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,QAGnB,CAAC;QAEF,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,0BAA0B,CAC7C,WAAW,CAAC,gBAAgB,EAC5B,QAAQ,EACR,MAAM,CACP,CAAC;YACF,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAmB,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,EAAE,IAAI,EAAE,mCAAmC,EAAE,EAC7C,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAkB,EAClB,QAAgB,EAChB,UAA8B,EAAE;IAEhC,IAAI,cAAc,GAAG,QAAQ,CAAC;IAE9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,WAA0B,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CACpB,qDAAqD,EACrD,EAAE,IAAI,EAAE,sDAAsD,EAAE,EAChE,UAAU,CAAC,cAAc,CAC1B,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,oBAAoB,MAAM,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;IAEzF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU;YACV,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,QAGnB,CAAC;QAEF,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,0BAA0B,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACxF,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAoB,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,EAAE,IAAI,EAAE,mCAAmC,EAAE,EAC7C,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAkB,EAClB,QAAgB,EAChB,KAAa;IAEb,MAAM,UAAU,GAAG,IAAI,2BAA2B,MAAM,mBAAmB,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;IAEpG,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU;YACV,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,QAGnB,CAAC;QAEF,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,EAAE,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,IAAI,eAAe,EAAE,EAC9D,UAAU,CAAC,cAAc,CAC1B,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,MAAM,CAAC,KAA6B,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,EAAE,IAAI,EAAE,mCAAmC,EAAE,EAC7C,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,YAAY,CACpB,gCAAgC,EAChC,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formInteraction.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"formInteraction.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8DzC;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgItE"}
|
|
@@ -29,12 +29,10 @@ import { filterDefined } from '../../utils/objects.js';
|
|
|
29
29
|
async function withCDPConnection(fn) {
|
|
30
30
|
const { CDPConnection } = await import('../../connection/cdp.js');
|
|
31
31
|
const { validateActiveSession, getValidatedSessionMetadata, verifyTargetExists } = await import('../../commands/dom/evalHelpers.js');
|
|
32
|
-
// Validate session
|
|
33
32
|
validateActiveSession();
|
|
34
33
|
const metadata = getValidatedSessionMetadata();
|
|
35
34
|
const port = 9222; // Default port
|
|
36
35
|
await verifyTargetExists(metadata, port);
|
|
37
|
-
// Connect to CDP
|
|
38
36
|
const cdp = new CDPConnection();
|
|
39
37
|
if (!metadata.webSocketDebuggerUrl) {
|
|
40
38
|
throw new CommandError('Missing webSocketDebuggerUrl in session metadata', { note: 'Session metadata may be corrupted or from an older version' }, EXIT_CODES.SESSION_FILE_ERROR);
|
|
@@ -63,7 +61,6 @@ export function registerFormInteractionCommands(program) {
|
|
|
63
61
|
if (!domCommand) {
|
|
64
62
|
throw new CommandError('DOM command group not found', { note: 'This is an internal error - DOM commands may not be registered' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
65
63
|
}
|
|
66
|
-
// bdg dom fill <selector> <value>
|
|
67
64
|
domCommand
|
|
68
65
|
.command('fill')
|
|
69
66
|
.description('Fill a form field with a value (React-compatible)')
|
|
@@ -93,7 +90,6 @@ export function registerFormInteractionCommands(program) {
|
|
|
93
90
|
});
|
|
94
91
|
}, options, formatFillOutput);
|
|
95
92
|
});
|
|
96
|
-
// bdg dom click <selector>
|
|
97
93
|
domCommand
|
|
98
94
|
.command('click')
|
|
99
95
|
.description('Click an element')
|
|
@@ -120,7 +116,6 @@ export function registerFormInteractionCommands(program) {
|
|
|
120
116
|
});
|
|
121
117
|
}, options, formatClickOutput);
|
|
122
118
|
});
|
|
123
|
-
// bdg dom submit <selector>
|
|
124
119
|
domCommand
|
|
125
120
|
.command('submit')
|
|
126
121
|
.description('Submit a form by clicking submit button and waiting for completion')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formInteraction.js","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,iBAAiB,CAC9B,EAAiE;IAEjE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAC7F,+BAA+B,CAChC,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"formInteraction.js","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formSubmitHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"formSubmitHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA0DvB"}
|
|
@@ -33,7 +33,6 @@ import { clickElement } from './formFillHelpers.js';
|
|
|
33
33
|
export async function submitForm(cdp, selector, options = {}) {
|
|
34
34
|
const { index, waitNavigation = false, waitNetwork = 1000, timeout = 10000 } = options;
|
|
35
35
|
const startTime = Date.now();
|
|
36
|
-
// Step 1: Click the submit button
|
|
37
36
|
const clickOptions = {};
|
|
38
37
|
if (index !== undefined) {
|
|
39
38
|
clickOptions.index = index;
|
|
@@ -47,7 +46,6 @@ export async function submitForm(cdp, selector, options = {}) {
|
|
|
47
46
|
clicked: false,
|
|
48
47
|
};
|
|
49
48
|
}
|
|
50
|
-
// If no waiting requested, return immediately
|
|
51
49
|
if (waitNetwork === 0 && !waitNavigation) {
|
|
52
50
|
return {
|
|
53
51
|
success: true,
|
|
@@ -58,7 +56,6 @@ export async function submitForm(cdp, selector, options = {}) {
|
|
|
58
56
|
waitTimeMs: Date.now() - startTime,
|
|
59
57
|
};
|
|
60
58
|
}
|
|
61
|
-
// Step 2: Wait for network idle and/or navigation
|
|
62
59
|
try {
|
|
63
60
|
const waitResult = await waitForCompletion(cdp, {
|
|
64
61
|
waitNavigation,
|
|
@@ -106,15 +103,12 @@ async function waitForCompletion(cdp, options) {
|
|
|
106
103
|
let idleTimeout = null;
|
|
107
104
|
let timeoutHandle = null;
|
|
108
105
|
return new Promise((resolve, reject) => {
|
|
109
|
-
// Store cleanup functions for proper cleanup
|
|
110
106
|
const cleanupFunctions = [];
|
|
111
|
-
// Set up timeout
|
|
112
107
|
timeoutHandle = setTimeout(() => {
|
|
113
108
|
cleanup();
|
|
114
109
|
reject(new CDPTimeoutError('Wait for completion timed out', new Error(`Timeout after ${timeout}ms`)));
|
|
115
110
|
}, timeout);
|
|
116
111
|
const checkCompletion = () => {
|
|
117
|
-
// Check if all conditions are met
|
|
118
112
|
const networkIdle = waitNetwork === 0 || activeRequests === 0;
|
|
119
113
|
const navigationComplete = !waitNavigation || navigationOccurred;
|
|
120
114
|
if (networkIdle && navigationComplete) {
|
|
@@ -122,7 +116,6 @@ async function waitForCompletion(cdp, options) {
|
|
|
122
116
|
resolve({ networkRequests, navigationOccurred });
|
|
123
117
|
}
|
|
124
118
|
};
|
|
125
|
-
// Monitor network requests
|
|
126
119
|
const onRequestStarted = () => {
|
|
127
120
|
networkRequests++;
|
|
128
121
|
activeRequests++;
|
|
@@ -134,30 +127,25 @@ async function waitForCompletion(cdp, options) {
|
|
|
134
127
|
const onRequestFinished = () => {
|
|
135
128
|
activeRequests--;
|
|
136
129
|
if (activeRequests === 0 && waitNetwork > 0) {
|
|
137
|
-
// Start idle timer
|
|
138
130
|
idleTimeout = setTimeout(() => {
|
|
139
131
|
checkCompletion();
|
|
140
132
|
}, waitNetwork);
|
|
141
133
|
}
|
|
142
134
|
};
|
|
143
|
-
// Monitor navigation
|
|
144
135
|
const onNavigated = () => {
|
|
145
136
|
navigationOccurred = true;
|
|
146
137
|
checkCompletion();
|
|
147
138
|
};
|
|
148
|
-
// Register event listeners and store cleanup functions
|
|
149
139
|
cleanupFunctions.push(cdp.on('Network.requestWillBeSent', onRequestStarted));
|
|
150
140
|
cleanupFunctions.push(cdp.on('Network.loadingFinished', onRequestFinished));
|
|
151
141
|
cleanupFunctions.push(cdp.on('Network.loadingFailed', onRequestFinished));
|
|
152
142
|
if (waitNavigation) {
|
|
153
143
|
cleanupFunctions.push(cdp.on('Page.frameNavigated', onNavigated));
|
|
154
144
|
}
|
|
155
|
-
// Enable network monitoring if not already enabled
|
|
156
145
|
cdp.send('Network.enable').catch((error) => {
|
|
157
146
|
cleanup();
|
|
158
147
|
reject(new CDPConnectionError('Failed to enable network monitoring', error));
|
|
159
148
|
});
|
|
160
|
-
// Start initial check (in case no network requests happen)
|
|
161
149
|
if (waitNetwork === 0 || activeRequests === 0) {
|
|
162
150
|
idleTimeout = setTimeout(() => {
|
|
163
151
|
checkCompletion();
|
|
@@ -168,7 +156,6 @@ async function waitForCompletion(cdp, options) {
|
|
|
168
156
|
clearTimeout(idleTimeout);
|
|
169
157
|
if (timeoutHandle)
|
|
170
158
|
clearTimeout(timeoutHandle);
|
|
171
|
-
// Call all cleanup functions
|
|
172
159
|
cleanupFunctions.forEach((cleanup) => cleanup());
|
|
173
160
|
}
|
|
174
161
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formSubmitHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA6BpD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAkB,EAClB,QAAgB,EAChB,UAAyB,EAAE;IAE3B,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEvF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,
|
|
1
|
+
{"version":3,"file":"formSubmitHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"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"}
|