browser-debugger-cli 0.6.10 → 0.6.11
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 +10 -0
- package/dist/commands/cdp.js +1 -1
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.js +1 -1
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts +4 -28
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +81 -187
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +8 -0
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/DomElementResolver.d.ts +2 -2
- package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
- package/dist/commands/dom/DomElementResolver.js +6 -6
- package/dist/commands/dom/DomElementResolver.js.map +1 -1
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +2 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +1 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +184 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +1 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +9 -9
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +10 -7
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts +2 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +22 -20
- 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 +26 -10
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts +2 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +11 -4
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +324 -40
- 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 +15 -5
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +4 -4
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +11 -11
- package/dist/commands/dom/screenshotResize.d.ts +81 -0
- package/dist/commands/dom/screenshotResize.d.ts.map +1 -0
- package/dist/commands/dom/screenshotResize.js +103 -0
- package/dist/commands/dom/screenshotResize.js.map +1 -0
- package/dist/commands/helpJson.d.ts +20 -0
- package/dist/commands/helpJson.d.ts.map +1 -1
- package/dist/commands/helpJson.js +21 -29
- package/dist/commands/helpJson.js.map +1 -1
- package/dist/commands/network/har.d.ts.map +1 -1
- package/dist/commands/network/har.js +3 -2
- package/dist/commands/network/har.js.map +1 -1
- package/dist/commands/network/list.d.ts +0 -8
- package/dist/commands/network/list.d.ts.map +1 -1
- package/dist/commands/network/list.js +131 -201
- package/dist/commands/network/list.js.map +1 -1
- package/dist/commands/network/shared.d.ts.map +1 -1
- package/dist/commands/network/shared.js +6 -0
- package/dist/commands/network/shared.js.map +1 -1
- package/dist/commands/optionBehaviors.d.ts +26 -0
- package/dist/commands/optionBehaviors.d.ts.map +1 -0
- package/dist/commands/optionBehaviors.js +184 -0
- package/dist/commands/optionBehaviors.js.map +1 -0
- package/dist/commands/peek.d.ts +2 -4
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +108 -92
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.js +1 -1
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/dataFetcher.d.ts +58 -0
- package/dist/commands/shared/dataFetcher.d.ts.map +1 -0
- package/dist/commands/shared/dataFetcher.js +98 -0
- package/dist/commands/shared/dataFetcher.js.map +1 -0
- package/dist/commands/shared/optionTypes.d.ts +8 -4
- package/dist/commands/shared/optionTypes.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +6 -5
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +0 -45
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +65 -107
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +13 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +15 -4
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts +2 -7
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +61 -64
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +5 -3
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/diagnostics.js +1 -1
- package/dist/connection/diagnostics.js.map +1 -1
- package/dist/connection/errors.d.ts +0 -7
- package/dist/connection/errors.d.ts.map +1 -1
- package/dist/connection/errors.js +0 -7
- package/dist/connection/errors.js.map +1 -1
- package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
- package/dist/connection/launcher/binaryResolver.js +2 -1
- package/dist/connection/launcher/binaryResolver.js.map +1 -1
- package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -1
- package/dist/connection/launcher/preferencesLoader.js +2 -1
- package/dist/connection/launcher/preferencesLoader.js.map +1 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +2 -1
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +2 -9
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/BaseHandler.js +1 -1
- package/dist/daemon/handlers/BaseHandler.js.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.js +1 -1
- 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 +1 -1
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
- package/dist/daemon/ipcServer.js +1 -1
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +3 -2
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +1 -1
- 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 +4 -3
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerConfig.js +1 -1
- package/dist/daemon/lifecycle/workerConfig.js.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.js +1 -1
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
- package/dist/daemon/server/JsonlParser.js +1 -1
- package/dist/daemon/server/JsonlParser.js.map +1 -1
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +1 -1
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/plugins.js +3 -3
- package/dist/daemon/worker/plugins.js.map +1 -1
- package/dist/index.js +23 -7
- package/dist/index.js.map +1 -1
- package/dist/ipc/utils/errors.js +1 -1
- package/dist/ipc/utils/errors.js.map +1 -1
- package/dist/session/QueryCacheManager.d.ts.map +1 -1
- package/dist/session/QueryCacheManager.js +1 -1
- package/dist/session/QueryCacheManager.js.map +1 -1
- package/dist/session/chrome.js +1 -1
- package/dist/session/chrome.js.map +1 -1
- package/dist/session/cleanup.js +5 -5
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/lock.js +1 -1
- package/dist/session/lock.js.map +1 -1
- package/dist/session/metadata.d.ts.map +1 -1
- package/dist/session/metadata.js +1 -1
- package/dist/session/metadata.js.map +1 -1
- package/dist/session/pid.js +1 -1
- package/dist/session/pid.js.map +1 -1
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +1 -1
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filterPresets.d.ts.map +1 -1
- package/dist/telemetry/filterPresets.js +5 -2
- package/dist/telemetry/filterPresets.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +1 -1
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +97 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +33 -1
- package/dist/types.js.map +1 -1
- package/dist/ui/OutputBuilder.d.ts +2 -44
- package/dist/ui/OutputBuilder.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.js +71 -103
- package/dist/ui/OutputBuilder.js.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +0 -2
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts +8 -19
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +12 -68
- package/dist/ui/formatters/dom.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 +1 -1
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/dom.d.ts +14 -0
- package/dist/ui/messages/dom.d.ts.map +1 -0
- package/dist/ui/messages/dom.js +28 -0
- package/dist/ui/messages/dom.js.map +1 -0
- package/dist/ui/messages/errors.d.ts +83 -0
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +171 -0
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/utils/async.d.ts +10 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +12 -0
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/atomicFile.js +1 -1
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/errorMapping.d.ts.map +1 -1
- package/dist/utils/errorMapping.js +4 -1
- package/dist/utils/errorMapping.js.map +1 -1
- package/dist/utils/exitCodes.d.ts +16 -17
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +85 -17
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/suggestions.d.ts +19 -0
- package/dist/utils/suggestions.d.ts.map +1 -0
- package/dist/utils/suggestions.js +34 -0
- package/dist/utils/suggestions.js.map +1 -0
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +35 -0
- package/dist/utils/taskMappings.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,6 +20,16 @@ Chrome DevTools Protocol in your terminal. Opens a persistent connection to Chro
|
|
|
20
20
|
|
|
21
21
|
**Built for agents:** Self-discovery (`--list`, `--search`), semantic exit codes, structured errors, case-insensitive commands, token-efficient output.
|
|
22
22
|
|
|
23
|
+
## Benchmark: CLI vs MCP for AI Agents
|
|
24
|
+
|
|
25
|
+
We benchmarked bdg against Chrome DevTools MCP Server on real developer debugging tasks.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
**[Full benchmark analysis →](docs/benchmarks/ARTICLE_MCP_VS_CLI_FOR_AGENTS.md)**
|
|
29
|
+
|
|
30
|
+
**Key findings:** CLI provided 33% better token efficiency through selective queries vs full accessibility tree dumps, plus capabilities MCP doesn't expose (memory profiling, HAR export, batch JS execution).
|
|
31
|
+
|
|
32
|
+
|
|
23
33
|
## Install
|
|
24
34
|
|
|
25
35
|
```bash
|
package/dist/commands/cdp.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { normalizeMethod } from '../cdp/protocol.js';
|
|
2
2
|
import { getAllDomainSummaries, getDomainMethods, getDomainSummary, getMethodSchema, } from '../cdp/schema.js';
|
|
3
3
|
import { runCommand } from '../commands/shared/CommandRunner.js';
|
|
4
|
-
import { getErrorMessage } from '../connection/errors.js';
|
|
5
4
|
import { callCDP } from '../ipc/client.js';
|
|
6
5
|
import { validateIPCResponse } from '../ipc/index.js';
|
|
7
6
|
import { CommandError } from '../ui/errors/index.js';
|
|
7
|
+
import { getErrorMessage } from '../utils/errors.js';
|
|
8
8
|
import { EXIT_CODES } from '../utils/exitCodes.js';
|
|
9
9
|
import { levenshteinDistance } from '../utils/levenshtein.js';
|
|
10
10
|
/**
|
package/dist/commands/cdp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/commands/cdp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/commands/cdp.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/cleanup.js
CHANGED
|
@@ -39,7 +39,7 @@ export function registerCleanupCommand(program) {
|
|
|
39
39
|
error: sessionStillActiveError(pid),
|
|
40
40
|
exitCode: EXIT_CODES.RESOURCE_BUSY,
|
|
41
41
|
errorContext: {
|
|
42
|
-
|
|
42
|
+
suggestion: 'Stop gracefully: bdg stop\nForce cleanup: bdg cleanup --force',
|
|
43
43
|
warning: 'Force cleanup will remove session files but will NOT kill the running process',
|
|
44
44
|
},
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB,OAAO,SAAS,CACd,OAAO,CAAC,OAAO,IAAI,0BAA0B,EAAE,EAC/C,OAAO,CAAC,MAAM,IAAI,2BAA2B,EAAE,EAC/C,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAClE,EAAE,EACF,IAAI,CAAC,OAAO,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,aAAa,EAAE,8CAA8C,EAAE,KAAK,CAAC;SAC5E,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,EAAE,KAAK,CAAC;SACxE,MAAM,CAAC,cAAc,EAAE,+DAA+D,EAAE,KAAK,CAAC;SAC9F,SAAS,CAAC,UAAU,EAAE,CAAC;SACvB,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC/C,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC3B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC;wBACnC,QAAQ,EAAE,UAAU,CAAC,aAAa;wBAClC,YAAY,EAAE;4BACZ,
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,10 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
import type { ConsoleMessage } from '../types.js';
|
|
3
|
-
import { type ConsoleLevel } from '../ui/formatters/console.js';
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Finds the highest navigationId (most recent page load) and returns only
|
|
8
|
-
* messages from that navigation. Messages without navigationId are excluded.
|
|
9
|
-
*
|
|
10
|
-
* @param messages - All console messages
|
|
11
|
-
* @returns Messages from the current page load only
|
|
2
|
+
* Console command for inspecting and filtering console messages.
|
|
12
3
|
*/
|
|
4
|
+
import { type Command } from 'commander';
|
|
5
|
+
import type { ConsoleMessage } from '../types.js';
|
|
6
|
+
import { type ConsoleLevel } from '../ui/formatters/console.js';
|
|
13
7
|
export declare function filterByCurrentNavigation(messages: ConsoleMessage[]): ConsoleMessage[];
|
|
14
|
-
/**
|
|
15
|
-
* Filter messages by level.
|
|
16
|
-
*
|
|
17
|
-
* @param messages - Console messages to filter
|
|
18
|
-
* @param level - Level to filter by (error, warning, info, debug)
|
|
19
|
-
* @returns Filtered messages matching the specified level
|
|
20
|
-
*/
|
|
21
8
|
export declare function filterByLevel(messages: ConsoleMessage[], level: ConsoleLevel): ConsoleMessage[];
|
|
22
|
-
/**
|
|
23
|
-
* Register console command.
|
|
24
|
-
*
|
|
25
|
-
* Provides smart console message inspection with:
|
|
26
|
-
* - Default: Problem-focused summary (errors + warnings deduplicated)
|
|
27
|
-
* - --list: Chronological view of all messages
|
|
28
|
-
* - --follow: Live streaming mode
|
|
29
|
-
* - --json: Machine-readable output with summary stats
|
|
30
|
-
*
|
|
31
|
-
* @param program - Commander.js Command instance to register commands on
|
|
32
|
-
*/
|
|
33
9
|
export declare function registerConsoleCommand(program: Command): void;
|
|
34
10
|
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AASjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AA4CpC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAItF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,CAE/F;AAsDD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiD7D"}
|
package/dist/commands/console.js
CHANGED
|
@@ -1,236 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console command for inspecting and filtering console messages.
|
|
3
|
+
*/
|
|
1
4
|
import { Option } from 'commander';
|
|
5
|
+
import { runCommand } from '../commands/shared/CommandRunner.js';
|
|
2
6
|
import { jsonOption } from '../commands/shared/commonOptions.js';
|
|
3
7
|
import { handleDaemonConnectionError } from '../commands/shared/daemonErrorHandler.js';
|
|
8
|
+
import { fetchConsoleMessages, createErrorResult } from '../commands/shared/dataFetcher.js';
|
|
4
9
|
import { setupFollowMode } from '../commands/shared/followMode.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { validateIPCResponse } from '../ipc/index.js';
|
|
10
|
+
import { positiveIntRule } from '../commands/shared/validation.js';
|
|
11
|
+
import { OutputBuilder } from '../ui/OutputBuilder.js';
|
|
8
12
|
import { CommandError } from '../ui/errors/index.js';
|
|
9
13
|
import { formatConsole, formatConsoleFollow, LEVEL_MAP, } from '../ui/formatters/console.js';
|
|
10
|
-
import { followingConsoleMessage, stoppedFollowingConsoleMessage,
|
|
11
|
-
import { invalidLastRangeError } from '../ui/messages/validation.js';
|
|
12
|
-
import { getExitCodeForConnectionError } from '../utils/errorMapping.js';
|
|
14
|
+
import { followingConsoleMessage, stoppedFollowingConsoleMessage, } from '../ui/messages/consoleMessages.js';
|
|
13
15
|
import { EXIT_CODES } from '../utils/exitCodes.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const MAX_LAST_ITEMS = 10000;
|
|
19
|
-
const DEFAULT_LAST_ITEMS = 100;
|
|
20
|
-
const FOLLOW_MODE_MESSAGE_LIMIT = 20;
|
|
21
|
-
/**
|
|
22
|
-
* Console-specific --last option.
|
|
23
|
-
*/
|
|
24
|
-
const consoleLastOption = new Option('--last <n>', `Show last N console messages (0 = all, default: ${DEFAULT_LAST_ITEMS})`)
|
|
25
|
-
.default(DEFAULT_LAST_ITEMS)
|
|
26
|
-
.argParser((val) => {
|
|
27
|
-
const n = parseInt(val, 10);
|
|
28
|
-
if (isNaN(n) || n < MIN_LAST_ITEMS || n > MAX_LAST_ITEMS) {
|
|
29
|
-
throw new CommandError(invalidLastRangeError(MIN_LAST_ITEMS, MAX_LAST_ITEMS), {}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
30
|
-
}
|
|
31
|
-
return n;
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* --list option for showing all messages chronologically.
|
|
35
|
-
* Note: Named differently from --all to avoid conflict with program-level -a/--all (start command).
|
|
36
|
-
*/
|
|
37
|
-
const listOption = new Option('-l, --list', 'List all messages chronologically').default(false);
|
|
38
|
-
/**
|
|
39
|
-
* --follow option for live streaming.
|
|
40
|
-
*/
|
|
41
|
-
const followOption = new Option('-f, --follow', 'Stream console messages in real-time').default(false);
|
|
42
|
-
/**
|
|
43
|
-
* --history option to show messages from all page loads.
|
|
44
|
-
* By default, only current navigation messages are shown.
|
|
45
|
-
*/
|
|
46
|
-
const historyOption = new Option('-H, --history', 'Show messages from all page loads (default: current only)').default(false);
|
|
47
|
-
/**
|
|
48
|
-
* Valid console levels for filtering.
|
|
49
|
-
*/
|
|
16
|
+
const MIN_LAST = 0;
|
|
17
|
+
const MAX_LAST = 10000;
|
|
18
|
+
const DEFAULT_LAST = 100;
|
|
19
|
+
const FOLLOW_LIMIT = 20;
|
|
50
20
|
const VALID_LEVELS = ['error', 'warning', 'info', 'debug'];
|
|
21
|
+
const consoleLastOption = new Option('--last <n>', `Show last N console messages (0 = all, default: ${DEFAULT_LAST})`).default(String(DEFAULT_LAST));
|
|
51
22
|
/**
|
|
52
|
-
*
|
|
53
|
-
*/
|
|
54
|
-
const levelOption = new Option('--level <level>', 'Filter by message level (error, warning, info, debug)').choices(VALID_LEVELS);
|
|
55
|
-
/**
|
|
56
|
-
* Fetch console messages from the daemon.
|
|
23
|
+
* Handle validation errors with proper JSON/human formatting.
|
|
57
24
|
*
|
|
58
|
-
* @param
|
|
59
|
-
* @
|
|
25
|
+
* @param error - Error from validation
|
|
26
|
+
* @param json - Whether to output JSON format
|
|
60
27
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
catch (validationError) {
|
|
70
|
-
const errorMsg = getErrorMessage(validationError);
|
|
71
|
-
const exitCode = getExitCodeForConnectionError(errorMsg);
|
|
72
|
-
const result = handleDaemonConnectionError(errorMsg, {
|
|
73
|
-
json: options.json,
|
|
74
|
-
follow: options.follow,
|
|
75
|
-
retryIntervalMs: 1000,
|
|
76
|
-
exitCode,
|
|
77
|
-
});
|
|
78
|
-
if (result.shouldExit) {
|
|
79
|
-
process.exit(result.exitCode);
|
|
80
|
-
}
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
const output = response.data?.preview;
|
|
84
|
-
if (!output?.data.console) {
|
|
85
|
-
if (options.json) {
|
|
86
|
-
console.log(JSON.stringify({
|
|
87
|
-
success: false,
|
|
88
|
-
error: noConsoleDataMessage(),
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
console.error(noConsoleDataMessage());
|
|
28
|
+
function handleValidationError(error, json) {
|
|
29
|
+
if (error instanceof CommandError) {
|
|
30
|
+
if (json) {
|
|
31
|
+
const errorOptions = {
|
|
32
|
+
exitCode: error.exitCode,
|
|
33
|
+
};
|
|
34
|
+
if (error.metadata.suggestion) {
|
|
35
|
+
errorOptions.suggestion = error.metadata.suggestion;
|
|
93
36
|
}
|
|
94
|
-
|
|
37
|
+
console.log(JSON.stringify(OutputBuilder.buildJsonError(error.message, errorOptions)));
|
|
95
38
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
json: options.json,
|
|
101
|
-
follow: options.follow,
|
|
102
|
-
retryIntervalMs: 1000,
|
|
103
|
-
});
|
|
104
|
-
if (result.shouldExit) {
|
|
105
|
-
process.exit(result.exitCode);
|
|
39
|
+
else {
|
|
40
|
+
console.error(error.message);
|
|
41
|
+
if (error.metadata.suggestion)
|
|
42
|
+
console.error(error.metadata.suggestion);
|
|
106
43
|
}
|
|
107
|
-
|
|
44
|
+
process.exit(error.exitCode);
|
|
108
45
|
}
|
|
46
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
47
|
+
process.exit(EXIT_CODES.INVALID_ARGUMENTS);
|
|
109
48
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Filter messages to only include those from the current (most recent) navigation.
|
|
112
|
-
*
|
|
113
|
-
* Finds the highest navigationId (most recent page load) and returns only
|
|
114
|
-
* messages from that navigation. Messages without navigationId are excluded.
|
|
115
|
-
*
|
|
116
|
-
* @param messages - All console messages
|
|
117
|
-
* @returns Messages from the current page load only
|
|
118
|
-
*/
|
|
119
49
|
export function filterByCurrentNavigation(messages) {
|
|
120
|
-
if (messages.length === 0)
|
|
50
|
+
if (messages.length === 0)
|
|
121
51
|
return messages;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
const maxNavigationId = Math.max(...messages.map((m) => m.navigationId ?? 0).filter((id) => id !== undefined));
|
|
125
|
-
// Filter to only messages from current navigation
|
|
126
|
-
return messages.filter((m) => m.navigationId === maxNavigationId);
|
|
52
|
+
const maxNavId = Math.max(...messages.map((m) => m.navigationId ?? 0));
|
|
53
|
+
return messages.filter((m) => m.navigationId === maxNavId);
|
|
127
54
|
}
|
|
128
|
-
/**
|
|
129
|
-
* Filter messages by level.
|
|
130
|
-
*
|
|
131
|
-
* @param messages - Console messages to filter
|
|
132
|
-
* @param level - Level to filter by (error, warning, info, debug)
|
|
133
|
-
* @returns Filtered messages matching the specified level
|
|
134
|
-
*/
|
|
135
55
|
export function filterByLevel(messages, level) {
|
|
136
56
|
return messages.filter((m) => LEVEL_MAP[m.type] === level);
|
|
137
57
|
}
|
|
138
|
-
|
|
139
|
-
* Apply navigation and level filters to console messages.
|
|
140
|
-
*
|
|
141
|
-
* @param messages - Raw console messages
|
|
142
|
-
* @param options - Filter options (history and level)
|
|
143
|
-
* @returns Filtered messages
|
|
144
|
-
*/
|
|
145
|
-
function applyMessageFilters(messages, options) {
|
|
58
|
+
function applyFilters(messages, options) {
|
|
146
59
|
let filtered = options.history ? messages : filterByCurrentNavigation(messages);
|
|
147
|
-
if (options.level)
|
|
60
|
+
if (options.level)
|
|
148
61
|
filtered = filterByLevel(filtered, options.level);
|
|
149
|
-
}
|
|
150
62
|
return filtered;
|
|
151
63
|
}
|
|
152
|
-
|
|
153
|
-
* Build format options from command options.
|
|
154
|
-
*
|
|
155
|
-
* @param options - Command options
|
|
156
|
-
* @returns Format options for console formatters
|
|
157
|
-
*/
|
|
158
|
-
function buildFormatOptions(options) {
|
|
64
|
+
function buildFormatOptions(options, lastN) {
|
|
159
65
|
return {
|
|
160
66
|
json: options.json,
|
|
161
67
|
list: options.list,
|
|
162
68
|
follow: options.follow,
|
|
163
|
-
last:
|
|
69
|
+
last: lastN,
|
|
164
70
|
history: options.history,
|
|
165
71
|
level: options.level,
|
|
166
72
|
};
|
|
167
73
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
74
|
+
async function runFollowMode(options) {
|
|
75
|
+
const showConsole = async () => {
|
|
76
|
+
const result = await fetchConsoleMessages();
|
|
77
|
+
if (!result.success) {
|
|
78
|
+
const errorResult = handleDaemonConnectionError(result.error, {
|
|
79
|
+
json: options.json,
|
|
80
|
+
follow: true,
|
|
81
|
+
retryIntervalMs: 1000,
|
|
82
|
+
exitCode: result.exitCode,
|
|
83
|
+
});
|
|
84
|
+
if (errorResult.shouldExit)
|
|
85
|
+
process.exit(errorResult.exitCode);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const filtered = applyFilters(result.data, options);
|
|
177
89
|
console.clear();
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
* @param options - Command options (for --history and --level flags)
|
|
186
|
-
*/
|
|
187
|
-
function displayConsoleStreaming(messages, options) {
|
|
188
|
-
const filteredMessages = applyMessageFilters(messages, options);
|
|
189
|
-
const lastMessages = filteredMessages.slice(-FOLLOW_MODE_MESSAGE_LIMIT);
|
|
190
|
-
console.clear();
|
|
191
|
-
console.log(formatConsoleFollow(lastMessages));
|
|
90
|
+
console.log(formatConsoleFollow(filtered.slice(-FOLLOW_LIMIT)));
|
|
91
|
+
};
|
|
92
|
+
await setupFollowMode(showConsole, {
|
|
93
|
+
startMessage: followingConsoleMessage,
|
|
94
|
+
stopMessage: stoppedFollowingConsoleMessage,
|
|
95
|
+
intervalMs: 1000,
|
|
96
|
+
});
|
|
192
97
|
}
|
|
193
|
-
/**
|
|
194
|
-
* Register console command.
|
|
195
|
-
*
|
|
196
|
-
* Provides smart console message inspection with:
|
|
197
|
-
* - Default: Problem-focused summary (errors + warnings deduplicated)
|
|
198
|
-
* - --list: Chronological view of all messages
|
|
199
|
-
* - --follow: Live streaming mode
|
|
200
|
-
* - --json: Machine-readable output with summary stats
|
|
201
|
-
*
|
|
202
|
-
* @param program - Commander.js Command instance to register commands on
|
|
203
|
-
*/
|
|
204
98
|
export function registerConsoleCommand(program) {
|
|
205
99
|
program
|
|
206
100
|
.command('console')
|
|
207
101
|
.description('Console message inspection and analysis')
|
|
208
|
-
.addOption(
|
|
209
|
-
.addOption(
|
|
210
|
-
.addOption(
|
|
211
|
-
.addOption(
|
|
102
|
+
.addOption(new Option('-l, --list', 'List all messages chronologically').default(false))
|
|
103
|
+
.addOption(new Option('-f, --follow', 'Stream console messages in real-time').default(false))
|
|
104
|
+
.addOption(new Option('-H, --history', 'Show messages from all page loads (default: current only)').default(false))
|
|
105
|
+
.addOption(new Option('--level <level>', 'Filter by message level (error, warning, info, debug)').choices(VALID_LEVELS))
|
|
212
106
|
.addOption(consoleLastOption)
|
|
213
107
|
.addOption(jsonOption())
|
|
214
108
|
.action(async (options) => {
|
|
109
|
+
let lastN;
|
|
110
|
+
try {
|
|
111
|
+
lastN = positiveIntRule({ min: MIN_LAST, max: MAX_LAST, default: DEFAULT_LAST }).validate(options.last);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
handleValidationError(error, options.json ?? false);
|
|
115
|
+
}
|
|
215
116
|
if (options.follow) {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (messages) {
|
|
219
|
-
displayConsoleStreaming(messages, options);
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
await setupFollowMode(showConsole, {
|
|
223
|
-
startMessage: followingConsoleMessage,
|
|
224
|
-
stopMessage: stoppedFollowingConsoleMessage,
|
|
225
|
-
intervalMs: 1000,
|
|
226
|
-
});
|
|
117
|
+
await runFollowMode(options);
|
|
118
|
+
return;
|
|
227
119
|
}
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
if (
|
|
231
|
-
|
|
120
|
+
await runCommand(async () => {
|
|
121
|
+
const result = await fetchConsoleMessages();
|
|
122
|
+
if (!result.success) {
|
|
123
|
+
return createErrorResult(result.error, result.exitCode);
|
|
232
124
|
}
|
|
233
|
-
|
|
125
|
+
const filtered = applyFilters(result.data, options);
|
|
126
|
+
return { success: true, data: { messages: result.data, filtered } };
|
|
127
|
+
}, options, (data) => formatConsole(data.filtered, buildFormatOptions(options, lastN)));
|
|
234
128
|
});
|
|
235
129
|
}
|
|
236
130
|
//# sourceMappingURL=console.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
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;AA2BzC;;;;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;AA2BzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgE7D"}
|
package/dist/commands/details.js
CHANGED
|
@@ -41,6 +41,9 @@ export function registerDetailsCommand(program) {
|
|
|
41
41
|
success: false,
|
|
42
42
|
error: `Unknown type: ${String(opts.type)}. Valid types: network, console`,
|
|
43
43
|
exitCode: EXIT_CODES.INVALID_ARGUMENTS,
|
|
44
|
+
errorContext: {
|
|
45
|
+
suggestion: 'Usage: bdg details network <requestId> or bdg details console <index>',
|
|
46
|
+
},
|
|
44
47
|
};
|
|
45
48
|
}
|
|
46
49
|
const response = await getDetails(opts.type, opts.id);
|
|
@@ -50,6 +53,11 @@ export function registerDetailsCommand(program) {
|
|
|
50
53
|
success: false,
|
|
51
54
|
error: 'No data in response',
|
|
52
55
|
exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
|
|
56
|
+
errorContext: {
|
|
57
|
+
suggestion: opts.type === 'network'
|
|
58
|
+
? 'Use bdg peek --network to see available request IDs'
|
|
59
|
+
: 'Use bdg peek --console to see available console message indices',
|
|
60
|
+
},
|
|
53
61
|
};
|
|
54
62
|
}
|
|
55
63
|
if (opts.type === 'network') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,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,EAAE,CAAC;SACvB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,OAA8B,EAAE,EAAE;QACzE,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;
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/commands/details.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ export interface ElementTargetSuccess {
|
|
|
34
34
|
success: true;
|
|
35
35
|
/** CSS selector to use */
|
|
36
36
|
selector: string;
|
|
37
|
-
/**
|
|
37
|
+
/** 0-based index for selector (if resolved from cached query) */
|
|
38
38
|
index?: number | undefined;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -102,7 +102,7 @@ export declare class DomElementResolver {
|
|
|
102
102
|
* index-based access.
|
|
103
103
|
*
|
|
104
104
|
* @param selectorOrIndex - CSS selector or numeric index from query results
|
|
105
|
-
* @param explicitIndex - Optional explicit --index flag value (
|
|
105
|
+
* @param explicitIndex - Optional explicit --index flag value (0-based)
|
|
106
106
|
* @returns Resolution result with selector and optional index
|
|
107
107
|
*
|
|
108
108
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomElementResolver.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/DomElementResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"DomElementResolver.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/DomElementResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAQnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,OAAO,EAAE,KAAK,CAAC;IACf,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAE9E;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;OAIG;gBACS,YAAY,CAAC,EAAE,iBAAiB;IAI5C;;;;;;;;OAQG;YACW,YAAY;IAkB1B;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAKxC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiD5F;;;;;;;;;;;;;;;OAeG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCnE;;;;;;;OAOG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBxC;;;;;OAKG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;CAGjD"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
import { QueryCacheManager } from '../../session/QueryCacheManager.js';
|
|
29
29
|
import { CommandError } from '../../ui/errors/index.js';
|
|
30
30
|
import { createLogger } from '../../ui/logging/index.js';
|
|
31
|
+
import { elementAtIndexNotFoundError, indexOutOfRangeError } from '../../ui/messages/errors.js';
|
|
31
32
|
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
32
33
|
const log = createLogger('dom');
|
|
33
34
|
/**
|
|
@@ -96,7 +97,7 @@ export class DomElementResolver {
|
|
|
96
97
|
* index-based access.
|
|
97
98
|
*
|
|
98
99
|
* @param selectorOrIndex - CSS selector or numeric index from query results
|
|
99
|
-
* @param explicitIndex - Optional explicit --index flag value (
|
|
100
|
+
* @param explicitIndex - Optional explicit --index flag value (0-based)
|
|
100
101
|
* @returns Resolution result with selector and optional index
|
|
101
102
|
*
|
|
102
103
|
* @example
|
|
@@ -177,14 +178,13 @@ export class DomElementResolver {
|
|
|
177
178
|
}
|
|
178
179
|
const cachedQuery = validation.cache;
|
|
179
180
|
if (index < 0 || index >= cachedQuery.nodes.length) {
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
: `Use an index between 0 and ${cachedQuery.nodes.length - 1}`;
|
|
183
|
-
throw new CommandError(`Index ${index} out of range (found ${cachedQuery.nodes.length} nodes from query "${cachedQuery.selector}")`, { suggestion }, EXIT_CODES.STALE_CACHE);
|
|
181
|
+
const err = indexOutOfRangeError(index, cachedQuery.nodes.length - 1);
|
|
182
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.STALE_CACHE);
|
|
184
183
|
}
|
|
185
184
|
const targetNode = cachedQuery.nodes[index];
|
|
186
185
|
if (!targetNode) {
|
|
187
|
-
|
|
186
|
+
const err = elementAtIndexNotFoundError(index, cachedQuery.selector);
|
|
187
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
188
188
|
}
|
|
189
189
|
return targetNode;
|
|
190
190
|
}
|