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.
Files changed (41) hide show
  1. package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
  2. package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
  3. package/dist/commands/__tests__/console.contract.test.js +118 -0
  4. package/dist/commands/__tests__/console.contract.test.js.map +1 -0
  5. package/dist/commands/console.d.ts +17 -0
  6. package/dist/commands/console.d.ts.map +1 -1
  7. package/dist/commands/console.js +158 -56
  8. package/dist/commands/console.js.map +1 -1
  9. package/dist/commands/shared/optionTypes.d.ts +14 -4
  10. package/dist/commands/shared/optionTypes.d.ts.map +1 -1
  11. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  12. package/dist/daemon/worker/commandRegistry.js +2 -0
  13. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  14. package/dist/telemetry/console.d.ts.map +1 -1
  15. package/dist/telemetry/console.js +29 -17
  16. package/dist/telemetry/console.js.map +1 -1
  17. package/dist/telemetry/remoteObject.d.ts +58 -0
  18. package/dist/telemetry/remoteObject.d.ts.map +1 -0
  19. package/dist/telemetry/remoteObject.js +134 -0
  20. package/dist/telemetry/remoteObject.js.map +1 -0
  21. package/dist/types.d.ts +21 -0
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/ui/formatters/console.d.ts +131 -0
  24. package/dist/ui/formatters/console.d.ts.map +1 -0
  25. package/dist/ui/formatters/console.js +400 -0
  26. package/dist/ui/formatters/console.js.map +1 -0
  27. package/dist/ui/messages/consoleMessages.d.ts +12 -27
  28. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  29. package/dist/ui/messages/consoleMessages.js +16 -31
  30. package/dist/ui/messages/consoleMessages.js.map +1 -1
  31. package/dist/utils/decisionTrees.d.ts.map +1 -1
  32. package/dist/utils/decisionTrees.js +17 -2
  33. package/dist/utils/decisionTrees.js.map +1 -1
  34. package/dist/utils/strings.d.ts +14 -0
  35. package/dist/utils/strings.d.ts.map +1 -0
  36. package/dist/utils/strings.js +23 -0
  37. package/dist/utils/strings.js.map +1 -0
  38. package/dist/utils/taskMappings.d.ts.map +1 -1
  39. package/dist/utils/taskMappings.js +18 -3
  40. package/dist/utils/taskMappings.js.map +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,400 @@
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 { OutputFormatter, pluralize } from '../../ui/formatting.js';
8
+ import { truncateByLength } from '../../utils/strings.js';
9
+ /**
10
+ * Mapping from console message types to level categories.
11
+ */
12
+ const LEVEL_MAP = {
13
+ error: 'error',
14
+ warning: 'warning',
15
+ info: 'info',
16
+ log: 'info',
17
+ debug: 'debug',
18
+ trace: 'debug',
19
+ dir: 'other',
20
+ dirxml: 'other',
21
+ table: 'other',
22
+ clear: 'other',
23
+ startGroup: 'other',
24
+ startGroupCollapsed: 'other',
25
+ endGroup: 'other',
26
+ assert: 'other',
27
+ profile: 'other',
28
+ profileEnd: 'other',
29
+ count: 'other',
30
+ timeEnd: 'other',
31
+ };
32
+ /**
33
+ * Classify a console message type into a level category.
34
+ *
35
+ * @param type - Console message type from CDP
36
+ * @returns Normalized level category
37
+ */
38
+ function classifyLevel(type) {
39
+ return LEVEL_MAP[type];
40
+ }
41
+ /**
42
+ * Generate a deduplication key for a console message.
43
+ *
44
+ * Messages are considered duplicates if they have the same text and source location.
45
+ *
46
+ * @param message - Console message to generate key for
47
+ * @returns Unique key string for deduplication
48
+ */
49
+ function getDeduplicationKey(message) {
50
+ const source = message.stackTrace?.[0];
51
+ if (source) {
52
+ return `${message.text}|${source.url}|${source.lineNumber}|${source.columnNumber}`;
53
+ }
54
+ return message.text;
55
+ }
56
+ /**
57
+ * Deduplicate an array of messages, grouping by key and counting occurrences.
58
+ *
59
+ * @param messages - Messages to deduplicate
60
+ * @returns Deduplicated messages with counts
61
+ */
62
+ function deduplicate(messages) {
63
+ const groups = new Map();
64
+ for (const message of messages) {
65
+ const key = getDeduplicationKey(message);
66
+ const existing = groups.get(key);
67
+ if (existing) {
68
+ existing.count++;
69
+ }
70
+ else {
71
+ groups.set(key, { message, count: 1 });
72
+ }
73
+ }
74
+ return Array.from(groups.values());
75
+ }
76
+ /**
77
+ * Group and process messages in a single pass.
78
+ *
79
+ * Partitions messages by level, deduplicates errors/warnings,
80
+ * and counts all levels efficiently.
81
+ *
82
+ * @param messages - All console messages
83
+ * @returns Grouped and processed message data
84
+ */
85
+ function groupByLevel(messages) {
86
+ const byLevel = {
87
+ error: [],
88
+ warning: [],
89
+ info: [],
90
+ debug: [],
91
+ other: [],
92
+ };
93
+ for (const msg of messages) {
94
+ byLevel[classifyLevel(msg.type)].push(msg);
95
+ }
96
+ return {
97
+ errors: deduplicate(byLevel.error),
98
+ warnings: deduplicate(byLevel.warning),
99
+ counts: {
100
+ error: byLevel.error.length,
101
+ warning: byLevel.warning.length,
102
+ info: byLevel.info.length,
103
+ debug: byLevel.debug.length,
104
+ other: byLevel.other.length,
105
+ },
106
+ };
107
+ }
108
+ /**
109
+ * Calculate summary statistics from grouped messages.
110
+ *
111
+ * @param total - Total message count
112
+ * @param grouped - Grouped and deduplicated messages
113
+ * @returns Summary statistics object
114
+ */
115
+ function buildSummary(total, grouped) {
116
+ const sumCounts = (items) => items.reduce((sum, d) => sum + d.count, 0);
117
+ return {
118
+ total,
119
+ errors: { total: sumCounts(grouped.errors), unique: grouped.errors.length },
120
+ warnings: { total: sumCounts(grouped.warnings), unique: grouped.warnings.length },
121
+ info: grouped.counts.info,
122
+ debug: grouped.counts.debug,
123
+ other: grouped.counts.other,
124
+ };
125
+ }
126
+ /**
127
+ * Analyze console messages: group, deduplicate, and summarize.
128
+ *
129
+ * Single entry point for message analysis used by all formatters.
130
+ *
131
+ * @param messages - All console messages
132
+ * @returns Object with grouped messages and summary
133
+ */
134
+ function analyzeMessages(messages) {
135
+ const grouped = groupByLevel(messages);
136
+ const summary = buildSummary(messages.length, grouped);
137
+ return { grouped, summary };
138
+ }
139
+ /**
140
+ * Format source location as "file:line:col".
141
+ *
142
+ * Extracts filename from URL for concise display.
143
+ *
144
+ * @param stackTrace - Stack trace frames
145
+ * @returns Formatted source location string, or undefined if no source
146
+ */
147
+ function formatSourceLocation(stackTrace) {
148
+ const frame = stackTrace?.[0];
149
+ if (!frame)
150
+ return undefined;
151
+ const url = frame.url;
152
+ const filename = url.includes('/') ? (url.split('/').pop() ?? url) : url;
153
+ const line = frame.lineNumber + 1;
154
+ const col = frame.columnNumber + 1;
155
+ return `${filename}:${line}:${col}`;
156
+ }
157
+ /**
158
+ * Format count prefix for deduplicated messages.
159
+ *
160
+ * @param count - Occurrence count
161
+ * @returns Formatted prefix like "[8x] " or empty string
162
+ */
163
+ function formatCountPrefix(count) {
164
+ return count > 1 ? `[${count}x] ` : '';
165
+ }
166
+ /**
167
+ * Format section header with unique/total counts.
168
+ *
169
+ * @param label - Section label (e.g., "Errors", "Warnings")
170
+ * @param unique - Number of unique messages
171
+ * @param total - Total occurrences
172
+ * @returns Formatted header string
173
+ */
174
+ function formatSectionHeader(label, unique, total) {
175
+ return unique === total ? `${label} (${total})` : `${label} (${unique} unique, ${total} total)`;
176
+ }
177
+ /**
178
+ * Render error section to formatter.
179
+ *
180
+ * @param fmt - OutputFormatter instance
181
+ * @param errors - Deduplicated error messages
182
+ * @param total - Total error count
183
+ */
184
+ function renderErrorSection(fmt, errors, total) {
185
+ if (errors.length === 0)
186
+ return;
187
+ fmt.text(formatSectionHeader('Errors', errors.length, total));
188
+ fmt.separator('─', 30);
189
+ for (const { message, count } of errors) {
190
+ fmt.text(`${formatCountPrefix(count)}${message.text}`);
191
+ const source = formatSourceLocation(message.stackTrace);
192
+ if (source) {
193
+ fmt.text(` → ${source}`);
194
+ }
195
+ fmt.blank();
196
+ }
197
+ }
198
+ /**
199
+ * Render warning section to formatter.
200
+ *
201
+ * @param fmt - OutputFormatter instance
202
+ * @param warnings - Deduplicated warning messages
203
+ * @param total - Total warning count
204
+ */
205
+ function renderWarningSection(fmt, warnings, total) {
206
+ if (warnings.length === 0)
207
+ return;
208
+ fmt.text(formatSectionHeader('Warnings', warnings.length, total));
209
+ fmt.separator('─', 30);
210
+ for (const { message, count } of warnings) {
211
+ fmt.text(`• ${formatCountPrefix(count)}${message.text}`);
212
+ }
213
+ fmt.blank();
214
+ }
215
+ /**
216
+ * Render other messages summary footer.
217
+ *
218
+ * @param fmt - OutputFormatter instance
219
+ * @param summary - Console summary with counts
220
+ */
221
+ function renderOtherSummary(fmt, summary) {
222
+ const parts = [
223
+ summary.info > 0 && pluralize(summary.info, 'info message'),
224
+ summary.debug > 0 && pluralize(summary.debug, 'debug message'),
225
+ summary.other > 0 && pluralize(summary.other, 'other message'),
226
+ ].filter(Boolean);
227
+ if (parts.length > 0) {
228
+ fmt.separator('─', 30);
229
+ fmt.text(`${parts.join(' · ')} (use --list to see)`);
230
+ }
231
+ }
232
+ /**
233
+ * Format console output as smart summary (default mode).
234
+ *
235
+ * Prioritizes errors and warnings with deduplication and counts.
236
+ * Shows info/debug as summary counts only.
237
+ *
238
+ * @param messages - All console messages
239
+ * @returns Formatted summary string
240
+ */
241
+ export function formatConsoleSummary(messages) {
242
+ const fmt = new OutputFormatter();
243
+ const { grouped, summary } = analyzeMessages(messages);
244
+ fmt.text('Console Summary');
245
+ fmt.separator('━', 60);
246
+ fmt.blank();
247
+ renderErrorSection(fmt, grouped.errors, summary.errors.total);
248
+ renderWarningSection(fmt, grouped.warnings, summary.warnings.total);
249
+ if (grouped.errors.length === 0 && grouped.warnings.length === 0) {
250
+ fmt.text('No errors or warnings found');
251
+ fmt.blank();
252
+ }
253
+ renderOtherSummary(fmt, summary);
254
+ return fmt.build();
255
+ }
256
+ /** Maximum text length before truncation in list view */
257
+ const MAX_LIST_TEXT_LENGTH = 200;
258
+ /**
259
+ * Format console output as chronological list (--list mode).
260
+ *
261
+ * Shows all messages in order with timestamps and levels.
262
+ * Includes navigation markers when page reloads are detected.
263
+ *
264
+ * @param messages - All console messages
265
+ * @param options - Format options
266
+ * @returns Formatted chronological list string
267
+ */
268
+ export function formatConsoleChronological(messages, options) {
269
+ const fmt = new OutputFormatter();
270
+ let displayMessages = messages;
271
+ if (options.last && options.last > 0) {
272
+ displayMessages = messages.slice(-options.last);
273
+ }
274
+ const headerSuffix = options.history ? ' (all navigations)' : '';
275
+ const header = displayMessages.length === messages.length
276
+ ? `Console Messages (${messages.length} total)${headerSuffix}`
277
+ : `Console Messages (last ${displayMessages.length} of ${messages.length})${headerSuffix}`;
278
+ fmt.text(header);
279
+ fmt.separator('━', 50);
280
+ if (displayMessages.length === 0) {
281
+ fmt.text('No console messages');
282
+ return fmt.build();
283
+ }
284
+ const baseIndex = messages.length - displayMessages.length;
285
+ let lastNavigationId;
286
+ for (const [i, msg] of displayMessages.entries()) {
287
+ const index = baseIndex + i;
288
+ const time = new Date(msg.timestamp).toLocaleTimeString();
289
+ const level = msg.type.padEnd(7);
290
+ // Show navigation marker when page reloads
291
+ if (msg.navigationId !== undefined && msg.navigationId !== lastNavigationId) {
292
+ if (lastNavigationId !== undefined) {
293
+ fmt.blank();
294
+ fmt.text(`─── Page Reload (navigation #${msg.navigationId}) ───`);
295
+ fmt.blank();
296
+ }
297
+ lastNavigationId = msg.navigationId;
298
+ }
299
+ const truncatedText = truncateByLength(msg.text, MAX_LIST_TEXT_LENGTH);
300
+ fmt.text(`[${index}] ${level} ${time} ${truncatedText}`);
301
+ const source = formatSourceLocation(msg.stackTrace);
302
+ if (source) {
303
+ fmt.text(` → ${source}`);
304
+ }
305
+ }
306
+ return fmt.build();
307
+ }
308
+ /**
309
+ * Format console output for follow mode streaming.
310
+ *
311
+ * Compact format optimized for live updates.
312
+ *
313
+ * @param messages - Recent console messages to display
314
+ * @returns Formatted streaming output string
315
+ */
316
+ export function formatConsoleFollow(messages) {
317
+ const fmt = new OutputFormatter();
318
+ fmt.text('Streaming console... (Ctrl+C to stop)');
319
+ fmt.separator('━', 40);
320
+ if (messages.length === 0) {
321
+ fmt.text('Waiting for messages...');
322
+ return fmt.build();
323
+ }
324
+ for (const msg of messages) {
325
+ const time = new Date(msg.timestamp).toLocaleTimeString();
326
+ const level = msg.type.padEnd(7);
327
+ fmt.text(`${time} ${level} ${msg.text}`);
328
+ const source = formatSourceLocation(msg.stackTrace);
329
+ if (source) {
330
+ fmt.text(` → ${source}`);
331
+ }
332
+ }
333
+ return fmt.build();
334
+ }
335
+ /**
336
+ * Convert deduplicated message to JSON error format.
337
+ *
338
+ * @param dedup - Deduplicated message
339
+ * @param includeStackTrace - Whether to include full stack trace
340
+ * @returns JSON-serializable error object
341
+ */
342
+ function toJsonError(dedup, includeStackTrace) {
343
+ const source = dedup.message.stackTrace?.[0];
344
+ return {
345
+ count: dedup.count,
346
+ level: dedup.message.type,
347
+ text: dedup.message.text,
348
+ ...(source && {
349
+ source: {
350
+ url: source.url,
351
+ line: source.lineNumber + 1,
352
+ column: source.columnNumber + 1,
353
+ },
354
+ }),
355
+ ...(includeStackTrace && dedup.message.stackTrace && { stackTrace: dedup.message.stackTrace }),
356
+ };
357
+ }
358
+ /**
359
+ * Format console output as JSON.
360
+ *
361
+ * Structured output with summary statistics and deduplicated errors/warnings.
362
+ *
363
+ * @param messages - All console messages
364
+ * @param options - Format options
365
+ * @returns JSON string
366
+ */
367
+ export function formatConsoleJson(messages, options) {
368
+ const { grouped, summary } = analyzeMessages(messages);
369
+ const output = {
370
+ success: true,
371
+ summary,
372
+ errors: grouped.errors.map((d) => toJsonError(d, true)),
373
+ warnings: grouped.warnings.map((d) => toJsonError(d, false)),
374
+ };
375
+ if (options.list) {
376
+ const displayMessages = options.last && options.last > 0 ? messages.slice(-options.last) : messages;
377
+ output.messages = displayMessages;
378
+ }
379
+ return JSON.stringify(output, null, 2);
380
+ }
381
+ /**
382
+ * Format console output based on options.
383
+ *
384
+ * Main entry point for console formatting. Routes to appropriate formatter
385
+ * based on options (json, list, follow).
386
+ *
387
+ * @param messages - All console messages
388
+ * @param options - Format options
389
+ * @returns Formatted output string
390
+ */
391
+ export function formatConsole(messages, options) {
392
+ if (options.json) {
393
+ return formatConsoleJson(messages, options);
394
+ }
395
+ if (options.list) {
396
+ return formatConsoleChronological(messages, options);
397
+ }
398
+ return formatConsoleSummary(messages);
399
+ }
400
+ //# sourceMappingURL=console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/ui/formatters/console.ts"],"names":[],"mappings":"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"}
@@ -2,38 +2,23 @@
2
2
  * Console command messages (bdg console)
3
3
  *
4
4
  * User-facing messages for the console command output and formatting.
5
- * */
5
+ */
6
6
  /**
7
- * Generate "no console messages found" message.
8
- *
9
- * @param filter - Optional filter type that was applied
10
- * @returns Formatted message with optional filter context
11
- *
12
- * @example
13
- * ```typescript
14
- * console.log(noConsoleMessagesMessage());
15
- * // "No console messages found"
7
+ * Generate message for following console output.
16
8
  *
17
- * console.log(noConsoleMessagesMessage('error'));
18
- * // "No console messages found\n(filtered by type: error)"
19
- * ```
9
+ * @returns Status message for stderr
20
10
  */
21
- export declare function noConsoleMessagesMessage(filter?: string): string;
11
+ export declare function followingConsoleMessage(): string;
22
12
  /**
23
- * Generate console messages header.
13
+ * Generate message when stopping console follow mode.
24
14
  *
25
- * @param count - Total number of console messages
26
- * @param filter - Optional filter type that was applied
27
- * @returns Formatted header with count and optional filter info
28
- *
29
- * @example
30
- * ```typescript
31
- * console.log(consoleMessagesHeader(42));
32
- * // "Console messages (42 total):"
15
+ * @returns Status message for stderr
16
+ */
17
+ export declare function stoppedFollowingConsoleMessage(): string;
18
+ /**
19
+ * Generate message when no console data is available.
33
20
  *
34
- * console.log(consoleMessagesHeader(10, 'error'));
35
- * // "Console messages (10 total):\nFiltered by type: error"
36
- * ```
21
+ * @returns Error message with context
37
22
  */
38
- export declare function consoleMessagesHeader(count: number, filter?: string): string;
23
+ export declare function noConsoleDataMessage(): string;
39
24
  //# sourceMappingURL=consoleMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consoleMessages.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/consoleMessages.ts"],"names":[],"mappings":"AAAA;;;;KAIK;AAIL;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5E"}
1
+ {"version":3,"file":"consoleMessages.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/consoleMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
@@ -2,44 +2,29 @@
2
2
  * Console command messages (bdg console)
3
3
  *
4
4
  * User-facing messages for the console command output and formatting.
5
- * */
6
- import { joinLines } from '../../ui/formatting.js';
5
+ */
7
6
  /**
8
- * Generate "no console messages found" message.
9
- *
10
- * @param filter - Optional filter type that was applied
11
- * @returns Formatted message with optional filter context
7
+ * Generate message for following console output.
12
8
  *
13
- * @example
14
- * ```typescript
15
- * console.log(noConsoleMessagesMessage());
16
- * // "No console messages found"
17
- *
18
- * console.log(noConsoleMessagesMessage('error'));
19
- * // "No console messages found\n(filtered by type: error)"
20
- * ```
9
+ * @returns Status message for stderr
21
10
  */
22
- export function noConsoleMessagesMessage(filter) {
23
- const base = 'No console messages found';
24
- return filter ? `${base}\n(filtered by type: ${filter})` : base;
11
+ export function followingConsoleMessage() {
12
+ return 'Streaming console messages... (Ctrl+C to stop)';
25
13
  }
26
14
  /**
27
- * Generate console messages header.
28
- *
29
- * @param count - Total number of console messages
30
- * @param filter - Optional filter type that was applied
31
- * @returns Formatted header with count and optional filter info
15
+ * Generate message when stopping console follow mode.
32
16
  *
33
- * @example
34
- * ```typescript
35
- * console.log(consoleMessagesHeader(42));
36
- * // "Console messages (42 total):"
17
+ * @returns Status message for stderr
18
+ */
19
+ export function stoppedFollowingConsoleMessage() {
20
+ return 'Stopped streaming console messages';
21
+ }
22
+ /**
23
+ * Generate message when no console data is available.
37
24
  *
38
- * console.log(consoleMessagesHeader(10, 'error'));
39
- * // "Console messages (10 total):\nFiltered by type: error"
40
- * ```
25
+ * @returns Error message with context
41
26
  */
42
- export function consoleMessagesHeader(count, filter) {
43
- return joinLines(`Console messages (${count} total):`, filter && `Filtered by type: ${filter}`);
27
+ export function noConsoleDataMessage() {
28
+ return 'No console data available. Console messages are captured during browser session.';
44
29
  }
45
30
  //# sourceMappingURL=consoleMessages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consoleMessages.js","sourceRoot":"","sources":["../../../src/ui/messages/consoleMessages.ts"],"names":[],"mappings":"AAAA;;;;KAIK;AAEL,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAe;IACtD,MAAM,IAAI,GAAG,2BAA2B,CAAC;IACzC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,wBAAwB,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,MAAe;IAClE,OAAO,SAAS,CAAC,qBAAqB,KAAK,UAAU,EAAE,MAAM,IAAI,qBAAqB,MAAM,EAAE,CAAC,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"consoleMessages.js","sourceRoot":"","sources":["../../../src/ui/messages/consoleMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,gDAAgD,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kFAAkF,CAAC;AAC5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decisionTrees.d.ts","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA4IvD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAElE"}
1
+ {"version":3,"file":"decisionTrees.d.ts","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA2JvD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAElE"}
@@ -82,8 +82,23 @@ export const DECISION_TREES = {
82
82
  intent: 'Inspect console logs and messages',
83
83
  steps: [
84
84
  {
85
- question: 'Need to query/filter console logs?',
86
- yesCommand: 'console query',
85
+ question: 'Need current page errors/warnings with deduplication?',
86
+ yesCommand: 'console',
87
+ noAction: 'next',
88
+ },
89
+ {
90
+ question: 'Need messages from all page loads (history)?',
91
+ yesCommand: 'console --history',
92
+ noAction: 'next',
93
+ },
94
+ {
95
+ question: 'Need to stream console messages in real-time?',
96
+ yesCommand: 'console --follow',
97
+ noAction: 'next',
98
+ },
99
+ {
100
+ question: 'Need all messages chronologically?',
101
+ yesCommand: 'console --list',
87
102
  noAction: 'next',
88
103
  },
89
104
  {
@@ -1 +1 @@
1
- {"version":3,"file":"decisionTrees.js","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionTrees.js","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * String manipulation utilities.
3
+ */
4
+ /**
5
+ * Truncate text to a maximum character length.
6
+ *
7
+ * Adds an ellipsis character when text is truncated.
8
+ *
9
+ * @param text - Text to truncate
10
+ * @param maxLength - Maximum character length (default: 500)
11
+ * @returns Truncated text with ellipsis if needed
12
+ */
13
+ export declare function truncateByLength(text: string, maxLength?: number): string;
14
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B,GAAG,MAAM,CAK7F"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * String manipulation utilities.
3
+ */
4
+ /**
5
+ * Default maximum text length for truncation.
6
+ */
7
+ const DEFAULT_MAX_LENGTH = 500;
8
+ /**
9
+ * Truncate text to a maximum character length.
10
+ *
11
+ * Adds an ellipsis character when text is truncated.
12
+ *
13
+ * @param text - Text to truncate
14
+ * @param maxLength - Maximum character length (default: 500)
15
+ * @returns Truncated text with ellipsis if needed
16
+ */
17
+ export function truncateByLength(text, maxLength = DEFAULT_MAX_LENGTH) {
18
+ if (text.length <= maxLength) {
19
+ return text;
20
+ }
21
+ return text.slice(0, maxLength - 1) + '…';
22
+ }
23
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,YAAoB,kBAAkB;IACnF,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"taskMappings.d.ts","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAgGrD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}
1
+ {"version":3,"file":"taskMappings.d.ts","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAkHrD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}