browser-debugger-cli 0.6.2 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -3
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/protocol.js +0 -6
- package/dist/cdp/protocol.js.map +1 -1
- package/dist/cdp/schema.d.ts.map +1 -1
- package/dist/cdp/schema.js +0 -2
- package/dist/cdp/schema.js.map +1 -1
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +12 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +102 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -0
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +9 -24
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +0 -13
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +22 -7
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +0 -5
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +51 -15
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +3 -7
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +30 -11
- package/dist/commands/dom/formFillHelpers.js.map +1 -1
- package/dist/commands/dom/formInteraction.d.ts.map +1 -1
- package/dist/commands/dom/formInteraction.js +0 -5
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.js +0 -13
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +0 -22
- package/dist/commands/dom/helpers.js.map +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -1
- package/dist/commands/dom/index.js +85 -19
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +3 -3
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +3 -31
- package/dist/commands/dom/reactEventHelpers.js.map +1 -1
- package/dist/commands/machineReadableHelp.d.ts +48 -0
- package/dist/commands/machineReadableHelp.d.ts.map +1 -1
- package/dist/commands/machineReadableHelp.js +80 -0
- package/dist/commands/machineReadableHelp.js.map +1 -1
- package/dist/commands/network.d.ts.map +1 -1
- package/dist/commands/network.js +185 -10
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +17 -14
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +2 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +3 -8
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts +7 -0
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +1 -0
- package/dist/commands/shared/__tests__/validation.unit.test.js +141 -0
- package/dist/commands/shared/__tests__/validation.unit.test.js.map +1 -0
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +0 -10
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +19 -0
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +110 -7
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +0 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +0 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +2 -11
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.js +6 -7
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +0 -5
- package/dist/commands.js.map +1 -1
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +9 -12
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/diagnostics.d.ts.map +1 -1
- package/dist/connection/diagnostics.js +7 -4
- package/dist/connection/diagnostics.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +0 -1
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +259 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
- package/dist/daemon/handlers/BaseHandler.d.ts +75 -0
- package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -0
- package/dist/daemon/handlers/BaseHandler.js +103 -0
- package/dist/daemon/handlers/BaseHandler.js.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts +3 -4
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/CommandHandlers.js +14 -52
- package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts +8 -6
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.js +42 -94
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.js +0 -15
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
- package/dist/daemon/handlers/requestHandlers.d.ts +5 -1
- package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/requestHandlers.js +7 -2
- package/dist/daemon/handlers/requestHandlers.js.map +1 -1
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/responseHandler.js +19 -8
- package/dist/daemon/handlers/responseHandler.js.map +1 -1
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +4 -11
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +0 -18
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.js +0 -4
- package/dist/daemon/lifecycle/cdpSetup.js.map +1 -1
- package/dist/daemon/lifecycle/chromeConnection.js +0 -1
- package/dist/daemon/lifecycle/chromeConnection.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +0 -3
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.js +0 -7
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.js +0 -1
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
- package/dist/daemon/patternDefinitions.d.ts +47 -0
- package/dist/daemon/patternDefinitions.d.ts.map +1 -0
- package/dist/daemon/patternDefinitions.js +71 -0
- package/dist/daemon/patternDefinitions.js.map +1 -0
- package/dist/daemon/patternDetector.d.ts +60 -0
- package/dist/daemon/patternDetector.d.ts.map +1 -0
- package/dist/daemon/patternDetector.js +74 -0
- package/dist/daemon/patternDetector.js.map +1 -0
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
- package/dist/daemon/server/JsonlParser.js +0 -2
- package/dist/daemon/server/JsonlParser.js.map +1 -1
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +0 -15
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +11 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +1 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +136 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +1 -0
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +46 -2
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/daemon/worker/plugins.d.ts.map +1 -1
- package/dist/daemon/worker/plugins.js +0 -3
- package/dist/daemon/worker/plugins.js.map +1 -1
- package/dist/daemon/worker.js +0 -9
- package/dist/daemon/worker.js.map +1 -1
- package/dist/daemon.js +0 -2
- package/dist/daemon.js.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/ipc/client.d.ts +47 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +51 -0
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/index.d.ts.map +1 -1
- package/dist/ipc/index.js +0 -6
- package/dist/ipc/index.js.map +1 -1
- package/dist/ipc/protocol/commands.d.ts +46 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -1
- package/dist/ipc/protocol/commands.js +8 -0
- package/dist/ipc/protocol/commands.js.map +1 -1
- package/dist/ipc/session/queries.d.ts +26 -2
- package/dist/ipc/session/queries.d.ts.map +1 -1
- package/dist/ipc/transport/index.d.ts.map +1 -1
- package/dist/ipc/transport/index.js +0 -1
- package/dist/ipc/transport/index.js.map +1 -1
- package/dist/ipc/transport/jsonl.d.ts.map +1 -1
- package/dist/ipc/transport/jsonl.js +0 -1
- package/dist/ipc/transport/jsonl.js.map +1 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +2 -20
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/queryCache.d.ts +35 -0
- package/dist/session/queryCache.d.ts.map +1 -0
- package/dist/session/queryCache.js +83 -0
- package/dist/session/queryCache.js.map +1 -0
- package/dist/telemetry/__tests__/filters.unit.test.js +119 -1
- package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -1
- package/dist/telemetry/__tests__/network.contract.test.js +114 -0
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
- package/dist/telemetry/a11y.d.ts +8 -5
- package/dist/telemetry/a11y.d.ts.map +1 -1
- package/dist/telemetry/a11y.js +34 -19
- package/dist/telemetry/a11y.js.map +1 -1
- package/dist/telemetry/dom.js +4 -4
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +17 -0
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +25 -0
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +8 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +1 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.js +694 -0
- package/dist/telemetry/har/__tests__/builder.unit.test.js.map +1 -0
- package/dist/telemetry/har/builder.d.ts +43 -0
- package/dist/telemetry/har/builder.d.ts.map +1 -0
- package/dist/telemetry/har/builder.js +440 -0
- package/dist/telemetry/har/builder.js.map +1 -0
- package/dist/telemetry/har/types.d.ts +290 -0
- package/dist/telemetry/har/types.d.ts.map +1 -0
- package/dist/telemetry/har/types.js +7 -0
- package/dist/telemetry/har/types.js.map +1 -0
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +37 -4
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.js +0 -8
- package/dist/ui/OutputBuilder.js.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +5 -1
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js +0 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/errors/index.d.ts.map +1 -1
- package/dist/ui/errors/index.js +0 -2
- package/dist/ui/errors/index.js.map +1 -1
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +13 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +1 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js +180 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js.map +1 -0
- package/dist/ui/formatters/details.d.ts.map +1 -1
- package/dist/ui/formatters/details.js +1 -0
- package/dist/ui/formatters/details.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +5 -5
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/helpFormatters.d.ts +41 -0
- package/dist/ui/formatters/helpFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/helpFormatters.js +80 -0
- package/dist/ui/formatters/helpFormatters.js.map +1 -0
- package/dist/ui/formatters/index.d.ts +1 -0
- package/dist/ui/formatters/index.d.ts.map +1 -1
- package/dist/ui/formatters/index.js +1 -0
- package/dist/ui/formatters/index.js.map +1 -1
- package/dist/ui/formatters/networkHeaders.d.ts +14 -0
- package/dist/ui/formatters/networkHeaders.d.ts.map +1 -0
- package/dist/ui/formatters/networkHeaders.js +47 -0
- package/dist/ui/formatters/networkHeaders.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +102 -33
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/sessionFormatters.d.ts +58 -0
- package/dist/ui/formatters/sessionFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/sessionFormatters.js +116 -0
- package/dist/ui/formatters/sessionFormatters.js.map +1 -0
- package/dist/ui/formatters/status.d.ts.map +1 -1
- package/dist/ui/formatters/status.js +0 -11
- package/dist/ui/formatters/status.js.map +1 -1
- package/dist/ui/formatting.d.ts.map +1 -1
- package/dist/ui/formatting.js +0 -6
- package/dist/ui/formatting.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/chrome.d.ts.map +1 -1
- package/dist/ui/messages/chrome.js +0 -6
- package/dist/ui/messages/chrome.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +9 -0
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +11 -13
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/debug.d.ts.map +1 -1
- package/dist/ui/messages/debug.js +0 -6
- package/dist/ui/messages/debug.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +53 -0
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +59 -0
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/hints.d.ts +33 -0
- package/dist/ui/messages/hints.d.ts.map +1 -0
- package/dist/ui/messages/hints.js +37 -0
- package/dist/ui/messages/hints.js.map +1 -0
- package/dist/ui/messages/internal.d.ts.map +1 -1
- package/dist/ui/messages/internal.js +0 -3
- package/dist/ui/messages/internal.js.map +1 -1
- package/dist/ui/messages/preview.d.ts.map +1 -1
- package/dist/ui/messages/preview.js +0 -12
- package/dist/ui/messages/preview.js.map +1 -1
- package/dist/ui/messages/session.d.ts +11 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +14 -24
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/utils/atomicFile.d.ts.map +1 -1
- package/dist/utils/atomicFile.js +9 -6
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts +54 -0
- package/dist/utils/decisionTrees.d.ts.map +1 -0
- package/dist/utils/decisionTrees.js +171 -0
- package/dist/utils/decisionTrees.js.map +1 -0
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +0 -2
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/taskMappings.d.ts +47 -0
- package/dist/utils/taskMappings.d.ts.map +1 -0
- package/dist/utils/taskMappings.js +118 -0
- package/dist/utils/taskMappings.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +0 -3
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +0 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for preview formatter MIME type inference.
|
|
3
|
+
*
|
|
4
|
+
* Tests the contract of MIME type to resource type inference:
|
|
5
|
+
* - Correct resource type inference from MIME patterns
|
|
6
|
+
* - Pattern matching rule precedence
|
|
7
|
+
* - Handling of undefined/null inputs
|
|
8
|
+
* - Case-insensitive matching
|
|
9
|
+
*
|
|
10
|
+
* This enables refactoring the MIME_TYPE_RULES array without breaking tests.
|
|
11
|
+
*/
|
|
12
|
+
import assert from 'node:assert';
|
|
13
|
+
import { describe, test } from 'node:test';
|
|
14
|
+
import { formatPreview } from '../../../ui/formatters/preview.js';
|
|
15
|
+
/**
|
|
16
|
+
* Helper to test MIME type inference by checking abbreviations.
|
|
17
|
+
* This tests the public contract without exposing private functions.
|
|
18
|
+
*/
|
|
19
|
+
function inferTypeFromMime(mimeType) {
|
|
20
|
+
const mockOutput = {
|
|
21
|
+
version: '0.0.0',
|
|
22
|
+
success: true,
|
|
23
|
+
timestamp: new Date().toISOString(),
|
|
24
|
+
duration: 0,
|
|
25
|
+
target: { url: 'test', title: 'test' },
|
|
26
|
+
data: {
|
|
27
|
+
network: [
|
|
28
|
+
{
|
|
29
|
+
requestId: 'test-1',
|
|
30
|
+
url: 'https://example.com/test',
|
|
31
|
+
method: 'GET',
|
|
32
|
+
timestamp: Date.now(),
|
|
33
|
+
...(mimeType !== undefined && { mimeType }),
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const output = formatPreview(mockOutput, { json: false, last: 1 });
|
|
39
|
+
const match = output.match(/\[([A-Z]{3})\]/);
|
|
40
|
+
return match?.[1] ?? 'NONE';
|
|
41
|
+
}
|
|
42
|
+
describe('MIME type to resource type inference', () => {
|
|
43
|
+
describe('Document type inference', () => {
|
|
44
|
+
test('infers Document from text/html', () => {
|
|
45
|
+
assert.strictEqual(inferTypeFromMime('text/html'), 'DOC');
|
|
46
|
+
});
|
|
47
|
+
test('infers Document from text/html with charset', () => {
|
|
48
|
+
assert.strictEqual(inferTypeFromMime('text/html; charset=utf-8'), 'DOC');
|
|
49
|
+
});
|
|
50
|
+
test('infers Document from TEXT/HTML (case-insensitive)', () => {
|
|
51
|
+
assert.strictEqual(inferTypeFromMime('TEXT/HTML'), 'DOC');
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
describe('Stylesheet type inference', () => {
|
|
55
|
+
test('infers Stylesheet from text/css', () => {
|
|
56
|
+
assert.strictEqual(inferTypeFromMime('text/css'), 'CSS');
|
|
57
|
+
});
|
|
58
|
+
test('infers Stylesheet from text/css with charset', () => {
|
|
59
|
+
assert.strictEqual(inferTypeFromMime('text/css; charset=utf-8'), 'CSS');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('Script type inference', () => {
|
|
63
|
+
test('infers Script from application/javascript', () => {
|
|
64
|
+
assert.strictEqual(inferTypeFromMime('application/javascript'), 'SCR');
|
|
65
|
+
});
|
|
66
|
+
test('infers Script from text/javascript', () => {
|
|
67
|
+
assert.strictEqual(inferTypeFromMime('text/javascript'), 'SCR');
|
|
68
|
+
});
|
|
69
|
+
test('infers Script from application/ecmascript', () => {
|
|
70
|
+
assert.strictEqual(inferTypeFromMime('application/ecmascript'), 'SCR');
|
|
71
|
+
});
|
|
72
|
+
test('infers Script from application/x-javascript', () => {
|
|
73
|
+
assert.strictEqual(inferTypeFromMime('application/x-javascript'), 'SCR');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('Image type inference', () => {
|
|
77
|
+
test('infers Image from image/png', () => {
|
|
78
|
+
assert.strictEqual(inferTypeFromMime('image/png'), 'IMG');
|
|
79
|
+
});
|
|
80
|
+
test('infers Image from image/jpeg', () => {
|
|
81
|
+
assert.strictEqual(inferTypeFromMime('image/jpeg'), 'IMG');
|
|
82
|
+
});
|
|
83
|
+
test('infers Image from image/svg+xml', () => {
|
|
84
|
+
assert.strictEqual(inferTypeFromMime('image/svg+xml'), 'IMG');
|
|
85
|
+
});
|
|
86
|
+
test('infers Image from image/webp', () => {
|
|
87
|
+
assert.strictEqual(inferTypeFromMime('image/webp'), 'IMG');
|
|
88
|
+
});
|
|
89
|
+
test('infers Image from IMAGE/PNG (case-insensitive)', () => {
|
|
90
|
+
assert.strictEqual(inferTypeFromMime('IMAGE/PNG'), 'IMG');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe('Font type inference', () => {
|
|
94
|
+
test('infers Font from font/woff2', () => {
|
|
95
|
+
assert.strictEqual(inferTypeFromMime('font/woff2'), 'FNT');
|
|
96
|
+
});
|
|
97
|
+
test('infers Font from font/woff', () => {
|
|
98
|
+
assert.strictEqual(inferTypeFromMime('font/woff'), 'FNT');
|
|
99
|
+
});
|
|
100
|
+
test('infers Font from application/font-woff', () => {
|
|
101
|
+
assert.strictEqual(inferTypeFromMime('application/font-woff'), 'FNT');
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('Media type inference', () => {
|
|
105
|
+
test('infers Media from video/mp4', () => {
|
|
106
|
+
assert.strictEqual(inferTypeFromMime('video/mp4'), 'MED');
|
|
107
|
+
});
|
|
108
|
+
test('infers Media from audio/mpeg', () => {
|
|
109
|
+
assert.strictEqual(inferTypeFromMime('audio/mpeg'), 'MED');
|
|
110
|
+
});
|
|
111
|
+
test('infers Media from video/webm', () => {
|
|
112
|
+
assert.strictEqual(inferTypeFromMime('video/webm'), 'MED');
|
|
113
|
+
});
|
|
114
|
+
test('infers Media from audio/wav', () => {
|
|
115
|
+
assert.strictEqual(inferTypeFromMime('audio/wav'), 'MED');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('XHR type inference', () => {
|
|
119
|
+
test('infers XHR from application/json', () => {
|
|
120
|
+
assert.strictEqual(inferTypeFromMime('application/json'), 'XHR');
|
|
121
|
+
});
|
|
122
|
+
test('infers XHR from text/json', () => {
|
|
123
|
+
assert.strictEqual(inferTypeFromMime('text/json'), 'XHR');
|
|
124
|
+
});
|
|
125
|
+
test('infers XHR from application/xml', () => {
|
|
126
|
+
assert.strictEqual(inferTypeFromMime('application/xml'), 'XHR');
|
|
127
|
+
});
|
|
128
|
+
test('infers XHR from text/xml', () => {
|
|
129
|
+
assert.strictEqual(inferTypeFromMime('text/xml'), 'XHR');
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('unknown MIME type handling', () => {
|
|
133
|
+
test('returns OTH for unknown MIME type', () => {
|
|
134
|
+
assert.strictEqual(inferTypeFromMime('application/octet-stream'), 'OTH');
|
|
135
|
+
});
|
|
136
|
+
test('returns OTH for custom MIME type', () => {
|
|
137
|
+
assert.strictEqual(inferTypeFromMime('application/x-custom'), 'OTH');
|
|
138
|
+
});
|
|
139
|
+
test('returns OTH for undefined MIME type', () => {
|
|
140
|
+
assert.strictEqual(inferTypeFromMime(undefined), 'OTH');
|
|
141
|
+
});
|
|
142
|
+
test('returns OTH for empty string MIME type', () => {
|
|
143
|
+
assert.strictEqual(inferTypeFromMime(''), 'OTH');
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
describe('pattern matching precedence', () => {
|
|
147
|
+
test('prioritizes first matching rule', () => {
|
|
148
|
+
assert.strictEqual(inferTypeFromMime('text/html'), 'DOC');
|
|
149
|
+
});
|
|
150
|
+
test('handles MIME types with multiple potential matches', () => {
|
|
151
|
+
assert.strictEqual(inferTypeFromMime('application/json+xml'), 'XHR');
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe('resourceType takes precedence over MIME inference', () => {
|
|
155
|
+
test('uses CDP resourceType when available', () => {
|
|
156
|
+
const mockOutput = {
|
|
157
|
+
version: '0.0.0',
|
|
158
|
+
success: true,
|
|
159
|
+
timestamp: new Date().toISOString(),
|
|
160
|
+
duration: 0,
|
|
161
|
+
target: { url: 'test', title: 'test' },
|
|
162
|
+
data: {
|
|
163
|
+
network: [
|
|
164
|
+
{
|
|
165
|
+
requestId: 'test-1',
|
|
166
|
+
url: 'https://example.com/test.js',
|
|
167
|
+
method: 'GET',
|
|
168
|
+
timestamp: Date.now(),
|
|
169
|
+
mimeType: 'text/html',
|
|
170
|
+
resourceType: 'Script',
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
const output = formatPreview(mockOutput, { json: false, last: 1 });
|
|
176
|
+
assert.ok(output.includes('[SCR]'));
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=preview.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.unit.test.js","sourceRoot":"","sources":["../../../../src/ui/formatters/__tests__/preview.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA6CpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAsBpE"}
|
|
@@ -10,6 +10,7 @@ export function formatNetworkDetails(request) {
|
|
|
10
10
|
['URL', request.url],
|
|
11
11
|
['Method', request.method],
|
|
12
12
|
['Status', request.status?.toString() ?? 'pending'],
|
|
13
|
+
['Resource Type', request.resourceType ?? 'N/A'],
|
|
13
14
|
['MIME Type', request.mimeType ?? 'N/A'],
|
|
14
15
|
], 13);
|
|
15
16
|
fmt.blank();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/ui/formatters/details.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/ui/formatters/details.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAElC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,YAAY,CACd;QACE,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC;QACjC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;QACpB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;QACnD,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAChD,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;KACzC,EACD,EAAE,CACH,CAAC;IACF,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9D,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/D,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAElC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,YAAY,CACd;QACE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;KACvB,EACD,EAAE,CACH,CAAC;IACF,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAmC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAcvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAwBT"}
|
|
@@ -28,8 +28,6 @@ export function formatDomQuery(data) {
|
|
|
28
28
|
const { count, nodes, selector } = data;
|
|
29
29
|
const fmt = new OutputFormatter();
|
|
30
30
|
if (count === 0) {
|
|
31
|
-
// Escape backslashes first, then single quotes to keep the suggestion command valid
|
|
32
|
-
// CodeQL: This addresses incomplete-string-escaping-or-encoding
|
|
33
31
|
const safeSelector = selector.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
34
32
|
return fmt
|
|
35
33
|
.text(`No elements found matching "${selector}"`)
|
|
@@ -44,13 +42,16 @@ export function formatDomQuery(data) {
|
|
|
44
42
|
const classInfo = node.classes?.length ? ` class="${node.classes.join(' ')}"` : '';
|
|
45
43
|
return `[${node.index}] <${node.tag}${classInfo}> ${node.preview}`;
|
|
46
44
|
});
|
|
45
|
+
const hasMultipleResults = count > 1;
|
|
46
|
+
const exampleIndex = hasMultipleResults ? (nodes[0]?.index ?? 0) : 0;
|
|
47
47
|
return fmt
|
|
48
48
|
.text(`Found ${count} element${count === 1 ? '' : 's'} matching "${selector}":`)
|
|
49
49
|
.list(nodeLines)
|
|
50
50
|
.blank()
|
|
51
51
|
.section('Next steps:', [
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
`Get HTML: bdg dom get ${exampleIndex}`,
|
|
53
|
+
`Extract text: bdg cdp Runtime.evaluate --params '{"expression": "document.querySelector('${selector.replace(/\\/g, '\\\\').replace(/'/g, "\\'")}').textContent"}'`,
|
|
54
|
+
`Full details: bdg details dom ${exampleIndex}`,
|
|
54
55
|
])
|
|
55
56
|
.build();
|
|
56
57
|
}
|
|
@@ -146,7 +147,6 @@ export function formatDomEval(data) {
|
|
|
146
147
|
*/
|
|
147
148
|
export function formatDomScreenshot(data) {
|
|
148
149
|
const fmt = new OutputFormatter();
|
|
149
|
-
// Format file size
|
|
150
150
|
const sizeKB = data.size / 1024;
|
|
151
151
|
const sizeStr = sizeKB < 1024 ? `${sizeKB.toFixed(1)} KB` : `${(sizeKB / 1024).toFixed(1)} MB`;
|
|
152
152
|
fmt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/ui/formatters/dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAElC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/ui/formatters/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help message formatting helpers for bare command and usage instructions.
|
|
3
|
+
*
|
|
4
|
+
* Provides well-structured sections for agent discovery, task examples,
|
|
5
|
+
* and URL format guidance.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Builds the agent discovery help section.
|
|
9
|
+
*
|
|
10
|
+
* Prominently displays machine-readable schema and CDP discovery commands
|
|
11
|
+
* to guide agents toward efficient tool usage patterns.
|
|
12
|
+
*
|
|
13
|
+
* @returns Formatted agent discovery section
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildAgentDiscoveryHelp(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Builds the common task examples section.
|
|
18
|
+
*
|
|
19
|
+
* Shows complete workflow examples for typical automation tasks,
|
|
20
|
+
* demonstrating session start followed by specific commands.
|
|
21
|
+
*
|
|
22
|
+
* @returns Formatted task examples section
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildCommonTaskExamples(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Builds the URL format examples section.
|
|
27
|
+
*
|
|
28
|
+
* Shows supported URL formats for starting sessions.
|
|
29
|
+
*
|
|
30
|
+
* @returns Formatted URL examples section
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildUrlExamples(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Builds the session management reminder section.
|
|
35
|
+
*
|
|
36
|
+
* Shows commands for managing active sessions and getting help.
|
|
37
|
+
*
|
|
38
|
+
* @returns Formatted session management section
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildSessionManagementReminder(): string;
|
|
41
|
+
//# sourceMappingURL=helpFormatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpFormatters.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/helpFormatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help message formatting helpers for bare command and usage instructions.
|
|
3
|
+
*
|
|
4
|
+
* Provides well-structured sections for agent discovery, task examples,
|
|
5
|
+
* and URL format guidance.
|
|
6
|
+
*/
|
|
7
|
+
import { section } from '../../ui/formatting.js';
|
|
8
|
+
/**
|
|
9
|
+
* Builds the agent discovery help section.
|
|
10
|
+
*
|
|
11
|
+
* Prominently displays machine-readable schema and CDP discovery commands
|
|
12
|
+
* to guide agents toward efficient tool usage patterns.
|
|
13
|
+
*
|
|
14
|
+
* @returns Formatted agent discovery section
|
|
15
|
+
*/
|
|
16
|
+
export function buildAgentDiscoveryHelp() {
|
|
17
|
+
return section('For AI Agents:', [
|
|
18
|
+
'bdg --help --json Machine-readable command schema',
|
|
19
|
+
'bdg cdp --list List all 53 CDP domains',
|
|
20
|
+
'bdg cdp --search <term> Search 300+ CDP methods',
|
|
21
|
+
'.claude/skills/bdg/ 15+ recipes & workflow patterns',
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Builds the common task examples section.
|
|
26
|
+
*
|
|
27
|
+
* Shows complete workflow examples for typical automation tasks,
|
|
28
|
+
* demonstrating session start followed by specific commands.
|
|
29
|
+
*
|
|
30
|
+
* @returns Formatted task examples section
|
|
31
|
+
*/
|
|
32
|
+
export function buildCommonTaskExamples() {
|
|
33
|
+
return section('Common Task Workflows:', [
|
|
34
|
+
'Screenshot:',
|
|
35
|
+
' bdg https://example.com',
|
|
36
|
+
' bdg dom screenshot output.png',
|
|
37
|
+
'',
|
|
38
|
+
'Scrape content:',
|
|
39
|
+
' bdg https://news.site',
|
|
40
|
+
' bdg dom query "article h2" --json',
|
|
41
|
+
'',
|
|
42
|
+
'Fill form:',
|
|
43
|
+
' bdg https://example.com/login',
|
|
44
|
+
' bdg dom fill "#email" "test@example.com"',
|
|
45
|
+
' bdg dom click "button[type=submit]"',
|
|
46
|
+
'',
|
|
47
|
+
'Export network data:',
|
|
48
|
+
' bdg https://api.example.com',
|
|
49
|
+
' bdg network har output.har',
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Builds the URL format examples section.
|
|
54
|
+
*
|
|
55
|
+
* Shows supported URL formats for starting sessions.
|
|
56
|
+
*
|
|
57
|
+
* @returns Formatted URL examples section
|
|
58
|
+
*/
|
|
59
|
+
export function buildUrlExamples() {
|
|
60
|
+
return section('URL Formats:', [
|
|
61
|
+
'bdg example.com (http:// added automatically)',
|
|
62
|
+
'bdg localhost:3000 (local development server)',
|
|
63
|
+
'bdg https://github.com (explicit protocol)',
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Builds the session management reminder section.
|
|
68
|
+
*
|
|
69
|
+
* Shows commands for managing active sessions and getting help.
|
|
70
|
+
*
|
|
71
|
+
* @returns Formatted session management section
|
|
72
|
+
*/
|
|
73
|
+
export function buildSessionManagementReminder() {
|
|
74
|
+
return section('Existing Session:', [
|
|
75
|
+
'bdg status Check session state',
|
|
76
|
+
'bdg stop End session',
|
|
77
|
+
'bdg --help Show all commands',
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=helpFormatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpFormatters.js","sourceRoot":"","sources":["../../../src/ui/formatters/helpFormatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,OAAO,CAAC,gBAAgB,EAAE;QAC/B,4DAA4D;QAC5D,oDAAoD;QACpD,oDAAoD;QACpD,4DAA4D;KAC7D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,OAAO,CAAC,wBAAwB,EAAE;QACvC,aAAa;QACb,2BAA2B;QAC3B,iCAAiC;QACjC,EAAE;QACF,iBAAiB;QACjB,yBAAyB;QACzB,qCAAqC;QACrC,EAAE;QACF,YAAY;QACZ,iCAAiC;QACjC,4CAA4C;QAC5C,uCAAuC;QACvC,EAAE;QACF,sBAAsB;QACtB,+BAA+B;QAC/B,8BAA8B;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,cAAc,EAAE;QAC7B,4DAA4D;QAC5D,yDAAyD;QACzD,kDAAkD;KACnD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,OAAO,CAAC,mBAAmB,EAAE;QAClC,qCAAqC;QACrC,6BAA6B;QAC7B,mCAAmC;KACpC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network Headers Formatter
|
|
3
|
+
*
|
|
4
|
+
* Formats network request and response headers for human-readable display.
|
|
5
|
+
*/
|
|
6
|
+
import type { WorkerNetworkHeadersData } from '../../ipc/protocol/commands.js';
|
|
7
|
+
/**
|
|
8
|
+
* Format network request headers for display.
|
|
9
|
+
*
|
|
10
|
+
* @param data - Network headers data from worker
|
|
11
|
+
* @returns Formatted string for console output
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatNetworkHeaders(data: WorkerNetworkHeadersData): string;
|
|
14
|
+
//# sourceMappingURL=networkHeaders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkHeaders.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/networkHeaders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CA6B3E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network Headers Formatter
|
|
3
|
+
*
|
|
4
|
+
* Formats network request and response headers for human-readable display.
|
|
5
|
+
*/
|
|
6
|
+
import { OutputFormatter } from '../../ui/formatting.js';
|
|
7
|
+
/**
|
|
8
|
+
* Format network request headers for display.
|
|
9
|
+
*
|
|
10
|
+
* @param data - Network headers data from worker
|
|
11
|
+
* @returns Formatted string for console output
|
|
12
|
+
*/
|
|
13
|
+
export function formatNetworkHeaders(data) {
|
|
14
|
+
const fmt = new OutputFormatter();
|
|
15
|
+
fmt.text('Network Request Headers').separator('━', 60).blank();
|
|
16
|
+
fmt.text('URL:').text(` ${data.url}`).blank();
|
|
17
|
+
if (Object.keys(data.responseHeaders).length > 0) {
|
|
18
|
+
fmt.text('Response Headers:');
|
|
19
|
+
formatHeaderSection(fmt, data.responseHeaders);
|
|
20
|
+
fmt.blank();
|
|
21
|
+
}
|
|
22
|
+
if (Object.keys(data.requestHeaders).length > 0) {
|
|
23
|
+
fmt.text('Request Headers:');
|
|
24
|
+
formatHeaderSection(fmt, data.requestHeaders);
|
|
25
|
+
fmt.blank();
|
|
26
|
+
}
|
|
27
|
+
if (Object.keys(data.responseHeaders).length === 0 &&
|
|
28
|
+
Object.keys(data.requestHeaders).length === 0) {
|
|
29
|
+
fmt.text('No headers found').blank();
|
|
30
|
+
}
|
|
31
|
+
fmt.text(`Request ID: ${data.requestId}`);
|
|
32
|
+
return fmt.build();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Format a section of headers with consistent formatting.
|
|
36
|
+
*
|
|
37
|
+
* @param fmt - Output formatter instance
|
|
38
|
+
* @param headers - Headers to format
|
|
39
|
+
*/
|
|
40
|
+
function formatHeaderSection(fmt, headers) {
|
|
41
|
+
const entries = Object.entries(headers).sort(([a], [b]) => a.localeCompare(b));
|
|
42
|
+
const maxKeyLength = Math.max(...entries.map(([k]) => k.length));
|
|
43
|
+
entries.forEach(([key, value]) => {
|
|
44
|
+
fmt.keyValue(` ${key}:`, value, maxKeyLength + 4);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=networkHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkHeaders.js","sourceRoot":"","sources":["../../../src/ui/formatters/networkHeaders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA8B;IACjE,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAElC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9B,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7B,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAC7C,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAE1C,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAoB,EAAE,OAA+B;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/B,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAiGzC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,+BAA+B;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAMhF"}
|