@opentabs-dev/mcp-server 0.0.21 → 0.0.24
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/adapter-files.d.ts +53 -0
- package/dist/adapter-files.d.ts.map +1 -0
- package/dist/adapter-files.js +176 -0
- package/dist/adapter-files.js.map +1 -0
- package/dist/audit-disk.d.ts.map +1 -1
- package/dist/audit-disk.js +5 -6
- package/dist/audit-disk.js.map +1 -1
- package/dist/browser-tool-names.d.ts +14 -0
- package/dist/browser-tool-names.d.ts.map +1 -0
- package/dist/browser-tool-names.js +52 -0
- package/dist/browser-tool-names.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/detect-auth.js +2 -1
- package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
- package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/index.js +111 -15
- package/dist/browser-tools/analyze-site/index.js.map +1 -1
- package/dist/browser-tools/execute-script.js +1 -1
- package/dist/browser-tools/execute-script.js.map +1 -1
- package/dist/browser-tools/extension-get-logs.d.ts +2 -2
- package/dist/browser-tools/focus-tab.js +1 -1
- package/dist/browser-tools/focus-tab.js.map +1 -1
- package/dist/browser-tools/get-console-logs.d.ts +2 -2
- package/dist/browser-tools/index.d.ts +4 -0
- package/dist/browser-tools/index.d.ts.map +1 -1
- package/dist/browser-tools/index.js +19 -0
- package/dist/browser-tools/index.js.map +1 -1
- package/dist/browser-tools/select-option.d.ts.map +1 -1
- package/dist/browser-tools/select-option.js +11 -6
- package/dist/browser-tools/select-option.js.map +1 -1
- package/dist/config.d.ts +13 -16
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +43 -69
- package/dist/config.js.map +1 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +9 -12
- package/dist/discovery.js.map +1 -1
- package/dist/extension-handlers.d.ts +102 -0
- package/dist/extension-handlers.d.ts.map +1 -0
- package/dist/extension-handlers.js +443 -0
- package/dist/extension-handlers.js.map +1 -0
- package/dist/extension-protocol.d.ts +6 -38
- package/dist/extension-protocol.d.ts.map +1 -1
- package/dist/extension-protocol.js +47 -535
- package/dist/extension-protocol.js.map +1 -1
- package/dist/file-watcher.d.ts.map +1 -1
- package/dist/file-watcher.js +106 -104
- package/dist/file-watcher.js.map +1 -1
- package/dist/http-routes.d.ts +9 -7
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +275 -265
- package/dist/http-routes.js.map +1 -1
- package/dist/index.js +17 -10
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +14 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +42 -22
- package/dist/loader.js.map +1 -1
- package/dist/log-buffer.d.ts.map +1 -1
- package/dist/log-buffer.js +17 -6
- package/dist/log-buffer.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +5 -2
- package/dist/logger.js.map +1 -1
- package/dist/mcp-setup.d.ts +3 -18
- package/dist/mcp-setup.d.ts.map +1 -1
- package/dist/mcp-setup.js +13 -407
- package/dist/mcp-setup.js.map +1 -1
- package/dist/mcp-tool-dispatch.d.ts +51 -0
- package/dist/mcp-tool-dispatch.d.ts.map +1 -0
- package/dist/mcp-tool-dispatch.js +410 -0
- package/dist/mcp-tool-dispatch.js.map +1 -0
- package/dist/plugin-management.d.ts +123 -0
- package/dist/plugin-management.d.ts.map +1 -0
- package/dist/plugin-management.js +340 -0
- package/dist/plugin-management.js.map +1 -0
- package/dist/registry.d.ts +2 -13
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -24
- package/dist/registry.js.map +1 -1
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +13 -2
- package/dist/reload.js.map +1 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +33 -25
- package/dist/resolver.js.map +1 -1
- package/dist/state.d.ts +30 -21
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +14 -10
- package/dist/state.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +36 -14
- package/dist/version-check.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter and exec file I/O for the extension's adapters/ directory.
|
|
3
|
+
* Handles writing plugin adapter IIFEs, dynamic exec scripts, and cleanup.
|
|
4
|
+
*/
|
|
5
|
+
import type { ServerState } from './state.js';
|
|
6
|
+
/**
|
|
7
|
+
* Ensure the adapters directory exists, creating it if necessary.
|
|
8
|
+
* Caches the result on ServerState so mkdir is called at most once per
|
|
9
|
+
* server lifetime. The flag survives bun --hot reloads (via globalThis state).
|
|
10
|
+
*/
|
|
11
|
+
declare const ensureAdaptersDir: (state: ServerState) => Promise<void>;
|
|
12
|
+
/** Prefix for dynamically generated exec script files */
|
|
13
|
+
declare const EXEC_FILE_PREFIX = "__exec-";
|
|
14
|
+
/** Timeout for batch adapter file writes in sendSyncFull (10 seconds) */
|
|
15
|
+
declare const ADAPTER_WRITE_TIMEOUT_MS = 10000;
|
|
16
|
+
/** Create a cancellable timeout promise for use with Promise.race */
|
|
17
|
+
declare const timeoutRace: <T>(value: T, ms: number) => {
|
|
18
|
+
promise: Promise<T>;
|
|
19
|
+
cancel: () => void;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Write a plugin's adapter IIFE to the extension's adapters/ directory.
|
|
23
|
+
* The extension injects adapters via chrome.scripting.executeScript({ files: [...] })
|
|
24
|
+
* using these files, bypassing page CSP restrictions.
|
|
25
|
+
*
|
|
26
|
+
* If a source map is provided, writes it alongside the adapter as {pluginName}.js.map
|
|
27
|
+
* and rewrites the sourceMappingURL in the IIFE to reference the per-plugin filename
|
|
28
|
+
* (prevents collisions when multiple plugins are loaded).
|
|
29
|
+
*/
|
|
30
|
+
declare const writeAdapterFile: (pluginName: string, iife: string, sourceMap?: string) => Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Remove stale adapter .js files from the adapters directory that do not
|
|
33
|
+
* correspond to any plugin in the current set. Called from sendSyncFull
|
|
34
|
+
* before writing new adapter files.
|
|
35
|
+
*/
|
|
36
|
+
declare const cleanupStaleAdapterFiles: (currentPluginNames: Set<string>) => Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Write a dynamic exec script to the adapters/ directory.
|
|
39
|
+
* Wraps the user's code in an IIFE that captures the result (sync or async)
|
|
40
|
+
* into globalThis.__openTabs.__lastExecResult for the extension to read back.
|
|
41
|
+
*
|
|
42
|
+
* Returns the filename (relative to adapters/) for the extension to inject.
|
|
43
|
+
*/
|
|
44
|
+
declare const writeExecFile: (state: ServerState, execId: string, code: string) => Promise<string>;
|
|
45
|
+
/** Delete a dynamic exec script file. Fire-and-forget — logs on failure. */
|
|
46
|
+
declare const deleteExecFile: (filename: string) => Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Remove stale __exec-*.js files from the adapters directory.
|
|
49
|
+
* Called on server startup to clean up leftovers from crashed sessions.
|
|
50
|
+
*/
|
|
51
|
+
declare const cleanupStaleExecFiles: () => Promise<void>;
|
|
52
|
+
export { ensureAdaptersDir, writeAdapterFile, cleanupStaleAdapterFiles, writeExecFile, deleteExecFile, cleanupStaleExecFiles, timeoutRace, ADAPTER_WRITE_TIMEOUT_MS, EXEC_FILE_PREFIX, };
|
|
53
|
+
//# sourceMappingURL=adapter-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-files.d.ts","sourceRoot":"","sources":["../src/adapter-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,IAAI,CAIjE,CAAC;AAEF,yDAAyD;AACzD,QAAA,MAAM,gBAAgB,YAAY,CAAC;AAEnC,yEAAyE;AACzE,QAAA,MAAM,wBAAwB,QAAS,CAAC;AAExC,qEAAqE;AACrE,QAAA,MAAM,WAAW,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAQvF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,gBAAgB,GAAU,YAAY,MAAM,EAAE,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAkBlG,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,wBAAwB,GAAU,oBAAoB,GAAG,CAAC,MAAM,CAAC,KAAG,OAAO,CAAC,IAAI,CA0CrF,CAAC;AAMF;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,GAAU,OAAO,WAAW,EAAE,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CAkC7F,CAAC;AAEF,4EAA4E;AAC5E,QAAA,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAM5D,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,qBAAqB,QAAa,OAAO,CAAC,IAAI,CAgBnD,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter and exec file I/O for the extension's adapters/ directory.
|
|
3
|
+
* Handles writing plugin adapter IIFEs, dynamic exec scripts, and cleanup.
|
|
4
|
+
*/
|
|
5
|
+
import { getAdaptersDir } from './config.js';
|
|
6
|
+
import { log } from './logger.js';
|
|
7
|
+
import { atomicWrite } from '@opentabs-dev/shared';
|
|
8
|
+
import { mkdir, readdir } from 'node:fs/promises';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
/**
|
|
11
|
+
* Ensure the adapters directory exists, creating it if necessary.
|
|
12
|
+
* Caches the result on ServerState so mkdir is called at most once per
|
|
13
|
+
* server lifetime. The flag survives bun --hot reloads (via globalThis state).
|
|
14
|
+
*/
|
|
15
|
+
const ensureAdaptersDir = async (state) => {
|
|
16
|
+
if (state.adaptersDirReady)
|
|
17
|
+
return;
|
|
18
|
+
await mkdir(getAdaptersDir(), { recursive: true });
|
|
19
|
+
state.adaptersDirReady = true;
|
|
20
|
+
};
|
|
21
|
+
/** Prefix for dynamically generated exec script files */
|
|
22
|
+
const EXEC_FILE_PREFIX = '__exec-';
|
|
23
|
+
/** Timeout for batch adapter file writes in sendSyncFull (10 seconds) */
|
|
24
|
+
const ADAPTER_WRITE_TIMEOUT_MS = 10_000;
|
|
25
|
+
/** Create a cancellable timeout promise for use with Promise.race */
|
|
26
|
+
const timeoutRace = (value, ms) => {
|
|
27
|
+
let timerId;
|
|
28
|
+
const promise = new Promise(resolve => {
|
|
29
|
+
timerId = setTimeout(() => resolve(value), ms);
|
|
30
|
+
});
|
|
31
|
+
// timerId is assigned synchronously by the Promise executor
|
|
32
|
+
const cancel = () => clearTimeout(timerId);
|
|
33
|
+
return { promise, cancel };
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Write a plugin's adapter IIFE to the extension's adapters/ directory.
|
|
37
|
+
* The extension injects adapters via chrome.scripting.executeScript({ files: [...] })
|
|
38
|
+
* using these files, bypassing page CSP restrictions.
|
|
39
|
+
*
|
|
40
|
+
* If a source map is provided, writes it alongside the adapter as {pluginName}.js.map
|
|
41
|
+
* and rewrites the sourceMappingURL in the IIFE to reference the per-plugin filename
|
|
42
|
+
* (prevents collisions when multiple plugins are loaded).
|
|
43
|
+
*/
|
|
44
|
+
const writeAdapterFile = async (pluginName, iife, sourceMap) => {
|
|
45
|
+
const adaptersDir = getAdaptersDir();
|
|
46
|
+
const finalPath = join(adaptersDir, `${pluginName}.js`);
|
|
47
|
+
let content = iife;
|
|
48
|
+
if (sourceMap) {
|
|
49
|
+
// Rewrite sourceMappingURL to use the per-plugin filename
|
|
50
|
+
content = iife.replace(/\/\/# sourceMappingURL=adapter\.iife\.js\.map/, `//# sourceMappingURL=${pluginName}.js.map`);
|
|
51
|
+
// Write source map atomically
|
|
52
|
+
const mapFinalPath = join(adaptersDir, `${pluginName}.js.map`);
|
|
53
|
+
await atomicWrite(mapFinalPath, sourceMap);
|
|
54
|
+
}
|
|
55
|
+
await atomicWrite(finalPath, content);
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Remove stale adapter .js files from the adapters directory that do not
|
|
59
|
+
* correspond to any plugin in the current set. Called from sendSyncFull
|
|
60
|
+
* before writing new adapter files.
|
|
61
|
+
*/
|
|
62
|
+
const cleanupStaleAdapterFiles = async (currentPluginNames) => {
|
|
63
|
+
const adaptersDir = getAdaptersDir();
|
|
64
|
+
let entries;
|
|
65
|
+
try {
|
|
66
|
+
entries = await readdir(adaptersDir);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Directory may not exist yet on first run
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const staleFiles = entries.filter(f => {
|
|
73
|
+
if (f.endsWith('.js.tmp') || f.endsWith('.js.map.tmp'))
|
|
74
|
+
return false;
|
|
75
|
+
if (f.startsWith(EXEC_FILE_PREFIX))
|
|
76
|
+
return false; // Managed by cleanupStaleExecFiles
|
|
77
|
+
// Match adapter .js files
|
|
78
|
+
if (f.endsWith('.js')) {
|
|
79
|
+
const pluginName = f.slice(0, -3); // strip '.js'
|
|
80
|
+
return !currentPluginNames.has(pluginName);
|
|
81
|
+
}
|
|
82
|
+
// Match adapter .js.map source map files
|
|
83
|
+
if (f.endsWith('.js.map')) {
|
|
84
|
+
const pluginName = f.slice(0, -7); // strip '.js.map'
|
|
85
|
+
return !currentPluginNames.has(pluginName);
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
});
|
|
89
|
+
if (staleFiles.length === 0)
|
|
90
|
+
return;
|
|
91
|
+
const results = await Promise.allSettled(staleFiles.map(f => Bun.file(join(adaptersDir, f)).delete()));
|
|
92
|
+
let deleted = 0;
|
|
93
|
+
for (const [i, result] of results.entries()) {
|
|
94
|
+
if (result.status === 'rejected') {
|
|
95
|
+
const fileName = staleFiles[i] ?? 'unknown';
|
|
96
|
+
log.warn(`Failed to delete stale adapter file ${fileName}:`, result.reason);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
deleted++;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
log.info(`Cleaned up ${deleted} stale adapter file(s)`);
|
|
103
|
+
};
|
|
104
|
+
// ---------------------------------------------------------------------------
|
|
105
|
+
// Dynamic exec file helpers — write/delete/cleanup for browser_execute_script
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
/**
|
|
108
|
+
* Write a dynamic exec script to the adapters/ directory.
|
|
109
|
+
* Wraps the user's code in an IIFE that captures the result (sync or async)
|
|
110
|
+
* into globalThis.__openTabs.__lastExecResult for the extension to read back.
|
|
111
|
+
*
|
|
112
|
+
* Returns the filename (relative to adapters/) for the extension to inject.
|
|
113
|
+
*/
|
|
114
|
+
const writeExecFile = async (state, execId, code) => {
|
|
115
|
+
await ensureAdaptersDir(state);
|
|
116
|
+
const filename = `${EXEC_FILE_PREFIX}${execId}.js`;
|
|
117
|
+
const finalPath = join(getAdaptersDir(), filename);
|
|
118
|
+
// Wrap user code to capture sync/async results and errors.
|
|
119
|
+
// The wrapper stores results at globalThis.__openTabs.__lastExecResult.
|
|
120
|
+
// The extension reads this value after injection and cleans it up.
|
|
121
|
+
//
|
|
122
|
+
// User code is passed as a JSON-escaped string literal to new Function(),
|
|
123
|
+
// preventing IIFE wrapper breakout attacks. The Function constructor
|
|
124
|
+
// parses the code in its own context — closing braces/parens in user
|
|
125
|
+
// code cannot break the wrapper syntax.
|
|
126
|
+
const wrapped = [
|
|
127
|
+
'(function() {',
|
|
128
|
+
' var __ot = globalThis.__openTabs = globalThis.__openTabs || {};',
|
|
129
|
+
' try {',
|
|
130
|
+
` var __userFn = new Function(${JSON.stringify(code)});`,
|
|
131
|
+
' var __r = __userFn();',
|
|
132
|
+
' if (__r && typeof __r === "object" && typeof __r.then === "function") {',
|
|
133
|
+
' __ot.__lastExecAsync = true;',
|
|
134
|
+
' __r.then(function(v) { __ot.__lastExecResult = { value: v }; })',
|
|
135
|
+
' .catch(function(e) { __ot.__lastExecResult = { error: e instanceof Error ? e.message : String(e) }; });',
|
|
136
|
+
' } else {',
|
|
137
|
+
' __ot.__lastExecResult = { value: __r };',
|
|
138
|
+
' }',
|
|
139
|
+
' } catch (e) {',
|
|
140
|
+
' __ot.__lastExecResult = { error: e instanceof Error ? e.message : String(e) };',
|
|
141
|
+
' }',
|
|
142
|
+
'})();',
|
|
143
|
+
].join('\n');
|
|
144
|
+
await atomicWrite(finalPath, wrapped);
|
|
145
|
+
return filename;
|
|
146
|
+
};
|
|
147
|
+
/** Delete a dynamic exec script file. Fire-and-forget — logs on failure. */
|
|
148
|
+
const deleteExecFile = async (filename) => {
|
|
149
|
+
try {
|
|
150
|
+
await Bun.file(join(getAdaptersDir(), filename)).delete();
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
log.warn(`Failed to delete exec file: ${filename}`);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Remove stale __exec-*.js files from the adapters directory.
|
|
158
|
+
* Called on server startup to clean up leftovers from crashed sessions.
|
|
159
|
+
*/
|
|
160
|
+
const cleanupStaleExecFiles = async () => {
|
|
161
|
+
const adaptersDir = getAdaptersDir();
|
|
162
|
+
let entries;
|
|
163
|
+
try {
|
|
164
|
+
entries = await readdir(adaptersDir);
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const staleExecFiles = entries.filter(f => f.startsWith(EXEC_FILE_PREFIX) && (f.endsWith('.js') || f.endsWith('.js.tmp')));
|
|
170
|
+
if (staleExecFiles.length === 0)
|
|
171
|
+
return;
|
|
172
|
+
await Promise.allSettled(staleExecFiles.map(f => Bun.file(join(adaptersDir, f)).delete()));
|
|
173
|
+
log.info(`Cleaned up ${staleExecFiles.length} stale exec file(s)`);
|
|
174
|
+
};
|
|
175
|
+
export { ensureAdaptersDir, writeAdapterFile, cleanupStaleAdapterFiles, writeExecFile, deleteExecFile, cleanupStaleExecFiles, timeoutRace, ADAPTER_WRITE_TIMEOUT_MS, EXEC_FILE_PREFIX, };
|
|
176
|
+
//# sourceMappingURL=adapter-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-files.js","sourceRoot":"","sources":["../src/adapter-files.ts"],"names":[],"mappings":"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"}
|
package/dist/audit-disk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-disk.d.ts","sourceRoot":"","sources":["../src/audit-disk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"audit-disk.d.ts","sourceRoot":"","sources":["../src/audit-disk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiC7C,yCAAyC;AACzC,QAAA,MAAM,eAAe,QAAO,MAA2C,CAAC;AAExE;;;;;GAKG;AACH,QAAA,MAAM,sBAAsB,GAAU,OAAO,UAAU,KAAG,OAAO,CAAC,IAAI,CAmBrE,CAAC;AAEF,4CAA4C;AAC5C,QAAA,MAAM,iBAAiB,QAAO,IAE7B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/audit-disk.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { getConfigDir } from './config.js';
|
|
11
11
|
import { log } from './logger.js';
|
|
12
|
-
import {
|
|
12
|
+
import { safeChmod, toErrorMessage } from '@opentabs-dev/shared';
|
|
13
|
+
import { appendFile, rename, stat, unlink } from 'node:fs/promises';
|
|
13
14
|
import { join } from 'node:path';
|
|
14
15
|
/** Maximum audit.log size before rotation (10 MB) */
|
|
15
16
|
const MAX_AUDIT_FILE_SIZE = 10 * 1024 * 1024;
|
|
@@ -35,7 +36,7 @@ const rotateIfNeeded = async (auditPath) => {
|
|
|
35
36
|
// File doesn't exist yet or stat failed — no rotation needed
|
|
36
37
|
if (err.code === 'ENOENT')
|
|
37
38
|
return;
|
|
38
|
-
log.warn(`Audit log rotation failed: ${
|
|
39
|
+
log.warn(`Audit log rotation failed: ${toErrorMessage(err)}`);
|
|
39
40
|
}
|
|
40
41
|
};
|
|
41
42
|
/** Get the path to the audit log file */
|
|
@@ -56,14 +57,12 @@ const appendAuditEntryToDisk = async (entry) => {
|
|
|
56
57
|
await appendFile(auditPath, line, { mode: 0o600 });
|
|
57
58
|
// Set permissions on first write this session
|
|
58
59
|
if (!initialized) {
|
|
59
|
-
await
|
|
60
|
-
log.warn(`Warning: Could not set file permissions on ${auditPath}: ${err instanceof Error ? err.message : String(err)}. The audit file may be readable by other users.`);
|
|
61
|
-
});
|
|
60
|
+
await safeChmod(auditPath, 0o600);
|
|
62
61
|
initialized = true;
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
catch (err) {
|
|
66
|
-
log.warn(`Failed to write audit entry to disk: ${
|
|
65
|
+
log.warn(`Failed to write audit entry to disk: ${toErrorMessage(err)}`);
|
|
67
66
|
}
|
|
68
67
|
};
|
|
69
68
|
/** Reset initialized state (for testing) */
|
package/dist/audit-disk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-disk.js","sourceRoot":"","sources":["../src/audit-disk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"audit-disk.js","sourceRoot":"","sources":["../src/audit-disk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,iFAAiF;AACjF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,GAAG,mBAAmB;YAAE,OAAO;QAE7C,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;QAErC,mCAAmC;QACnC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE1C,2BAA2B;QAC3B,MAAM,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAErC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6DAA6D;QAC7D,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC7D,GAAG,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,KAAK,EAAE,KAAiB,EAAiB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1C,4CAA4C;QAC5C,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;QAEhC,mBAAmB;QACnB,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEnD,8CAA8C;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAClC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,wCAAwC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,GAAS,EAAE;IACnC,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static list of all browser tool names.
|
|
3
|
+
*
|
|
4
|
+
* Extracted into its own module so the plugin loader can check for browser
|
|
5
|
+
* tool name references (prompt injection detection) without pulling in the
|
|
6
|
+
* full browser-tools barrel and its heavy dependencies (Zod schemas,
|
|
7
|
+
* handler implementations, etc.).
|
|
8
|
+
*
|
|
9
|
+
* browser-tools/index.ts validates at module load time that this list
|
|
10
|
+
* matches the actual tool definitions.
|
|
11
|
+
*/
|
|
12
|
+
declare const BROWSER_TOOL_NAMES: readonly string[];
|
|
13
|
+
export { BROWSER_TOOL_NAMES };
|
|
14
|
+
//# sourceMappingURL=browser-tool-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-tool-names.d.ts","sourceRoot":"","sources":["../src/browser-tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,QAAA,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAsCxC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static list of all browser tool names.
|
|
3
|
+
*
|
|
4
|
+
* Extracted into its own module so the plugin loader can check for browser
|
|
5
|
+
* tool name references (prompt injection detection) without pulling in the
|
|
6
|
+
* full browser-tools barrel and its heavy dependencies (Zod schemas,
|
|
7
|
+
* handler implementations, etc.).
|
|
8
|
+
*
|
|
9
|
+
* browser-tools/index.ts validates at module load time that this list
|
|
10
|
+
* matches the actual tool definitions.
|
|
11
|
+
*/
|
|
12
|
+
const BROWSER_TOOL_NAMES = [
|
|
13
|
+
'extension_reload',
|
|
14
|
+
'browser_list_tabs',
|
|
15
|
+
'browser_open_tab',
|
|
16
|
+
'browser_close_tab',
|
|
17
|
+
'browser_navigate_tab',
|
|
18
|
+
'browser_focus_tab',
|
|
19
|
+
'browser_get_tab_info',
|
|
20
|
+
'browser_execute_script',
|
|
21
|
+
'browser_screenshot_tab',
|
|
22
|
+
'browser_get_tab_content',
|
|
23
|
+
'browser_get_page_html',
|
|
24
|
+
'browser_get_storage',
|
|
25
|
+
'browser_click_element',
|
|
26
|
+
'browser_type_text',
|
|
27
|
+
'browser_select_option',
|
|
28
|
+
'browser_wait_for_element',
|
|
29
|
+
'browser_query_elements',
|
|
30
|
+
'browser_get_cookies',
|
|
31
|
+
'browser_set_cookie',
|
|
32
|
+
'browser_delete_cookies',
|
|
33
|
+
'browser_enable_network_capture',
|
|
34
|
+
'browser_get_network_requests',
|
|
35
|
+
'browser_disable_network_capture',
|
|
36
|
+
'browser_get_console_logs',
|
|
37
|
+
'browser_clear_console_logs',
|
|
38
|
+
'browser_list_resources',
|
|
39
|
+
'browser_get_resource_content',
|
|
40
|
+
'browser_press_key',
|
|
41
|
+
'browser_scroll',
|
|
42
|
+
'browser_hover_element',
|
|
43
|
+
'browser_handle_dialog',
|
|
44
|
+
'extension_get_state',
|
|
45
|
+
'extension_get_logs',
|
|
46
|
+
'extension_get_side_panel',
|
|
47
|
+
'extension_check_adapter',
|
|
48
|
+
'extension_force_reconnect',
|
|
49
|
+
'plugin_analyze_site',
|
|
50
|
+
];
|
|
51
|
+
export { BROWSER_TOOL_NAMES };
|
|
52
|
+
//# sourceMappingURL=browser-tool-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-tool-names.js","sourceRoot":"","sources":["../src/browser-tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,kBAAkB,GAAsB;IAC5C,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;IACnB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,wBAAwB;IACxB,gCAAgC;IAChC,8BAA8B;IAC9B,iCAAiC;IACjC,0BAA0B;IAC1B,4BAA4B;IAC5B,wBAAwB;IACxB,8BAA8B;IAC9B,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,qBAAqB;CACtB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-auth.d.ts","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/detect-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,mFAAmF;AACnF,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mEAAmE;AACnE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6DAA6D;AAC7D,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,0EAA0E;AAC1E,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,mBAAmB,EAAE,YAAY,EAAE,CAAC;IACpC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IACtC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B;AAMD,iFAAiF;AACjF,KAAK,cAAc,GACf,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,oBAAoB,GACpB,aAAa,CAAC;AAElB,yGAAyG;AACzG,UAAU,UAAU;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,0GAA0G;AAC1G,UAAU,YAAY;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"detect-auth.d.ts","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/detect-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,mFAAmF;AACnF,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mEAAmE;AACnE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6DAA6D;AAC7D,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,0EAA0E;AAC1E,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,mBAAmB,EAAE,YAAY,EAAE,CAAC;IACpC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IACtC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B;AAMD,iFAAiF;AACjF,KAAK,cAAc,GACf,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,oBAAoB,GACpB,aAAa,CAAC;AAElB,yGAAyG;AACzG,UAAU,UAAU;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,0GAA0G;AAC1G,UAAU,YAAY;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAwXD;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,GAAI,OAAO,kBAAkB,KAAG,YAqC/C,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,GACb,CAAC"}
|
|
@@ -52,10 +52,11 @@ const detectCookieSessions = (cookies) => {
|
|
|
52
52
|
const methods = [];
|
|
53
53
|
for (const cookie of cookies) {
|
|
54
54
|
if (SESSION_COOKIE_PATTERNS.some(p => p.test(cookie.name))) {
|
|
55
|
+
const escapedName = cookie.name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
55
56
|
methods.push({
|
|
56
57
|
type: 'cookie-session',
|
|
57
58
|
details: `Session cookie "${cookie.name}" found`,
|
|
58
|
-
extractionHint: `document.cookie.match(/${
|
|
59
|
+
extractionHint: `document.cookie.match(/${escapedName}=([^;]+)/)?.[1]`,
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-auth.js","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/detect-auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detect-auth.js","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/detect-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,mFAAmF;AACnF,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvC;AAED,sGAAsG;AACtG,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAkuBD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,WAAW,GACf,OAAO,WAAW,EAClB,KAAK,MAAM,EACX,cAAa,MAA6B,KACzC,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser-tools/analyze-site/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,mFAAmF;AACnF,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvC;AAED,sGAAsG;AACtG,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAkuBD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,WAAW,GACf,OAAO,WAAW,EAClB,KAAK,MAAM,EACX,cAAa,MAA6B,KACzC,OAAO,CAAC,YAAY,CA0MtB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -23,7 +23,7 @@ import { dispatchToExtension, writeExecFile, deleteExecFile } from '../../extens
|
|
|
23
23
|
*/
|
|
24
24
|
const executeInTab = async (state, tabId, code) => {
|
|
25
25
|
const execId = crypto.randomUUID();
|
|
26
|
-
const filename = await writeExecFile(execId, code);
|
|
26
|
+
const filename = await writeExecFile(state, execId, code);
|
|
27
27
|
try {
|
|
28
28
|
const result = (await dispatchToExtension(state, 'browser.executeScript', {
|
|
29
29
|
tabId,
|
|
@@ -370,7 +370,7 @@ const GLOBALS_SCAN_SCRIPT = `
|
|
|
370
370
|
const keys = Object.keys(window);
|
|
371
371
|
for (const key of keys) {
|
|
372
372
|
if (BROWSER_BUILTINS.has(key)) continue;
|
|
373
|
-
if (key.startsWith('_') && key.startsWith('
|
|
373
|
+
if (key.startsWith('__zone') || (key.startsWith('_') && !key.startsWith('__'))) continue;
|
|
374
374
|
try {
|
|
375
375
|
const val = window[key];
|
|
376
376
|
const type = typeof val;
|
|
@@ -607,7 +607,7 @@ const graphqlQuerySuggestions = (endpoint) => {
|
|
|
607
607
|
const match = /(?:query|mutation)\s+(\w+)/.exec(query);
|
|
608
608
|
if (match?.[1]) {
|
|
609
609
|
const opName = match[1];
|
|
610
|
-
const isMutation =
|
|
610
|
+
const isMutation = match[0].startsWith('mutation');
|
|
611
611
|
return [
|
|
612
612
|
{
|
|
613
613
|
toolName: `gql_${toSnakeCase(opName)}`,
|
|
@@ -736,7 +736,12 @@ const DEFAULT_WAIT_SECONDS = 5;
|
|
|
736
736
|
*/
|
|
737
737
|
const analyzeSite = async (state, url, waitSeconds = DEFAULT_WAIT_SECONDS) => {
|
|
738
738
|
// Step 1: Open a new tab
|
|
739
|
-
const openResult =
|
|
739
|
+
const openResult = await dispatchToExtension(state, 'browser.openTab', { url });
|
|
740
|
+
if (typeof openResult !== 'object' ||
|
|
741
|
+
openResult === null ||
|
|
742
|
+
typeof openResult.id !== 'number') {
|
|
743
|
+
throw new Error(`browser.openTab returned invalid result: expected { id: number }, got ${JSON.stringify(openResult)}`);
|
|
744
|
+
}
|
|
740
745
|
const tabId = openResult.id;
|
|
741
746
|
try {
|
|
742
747
|
// Step 2: Enable network capture
|
|
@@ -750,17 +755,108 @@ const analyzeSite = async (state, url, waitSeconds = DEFAULT_WAIT_SECONDS) => {
|
|
|
750
755
|
// Sequential execution avoids the extension's per-method rate limit
|
|
751
756
|
// (max 10 browser.executeScript calls per second) and is reliable
|
|
752
757
|
// since each script completes quickly (~5-50ms in page context).
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
758
|
+
// Each call is individually wrapped in try-catch so one failure
|
|
759
|
+
// returns partial results rather than crashing the entire analysis.
|
|
760
|
+
let csrfTokens = [];
|
|
761
|
+
try {
|
|
762
|
+
csrfTokens = ((await executeInTab(state, tabId, CSRF_SCRIPT)) ?? []);
|
|
763
|
+
}
|
|
764
|
+
catch {
|
|
765
|
+
// Partial analysis: CSRF detection skipped
|
|
766
|
+
}
|
|
767
|
+
let globalsAuth = [];
|
|
768
|
+
try {
|
|
769
|
+
globalsAuth = ((await executeInTab(state, tabId, GLOBALS_AUTH_SCRIPT)) ?? []);
|
|
770
|
+
}
|
|
771
|
+
catch {
|
|
772
|
+
// Partial analysis: globals auth detection skipped
|
|
773
|
+
}
|
|
774
|
+
let frameworkProbes = [];
|
|
775
|
+
try {
|
|
776
|
+
frameworkProbes = ((await executeInTab(state, tabId, FRAMEWORK_PROBE_SCRIPT)) ?? []);
|
|
777
|
+
}
|
|
778
|
+
catch {
|
|
779
|
+
// Partial analysis: framework detection skipped
|
|
780
|
+
}
|
|
781
|
+
const defaultSpaSsrProbe = {
|
|
782
|
+
hasSingleRootElement: false,
|
|
783
|
+
usesPushState: false,
|
|
784
|
+
hasNextData: false,
|
|
785
|
+
hasNuxtData: false,
|
|
786
|
+
hasHydrationMarkers: false,
|
|
787
|
+
};
|
|
788
|
+
let spaSsrProbe = defaultSpaSsrProbe;
|
|
789
|
+
try {
|
|
790
|
+
spaSsrProbe =
|
|
791
|
+
(await executeInTab(state, tabId, SPA_SSR_PROBE_SCRIPT)) ??
|
|
792
|
+
defaultSpaSsrProbe;
|
|
793
|
+
}
|
|
794
|
+
catch {
|
|
795
|
+
// Partial analysis: SPA/SSR detection skipped
|
|
796
|
+
}
|
|
797
|
+
let globalsScan = [];
|
|
798
|
+
try {
|
|
799
|
+
globalsScan = ((await executeInTab(state, tabId, GLOBALS_SCAN_SCRIPT)) ?? []);
|
|
800
|
+
}
|
|
801
|
+
catch {
|
|
802
|
+
// Partial analysis: globals scan skipped
|
|
803
|
+
}
|
|
804
|
+
let forms = [];
|
|
805
|
+
try {
|
|
806
|
+
forms = ((await executeInTab(state, tabId, FORMS_SCRIPT)) ?? []);
|
|
807
|
+
}
|
|
808
|
+
catch {
|
|
809
|
+
// Partial analysis: forms detection skipped
|
|
810
|
+
}
|
|
811
|
+
let interactiveElements = [];
|
|
812
|
+
try {
|
|
813
|
+
const result = (await executeInTab(state, tabId, INTERACTIVE_ELEMENTS_SCRIPT)) ?? [];
|
|
814
|
+
interactiveElements = result;
|
|
815
|
+
}
|
|
816
|
+
catch {
|
|
817
|
+
// Partial analysis: interactive elements detection skipped
|
|
818
|
+
}
|
|
819
|
+
let dataAttributes = [];
|
|
820
|
+
try {
|
|
821
|
+
dataAttributes = ((await executeInTab(state, tabId, DATA_ATTRIBUTES_SCRIPT)) ?? []);
|
|
822
|
+
}
|
|
823
|
+
catch {
|
|
824
|
+
// Partial analysis: data attributes detection skipped
|
|
825
|
+
}
|
|
826
|
+
const defaultStorageKeys = {
|
|
827
|
+
cookieNames: [],
|
|
828
|
+
localStorageKeys: [],
|
|
829
|
+
sessionStorageKeys: [],
|
|
830
|
+
};
|
|
831
|
+
let storageKeys = defaultStorageKeys;
|
|
832
|
+
try {
|
|
833
|
+
storageKeys =
|
|
834
|
+
(await executeInTab(state, tabId, STORAGE_KEYS_SCRIPT)) ??
|
|
835
|
+
defaultStorageKeys;
|
|
836
|
+
}
|
|
837
|
+
catch {
|
|
838
|
+
// Partial analysis: storage keys detection skipped
|
|
839
|
+
}
|
|
840
|
+
const defaultStorageEntries = {
|
|
841
|
+
localEntries: [],
|
|
842
|
+
sessionEntries: [],
|
|
843
|
+
};
|
|
844
|
+
let storageEntries = defaultStorageEntries;
|
|
845
|
+
try {
|
|
846
|
+
storageEntries =
|
|
847
|
+
(await executeInTab(state, tabId, STORAGE_ENTRIES_SCRIPT)) ??
|
|
848
|
+
defaultStorageEntries;
|
|
849
|
+
}
|
|
850
|
+
catch {
|
|
851
|
+
// Partial analysis: storage entries detection skipped
|
|
852
|
+
}
|
|
853
|
+
let pageTitle = '';
|
|
854
|
+
try {
|
|
855
|
+
pageTitle = (await executeInTab(state, tabId, 'return document.title')) ?? '';
|
|
856
|
+
}
|
|
857
|
+
catch {
|
|
858
|
+
// Partial analysis: page title detection skipped
|
|
859
|
+
}
|
|
764
860
|
// Step 5: Get captured network requests
|
|
765
861
|
const networkResult = (await dispatchToExtension(state, 'browser.getNetworkRequests', {
|
|
766
862
|
tabId,
|