browser-debugger-cli 0.6.4 → 0.6.6
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__/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.js +8 -4
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +22 -2
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +83 -19
- 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 -2
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts +68 -2
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +240 -66
- 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 +128 -15
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +61 -2
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +103 -0
- 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 +135 -16
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/keyMapping.d.ts +62 -0
- package/dist/commands/dom/keyMapping.d.ts.map +1 -0
- package/dist/commands/dom/keyMapping.js +118 -0
- package/dist/commands/dom/keyMapping.js.map +1 -0
- package/dist/commands/dom/reactEventHelpers.d.ts +10 -5
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +55 -13
- 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 +28 -2
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +16 -7
- 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 -0
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +2 -0
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +5 -2
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +2 -1
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +6 -0
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/cdp.js +9 -9
- package/dist/constants.d.ts +5 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -3
- package/dist/constants.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/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 +13 -2
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/ipc/__tests__/jsonl.unit.test.js +5 -5
- package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -1
- package/dist/ipc/protocol/commands.d.ts +2 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -1
- package/dist/ipc/protocol/commands.js.map +1 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +2 -0
- 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/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/types/dom.d.ts +9 -0
- package/dist/types/dom.d.ts.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.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/a11y.d.ts +19 -0
- package/dist/ui/formatters/a11y.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.js +60 -0
- package/dist/ui/formatters/a11y.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +5 -2
- 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/preview.d.ts +4 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +91 -23
- 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 +118 -0
- package/dist/ui/formatters/sessionFormatters.js.map +1 -0
- 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 -1
- package/dist/ui/messages/commands.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/session.d.ts +11 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +14 -21
- package/dist/ui/messages/session.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 +176 -0
- package/dist/utils/decisionTrees.js.map +1 -0
- package/dist/utils/taskMappings.d.ts +47 -0
- package/dist/utils/taskMappings.d.ts.map +1 -0
- package/dist/utils/taskMappings.js +123 -0
- package/dist/utils/taskMappings.js.map +1 -0
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +15 -2
- package/dist/utils/url.js.map +1 -1
- package/package.json +3 -3
package/dist/commands/peek.js
CHANGED
|
@@ -22,7 +22,7 @@ export function registerPeekCommand(program) {
|
|
|
22
22
|
.option('-c, --console', 'Show only console messages', false)
|
|
23
23
|
.option('-d, --dom', 'Show DOM/A11y tree data', false)
|
|
24
24
|
.option('-f, --follow', 'Watch for updates (like tail -f)', false)
|
|
25
|
-
.option('--last <count>', 'Show last N items (
|
|
25
|
+
.option('--last <count>', 'Show last N items (default: 10)', '10')
|
|
26
26
|
.option('--type <types>', 'Filter network requests by resource type (comma-separated: Document,XHR,Fetch,etc.)')
|
|
27
27
|
.action(async (options) => {
|
|
28
28
|
const lastRule = positiveIntRule({ min: 1, max: 1000, default: 10 });
|
|
@@ -76,16 +76,25 @@ export function registerPeekCommand(program) {
|
|
|
76
76
|
if (options.follow) {
|
|
77
77
|
console.clear();
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
// Track unfiltered count for feedback when filter matches nothing
|
|
80
|
+
const unfilteredNetworkCount = output.data.network?.length ?? 0;
|
|
81
|
+
const filteredNetwork = output.data.network
|
|
82
|
+
? filterByResourceType(output.data.network, resourceTypes)
|
|
83
|
+
: undefined;
|
|
84
|
+
const previewOptions = {
|
|
85
|
+
...previewBase,
|
|
86
|
+
...(previewBase.follow && { viewedAt: new Date() }),
|
|
87
|
+
// Pass filter info for feedback when no matches
|
|
88
|
+
...(resourceTypes.length > 0 && {
|
|
89
|
+
filteredTypes: resourceTypes,
|
|
90
|
+
unfilteredNetworkCount,
|
|
91
|
+
}),
|
|
92
|
+
};
|
|
82
93
|
const filteredOutput = {
|
|
83
94
|
...output,
|
|
84
95
|
data: {
|
|
85
96
|
...output.data,
|
|
86
|
-
...(
|
|
87
|
-
network: filterByResourceType(output.data.network, resourceTypes),
|
|
88
|
-
}),
|
|
97
|
+
...(filteredNetwork !== undefined && { network: filteredNetwork }),
|
|
89
98
|
},
|
|
90
99
|
};
|
|
91
100
|
console.log(formatPreview(filteredOutput, previewOptions));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peek.js","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAuB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAalD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qDAAqD,CAAC;SAClE,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,eAAe,EAAE,kDAAkD,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,WAAW,EAAE,yBAAyB,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;SACjE,MAAM,CAAC,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"peek.js","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ export interface CommandResult<T = unknown> {
|
|
|
21
21
|
exitCode?: number;
|
|
22
22
|
/** Optional error context (suggestions, examples, etc.) */
|
|
23
23
|
errorContext?: Record<string, unknown>;
|
|
24
|
+
/** Optional hint message to display on stderr (for successful commands with guidance) */
|
|
25
|
+
hint?: string;
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Handler function type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandRunner.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandRunner.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,kBAAkB,EAAE,OAAO,GAAG,OAAO,IAAI,CACnF,OAAO,EAAE,QAAQ,KACd,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,UAAU,CAAC,QAAQ,SAAS,kBAAkB,EAAE,OAAO,GAAG,OAAO,EACrF,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC1C,OAAO,EAAE,QAAQ,EACjB,SAAS,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAqFf"}
|
|
@@ -52,6 +52,9 @@ export async function runCommand(handler, options, formatter) {
|
|
|
52
52
|
}
|
|
53
53
|
process.exit(result.exitCode ?? EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
54
54
|
}
|
|
55
|
+
if (result.hint) {
|
|
56
|
+
console.error(result.hint);
|
|
57
|
+
}
|
|
55
58
|
if (options.json) {
|
|
56
59
|
console.log(JSON.stringify(result.data, null, 2));
|
|
57
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ export interface IntegerRuleOptions {
|
|
|
26
26
|
default?: number;
|
|
27
27
|
/** Whether the field is required */
|
|
28
28
|
required?: boolean;
|
|
29
|
+
/** Allow 0 to represent "all items" or unlimited */
|
|
30
|
+
allowZeroForAll?: boolean;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Create a positive integer validation rule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK1D;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK1D;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAoDxF;AA6ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BlF"}
|
|
@@ -22,7 +22,7 @@ import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export function positiveIntRule(options = {}) {
|
|
25
|
-
const { min, max, default: defaultValue, required = true } = options;
|
|
25
|
+
const { min, max, default: defaultValue, required = true, allowZeroForAll = false } = options;
|
|
26
26
|
return {
|
|
27
27
|
validate: (value) => {
|
|
28
28
|
if (value === undefined || value === null) {
|
|
@@ -30,7 +30,7 @@ export function positiveIntRule(options = {}) {
|
|
|
30
30
|
return defaultValue;
|
|
31
31
|
}
|
|
32
32
|
if (!required) {
|
|
33
|
-
return 0;
|
|
33
|
+
return 0;
|
|
34
34
|
}
|
|
35
35
|
throw new CommandError('Value is required', {}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
36
36
|
}
|
|
@@ -48,6 +48,9 @@ export function positiveIntRule(options = {}) {
|
|
|
48
48
|
const message = invalidIntegerError('value', strValue, errorOptions);
|
|
49
49
|
throw new CommandError(message, {}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
50
50
|
}
|
|
51
|
+
if (parsed === 0 && allowZeroForAll) {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
51
54
|
if (min !== undefined && parsed < min) {
|
|
52
55
|
const message = invalidIntegerError('value', strValue, errorOptions);
|
|
53
56
|
throw new CommandError(message, {}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F1D"}
|
package/dist/commands/stop.js
CHANGED
|
@@ -45,9 +45,10 @@ function getExitCodeForDaemonError(errorCode) {
|
|
|
45
45
|
export function registerStopCommand(program) {
|
|
46
46
|
program
|
|
47
47
|
.command('stop')
|
|
48
|
-
.description('Stop daemon and write collected telemetry to session.json')
|
|
48
|
+
.description('Stop daemon and write collected telemetry to ~/.bdg/session.json')
|
|
49
49
|
.option('--kill-chrome', 'Also kill Chrome browser process', false)
|
|
50
50
|
.addOption(jsonOption)
|
|
51
|
+
.addHelpText('after', '\nOutput Location:\n Default: ~/.bdg/session.json\n Tip: Copy to custom location with: cp ~/.bdg/session.json /path/to/output.json')
|
|
51
52
|
.action(async (options) => {
|
|
52
53
|
await runCommand(async (opts) => {
|
|
53
54
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAUvD;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB;QAC/C,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,SAAS,CACd,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,mBAAmB,EAAE,EAC5C,WAAW,EACX,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAAC,SAAwB;IACzD,OAAO,SAAS,KAAK,YAAY,CAAC,UAAU;QAC1C,CAAC,CAAC,UAAU,CAAC,kBAAkB;QAC/B,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G1D"}
|
package/dist/commands/tail.js
CHANGED
|
@@ -110,6 +110,12 @@ export function registerTailCommand(program) {
|
|
|
110
110
|
console.error(stoppedFollowingPreviewMessage());
|
|
111
111
|
process.exit(EXIT_CODES.SUCCESS);
|
|
112
112
|
});
|
|
113
|
+
process.stdout.on('error', (err) => {
|
|
114
|
+
if (err.code === 'EPIPE') {
|
|
115
|
+
clearInterval(followInterval);
|
|
116
|
+
process.exit(EXIT_CODES.SUCCESS);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
113
119
|
});
|
|
114
120
|
}
|
|
115
121
|
//# sourceMappingURL=tail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAuB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAc/D;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kDAAkD,CAAC;SAC/D,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,eAAe,EAAE,kDAAkD,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,yDAAyD,EAAE,IAAI,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,MAAM,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,IAAI,KAAa,CAAC;QAClB,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE;gBACnD,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,IAAI;aACV,CAAC,CAAC;YAEH,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC9D,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,KAAK;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC;QAED;;WAEG;QACH,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;gBAEjC,IAAI,CAAC;oBACH,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE;wBAC5E,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,eAAe,EAAE,QAAQ;wBACzB,QAAQ,EAAE,UAAU,CAAC,kBAAkB;qBACxC,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAgC,CAAC;gBAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,2BAA2B,CAAC,6BAA6B,EAAE;wBACxE,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,eAAe,EAAE,QAAQ;wBACzB,QAAQ,EAAE,UAAU,CAAC,kBAAkB;qBACxC,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEhB,MAAM,cAAc,GAAmB;oBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI,IAAI,EAAE;iBACrB,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,MAAM,GAAG,2BAA2B,CAAC,oBAAoB,EAAE;oBAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,eAAe,EAAE,QAAQ;iBAC1B,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACzC,MAAM,WAAW,EAAE,CAAC;QAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,KAAK,WAAW,EAAE,CAAC;QACrB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YACxD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/connection/cdp.js
CHANGED
|
@@ -476,16 +476,16 @@ export class CDPConnection {
|
|
|
476
476
|
const errorMessage = `Command timeout: ${method}\n\n` +
|
|
477
477
|
`The browser did not respond within ${timeoutSeconds}s.\n\n` +
|
|
478
478
|
`Possible causes:\n` +
|
|
479
|
-
`
|
|
480
|
-
`
|
|
481
|
-
`
|
|
482
|
-
`
|
|
479
|
+
` - Browser became unresponsive or frozen\n` +
|
|
480
|
+
` - Heavy page load or JavaScript execution\n` +
|
|
481
|
+
` - Network issues or slow connection\n` +
|
|
482
|
+
` - Method requires user interaction\n\n` +
|
|
483
483
|
`Try:\n` +
|
|
484
|
-
`
|
|
485
|
-
`
|
|
486
|
-
`
|
|
487
|
-
`
|
|
488
|
-
`
|
|
484
|
+
` - Check if page is still loading (look for spinner)\n` +
|
|
485
|
+
` - Open Chrome DevTools to check for JavaScript errors\n` +
|
|
486
|
+
` - Reload page and retry: bdg stop && bdg <url>\n` +
|
|
487
|
+
` - Use simpler CDP method or reduce data size\n` +
|
|
488
|
+
` - Check Chrome console: chrome://inspect`;
|
|
489
489
|
reject(new CDPTimeoutError(errorMessage));
|
|
490
490
|
}, this.config.commandTimeout);
|
|
491
491
|
this.pendingMessages.set(id, {
|
package/dist/constants.d.ts
CHANGED
|
@@ -106,9 +106,13 @@ export declare const STALE_REQUEST_CLEANUP_INTERVAL = 30000;
|
|
|
106
106
|
*/
|
|
107
107
|
export declare const DEFAULT_PAGE_READINESS_TIMEOUT_MS = 2000;
|
|
108
108
|
/**
|
|
109
|
-
* Maximum JSONL buffer size in bytes (
|
|
109
|
+
* Maximum JSONL buffer size in bytes (50MB)
|
|
110
110
|
* Prevents OOM attacks from malicious/buggy processes sending data without newlines
|
|
111
111
|
* If buffer exceeds this size, connection is terminated with protocol error
|
|
112
|
+
*
|
|
113
|
+
* Set to 50MB to accommodate large screenshots (base64-encoded full-page captures
|
|
114
|
+
* of content-heavy pages like Amazon can exceed 10MB).
|
|
115
|
+
* Matches CHROME_NETWORK_BUFFER_TOTAL for consistency.
|
|
112
116
|
*/
|
|
113
117
|
export declare const MAX_JSONL_BUFFER_SIZE: number;
|
|
114
118
|
/**
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,UAU5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAKpD,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAMjD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAmB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAMtD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAMtD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -51,9 +51,10 @@ export const BDG_CHROME_FLAGS = [
|
|
|
51
51
|
'--no-default-browser-check',
|
|
52
52
|
'--disable-search-engine-choice-screen',
|
|
53
53
|
'--disable-session-crashed-bubble', // Suppress "Restore Pages?" popup after unclean shutdown
|
|
54
|
+
'--hide-crash-restore-bubble', // New flag to hide crash restore bubble
|
|
54
55
|
'--disable-infobars', // Disable all info bars including restore prompt
|
|
55
56
|
'--disable-notifications', // Suppress notification permission prompts
|
|
56
|
-
'--disable-features=Translate', // Suppress Google Translate popup
|
|
57
|
+
'--disable-features=Translate,SessionCrashedBubble', // Suppress Google Translate popup and SessionCrashedBubble
|
|
57
58
|
'--disable-background-mode', // Attempt to prevent focus stealing (doesn't work reliably on macOS)
|
|
58
59
|
];
|
|
59
60
|
/**
|
|
@@ -78,6 +79,7 @@ export const BDG_CHROME_PREFS = {
|
|
|
78
79
|
'browser.show_quit_confirmation_dialog': false, // Disable quit confirmation for automation
|
|
79
80
|
'translate.enabled': false, // Disable Google Translate popup
|
|
80
81
|
translate_site_blacklist: ['*'], // Block translate for all sites
|
|
82
|
+
'profile.exit_type': 'Normal', // Trick Chrome into thinking it shut down correctly
|
|
81
83
|
};
|
|
82
84
|
// ============================================================================
|
|
83
85
|
// DATA COLLECTION LIMITS
|
|
@@ -139,11 +141,15 @@ export const DEFAULT_PAGE_READINESS_TIMEOUT_MS = 2000;
|
|
|
139
141
|
// IPC CONFIGURATION
|
|
140
142
|
// ============================================================================
|
|
141
143
|
/**
|
|
142
|
-
* Maximum JSONL buffer size in bytes (
|
|
144
|
+
* Maximum JSONL buffer size in bytes (50MB)
|
|
143
145
|
* Prevents OOM attacks from malicious/buggy processes sending data without newlines
|
|
144
146
|
* If buffer exceeds this size, connection is terminated with protocol error
|
|
147
|
+
*
|
|
148
|
+
* Set to 50MB to accommodate large screenshots (base64-encoded full-page captures
|
|
149
|
+
* of content-heavy pages like Amazon can exceed 10MB).
|
|
150
|
+
* Matches CHROME_NETWORK_BUFFER_TOTAL for consistency.
|
|
145
151
|
*/
|
|
146
|
-
export const MAX_JSONL_BUFFER_SIZE =
|
|
152
|
+
export const MAX_JSONL_BUFFER_SIZE = 50 * 1024 * 1024; // 50MB
|
|
147
153
|
/**
|
|
148
154
|
* IPC request timeout in milliseconds (45 seconds in production, 5 seconds in tests)
|
|
149
155
|
* Maximum time to wait for IPC responses from daemon
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,4BAA4B;IAC5B,uCAAuC;IACvC,kCAAkC,EAAE,yDAAyD;IAC7F,oBAAoB,EAAE,iDAAiD;IACvE,yBAAyB,EAAE,2CAA2C;IACtE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern definitions for detecting verbose CDP usage.
|
|
3
|
+
*
|
|
4
|
+
* Defines patterns that indicate agents are using verbose CDP commands
|
|
5
|
+
* when more efficient high-level wrapper commands are available.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Pattern definition for detecting verbose CDP usage.
|
|
9
|
+
*/
|
|
10
|
+
export interface PatternDefinition {
|
|
11
|
+
/** Pattern identifier */
|
|
12
|
+
name: string;
|
|
13
|
+
/** CDP methods that trigger this pattern */
|
|
14
|
+
cdpMethods: string[];
|
|
15
|
+
/** Number of occurrences before showing hint */
|
|
16
|
+
threshold: number;
|
|
17
|
+
/** Suggested high-level alternative command */
|
|
18
|
+
alternative: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Registry of all detectable patterns.
|
|
22
|
+
*
|
|
23
|
+
* Each pattern tracks specific CDP method usage and suggests
|
|
24
|
+
* efficient alternatives when threshold is reached.
|
|
25
|
+
*/
|
|
26
|
+
export declare const PATTERNS: PatternDefinition[];
|
|
27
|
+
/**
|
|
28
|
+
* Get pattern by name.
|
|
29
|
+
*
|
|
30
|
+
* @param name - Pattern identifier
|
|
31
|
+
* @returns Pattern definition if found, undefined otherwise
|
|
32
|
+
*/
|
|
33
|
+
export declare function getPattern(name: string): PatternDefinition | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Get all patterns.
|
|
36
|
+
*
|
|
37
|
+
* @returns Complete pattern registry
|
|
38
|
+
*/
|
|
39
|
+
export declare function getAllPatterns(): PatternDefinition[];
|
|
40
|
+
/**
|
|
41
|
+
* Find patterns matching a CDP method.
|
|
42
|
+
*
|
|
43
|
+
* @param method - CDP method name (e.g., "Runtime.evaluate")
|
|
44
|
+
* @returns Matching pattern definitions
|
|
45
|
+
*/
|
|
46
|
+
export declare function findPatternsForMethod(method: string): PatternDefinition[];
|
|
47
|
+
//# sourceMappingURL=patternDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patternDefinitions.d.ts","sourceRoot":"","sources":["../../src/daemon/patternDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,iBAAiB,EA+BvC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEzE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern definitions for detecting verbose CDP usage.
|
|
3
|
+
*
|
|
4
|
+
* Defines patterns that indicate agents are using verbose CDP commands
|
|
5
|
+
* when more efficient high-level wrapper commands are available.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Registry of all detectable patterns.
|
|
9
|
+
*
|
|
10
|
+
* Each pattern tracks specific CDP method usage and suggests
|
|
11
|
+
* efficient alternatives when threshold is reached.
|
|
12
|
+
*/
|
|
13
|
+
export const PATTERNS = [
|
|
14
|
+
{
|
|
15
|
+
name: 'dom_query_with_evaluate',
|
|
16
|
+
cdpMethods: ['Runtime.evaluate'],
|
|
17
|
+
threshold: 2,
|
|
18
|
+
alternative: 'bdg dom query <selector>',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'screenshot_with_cdp',
|
|
22
|
+
cdpMethods: ['Page.captureScreenshot'],
|
|
23
|
+
threshold: 1,
|
|
24
|
+
alternative: 'bdg dom screenshot [path]',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'cookies_with_cdp',
|
|
28
|
+
cdpMethods: ['Network.getAllCookies', 'Network.getCookies'],
|
|
29
|
+
threshold: 1,
|
|
30
|
+
alternative: 'bdg network getCookies',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'multiple_runtime_evaluations',
|
|
34
|
+
cdpMethods: ['Runtime.evaluate'],
|
|
35
|
+
threshold: 4,
|
|
36
|
+
alternative: 'bdg dom eval <javascript>',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'network_body_fetching',
|
|
40
|
+
cdpMethods: ['Network.getResponseBody'],
|
|
41
|
+
threshold: 3,
|
|
42
|
+
alternative: 'bdg details network <id>',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Get pattern by name.
|
|
47
|
+
*
|
|
48
|
+
* @param name - Pattern identifier
|
|
49
|
+
* @returns Pattern definition if found, undefined otherwise
|
|
50
|
+
*/
|
|
51
|
+
export function getPattern(name) {
|
|
52
|
+
return PATTERNS.find((p) => p.name === name);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get all patterns.
|
|
56
|
+
*
|
|
57
|
+
* @returns Complete pattern registry
|
|
58
|
+
*/
|
|
59
|
+
export function getAllPatterns() {
|
|
60
|
+
return PATTERNS;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Find patterns matching a CDP method.
|
|
64
|
+
*
|
|
65
|
+
* @param method - CDP method name (e.g., "Runtime.evaluate")
|
|
66
|
+
* @returns Matching pattern definitions
|
|
67
|
+
*/
|
|
68
|
+
export function findPatternsForMethod(method) {
|
|
69
|
+
return PATTERNS.filter((p) => p.cdpMethods.includes(method));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=patternDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patternDefinitions.js","sourceRoot":"","sources":["../../src/daemon/patternDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAwB;IAC3C;QACE,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;QAC3D,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACvC,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,0BAA0B;KACxC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern detector for identifying verbose CDP usage.
|
|
3
|
+
*
|
|
4
|
+
* Tracks CDP command execution and detects patterns that indicate
|
|
5
|
+
* agents are using verbose approaches when high-level alternatives exist.
|
|
6
|
+
*/
|
|
7
|
+
import { type PatternDefinition } from './patternDefinitions.js';
|
|
8
|
+
/**
|
|
9
|
+
* Pattern detection result with hint information.
|
|
10
|
+
*/
|
|
11
|
+
export interface PatternDetectionResult {
|
|
12
|
+
/** Whether a hint should be shown */
|
|
13
|
+
shouldShow: boolean;
|
|
14
|
+
/** Pattern that was detected */
|
|
15
|
+
pattern?: PatternDefinition;
|
|
16
|
+
/** How many times this hint has been shown */
|
|
17
|
+
shownCount?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pattern detector for tracking CDP usage and suggesting alternatives.
|
|
21
|
+
*
|
|
22
|
+
* Maintains state for pattern occurrence counts and hint display limits.
|
|
23
|
+
* Designed to provide helpful guidance without overwhelming users.
|
|
24
|
+
*/
|
|
25
|
+
export declare class PatternDetector {
|
|
26
|
+
private readonly methodCounts;
|
|
27
|
+
private readonly hintShownCounts;
|
|
28
|
+
private readonly maxHintsPerPattern;
|
|
29
|
+
/**
|
|
30
|
+
* Track a CDP command execution.
|
|
31
|
+
*
|
|
32
|
+
* Records the command and checks if any patterns are triggered.
|
|
33
|
+
* Returns detection result indicating if a hint should be shown.
|
|
34
|
+
*
|
|
35
|
+
* @param method - CDP method that was executed (e.g., "Runtime.evaluate")
|
|
36
|
+
* @returns Detection result with hint information
|
|
37
|
+
*/
|
|
38
|
+
trackCommand(method: string): PatternDetectionResult;
|
|
39
|
+
/**
|
|
40
|
+
* Reset all pattern tracking state.
|
|
41
|
+
*
|
|
42
|
+
* Useful for testing or when starting a fresh analysis.
|
|
43
|
+
*/
|
|
44
|
+
reset(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Get current method count for a specific CDP method.
|
|
47
|
+
*
|
|
48
|
+
* @param method - CDP method name
|
|
49
|
+
* @returns Number of times method has been called
|
|
50
|
+
*/
|
|
51
|
+
getMethodCount(method: string): number;
|
|
52
|
+
/**
|
|
53
|
+
* Get hint shown count for a specific pattern.
|
|
54
|
+
*
|
|
55
|
+
* @param patternName - Pattern identifier
|
|
56
|
+
* @returns Number of times hint has been shown for this pattern
|
|
57
|
+
*/
|
|
58
|
+
getHintShownCount(patternName: string): number;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=patternDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patternDetector.d.ts","sourceRoot":"","sources":["../../src/daemon/patternDetector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAK;IAExC;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;IAwBpD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAItC;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAG/C"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern detector for identifying verbose CDP usage.
|
|
3
|
+
*
|
|
4
|
+
* Tracks CDP command execution and detects patterns that indicate
|
|
5
|
+
* agents are using verbose approaches when high-level alternatives exist.
|
|
6
|
+
*/
|
|
7
|
+
import { findPatternsForMethod } from './patternDefinitions.js';
|
|
8
|
+
/**
|
|
9
|
+
* Pattern detector for tracking CDP usage and suggesting alternatives.
|
|
10
|
+
*
|
|
11
|
+
* Maintains state for pattern occurrence counts and hint display limits.
|
|
12
|
+
* Designed to provide helpful guidance without overwhelming users.
|
|
13
|
+
*/
|
|
14
|
+
export class PatternDetector {
|
|
15
|
+
methodCounts = new Map();
|
|
16
|
+
hintShownCounts = new Map();
|
|
17
|
+
maxHintsPerPattern = 3;
|
|
18
|
+
/**
|
|
19
|
+
* Track a CDP command execution.
|
|
20
|
+
*
|
|
21
|
+
* Records the command and checks if any patterns are triggered.
|
|
22
|
+
* Returns detection result indicating if a hint should be shown.
|
|
23
|
+
*
|
|
24
|
+
* @param method - CDP method that was executed (e.g., "Runtime.evaluate")
|
|
25
|
+
* @returns Detection result with hint information
|
|
26
|
+
*/
|
|
27
|
+
trackCommand(method) {
|
|
28
|
+
const currentCount = (this.methodCounts.get(method) ?? 0) + 1;
|
|
29
|
+
this.methodCounts.set(method, currentCount);
|
|
30
|
+
const matchingPatterns = findPatternsForMethod(method);
|
|
31
|
+
for (const pattern of matchingPatterns) {
|
|
32
|
+
if (currentCount >= pattern.threshold) {
|
|
33
|
+
const shownCount = this.hintShownCounts.get(pattern.name) ?? 0;
|
|
34
|
+
if (shownCount < this.maxHintsPerPattern) {
|
|
35
|
+
this.hintShownCounts.set(pattern.name, shownCount + 1);
|
|
36
|
+
return {
|
|
37
|
+
shouldShow: true,
|
|
38
|
+
pattern,
|
|
39
|
+
shownCount: shownCount + 1,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return { shouldShow: false };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Reset all pattern tracking state.
|
|
48
|
+
*
|
|
49
|
+
* Useful for testing or when starting a fresh analysis.
|
|
50
|
+
*/
|
|
51
|
+
reset() {
|
|
52
|
+
this.methodCounts.clear();
|
|
53
|
+
this.hintShownCounts.clear();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get current method count for a specific CDP method.
|
|
57
|
+
*
|
|
58
|
+
* @param method - CDP method name
|
|
59
|
+
* @returns Number of times method has been called
|
|
60
|
+
*/
|
|
61
|
+
getMethodCount(method) {
|
|
62
|
+
return this.methodCounts.get(method) ?? 0;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get hint shown count for a specific pattern.
|
|
66
|
+
*
|
|
67
|
+
* @param patternName - Pattern identifier
|
|
68
|
+
* @returns Number of times hint has been shown for this pattern
|
|
69
|
+
*/
|
|
70
|
+
getHintShownCount(patternName) {
|
|
71
|
+
return this.hintShownCounts.get(patternName) ?? 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=patternDetector.js.map
|