browser-debugger-cli 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
- package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/console.contract.test.js +118 -0
- package/dist/commands/__tests__/console.contract.test.js.map +1 -0
- package/dist/commands/console.d.ts +17 -0
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +158 -56
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/shared/optionTypes.d.ts +14 -4
- package/dist/commands/shared/optionTypes.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +2 -0
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +29 -17
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/remoteObject.d.ts +58 -0
- package/dist/telemetry/remoteObject.d.ts.map +1 -0
- package/dist/telemetry/remoteObject.js +134 -0
- package/dist/telemetry/remoteObject.js.map +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/formatters/console.d.ts +131 -0
- package/dist/ui/formatters/console.d.ts.map +1 -0
- package/dist/ui/formatters/console.js +400 -0
- package/dist/ui/formatters/console.js.map +1 -0
- package/dist/ui/messages/consoleMessages.d.ts +12 -27
- package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
- package/dist/ui/messages/consoleMessages.js +16 -31
- package/dist/ui/messages/consoleMessages.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts.map +1 -1
- package/dist/utils/decisionTrees.js +17 -2
- package/dist/utils/decisionTrees.js.map +1 -1
- package/dist/utils/strings.d.ts +14 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +23 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +18 -3
- package/dist/utils/taskMappings.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,31 @@ import { TypedCDPConnection } from '../connection/typed-cdp.js';
|
|
|
3
3
|
import { MAX_CONSOLE_MESSAGES } from '../constants.js';
|
|
4
4
|
import { createLogger } from '../ui/logging/index.js';
|
|
5
5
|
import { shouldExcludeConsoleMessage } from './filters.js';
|
|
6
|
+
import { formatConsoleArgs } from './remoteObject.js';
|
|
6
7
|
import { pushWithLimit } from './utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* Convert CDP stack trace to StackFrame array.
|
|
10
|
+
*
|
|
11
|
+
* @param stackTrace - CDP stack trace from Runtime events
|
|
12
|
+
* @returns Array of StackFrame objects, or undefined if no stack trace
|
|
13
|
+
*/
|
|
14
|
+
function convertStackTrace(stackTrace) {
|
|
15
|
+
if (!stackTrace?.callFrames?.length) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
return stackTrace.callFrames.map((frame) => {
|
|
19
|
+
const stackFrame = {
|
|
20
|
+
url: frame.url,
|
|
21
|
+
lineNumber: frame.lineNumber,
|
|
22
|
+
columnNumber: frame.columnNumber,
|
|
23
|
+
scriptId: frame.scriptId,
|
|
24
|
+
};
|
|
25
|
+
if (frame.functionName) {
|
|
26
|
+
stackFrame.functionName = frame.functionName;
|
|
27
|
+
}
|
|
28
|
+
return stackFrame;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
7
31
|
const log = createLogger('console');
|
|
8
32
|
/**
|
|
9
33
|
* Start collecting console messages and exceptions via CDP Runtime domain.
|
|
@@ -25,33 +49,19 @@ export async function startConsoleCollection(cdp, messages, includeAll = false,
|
|
|
25
49
|
const typed = new TypedCDPConnection(cdp);
|
|
26
50
|
await cdp.send('Runtime.enable');
|
|
27
51
|
registry.registerTyped(typed, 'Runtime.consoleAPICalled', (params) => {
|
|
28
|
-
const text = params.args
|
|
29
|
-
.map((arg) => {
|
|
30
|
-
if (arg.value !== undefined) {
|
|
31
|
-
const value = arg.value;
|
|
32
|
-
if (typeof value === 'string' ||
|
|
33
|
-
typeof value === 'number' ||
|
|
34
|
-
typeof value === 'boolean') {
|
|
35
|
-
return String(value);
|
|
36
|
-
}
|
|
37
|
-
return arg.description ?? '[object]';
|
|
38
|
-
}
|
|
39
|
-
if (arg.description !== undefined) {
|
|
40
|
-
return arg.description;
|
|
41
|
-
}
|
|
42
|
-
return '';
|
|
43
|
-
})
|
|
44
|
-
.join(' ');
|
|
52
|
+
const text = formatConsoleArgs(params.args);
|
|
45
53
|
if (shouldExcludeConsoleMessage(text, params.type, includeAll)) {
|
|
46
54
|
return;
|
|
47
55
|
}
|
|
48
56
|
const navigationId = getCurrentNavigationId?.();
|
|
57
|
+
const stackTrace = convertStackTrace(params.stackTrace);
|
|
49
58
|
const message = {
|
|
50
59
|
type: params.type,
|
|
51
60
|
text,
|
|
52
61
|
timestamp: params.timestamp,
|
|
53
62
|
args: params.args,
|
|
54
63
|
...(navigationId !== undefined && { navigationId }),
|
|
64
|
+
...(stackTrace && { stackTrace }),
|
|
55
65
|
};
|
|
56
66
|
pushWithLimit(messages, message, MAX_CONSOLE_MESSAGES, () => {
|
|
57
67
|
log.debug(`Warning: Console message limit reached (${MAX_CONSOLE_MESSAGES})`);
|
|
@@ -64,11 +74,13 @@ export async function startConsoleCollection(cdp, messages, includeAll = false,
|
|
|
64
74
|
return;
|
|
65
75
|
}
|
|
66
76
|
const navigationId = getCurrentNavigationId?.();
|
|
77
|
+
const stackTrace = convertStackTrace(exception.stackTrace);
|
|
67
78
|
const message = {
|
|
68
79
|
type: 'error',
|
|
69
80
|
text,
|
|
70
81
|
timestamp: params.timestamp,
|
|
71
82
|
...(navigationId !== undefined && { navigationId }),
|
|
83
|
+
...(stackTrace && { stackTrace }),
|
|
72
84
|
};
|
|
73
85
|
pushWithLimit(messages, message, MAX_CONSOLE_MESSAGES, () => {
|
|
74
86
|
log.debug(`Warning: Console message limit reached (${MAX_CONSOLE_MESSAGES})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/telemetry/console.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/telemetry/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteObject formatting utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to serialize CDP RemoteObject values into human-readable
|
|
5
|
+
* strings, properly handling objects, arrays, and their preview data.
|
|
6
|
+
*/
|
|
7
|
+
import type { Protocol } from '../connection/typed-cdp.js';
|
|
8
|
+
/**
|
|
9
|
+
* Format a CDP RemoteObject as a human-readable string.
|
|
10
|
+
*
|
|
11
|
+
* Handles all CDP value types including primitives, objects, arrays,
|
|
12
|
+
* errors, null, and undefined. Uses preview data when available for
|
|
13
|
+
* rich object representation.
|
|
14
|
+
*
|
|
15
|
+
* @param arg - CDP RemoteObject from console arguments
|
|
16
|
+
* @returns Formatted string representation
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Primitive
|
|
21
|
+
* formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
|
|
22
|
+
*
|
|
23
|
+
* // Object with preview
|
|
24
|
+
* formatRemoteObject({
|
|
25
|
+
* type: 'object',
|
|
26
|
+
* preview: { properties: [{ name: 'foo', value: 'bar' }] }
|
|
27
|
+
* }) // '{foo: "bar"}'
|
|
28
|
+
*
|
|
29
|
+
* // Array with preview
|
|
30
|
+
* formatRemoteObject({
|
|
31
|
+
* type: 'object',
|
|
32
|
+
* subtype: 'array',
|
|
33
|
+
* preview: { properties: [{ name: '0', value: '1' }] }
|
|
34
|
+
* }) // '[1]'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatRemoteObject(arg: Protocol.Runtime.RemoteObject): string;
|
|
38
|
+
/**
|
|
39
|
+
* Format multiple RemoteObjects as console message text.
|
|
40
|
+
*
|
|
41
|
+
* Joins formatted arguments with spaces, similar to how console.log
|
|
42
|
+
* displays multiple arguments.
|
|
43
|
+
*
|
|
44
|
+
* @param args - Array of CDP RemoteObjects
|
|
45
|
+
* @returns Joined formatted string
|
|
46
|
+
*/
|
|
47
|
+
export declare function formatConsoleArgs(args: Protocol.Runtime.RemoteObject[]): string;
|
|
48
|
+
/**
|
|
49
|
+
* Truncate text to maximum length with ellipsis.
|
|
50
|
+
*
|
|
51
|
+
* Re-exported from shared utils for backward compatibility.
|
|
52
|
+
*
|
|
53
|
+
* @param text - Text to truncate
|
|
54
|
+
* @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
|
|
55
|
+
* @returns Truncated text with ellipsis if needed
|
|
56
|
+
*/
|
|
57
|
+
export declare function truncateText(text: string, maxLength?: number): string;
|
|
58
|
+
//# sourceMappingURL=remoteObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteObject.d.ts","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAoD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAiC7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,MAAM,CAE/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,MAAM,CAEtF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteObject formatting utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to serialize CDP RemoteObject values into human-readable
|
|
5
|
+
* strings, properly handling objects, arrays, and their preview data.
|
|
6
|
+
*/
|
|
7
|
+
import { truncateByLength } from '../utils/strings.js';
|
|
8
|
+
/** Maximum length for formatted text before truncation */
|
|
9
|
+
const MAX_TEXT_LENGTH = 500;
|
|
10
|
+
/**
|
|
11
|
+
* Format a preview property value.
|
|
12
|
+
*
|
|
13
|
+
* @param prop - Preview property from CDP
|
|
14
|
+
* @returns Formatted value string
|
|
15
|
+
*/
|
|
16
|
+
function formatPreviewProperty(prop) {
|
|
17
|
+
if (prop.type === 'string') {
|
|
18
|
+
return `"${prop.value}"`;
|
|
19
|
+
}
|
|
20
|
+
if (prop.type === 'undefined') {
|
|
21
|
+
return 'undefined';
|
|
22
|
+
}
|
|
23
|
+
if (prop.value === 'null') {
|
|
24
|
+
return 'null';
|
|
25
|
+
}
|
|
26
|
+
// For objects, functions, symbols - use the value as-is (e.g., "Object", "[Function]")
|
|
27
|
+
return prop.value ?? prop.type;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Format object preview as a string representation.
|
|
31
|
+
*
|
|
32
|
+
* @param preview - Object preview from CDP RemoteObject
|
|
33
|
+
* @returns Formatted object string like `{foo: "bar", num: 123}`
|
|
34
|
+
*/
|
|
35
|
+
function formatObjectPreview(preview) {
|
|
36
|
+
const props = preview.properties ?? [];
|
|
37
|
+
// Handle arrays
|
|
38
|
+
if (preview.subtype === 'array') {
|
|
39
|
+
const values = props
|
|
40
|
+
.filter((p) => !isNaN(Number(p.name))) // Only numeric indices
|
|
41
|
+
.sort((a, b) => Number(a.name) - Number(b.name))
|
|
42
|
+
.map((p) => formatPreviewProperty(p));
|
|
43
|
+
const suffix = preview.overflow ? ', …' : '';
|
|
44
|
+
return `[${values.join(', ')}${suffix}]`;
|
|
45
|
+
}
|
|
46
|
+
// Handle regular objects
|
|
47
|
+
const pairs = props.map((p) => `${p.name}: ${formatPreviewProperty(p)}`);
|
|
48
|
+
const suffix = preview.overflow ? ', …' : '';
|
|
49
|
+
return `{${pairs.join(', ')}${suffix}}`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Format a CDP RemoteObject as a human-readable string.
|
|
53
|
+
*
|
|
54
|
+
* Handles all CDP value types including primitives, objects, arrays,
|
|
55
|
+
* errors, null, and undefined. Uses preview data when available for
|
|
56
|
+
* rich object representation.
|
|
57
|
+
*
|
|
58
|
+
* @param arg - CDP RemoteObject from console arguments
|
|
59
|
+
* @returns Formatted string representation
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // Primitive
|
|
64
|
+
* formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
|
|
65
|
+
*
|
|
66
|
+
* // Object with preview
|
|
67
|
+
* formatRemoteObject({
|
|
68
|
+
* type: 'object',
|
|
69
|
+
* preview: { properties: [{ name: 'foo', value: 'bar' }] }
|
|
70
|
+
* }) // '{foo: "bar"}'
|
|
71
|
+
*
|
|
72
|
+
* // Array with preview
|
|
73
|
+
* formatRemoteObject({
|
|
74
|
+
* type: 'object',
|
|
75
|
+
* subtype: 'array',
|
|
76
|
+
* preview: { properties: [{ name: '0', value: '1' }] }
|
|
77
|
+
* }) // '[1]'
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export function formatRemoteObject(arg) {
|
|
81
|
+
// Handle primitives with direct value
|
|
82
|
+
if (arg.value !== undefined) {
|
|
83
|
+
if (typeof arg.value === 'string') {
|
|
84
|
+
return arg.value;
|
|
85
|
+
}
|
|
86
|
+
if (typeof arg.value === 'number' || typeof arg.value === 'boolean') {
|
|
87
|
+
return String(arg.value);
|
|
88
|
+
}
|
|
89
|
+
if (arg.value === null) {
|
|
90
|
+
return 'null';
|
|
91
|
+
}
|
|
92
|
+
// For other values (shouldn't happen often), stringify
|
|
93
|
+
return JSON.stringify(arg.value);
|
|
94
|
+
}
|
|
95
|
+
// Handle undefined
|
|
96
|
+
if (arg.type === 'undefined') {
|
|
97
|
+
return 'undefined';
|
|
98
|
+
}
|
|
99
|
+
// Handle errors - use full description which includes stack trace
|
|
100
|
+
if (arg.subtype === 'error' && arg.description) {
|
|
101
|
+
return arg.description;
|
|
102
|
+
}
|
|
103
|
+
// Handle objects/arrays with preview
|
|
104
|
+
if (arg.type === 'object' && arg.preview) {
|
|
105
|
+
return formatObjectPreview(arg.preview);
|
|
106
|
+
}
|
|
107
|
+
// Fallback to description or type
|
|
108
|
+
return arg.description ?? `[${arg.type}]`;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Format multiple RemoteObjects as console message text.
|
|
112
|
+
*
|
|
113
|
+
* Joins formatted arguments with spaces, similar to how console.log
|
|
114
|
+
* displays multiple arguments.
|
|
115
|
+
*
|
|
116
|
+
* @param args - Array of CDP RemoteObjects
|
|
117
|
+
* @returns Joined formatted string
|
|
118
|
+
*/
|
|
119
|
+
export function formatConsoleArgs(args) {
|
|
120
|
+
return args.map(formatRemoteObject).join(' ');
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Truncate text to maximum length with ellipsis.
|
|
124
|
+
*
|
|
125
|
+
* Re-exported from shared utils for backward compatibility.
|
|
126
|
+
*
|
|
127
|
+
* @param text - Text to truncate
|
|
128
|
+
* @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
|
|
129
|
+
* @returns Truncated text with ellipsis if needed
|
|
130
|
+
*/
|
|
131
|
+
export function truncateText(text, maxLength = MAX_TEXT_LENGTH) {
|
|
132
|
+
return truncateByLength(text, maxLength);
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=remoteObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteObject.js","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -60,12 +60,33 @@ export interface NetworkRequest {
|
|
|
60
60
|
serverIPAddress?: string;
|
|
61
61
|
connection?: string;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Stack frame representing a location in source code.
|
|
65
|
+
* Used for error stack traces and source locations in console messages.
|
|
66
|
+
*/
|
|
67
|
+
export interface StackFrame {
|
|
68
|
+
/** Source file URL or path */
|
|
69
|
+
url: string;
|
|
70
|
+
/** 0-based line number in the source */
|
|
71
|
+
lineNumber: number;
|
|
72
|
+
/** 0-based column number in the source */
|
|
73
|
+
columnNumber: number;
|
|
74
|
+
/** Function name, if available */
|
|
75
|
+
functionName?: string;
|
|
76
|
+
/** Script ID from CDP */
|
|
77
|
+
scriptId?: string;
|
|
78
|
+
}
|
|
63
79
|
export interface ConsoleMessage {
|
|
64
80
|
type: Protocol.Runtime.ConsoleAPICalledEvent['type'] | 'error';
|
|
65
81
|
text: string;
|
|
66
82
|
timestamp: number;
|
|
67
83
|
args?: unknown[];
|
|
68
84
|
navigationId?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Stack trace captured when the console call was made.
|
|
87
|
+
* First frame indicates the source location of the console call.
|
|
88
|
+
*/
|
|
89
|
+
stackTrace?: StackFrame[];
|
|
69
90
|
}
|
|
70
91
|
export interface BdgOutput {
|
|
71
92
|
version: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;;;GAKG;AACH,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console command formatters.
|
|
3
|
+
*
|
|
4
|
+
* Provides formatting functions for the `bdg console` command output including
|
|
5
|
+
* smart summary view with deduplication, chronological view, and JSON output.
|
|
6
|
+
*/
|
|
7
|
+
import type { ConsoleMessage, StackFrame } from '../../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Deduplicated console message with occurrence count.
|
|
10
|
+
*/
|
|
11
|
+
export interface DeduplicatedMessage {
|
|
12
|
+
/** First occurrence of the message */
|
|
13
|
+
message: ConsoleMessage;
|
|
14
|
+
/** Number of times this message appeared */
|
|
15
|
+
count: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Summary statistics for console messages.
|
|
19
|
+
*/
|
|
20
|
+
export interface ConsoleSummary {
|
|
21
|
+
/** Total number of messages */
|
|
22
|
+
total: number;
|
|
23
|
+
/** Error statistics */
|
|
24
|
+
errors: {
|
|
25
|
+
total: number;
|
|
26
|
+
unique: number;
|
|
27
|
+
};
|
|
28
|
+
/** Warning statistics */
|
|
29
|
+
warnings: {
|
|
30
|
+
total: number;
|
|
31
|
+
unique: number;
|
|
32
|
+
};
|
|
33
|
+
/** Info message count */
|
|
34
|
+
info: number;
|
|
35
|
+
/** Debug message count */
|
|
36
|
+
debug: number;
|
|
37
|
+
/** Other message type count */
|
|
38
|
+
other: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options for console formatting.
|
|
42
|
+
*/
|
|
43
|
+
export interface ConsoleFormatOptions {
|
|
44
|
+
/** Output as JSON */
|
|
45
|
+
json?: boolean | undefined;
|
|
46
|
+
/** List all messages chronologically (--list flag) */
|
|
47
|
+
list?: boolean | undefined;
|
|
48
|
+
/** Follow mode (live streaming) */
|
|
49
|
+
follow?: boolean | undefined;
|
|
50
|
+
/** Limit to last N messages */
|
|
51
|
+
last?: number | undefined;
|
|
52
|
+
/** Show messages from all navigations (default: current only) */
|
|
53
|
+
history?: boolean | undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* JSON error/warning entry structure.
|
|
57
|
+
*/
|
|
58
|
+
interface JsonErrorEntry {
|
|
59
|
+
count: number;
|
|
60
|
+
level: string;
|
|
61
|
+
text: string;
|
|
62
|
+
source?: {
|
|
63
|
+
url: string;
|
|
64
|
+
line: number;
|
|
65
|
+
column: number;
|
|
66
|
+
};
|
|
67
|
+
stackTrace?: StackFrame[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* JSON output structure for console command.
|
|
71
|
+
*/
|
|
72
|
+
export interface ConsoleJsonOutput {
|
|
73
|
+
success: boolean;
|
|
74
|
+
summary: ConsoleSummary;
|
|
75
|
+
errors: JsonErrorEntry[];
|
|
76
|
+
warnings: Omit<JsonErrorEntry, 'stackTrace'>[];
|
|
77
|
+
messages?: ConsoleMessage[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Format console output as smart summary (default mode).
|
|
81
|
+
*
|
|
82
|
+
* Prioritizes errors and warnings with deduplication and counts.
|
|
83
|
+
* Shows info/debug as summary counts only.
|
|
84
|
+
*
|
|
85
|
+
* @param messages - All console messages
|
|
86
|
+
* @returns Formatted summary string
|
|
87
|
+
*/
|
|
88
|
+
export declare function formatConsoleSummary(messages: ConsoleMessage[]): string;
|
|
89
|
+
/**
|
|
90
|
+
* Format console output as chronological list (--list mode).
|
|
91
|
+
*
|
|
92
|
+
* Shows all messages in order with timestamps and levels.
|
|
93
|
+
* Includes navigation markers when page reloads are detected.
|
|
94
|
+
*
|
|
95
|
+
* @param messages - All console messages
|
|
96
|
+
* @param options - Format options
|
|
97
|
+
* @returns Formatted chronological list string
|
|
98
|
+
*/
|
|
99
|
+
export declare function formatConsoleChronological(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
|
|
100
|
+
/**
|
|
101
|
+
* Format console output for follow mode streaming.
|
|
102
|
+
*
|
|
103
|
+
* Compact format optimized for live updates.
|
|
104
|
+
*
|
|
105
|
+
* @param messages - Recent console messages to display
|
|
106
|
+
* @returns Formatted streaming output string
|
|
107
|
+
*/
|
|
108
|
+
export declare function formatConsoleFollow(messages: ConsoleMessage[]): string;
|
|
109
|
+
/**
|
|
110
|
+
* Format console output as JSON.
|
|
111
|
+
*
|
|
112
|
+
* Structured output with summary statistics and deduplicated errors/warnings.
|
|
113
|
+
*
|
|
114
|
+
* @param messages - All console messages
|
|
115
|
+
* @param options - Format options
|
|
116
|
+
* @returns JSON string
|
|
117
|
+
*/
|
|
118
|
+
export declare function formatConsoleJson(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
|
|
119
|
+
/**
|
|
120
|
+
* Format console output based on options.
|
|
121
|
+
*
|
|
122
|
+
* Main entry point for console formatting. Routes to appropriate formatter
|
|
123
|
+
* based on options (json, list, follow).
|
|
124
|
+
*
|
|
125
|
+
* @param messages - All console messages
|
|
126
|
+
* @param options - Format options
|
|
127
|
+
* @returns Formatted output string
|
|
128
|
+
*/
|
|
129
|
+
export declare function formatConsole(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
|
|
130
|
+
export {};
|
|
131
|
+
//# sourceMappingURL=console.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/console.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS7D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,yBAAyB;IACzB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAiRD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBvE;AAKD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAkDR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAuBtE;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAiBR;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAU/F"}
|