browser-debugger-cli 0.6.10 → 0.7.0
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.d.ts.map +1 -1
- package/dist/commands/cdp.js +72 -16
- 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 +34 -13
- 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 +14 -10
- 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/form.d.ts +14 -0
- package/dist/commands/dom/form.d.ts.map +1 -0
- package/dist/commands/dom/form.js +439 -0
- package/dist/commands/dom/form.js.map +1 -0
- package/dist/commands/dom/formDiscovery.d.ts +26 -0
- package/dist/commands/dom/formDiscovery.d.ts.map +1 -0
- package/dist/commands/dom/formDiscovery.js +476 -0
- package/dist/commands/dom/formDiscovery.js.map +1 -0
- 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 +54 -24
- 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/formTypes.d.ts +75 -0
- package/dist/commands/dom/formTypes.d.ts.map +1 -0
- package/dist/commands/dom/formTypes.js +7 -0
- package/dist/commands/dom/formTypes.js.map +1 -0
- 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 +17 -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 +195 -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/protocol/messages.d.ts +2 -2
- package/dist/ipc/protocol/messages.d.ts.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 +217 -1
- 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/formatters/form.d.ts +15 -0
- package/dist/ui/formatters/form.d.ts.map +1 -0
- package/dist/ui/formatters/form.js +314 -0
- package/dist/ui/formatters/form.js.map +1 -0
- 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 +122 -10
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +280 -11
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/shellDetection.unit.test.js +220 -0
- package/dist/utils/__tests__/shellDetection.unit.test.js.map +1 -0
- 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/decisionTrees.d.ts.map +1 -1
- package/dist/utils/decisionTrees.js +5 -0
- package/dist/utils/decisionTrees.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 +18 -17
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +97 -17
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/shellDetection.d.ts +34 -0
- package/dist/utils/shellDetection.d.ts.map +1 -0
- package/dist/utils/shellDetection.js +94 -0
- package/dist/utils/shellDetection.js.map +1 -0
- 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 +40 -0
- package/dist/utils/taskMappings.js.map +1 -1
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +14 -0
- package/dist/utils/url.js.map +1 -1
- package/package.json +5 -5
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/commands/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/commands/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoFzC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgDzD"}
|
package/dist/commands/cdp.js
CHANGED
|
@@ -1,12 +1,64 @@
|
|
|
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
|
-
import {
|
|
9
|
+
import { findSimilar } from '../utils/suggestions.js';
|
|
10
|
+
/**
|
|
11
|
+
* Domain-specific notes for event-based or special behavior CDP domains.
|
|
12
|
+
*
|
|
13
|
+
* These notes are shown in --describe output and when methods return empty results.
|
|
14
|
+
* Helps agents understand async/event-based CDP patterns that don't fit request-response model.
|
|
15
|
+
*/
|
|
16
|
+
const DOMAIN_NOTES = {
|
|
17
|
+
Audits: 'Event-based domain. Results arrive via events (e.g., Audits.issueAdded), not method responses. ' +
|
|
18
|
+
"For contrast checking, use: bdg dom eval 'getComputedStyle(el).color'",
|
|
19
|
+
Overlay: 'Visual debugging domain. Methods like highlightNode show overlays but return empty. ' +
|
|
20
|
+
'Use Overlay.hideHighlight to clear.',
|
|
21
|
+
Profiler: 'Sampling profiler. Call Profiler.start, perform actions, then Profiler.stop to get results.',
|
|
22
|
+
HeapProfiler: 'Heap profiler. Results collected via events after takeHeapSnapshot or startSampling.',
|
|
23
|
+
Tracing: 'Performance tracing. Call Tracing.start, perform actions, then Tracing.end. ' +
|
|
24
|
+
'Data arrives via Tracing.dataCollected events.',
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Method-specific notes for methods with non-obvious behavior.
|
|
28
|
+
*/
|
|
29
|
+
const METHOD_NOTES = {
|
|
30
|
+
'Audits.checkContrast': 'This method triggers contrast analysis but results are sent via Audits.issueAdded events. ' +
|
|
31
|
+
'Alternative: bdg dom eval with getComputedStyle() for direct contrast checking.',
|
|
32
|
+
'Audits.enable': 'Enables the Audits domain. Issues will arrive via Audits.issueAdded events.',
|
|
33
|
+
'Overlay.highlightNode': 'Highlights a node visually. Returns empty on success. Use Overlay.hideHighlight to clear.',
|
|
34
|
+
'Profiler.start': 'Starts CPU profiling. Returns empty. Call Profiler.stop to get the profile data.',
|
|
35
|
+
'Tracing.start': 'Starts tracing. Returns empty. Data arrives via events after Tracing.end.',
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Check if a CDP result is empty (null, undefined, or empty object).
|
|
39
|
+
*/
|
|
40
|
+
function isEmptyResult(result) {
|
|
41
|
+
if (result === null || result === undefined) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (typeof result === 'object' && Object.keys(result).length === 0) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get contextual hint for a method based on domain notes and result.
|
|
51
|
+
*/
|
|
52
|
+
function getMethodHint(methodName, result) {
|
|
53
|
+
if (METHOD_NOTES[methodName]) {
|
|
54
|
+
return METHOD_NOTES[methodName];
|
|
55
|
+
}
|
|
56
|
+
const domain = methodName.split('.')[0];
|
|
57
|
+
if (domain && DOMAIN_NOTES[domain] && isEmptyResult(result)) {
|
|
58
|
+
return DOMAIN_NOTES[domain];
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
10
62
|
/**
|
|
11
63
|
* Register CDP command with full introspection support.
|
|
12
64
|
*
|
|
@@ -59,6 +111,8 @@ export function registerCdpCommand(program) {
|
|
|
59
111
|
* Find similar methods to suggest when a method is not found.
|
|
60
112
|
* Returns up to 3 closest matches based on edit distance.
|
|
61
113
|
*
|
|
114
|
+
* Uses the shared findSimilar utility for consistency with other typo detection.
|
|
115
|
+
*
|
|
62
116
|
* @param methodName - The method name that was not found
|
|
63
117
|
* @param domain - Optional domain to search within
|
|
64
118
|
* @returns Array of similar method names
|
|
@@ -66,27 +120,20 @@ export function registerCdpCommand(program) {
|
|
|
66
120
|
function findSimilarMethods(methodName, domain) {
|
|
67
121
|
const allDomains = getAllDomainSummaries();
|
|
68
122
|
const candidates = [];
|
|
69
|
-
const searchName = methodName.toLowerCase();
|
|
70
123
|
for (const domainSummary of allDomains) {
|
|
71
124
|
if (domain && domainSummary.name.toLowerCase() !== domain.toLowerCase()) {
|
|
72
125
|
continue;
|
|
73
126
|
}
|
|
74
127
|
const methods = getDomainMethods(domainSummary.name);
|
|
75
128
|
for (const method of methods) {
|
|
76
|
-
|
|
77
|
-
const methodOnly = method.method.toLowerCase();
|
|
78
|
-
const distanceFull = levenshteinDistance(searchName, fullName);
|
|
79
|
-
const distanceMethod = levenshteinDistance(searchName, methodOnly);
|
|
80
|
-
const distance = Math.min(distanceFull, distanceMethod);
|
|
81
|
-
if (distance <= Math.max(searchName.length / 2, 3)) {
|
|
82
|
-
candidates.push({ name: method.name, distance });
|
|
83
|
-
}
|
|
129
|
+
candidates.push(method.name);
|
|
84
130
|
}
|
|
85
131
|
}
|
|
86
|
-
return candidates
|
|
87
|
-
.
|
|
88
|
-
|
|
89
|
-
|
|
132
|
+
return findSimilar(methodName, candidates, {
|
|
133
|
+
maxDistance: Math.max(Math.floor(methodName.length / 2), 3),
|
|
134
|
+
maxSuggestions: 3,
|
|
135
|
+
caseInsensitive: true,
|
|
136
|
+
});
|
|
90
137
|
}
|
|
91
138
|
/**
|
|
92
139
|
* Handle search mode: Find methods by keyword.
|
|
@@ -213,6 +260,7 @@ function handleDescribeMethod(methodName) {
|
|
|
213
260
|
},
|
|
214
261
|
};
|
|
215
262
|
}
|
|
263
|
+
const domainNote = DOMAIN_NOTES[summary.name];
|
|
216
264
|
return {
|
|
217
265
|
success: true,
|
|
218
266
|
data: {
|
|
@@ -223,6 +271,7 @@ function handleDescribeMethod(methodName) {
|
|
|
223
271
|
events: summary.eventCount,
|
|
224
272
|
experimental: summary.experimental,
|
|
225
273
|
deprecated: summary.deprecated,
|
|
274
|
+
note: domainNote,
|
|
226
275
|
nextStep: `Use: bdg cdp ${summary.name} --list (to see all methods)`,
|
|
227
276
|
},
|
|
228
277
|
};
|
|
@@ -245,6 +294,7 @@ function handleDescribeMethod(methodName) {
|
|
|
245
294
|
},
|
|
246
295
|
};
|
|
247
296
|
}
|
|
297
|
+
const methodNote = METHOD_NOTES[schema.name] ?? DOMAIN_NOTES[schema.domain];
|
|
248
298
|
return {
|
|
249
299
|
success: true,
|
|
250
300
|
data: {
|
|
@@ -255,6 +305,7 @@ function handleDescribeMethod(methodName) {
|
|
|
255
305
|
description: schema.description,
|
|
256
306
|
experimental: schema.experimental,
|
|
257
307
|
deprecated: schema.deprecated,
|
|
308
|
+
note: methodNote,
|
|
258
309
|
parameters: schema.parameters.map((p) => ({
|
|
259
310
|
name: p.name,
|
|
260
311
|
type: p.type,
|
|
@@ -319,16 +370,21 @@ async function handleExecuteMethod(methodName, paramsJson) {
|
|
|
319
370
|
}
|
|
320
371
|
const response = await callCDP(normalized, params);
|
|
321
372
|
validateIPCResponse(response);
|
|
373
|
+
const cdpResult = response.data?.result;
|
|
322
374
|
const result = {
|
|
323
375
|
success: true,
|
|
324
376
|
data: {
|
|
325
377
|
method: normalized,
|
|
326
|
-
result:
|
|
378
|
+
result: cdpResult,
|
|
327
379
|
},
|
|
328
380
|
};
|
|
329
381
|
if (response.data?.hint) {
|
|
330
382
|
result.hint = response.data.hint;
|
|
331
383
|
}
|
|
384
|
+
const methodHint = getMethodHint(normalized, cdpResult);
|
|
385
|
+
if (methodHint) {
|
|
386
|
+
result.hint = result.hint ? `${result.hint}\n${methodHint}` : methodHint;
|
|
387
|
+
}
|
|
332
388
|
return result;
|
|
333
389
|
}
|
|
334
390
|
//# sourceMappingURL=cdp.js.map
|
package/dist/commands/cdp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/commands/cdp.ts"],"names":[],"mappings":"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"}
|
|
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,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,YAAY,GAA2B;IAC3C,MAAM,EACJ,iGAAiG;QACjG,uEAAuE;IACzE,OAAO,EACL,sFAAsF;QACtF,qCAAqC;IACvC,QAAQ,EACN,6FAA6F;IAC/F,YAAY,EACV,sFAAsF;IACxF,OAAO,EACL,8EAA8E;QAC9E,gDAAgD;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAA2B;IAC3C,sBAAsB,EACpB,4FAA4F;QAC5F,iFAAiF;IACnF,eAAe,EAAE,6EAA6E;IAC9F,uBAAuB,EACrB,2FAA2F;IAC7F,gBAAgB,EACd,kFAAkF;IACpF,eAAe,EAAE,2EAA2E;CAC7F,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,uEAAuE;QACrE,6CAA6C;QAC7C,0DAA0D,CAC7D;SACA,QAAQ,CAAC,UAAU,EAAE,gEAAgE,CAAC;SACtF,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;SAC3D,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAA0B,EAAE,EAAE;QACvE,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,iBAAiB,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;gBACxB,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC5B,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC;gBACE,UAAU,EACR,oFAAoF;aACvF,EACD,UAAU,CAAC,iBAAiB,CAC7B,CAAC;QACJ,CAAC,EACD,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,UAAkB,EAAE,MAAe;IAC7D,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACxE,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE;QACzC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,KAAa;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;gBACnC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO;aAC5B,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,YAAY;gBACxB,MAAM,EAAE,CAAC,CAAC,UAAU;gBACpB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,UAAkB;IAOjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,UAAU,aAAa;YACzC,QAAQ,EAAE,UAAU,CAAC,iBAAiB;YACtC,YAAY,EAAE;gBACZ,UAAU,EAAE,0CAA0C;aACvD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,MAAM;gBACd,QAAQ,EAAE,CAAC,CAAC,IAAI;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;gBACnC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO;aAC5B,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,UAAkB;IAO9C,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB,UAAU,aAAa;gBACnD,QAAQ,EAAE,UAAU,CAAC,iBAAiB;gBACtC,YAAY,EAAE;oBACZ,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;iBACnC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO,CAAC,IAAI;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,gBAAgB,OAAO,CAAC,IAAI,8BAA8B;aACrE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,CAAC,gBAAgB,UAAU,uBAAuB,UAAU,WAAW,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,UAAU,aAAa;YACzC,QAAQ,EAAE,UAAU,CAAC,iBAAiB;YACtC,YAAY,EAAE;gBACZ,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,UAAU,EAAE,CAAC,CAAC,UAAU;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,UAAmB;IASnB,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,CAAC,yDAAyD,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,UAAU,aAAa;YACzC,QAAQ,EAAE,UAAU,CAAC,iBAAiB;YACtC,YAAY,EAAE;gBACZ,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAA2C,CAAC;IAChD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA4B,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,eAAe,CAAC,KAAK,CAAC,kCAAkC;gBAC1F,QAAQ,EAAE,UAAU,CAAC,iBAAiB;gBACtC,YAAY,EAAE;oBACZ,UAAU,EAAE,gBAAgB,UAAU,uCAAuC;iBAC9E;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEnD,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAExC,MAAM,MAAM,GAIR;QACF,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,SAAS;SAClB;KACF,CAAC;IAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
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":"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,UAAU,EAAE,+DAA+D;4BAC3E,OAAO,EACL,+EAA+E;yBAClF;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;YAEH,MAAM,UAAU,GACd,aAAa,CAAC,OAAO,CAAC,OAAO;gBAC7B,aAAa,CAAC,OAAO,CAAC,MAAM;gBAC5B,aAAa,CAAC,OAAO,CAAC,OAAO;gBAC7B,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;wBACzE,OAAO,EAAE,qBAAqB,EAAE;qBACjC;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;wBACtC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;wBACpC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;wBACpC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;qBACvC;oBACD,OAAO,EAAE,4BAA4B,EAAE;oBACvC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;iBAC/E;aACF,CAAC;QACJ,CAAC,EACD,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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
|