browser-debugger-cli 0.6.6 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -269
- package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
- package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/console.contract.test.js +118 -0
- package/dist/commands/__tests__/console.contract.test.js.map +1 -0
- package/dist/commands/__tests__/helpJson.contract.test.d.ts +12 -0
- package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/helpJson.contract.test.js +121 -0
- package/dist/commands/__tests__/helpJson.contract.test.js.map +1 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +26 -7
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -1
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +17 -91
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts +17 -0
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +158 -56
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +3 -1
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/DomElementResolver.d.ts +138 -0
- package/dist/commands/dom/DomElementResolver.d.ts.map +1 -0
- package/dist/commands/dom/DomElementResolver.js +173 -0
- package/dist/commands/dom/DomElementResolver.js.map +1 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +4 -28
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +1 -1
- 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 +11 -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 +5 -5
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +0 -50
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +2 -56
- 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 +50 -44
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/keyMapping.d.ts +0 -6
- package/dist/commands/dom/keyMapping.d.ts.map +1 -1
- package/dist/commands/dom/keyMapping.js +0 -8
- package/dist/commands/dom/keyMapping.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +12 -18
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +21 -70
- package/dist/commands/dom/reactEventHelpers.js.map +1 -1
- package/dist/commands/helpJson.d.ts +165 -0
- package/dist/commands/helpJson.d.ts.map +1 -0
- package/dist/commands/helpJson.js +252 -0
- package/dist/commands/helpJson.js.map +1 -0
- package/dist/commands/machineReadableHelp.d.ts +21 -2
- package/dist/commands/machineReadableHelp.d.ts.map +1 -1
- package/dist/commands/machineReadableHelp.js +95 -60
- package/dist/commands/machineReadableHelp.js.map +1 -1
- package/dist/commands/network.d.ts.map +1 -1
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +5 -7
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +4 -10
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +2 -2
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts +0 -15
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +0 -32
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/optionTypes.d.ts +247 -0
- package/dist/commands/shared/optionTypes.d.ts.map +1 -0
- package/dist/commands/shared/optionTypes.js +20 -0
- package/dist/commands/shared/optionTypes.js.map +1 -0
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +3 -3
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +8 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +17 -43
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +49 -59
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/types.d.ts +2 -1
- package/dist/connection/types.d.ts.map +1 -1
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +39 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/responseHandler.js +1 -0
- package/dist/daemon/handlers/responseHandler.js.map +1 -1
- package/dist/daemon/ipcServer.js +8 -8
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +19 -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 +5 -2
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/patternDefinitions.d.ts +0 -13
- package/dist/daemon/patternDefinitions.d.ts.map +1 -1
- package/dist/daemon/patternDefinitions.js +0 -17
- package/dist/daemon/patternDefinitions.js.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +3 -0
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/index.js +34 -2
- package/dist/index.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/ipc/session/queries.d.ts +2 -0
- package/dist/ipc/session/queries.d.ts.map +1 -1
- package/dist/ipc/utils/responseValidator.d.ts +7 -1
- package/dist/ipc/utils/responseValidator.d.ts.map +1 -1
- package/dist/ipc/utils/responseValidator.js +6 -1
- package/dist/ipc/utils/responseValidator.js.map +1 -1
- package/dist/session/QueryCacheManager.d.ts +140 -0
- package/dist/session/QueryCacheManager.d.ts.map +1 -0
- package/dist/session/QueryCacheManager.js +233 -0
- package/dist/session/QueryCacheManager.js.map +1 -0
- package/dist/session/cleanup.d.ts +63 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +191 -65
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/queryCache.d.ts +25 -14
- package/dist/session/queryCache.d.ts.map +1 -1
- package/dist/session/queryCache.js +31 -60
- package/dist/session/queryCache.js.map +1 -1
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +9 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.js +138 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.js.map +1 -0
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +29 -17
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/dom.d.ts +1 -0
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +9 -4
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +3 -0
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +25 -3
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +35 -6
- package/dist/telemetry/network.js.map +1 -1
- package/dist/telemetry/remoteObject.d.ts +58 -0
- package/dist/telemetry/remoteObject.d.ts.map +1 -0
- package/dist/telemetry/remoteObject.js +134 -0
- package/dist/telemetry/remoteObject.js.map +1 -0
- package/dist/telemetry/roleInference.d.ts +50 -0
- package/dist/telemetry/roleInference.d.ts.map +1 -0
- package/dist/telemetry/roleInference.js +163 -0
- package/dist/telemetry/roleInference.js.map +1 -0
- package/dist/telemetry/utils.d.ts +0 -57
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +0 -71
- package/dist/telemetry/utils.js.map +1 -1
- package/dist/types/dom.d.ts +2 -0
- package/dist/types/dom.d.ts.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.d.ts +0 -9
- package/dist/ui/formatters/a11y.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.js +0 -45
- package/dist/ui/formatters/a11y.js.map +1 -1
- package/dist/ui/formatters/console.d.ts +131 -0
- package/dist/ui/formatters/console.d.ts.map +1 -0
- package/dist/ui/formatters/console.js +400 -0
- package/dist/ui/formatters/console.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +2 -39
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/logging/index.d.ts +1 -1
- package/dist/ui/logging/index.d.ts.map +1 -1
- package/dist/ui/logging/index.js +1 -1
- package/dist/ui/logging/index.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +21 -0
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js +24 -6
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +0 -14
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +0 -18
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/consoleMessages.d.ts +12 -27
- package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
- package/dist/ui/messages/consoleMessages.js +16 -31
- package/dist/ui/messages/consoleMessages.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +0 -16
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +0 -18
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/hints.d.ts +0 -10
- package/dist/ui/messages/hints.d.ts.map +1 -1
- package/dist/ui/messages/hints.js +0 -12
- package/dist/ui/messages/hints.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts +0 -17
- package/dist/utils/decisionTrees.d.ts.map +1 -1
- package/dist/utils/decisionTrees.js +17 -23
- package/dist/utils/decisionTrees.js.map +1 -1
- package/dist/utils/errorMapping.d.ts +60 -0
- package/dist/utils/errorMapping.d.ts.map +1 -0
- package/dist/utils/errorMapping.js +97 -0
- package/dist/utils/errorMapping.js.map +1 -0
- package/dist/utils/file.d.ts +27 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +37 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/levenshtein.d.ts +0 -17
- package/dist/utils/levenshtein.d.ts.map +1 -1
- package/dist/utils/levenshtein.js +0 -31
- package/dist/utils/levenshtein.js.map +1 -1
- package/dist/utils/strings.d.ts +14 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +23 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/taskMappings.d.ts +0 -17
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +18 -24
- package/dist/utils/taskMappings.js.map +1 -1
- package/dist/utils/typeGuards.d.ts +62 -0
- package/dist/utils/typeGuards.d.ts.map +1 -0
- package/dist/utils/typeGuards.js +94 -0
- package/dist/utils/typeGuards.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../../src/daemon/worker/commandRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAErD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;YAElD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtF,aAAa,CAAC;gBACZ,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxF,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../../src/daemon/worker/commandRegistry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { generateMachineReadableHelp } from './commands/
|
|
3
|
+
import { generateMachineReadableHelp, generateSubcommandHelp } from './commands/helpJson.js';
|
|
4
4
|
import { commandRegistry } from './commands.js';
|
|
5
5
|
import { getErrorMessage } from './connection/errors.js';
|
|
6
6
|
import { isDaemonRunning, launchDaemon } from './daemon/launcher.js';
|
|
@@ -17,6 +17,35 @@ const DAEMON_START_FAILED_PREFIX = 'Failed to start daemon:';
|
|
|
17
17
|
const CLI_NAME = 'bdg';
|
|
18
18
|
const CLI_DESCRIPTION = 'Browser telemetry via Chrome DevTools Protocol';
|
|
19
19
|
const log = createLogger('bdg');
|
|
20
|
+
/**
|
|
21
|
+
* Extract command path from argv for subcommand help routing.
|
|
22
|
+
*
|
|
23
|
+
* Parses argv to find command names before --help flag.
|
|
24
|
+
* Stops at first flag (starts with -) or --help.
|
|
25
|
+
*
|
|
26
|
+
* @param argv - Process arguments array
|
|
27
|
+
* @returns Array of command names (e.g., ['dom', 'query'])
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* extractCommandPath(['node', 'bdg', 'dom', 'query', '--help', '--json'])
|
|
32
|
+
* // Returns: ['dom', 'query']
|
|
33
|
+
*
|
|
34
|
+
* extractCommandPath(['node', 'bdg', '--help', '--json'])
|
|
35
|
+
* // Returns: []
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
function extractCommandPath(argv) {
|
|
39
|
+
const commandPath = [];
|
|
40
|
+
const args = argv.slice(2);
|
|
41
|
+
for (const arg of args) {
|
|
42
|
+
if (arg.startsWith('-')) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
commandPath.push(arg);
|
|
46
|
+
}
|
|
47
|
+
return commandPath;
|
|
48
|
+
}
|
|
20
49
|
/**
|
|
21
50
|
* Check if the current process is running as the daemon worker.
|
|
22
51
|
*
|
|
@@ -79,7 +108,10 @@ async function main() {
|
|
|
79
108
|
.option('--debug', 'Enable debug logging (verbose output)');
|
|
80
109
|
commandRegistry.forEach((register) => register(program));
|
|
81
110
|
if (process.argv.includes('--help') && process.argv.includes('--json')) {
|
|
82
|
-
const
|
|
111
|
+
const commandPath = extractCommandPath(process.argv);
|
|
112
|
+
const help = commandPath.length > 0
|
|
113
|
+
? generateSubcommandHelp(program, commandPath)
|
|
114
|
+
: generateMachineReadableHelp(program);
|
|
83
115
|
console.log(JSON.stringify(help, null, 2));
|
|
84
116
|
process.exit(0);
|
|
85
117
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,8 @@ export interface WorkerStatusData {
|
|
|
96
96
|
target: PageState;
|
|
97
97
|
activeTelemetry: string[];
|
|
98
98
|
activity: SessionActivity;
|
|
99
|
+
/** Current navigation counter (increments on each page navigation). */
|
|
100
|
+
navigationId: number;
|
|
99
101
|
}
|
|
100
102
|
/**
|
|
101
103
|
* Worker HAR data command request schema (no parameters required).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyJH;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW,EAAE,EAAE,aAAa,EAAE,EAAuB,EAAE,cAAc,EAAE,EAAoB,EAAE;IAC7F,cAAc,EAAE;QACd,aAAa,EAAE,EAA0B;QACzC,cAAc,EAAE,EAAuB;KACxC;IACD,aAAa,EAAE;QACb,aAAa,EAAE,EAAyB;QACxC,cAAc,EAAE,EAAsB;KACvC;IACD,eAAe,EAAE;QACf,aAAa,EAAE,EAA0B;QACzC,cAAc,EAAE,EAAuB;KACxC;IACD,sBAAsB,EAAE;QACtB,aAAa,EAAE,EAAiC;QAChD,cAAc,EAAE,EAA8B;KAC/C;IACD,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAoB,EAAE,cAAc,EAAE,EAAiB,EAAE;CACpD,CAAC"}
|
|
@@ -38,6 +38,8 @@ export interface StatusResponseData {
|
|
|
38
38
|
activity?: SessionActivity;
|
|
39
39
|
/** Current page state. */
|
|
40
40
|
pageState?: PageState;
|
|
41
|
+
/** Current navigation counter (increments on each page navigation). */
|
|
42
|
+
navigationId?: number;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
45
|
* Status response (daemon → client).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/ipc/session/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/ipc/session/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC response validation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides standardized error handling for IPC/CDP calls with type narrowing.
|
|
5
|
+
*/
|
|
1
6
|
/**
|
|
2
7
|
* Base response interface for validation.
|
|
3
8
|
* Both IPCResponse and ClientResponse follow this structure.
|
|
@@ -5,6 +10,7 @@
|
|
|
5
10
|
interface BaseResponse {
|
|
6
11
|
status: 'ok' | 'error';
|
|
7
12
|
error?: string;
|
|
13
|
+
data?: object;
|
|
8
14
|
}
|
|
9
15
|
/**
|
|
10
16
|
* Response type with success status.
|
|
@@ -25,7 +31,7 @@ type SuccessResponse<T extends BaseResponse> = T & {
|
|
|
25
31
|
* Works with both IPCResponse (legacy) and ClientResponse (new) types.
|
|
26
32
|
*
|
|
27
33
|
* @param response - IPC or CDP response from daemon
|
|
28
|
-
* @throws
|
|
34
|
+
* @throws IPCError if response.status === 'error'
|
|
29
35
|
*
|
|
30
36
|
* @example
|
|
31
37
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseValidator.d.ts","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,UAAU,YAAY;IACpB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"responseValidator.d.ts","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,UAAU,YAAY;IACpB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,KAAK,eAAe,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,YAAY,EACxD,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAIxC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC response validation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides standardized error handling for IPC/CDP calls with type narrowing.
|
|
5
|
+
*/
|
|
1
6
|
import { IPCError } from '../../ipc/transport/IPCError.js';
|
|
2
7
|
/**
|
|
3
8
|
* Validate IPC response and throw on error.
|
|
@@ -11,7 +16,7 @@ import { IPCError } from '../../ipc/transport/IPCError.js';
|
|
|
11
16
|
* Works with both IPCResponse (legacy) and ClientResponse (new) types.
|
|
12
17
|
*
|
|
13
18
|
* @param response - IPC or CDP response from daemon
|
|
14
|
-
* @throws
|
|
19
|
+
* @throws IPCError if response.status === 'error'
|
|
15
20
|
*
|
|
16
21
|
* @example
|
|
17
22
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseValidator.js","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responseValidator.js","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAkBvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAW;IAEX,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query cache manager for DOM element index-based access.
|
|
3
|
+
*
|
|
4
|
+
* Provides centralized management of DOM query result caching with:
|
|
5
|
+
* - Singleton pattern for consistent cache access
|
|
6
|
+
* - Navigation-aware staleness detection
|
|
7
|
+
* - TTL-based navigation ID caching to reduce IPC calls
|
|
8
|
+
*
|
|
9
|
+
* The cache enables index-based element access patterns like
|
|
10
|
+
* "bdg dom get 0" after running "bdg dom query .selector".
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const manager = QueryCacheManager.getInstance();
|
|
15
|
+
*
|
|
16
|
+
* // Store query results
|
|
17
|
+
* await manager.set(queryResult);
|
|
18
|
+
*
|
|
19
|
+
* // Validate and retrieve (throws if stale)
|
|
20
|
+
* const validation = await manager.validate();
|
|
21
|
+
* if (validation.valid) {
|
|
22
|
+
* const cache = validation.cache;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import type { DomQueryResult } from '../types/dom.js';
|
|
27
|
+
/**
|
|
28
|
+
* Result of validating query cache against current navigation state.
|
|
29
|
+
*/
|
|
30
|
+
export interface QueryCacheValidation {
|
|
31
|
+
/** Whether the cache is valid for use. */
|
|
32
|
+
valid: boolean;
|
|
33
|
+
/** The cached query result (if exists). */
|
|
34
|
+
cache: DomQueryResult | null;
|
|
35
|
+
/** Error message if cache is invalid. */
|
|
36
|
+
error?: string;
|
|
37
|
+
/** Suggestion for fixing the error. */
|
|
38
|
+
suggestion?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Singleton manager for DOM query result caching.
|
|
42
|
+
*
|
|
43
|
+
* Centralizes all cache operations with navigation-aware staleness detection.
|
|
44
|
+
* Uses file-based persistence for cross-process access.
|
|
45
|
+
*/
|
|
46
|
+
export declare class QueryCacheManager {
|
|
47
|
+
private static instance;
|
|
48
|
+
/** Cached navigation ID with timestamp for TTL-based invalidation. */
|
|
49
|
+
private cachedNavigationId;
|
|
50
|
+
/**
|
|
51
|
+
* Get the singleton instance.
|
|
52
|
+
*
|
|
53
|
+
* @returns QueryCacheManager instance
|
|
54
|
+
*/
|
|
55
|
+
static getInstance(): QueryCacheManager;
|
|
56
|
+
/**
|
|
57
|
+
* Reset the singleton instance (for testing).
|
|
58
|
+
*/
|
|
59
|
+
static resetInstance(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Get path to query cache file.
|
|
62
|
+
*
|
|
63
|
+
* @returns Absolute path to query-cache.json
|
|
64
|
+
*/
|
|
65
|
+
private getCachePath;
|
|
66
|
+
/**
|
|
67
|
+
* Store query results for index-based access.
|
|
68
|
+
*
|
|
69
|
+
* Writes results to ~/.bdg/query-cache.json for cross-process access.
|
|
70
|
+
*
|
|
71
|
+
* @param result - DOM query result to cache
|
|
72
|
+
*/
|
|
73
|
+
set(result: DomQueryResult): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Get validated cache results.
|
|
76
|
+
*
|
|
77
|
+
* Returns null if cache is stale or doesn't exist.
|
|
78
|
+
* Use getRaw() for unchecked access.
|
|
79
|
+
*
|
|
80
|
+
* @returns Cached query result or null if invalid/missing
|
|
81
|
+
*/
|
|
82
|
+
get(): Promise<DomQueryResult | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Get raw cache without validation.
|
|
85
|
+
*
|
|
86
|
+
* Reads from ~/.bdg/query-cache.json if it exists.
|
|
87
|
+
* Does not check navigation staleness.
|
|
88
|
+
*
|
|
89
|
+
* @returns Cached query result or null if no cache exists
|
|
90
|
+
*/
|
|
91
|
+
getRaw(): Promise<DomQueryResult | null>;
|
|
92
|
+
/**
|
|
93
|
+
* Validate cache against current navigation state.
|
|
94
|
+
*
|
|
95
|
+
* Checks if the cached query results are still valid by comparing
|
|
96
|
+
* the stored navigationId with the current one from the daemon.
|
|
97
|
+
*
|
|
98
|
+
* @returns Validation result with cache and error info
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const validation = await manager.validate();
|
|
103
|
+
* if (!validation.valid) {
|
|
104
|
+
* throw new CommandError(validation.error, { suggestion: validation.suggestion });
|
|
105
|
+
* }
|
|
106
|
+
* const cache = validation.cache;
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
validate(): Promise<QueryCacheValidation>;
|
|
110
|
+
/**
|
|
111
|
+
* Clear the query cache.
|
|
112
|
+
*
|
|
113
|
+
* Removes ~/.bdg/query-cache.json.
|
|
114
|
+
* Called when starting a new query or when the session ends.
|
|
115
|
+
*/
|
|
116
|
+
clear(): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Check if cache file exists.
|
|
119
|
+
*
|
|
120
|
+
* @returns True if cache file exists
|
|
121
|
+
*/
|
|
122
|
+
exists(): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Get current navigation ID from the daemon.
|
|
125
|
+
*
|
|
126
|
+
* Caches the result for 500ms to avoid redundant IPC calls within a single
|
|
127
|
+
* command execution while ensuring freshness for subsequent commands.
|
|
128
|
+
*
|
|
129
|
+
* @returns Current navigation ID or null if unavailable
|
|
130
|
+
*/
|
|
131
|
+
getCurrentNavigationId(): Promise<number | null>;
|
|
132
|
+
/**
|
|
133
|
+
* Invalidate cached navigation ID.
|
|
134
|
+
*
|
|
135
|
+
* Forces fresh fetch on next getCurrentNavigationId() call.
|
|
136
|
+
* Useful after navigation events.
|
|
137
|
+
*/
|
|
138
|
+
invalidateNavigationCache(): void;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=QueryCacheManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryCacheManager.d.ts","sourceRoot":"","sources":["../../src/session/QueryCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IAEzD,sEAAsE;IACtE,OAAO,CAAC,kBAAkB,CAAqD;IAE/E;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAKvC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;;;;;;OAOG;IACG,GAAG,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK3C;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiB9C;;;;;;;;;;;;;;;;OAgBG;IACG,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAoC/C;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;;;OAIG;IACH,MAAM,IAAI,OAAO;IAIjB;;;;;;;OAOG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2BtD;;;;;OAKG;IACH,yBAAyB,IAAI,IAAI;CAGlC"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query cache manager for DOM element index-based access.
|
|
3
|
+
*
|
|
4
|
+
* Provides centralized management of DOM query result caching with:
|
|
5
|
+
* - Singleton pattern for consistent cache access
|
|
6
|
+
* - Navigation-aware staleness detection
|
|
7
|
+
* - TTL-based navigation ID caching to reduce IPC calls
|
|
8
|
+
*
|
|
9
|
+
* The cache enables index-based element access patterns like
|
|
10
|
+
* "bdg dom get 0" after running "bdg dom query .selector".
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const manager = QueryCacheManager.getInstance();
|
|
15
|
+
*
|
|
16
|
+
* // Store query results
|
|
17
|
+
* await manager.set(queryResult);
|
|
18
|
+
*
|
|
19
|
+
* // Validate and retrieve (throws if stale)
|
|
20
|
+
* const validation = await manager.validate();
|
|
21
|
+
* if (validation.valid) {
|
|
22
|
+
* const cache = validation.cache;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { existsSync } from 'fs';
|
|
27
|
+
import { readFile, rm, writeFile } from 'fs/promises';
|
|
28
|
+
import { join } from 'path';
|
|
29
|
+
import { getErrorMessage } from '../connection/errors.js';
|
|
30
|
+
import { getSessionDir } from '../session/paths.js';
|
|
31
|
+
import { createLogger } from '../ui/logging/index.js';
|
|
32
|
+
const log = createLogger('session');
|
|
33
|
+
/** TTL for cached navigation ID (500ms). */
|
|
34
|
+
const NAVIGATION_ID_CACHE_TTL_MS = 500;
|
|
35
|
+
/**
|
|
36
|
+
* Singleton manager for DOM query result caching.
|
|
37
|
+
*
|
|
38
|
+
* Centralizes all cache operations with navigation-aware staleness detection.
|
|
39
|
+
* Uses file-based persistence for cross-process access.
|
|
40
|
+
*/
|
|
41
|
+
export class QueryCacheManager {
|
|
42
|
+
static instance = null;
|
|
43
|
+
/** Cached navigation ID with timestamp for TTL-based invalidation. */
|
|
44
|
+
cachedNavigationId = null;
|
|
45
|
+
/**
|
|
46
|
+
* Get the singleton instance.
|
|
47
|
+
*
|
|
48
|
+
* @returns QueryCacheManager instance
|
|
49
|
+
*/
|
|
50
|
+
static getInstance() {
|
|
51
|
+
QueryCacheManager.instance ??= new QueryCacheManager();
|
|
52
|
+
return QueryCacheManager.instance;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reset the singleton instance (for testing).
|
|
56
|
+
*/
|
|
57
|
+
static resetInstance() {
|
|
58
|
+
QueryCacheManager.instance = null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get path to query cache file.
|
|
62
|
+
*
|
|
63
|
+
* @returns Absolute path to query-cache.json
|
|
64
|
+
*/
|
|
65
|
+
getCachePath() {
|
|
66
|
+
return join(getSessionDir(), 'query-cache.json');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Store query results for index-based access.
|
|
70
|
+
*
|
|
71
|
+
* Writes results to ~/.bdg/query-cache.json for cross-process access.
|
|
72
|
+
*
|
|
73
|
+
* @param result - DOM query result to cache
|
|
74
|
+
*/
|
|
75
|
+
async set(result) {
|
|
76
|
+
try {
|
|
77
|
+
const cachePath = this.getCachePath();
|
|
78
|
+
await writeFile(cachePath, JSON.stringify(result), 'utf-8');
|
|
79
|
+
log.debug(`Cached ${result.nodes.length} query results to ${cachePath}`);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
log.debug(`Failed to write query cache: ${getErrorMessage(error)}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get validated cache results.
|
|
87
|
+
*
|
|
88
|
+
* Returns null if cache is stale or doesn't exist.
|
|
89
|
+
* Use getRaw() for unchecked access.
|
|
90
|
+
*
|
|
91
|
+
* @returns Cached query result or null if invalid/missing
|
|
92
|
+
*/
|
|
93
|
+
async get() {
|
|
94
|
+
const validation = await this.validate();
|
|
95
|
+
return validation.valid ? validation.cache : null;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get raw cache without validation.
|
|
99
|
+
*
|
|
100
|
+
* Reads from ~/.bdg/query-cache.json if it exists.
|
|
101
|
+
* Does not check navigation staleness.
|
|
102
|
+
*
|
|
103
|
+
* @returns Cached query result or null if no cache exists
|
|
104
|
+
*/
|
|
105
|
+
async getRaw() {
|
|
106
|
+
try {
|
|
107
|
+
const cachePath = this.getCachePath();
|
|
108
|
+
if (!existsSync(cachePath)) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const content = await readFile(cachePath, 'utf-8');
|
|
112
|
+
const result = JSON.parse(content);
|
|
113
|
+
log.debug(`Retrieved ${result.nodes.length} cached query results`);
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
log.debug(`Failed to read query cache: ${getErrorMessage(error)}`);
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Validate cache against current navigation state.
|
|
123
|
+
*
|
|
124
|
+
* Checks if the cached query results are still valid by comparing
|
|
125
|
+
* the stored navigationId with the current one from the daemon.
|
|
126
|
+
*
|
|
127
|
+
* @returns Validation result with cache and error info
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const validation = await manager.validate();
|
|
132
|
+
* if (!validation.valid) {
|
|
133
|
+
* throw new CommandError(validation.error, { suggestion: validation.suggestion });
|
|
134
|
+
* }
|
|
135
|
+
* const cache = validation.cache;
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
async validate() {
|
|
139
|
+
const cache = await this.getRaw();
|
|
140
|
+
if (!cache) {
|
|
141
|
+
return {
|
|
142
|
+
valid: false,
|
|
143
|
+
cache: null,
|
|
144
|
+
error: 'No cached query results found',
|
|
145
|
+
suggestion: 'Run "bdg dom query <selector>" first to generate indexed results',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (cache.navigationId === undefined) {
|
|
149
|
+
log.debug('Query cache missing navigationId (legacy format), allowing access');
|
|
150
|
+
return { valid: true, cache };
|
|
151
|
+
}
|
|
152
|
+
const currentNavId = await this.getCurrentNavigationId();
|
|
153
|
+
if (currentNavId === null) {
|
|
154
|
+
log.debug('Could not get current navigationId, allowing cache access');
|
|
155
|
+
return { valid: true, cache };
|
|
156
|
+
}
|
|
157
|
+
if (cache.navigationId !== currentNavId) {
|
|
158
|
+
return {
|
|
159
|
+
valid: false,
|
|
160
|
+
cache,
|
|
161
|
+
error: `Query cache is stale (page has navigated since query was run)`,
|
|
162
|
+
suggestion: `Re-run "bdg dom query ${cache.selector}" to refresh cached results`,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
return { valid: true, cache };
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Clear the query cache.
|
|
169
|
+
*
|
|
170
|
+
* Removes ~/.bdg/query-cache.json.
|
|
171
|
+
* Called when starting a new query or when the session ends.
|
|
172
|
+
*/
|
|
173
|
+
async clear() {
|
|
174
|
+
try {
|
|
175
|
+
const cachePath = this.getCachePath();
|
|
176
|
+
if (existsSync(cachePath)) {
|
|
177
|
+
await rm(cachePath, { force: true });
|
|
178
|
+
log.debug('Cleared query cache');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
log.debug(`Failed to clear query cache: ${getErrorMessage(error)}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Check if cache file exists.
|
|
187
|
+
*
|
|
188
|
+
* @returns True if cache file exists
|
|
189
|
+
*/
|
|
190
|
+
exists() {
|
|
191
|
+
return existsSync(this.getCachePath());
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get current navigation ID from the daemon.
|
|
195
|
+
*
|
|
196
|
+
* Caches the result for 500ms to avoid redundant IPC calls within a single
|
|
197
|
+
* command execution while ensuring freshness for subsequent commands.
|
|
198
|
+
*
|
|
199
|
+
* @returns Current navigation ID or null if unavailable
|
|
200
|
+
*/
|
|
201
|
+
async getCurrentNavigationId() {
|
|
202
|
+
if (this.cachedNavigationId &&
|
|
203
|
+
Date.now() - this.cachedNavigationId.timestamp < NAVIGATION_ID_CACHE_TTL_MS) {
|
|
204
|
+
return this.cachedNavigationId.value;
|
|
205
|
+
}
|
|
206
|
+
try {
|
|
207
|
+
const { getStatus } = await import('../ipc/client.js');
|
|
208
|
+
const response = await getStatus();
|
|
209
|
+
if (response.status === 'ok' && response.data?.navigationId !== undefined) {
|
|
210
|
+
this.cachedNavigationId = {
|
|
211
|
+
value: response.data.navigationId,
|
|
212
|
+
timestamp: Date.now(),
|
|
213
|
+
};
|
|
214
|
+
return response.data.navigationId;
|
|
215
|
+
}
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
log.debug(`Failed to get current navigation ID: ${getErrorMessage(error)}`);
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Invalidate cached navigation ID.
|
|
225
|
+
*
|
|
226
|
+
* Forces fresh fetch on next getCurrentNavigationId() call.
|
|
227
|
+
* Useful after navigation events.
|
|
228
|
+
*/
|
|
229
|
+
invalidateNavigationCache() {
|
|
230
|
+
this.cachedNavigationId = null;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=QueryCacheManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryCacheManager.js","sourceRoot":"","sources":["../../src/session/QueryCacheManager.ts"],"names":[],"mappings":"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"}
|