@natchs/browser-mcp 2.3.1 → 2.4.0
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 +295 -15
- package/dist/core/audit-logger.d.ts +3 -0
- package/dist/core/audit-logger.d.ts.map +1 -0
- package/dist/core/audit-logger.js +5 -0
- package/dist/core/audit-logger.js.map +1 -0
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +29 -1
- package/dist/core/auth.js.map +1 -1
- package/dist/core/body-fetch.d.ts.map +1 -1
- package/dist/core/body-fetch.js +26 -2
- package/dist/core/body-fetch.js.map +1 -1
- package/dist/core/browser-lifecycle.d.ts +29 -0
- package/dist/core/browser-lifecycle.d.ts.map +1 -0
- package/dist/core/browser-lifecycle.js +107 -0
- package/dist/core/browser-lifecycle.js.map +1 -0
- package/dist/core/browser-provider.d.ts +7 -3
- package/dist/core/browser-provider.d.ts.map +1 -1
- package/dist/core/browser-provider.js +65 -10
- package/dist/core/browser-provider.js.map +1 -1
- package/dist/core/config.d.ts +22 -6
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +6 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +0 -12
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +4 -13
- package/dist/core/errors.js.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/network-capture-utils.d.ts +49 -0
- package/dist/core/network-capture-utils.d.ts.map +1 -0
- package/dist/core/network-capture-utils.js +56 -0
- package/dist/core/network-capture-utils.js.map +1 -0
- package/dist/core/network-capture.d.ts +2 -39
- package/dist/core/network-capture.d.ts.map +1 -1
- package/dist/core/network-capture.js +17 -54
- package/dist/core/network-capture.js.map +1 -1
- package/dist/core/network-export.d.ts +3 -3
- package/dist/core/network-export.d.ts.map +1 -1
- package/dist/core/network-export.js +13 -21
- package/dist/core/network-export.js.map +1 -1
- package/dist/core/output.d.ts +0 -28
- package/dist/core/output.d.ts.map +1 -1
- package/dist/core/registry.d.ts +2 -0
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +14 -3
- package/dist/core/registry.js.map +1 -1
- package/dist/core/sandbox.d.ts +4 -5
- package/dist/core/sandbox.d.ts.map +1 -1
- package/dist/core/sandbox.js +31 -23
- package/dist/core/sandbox.js.map +1 -1
- package/dist/core/session.d.ts +4 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +43 -22
- package/dist/core/session.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +2 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/admin/cache.js +3 -3
- package/dist/tools/admin/cache.js.map +1 -1
- package/dist/tools/admin/server-status.js +2 -2
- package/dist/tools/admin/server-status.js.map +1 -1
- package/dist/tools/browser/cookies.js +4 -4
- package/dist/tools/browser/cookies.js.map +1 -1
- package/dist/tools/browser/download.js +2 -2
- package/dist/tools/browser/download.js.map +1 -1
- package/dist/tools/browser/evaluate.d.ts.map +1 -1
- package/dist/tools/browser/evaluate.js +23 -6
- package/dist/tools/browser/evaluate.js.map +1 -1
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +2 -0
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/page-info.js +2 -2
- package/dist/tools/browser/page-info.js.map +1 -1
- package/dist/tools/browser/pdf.js +4 -4
- package/dist/tools/browser/pdf.js.map +1 -1
- package/dist/tools/browser/screenshot.js +3 -3
- package/dist/tools/browser/screenshot.js.map +1 -1
- package/dist/tools/browser/scroll.d.ts +17 -0
- package/dist/tools/browser/scroll.d.ts.map +1 -0
- package/dist/tools/browser/scroll.js +30 -0
- package/dist/tools/browser/scroll.js.map +1 -0
- package/dist/tools/extraction/extract-css.js +7 -7
- package/dist/tools/extraction/extract-css.js.map +1 -1
- package/dist/tools/extraction/extract.js +4 -4
- package/dist/tools/extraction/extract.js.map +1 -1
- package/dist/tools/interaction/click.d.ts +1 -2
- package/dist/tools/interaction/click.d.ts.map +1 -1
- package/dist/tools/interaction/click.js +9 -15
- package/dist/tools/interaction/click.js.map +1 -1
- package/dist/tools/interaction/drag.js +4 -4
- package/dist/tools/interaction/drag.js.map +1 -1
- package/dist/tools/interaction/file-upload.d.ts.map +1 -1
- package/dist/tools/interaction/file-upload.js +11 -5
- package/dist/tools/interaction/file-upload.js.map +1 -1
- package/dist/tools/interaction/fill.d.ts.map +1 -1
- package/dist/tools/interaction/fill.js +5 -7
- package/dist/tools/interaction/fill.js.map +1 -1
- package/dist/tools/interaction/hover.js +3 -3
- package/dist/tools/interaction/hover.js.map +1 -1
- package/dist/tools/interaction/press-key.js +3 -3
- package/dist/tools/interaction/press-key.js.map +1 -1
- package/dist/tools/interaction/select.js +4 -4
- package/dist/tools/interaction/select.js.map +1 -1
- package/dist/tools/interaction/type.d.ts +1 -1
- package/dist/tools/interaction/type.js +4 -4
- package/dist/tools/interaction/type.js.map +1 -1
- package/dist/tools/navigation/back.js +2 -2
- package/dist/tools/navigation/back.js.map +1 -1
- package/dist/tools/navigation/forward.js +2 -2
- package/dist/tools/navigation/forward.js.map +1 -1
- package/dist/tools/navigation/navigate.js +2 -2
- package/dist/tools/navigation/navigate.js.map +1 -1
- package/dist/tools/navigation/refresh.js +2 -2
- package/dist/tools/navigation/refresh.js.map +1 -1
- package/dist/tools/navigation/wait-for.js +2 -2
- package/dist/tools/navigation/wait-for.js.map +1 -1
- package/dist/tools/network/console.js +2 -2
- package/dist/tools/network/console.js.map +1 -1
- package/dist/tools/network/dialog.js +2 -2
- package/dist/tools/network/dialog.js.map +1 -1
- package/dist/tools/network/network-clear.js +2 -2
- package/dist/tools/network/network-clear.js.map +1 -1
- package/dist/tools/network/network-entries.js +2 -2
- package/dist/tools/network/network-entries.js.map +1 -1
- package/dist/tools/network/network-export.d.ts +2 -2
- package/dist/tools/network/network-export.js +2 -2
- package/dist/tools/network/network-export.js.map +1 -1
- package/dist/tools/network/network-requests.js +2 -2
- package/dist/tools/network/network-requests.js.map +1 -1
- package/dist/tools/network/network-response.js +2 -2
- package/dist/tools/network/network-response.js.map +1 -1
- package/dist/tools/network/network-save.js +2 -2
- package/dist/tools/network/network-save.js.map +1 -1
- package/dist/tools/network/wait-nav.js +2 -2
- package/dist/tools/network/wait-nav.js.map +1 -1
- package/dist/tools/network/websocket-frames.js +2 -2
- package/dist/tools/network/websocket-frames.js.map +1 -1
- package/dist/tools/re/api-discover.d.ts +3 -3
- package/dist/tools/re/api-discover.d.ts.map +1 -1
- package/dist/tools/re/api-discover.js +32 -11
- package/dist/tools/re/api-discover.js.map +1 -1
- package/dist/tools/re/auth-analyze.d.ts +3 -3
- package/dist/tools/re/auth-analyze.d.ts.map +1 -1
- package/dist/tools/re/auth-analyze.js +43 -6
- package/dist/tools/re/auth-analyze.js.map +1 -1
- package/dist/tools/re/js-beautify.js +3 -3
- package/dist/tools/re/js-beautify.js.map +1 -1
- package/dist/tools/re/js-deobfuscate.js +3 -3
- package/dist/tools/re/js-deobfuscate.js.map +1 -1
- package/dist/tools/session/close.js +2 -2
- package/dist/tools/session/close.js.map +1 -1
- package/dist/tools/session/list.js +2 -2
- package/dist/tools/session/list.js.map +1 -1
- package/dist/tools/session/open.js +2 -2
- package/dist/tools/session/open.js.map +1 -1
- package/dist/tools/stealth/fingerprint.d.ts +13 -0
- package/dist/tools/stealth/fingerprint.d.ts.map +1 -1
- package/dist/tools/stealth/fingerprint.js +16 -3
- package/dist/tools/stealth/fingerprint.js.map +1 -1
- package/dist/tools/stealth/human-behavior.js +2 -2
- package/dist/tools/stealth/human-behavior.js.map +1 -1
- package/package.json +1 -2
package/dist/core/errors.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export declare const ErrorCode: {
|
|
|
6
6
|
readonly SESSION_MANAGER_UNAVAILABLE: "SESSION_MANAGER_UNAVAILABLE";
|
|
7
7
|
readonly NAVIGATION_FAILED: "NAVIGATION_FAILED";
|
|
8
8
|
readonly WAIT_NAVIGATION_FAILED: "WAIT_NAVIGATION_FAILED";
|
|
9
|
-
readonly NAVIGATION_BACK_FAILED: "NAVIGATION_BACK_FAILED";
|
|
10
9
|
readonly GO_FORWARD_FAILED: "GO_FORWARD_FAILED";
|
|
11
10
|
readonly REFRESH_FAILED: "REFRESH_FAILED";
|
|
12
11
|
readonly WAIT_FAILED: "WAIT_FAILED";
|
|
@@ -18,15 +17,10 @@ export declare const ErrorCode: {
|
|
|
18
17
|
readonly SCROLL_FAILED: "SCROLL_FAILED";
|
|
19
18
|
readonly HOVER_FAILED: "HOVER_FAILED";
|
|
20
19
|
readonly SELECT_FAILED: "SELECT_FAILED";
|
|
21
|
-
readonly DROP_FAILED: "DROP_FAILED";
|
|
22
|
-
readonly FILE_UPLOAD_FAILED: "FILE_UPLOAD_FAILED";
|
|
23
20
|
readonly UPLOAD_FAILED: "UPLOAD_FAILED";
|
|
24
|
-
readonly FILL_FORM_FAILED: "FILL_FORM_FAILED";
|
|
25
21
|
readonly FILL_FAILED: "FILL_FAILED";
|
|
26
22
|
readonly PRESS_KEY_FAILED: "PRESS_KEY_FAILED";
|
|
27
23
|
readonly PATH_BLOCKED: "PATH_BLOCKED";
|
|
28
|
-
readonly EXTRACT_CONTENT_FAILED: "EXTRACT_CONTENT_FAILED";
|
|
29
|
-
readonly EXTRACT_LINKS_FAILED: "EXTRACT_LINKS_FAILED";
|
|
30
24
|
readonly EXTRACT_HTML_FAILED: "EXTRACT_HTML_FAILED";
|
|
31
25
|
readonly EXTRACT_MARKDOWN_FAILED: "EXTRACT_MARKDOWN_FAILED";
|
|
32
26
|
readonly EXTRACT_TEXT_FAILED: "EXTRACT_TEXT_FAILED";
|
|
@@ -59,19 +53,13 @@ export declare const ErrorCode: {
|
|
|
59
53
|
readonly SESSION_CLOSE_FAILED: "SESSION_CLOSE_FAILED";
|
|
60
54
|
readonly SESSION_NOT_FOUND: "SESSION_NOT_FOUND";
|
|
61
55
|
readonly LIST_SESSIONS_FAILED: "LIST_SESSIONS_FAILED";
|
|
62
|
-
readonly TOOL_LIST_FAILED: "TOOL_LIST_FAILED";
|
|
63
|
-
readonly SESSION_LIST_FAILED: "SESSION_LIST_FAILED";
|
|
64
|
-
readonly CATEGORY_LIST_FAILED: "CATEGORY_LIST_FAILED";
|
|
65
56
|
readonly CACHE_STATS_FAILED: "CACHE_STATS_FAILED";
|
|
66
57
|
readonly CLEAR_CACHE_FAILED: "CLEAR_CACHE_FAILED";
|
|
67
58
|
readonly SERVER_STATUS_FAILED: "SERVER_STATUS_FAILED";
|
|
68
59
|
readonly FINGERPRINT_FAILED: "FINGERPRINT_FAILED";
|
|
69
60
|
readonly HUMAN_BEHAVIOR_FAILED: "HUMAN_BEHAVIOR_FAILED";
|
|
70
61
|
readonly PREFLIGHT_FAILED: "PREFLIGHT_FAILED";
|
|
71
|
-
readonly SANDBOX_VIOLATION: "SANDBOX_VIOLATION";
|
|
72
|
-
readonly PATH_TRAVERSAL: "PATH_TRAVERSAL";
|
|
73
62
|
readonly INVALID_URL: "INVALID_URL";
|
|
74
|
-
readonly PROTOCOL_BLOCKED: "PROTOCOL_BLOCKED";
|
|
75
63
|
readonly INTERNAL_IP: "INTERNAL_IP";
|
|
76
64
|
};
|
|
77
65
|
export type ErrorCode = typeof ErrorCode[keyof typeof ErrorCode];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE"}
|
package/dist/core/errors.js
CHANGED
|
@@ -8,7 +8,6 @@ export const ErrorCode = {
|
|
|
8
8
|
// Navigation
|
|
9
9
|
NAVIGATION_FAILED: 'NAVIGATION_FAILED',
|
|
10
10
|
WAIT_NAVIGATION_FAILED: 'WAIT_NAVIGATION_FAILED',
|
|
11
|
-
NAVIGATION_BACK_FAILED: 'NAVIGATION_BACK_FAILED',
|
|
12
11
|
GO_FORWARD_FAILED: 'GO_FORWARD_FAILED',
|
|
13
12
|
REFRESH_FAILED: 'REFRESH_FAILED',
|
|
14
13
|
WAIT_FAILED: 'WAIT_FAILED',
|
|
@@ -21,16 +20,11 @@ export const ErrorCode = {
|
|
|
21
20
|
SCROLL_FAILED: 'SCROLL_FAILED',
|
|
22
21
|
HOVER_FAILED: 'HOVER_FAILED',
|
|
23
22
|
SELECT_FAILED: 'SELECT_FAILED',
|
|
24
|
-
DROP_FAILED: 'DROP_FAILED',
|
|
25
|
-
FILE_UPLOAD_FAILED: 'FILE_UPLOAD_FAILED',
|
|
26
23
|
UPLOAD_FAILED: 'UPLOAD_FAILED',
|
|
27
|
-
FILL_FORM_FAILED: 'FILL_FORM_FAILED',
|
|
28
24
|
FILL_FAILED: 'FILL_FAILED',
|
|
29
25
|
PRESS_KEY_FAILED: 'PRESS_KEY_FAILED',
|
|
30
26
|
PATH_BLOCKED: 'PATH_BLOCKED',
|
|
31
27
|
// Extraction
|
|
32
|
-
EXTRACT_CONTENT_FAILED: 'EXTRACT_CONTENT_FAILED',
|
|
33
|
-
EXTRACT_LINKS_FAILED: 'EXTRACT_LINKS_FAILED',
|
|
34
28
|
EXTRACT_HTML_FAILED: 'EXTRACT_HTML_FAILED',
|
|
35
29
|
EXTRACT_MARKDOWN_FAILED: 'EXTRACT_MARKDOWN_FAILED',
|
|
36
30
|
EXTRACT_TEXT_FAILED: 'EXTRACT_TEXT_FAILED',
|
|
@@ -67,9 +61,6 @@ export const ErrorCode = {
|
|
|
67
61
|
SESSION_NOT_FOUND: 'SESSION_NOT_FOUND',
|
|
68
62
|
LIST_SESSIONS_FAILED: 'LIST_SESSIONS_FAILED',
|
|
69
63
|
// Admin
|
|
70
|
-
TOOL_LIST_FAILED: 'TOOL_LIST_FAILED',
|
|
71
|
-
SESSION_LIST_FAILED: 'SESSION_LIST_FAILED',
|
|
72
|
-
CATEGORY_LIST_FAILED: 'CATEGORY_LIST_FAILED',
|
|
73
64
|
CACHE_STATS_FAILED: 'CACHE_STATS_FAILED',
|
|
74
65
|
CLEAR_CACHE_FAILED: 'CLEAR_CACHE_FAILED',
|
|
75
66
|
SERVER_STATUS_FAILED: 'SERVER_STATUS_FAILED',
|
|
@@ -79,15 +70,15 @@ export const ErrorCode = {
|
|
|
79
70
|
// Preflight
|
|
80
71
|
PREFLIGHT_FAILED: 'PREFLIGHT_FAILED',
|
|
81
72
|
// Security
|
|
82
|
-
SANDBOX_VIOLATION: 'SANDBOX_VIOLATION',
|
|
83
|
-
PATH_TRAVERSAL: 'PATH_TRAVERSAL',
|
|
84
73
|
INVALID_URL: 'INVALID_URL',
|
|
85
|
-
PROTOCOL_BLOCKED: 'PROTOCOL_BLOCKED',
|
|
86
74
|
INTERNAL_IP: 'INTERNAL_IP',
|
|
87
75
|
};
|
|
88
76
|
/** Strips internal file system paths from error messages to prevent information leakage */
|
|
89
77
|
export function sanitizeErrorMessage(message) {
|
|
90
|
-
|
|
78
|
+
const unixPatterns = /\/(?:home|tmp|var|private)\/[^\s:]*/g;
|
|
79
|
+
return message
|
|
80
|
+
.replace(/[A-Za-z]:\\(?:[^\\:*?"<>|\n\s]*\\)+[^\\:*?"<>|\n\s]*/g, '[internal-path]')
|
|
81
|
+
.replace(unixPatterns, '[internal-path]');
|
|
91
82
|
}
|
|
92
83
|
/** Normalizes an unknown error to a sanitized string, optionally prefixed with context */
|
|
93
84
|
export function normalizeError(err, context) {
|
package/dist/core/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,2BAA2B,EAAE,6BAA6B;IAE1D,aAAa;IACb,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,wBAAwB;IAChD,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare function resetCounters(): void;
|
|
2
|
+
export declare function createEntryId(): string;
|
|
3
|
+
export declare function getWsCounter(): number;
|
|
4
|
+
export declare function getWsFrameCounter(): number;
|
|
5
|
+
export interface RichTiming {
|
|
6
|
+
startTime: number;
|
|
7
|
+
dns: number;
|
|
8
|
+
connect: number;
|
|
9
|
+
ssl: number;
|
|
10
|
+
send: number;
|
|
11
|
+
ttfb: number;
|
|
12
|
+
download: number;
|
|
13
|
+
total: number;
|
|
14
|
+
}
|
|
15
|
+
export interface RichSizes {
|
|
16
|
+
requestBodySize: number;
|
|
17
|
+
requestHeadersSize: number;
|
|
18
|
+
responseBodySize: number;
|
|
19
|
+
responseHeadersSize: number;
|
|
20
|
+
}
|
|
21
|
+
export interface RichInitiator {
|
|
22
|
+
frameUrl: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function pwTimingToHarTimings(pw: {
|
|
25
|
+
startTime: number;
|
|
26
|
+
domainLookupStart: number;
|
|
27
|
+
domainLookupEnd: number;
|
|
28
|
+
connectStart: number;
|
|
29
|
+
connectEnd: number;
|
|
30
|
+
secureConnectionStart: number;
|
|
31
|
+
requestStart: number;
|
|
32
|
+
responseStart: number;
|
|
33
|
+
responseEnd: number;
|
|
34
|
+
}): RichTiming;
|
|
35
|
+
export declare function toLegacyEntry(entry: {
|
|
36
|
+
url: string;
|
|
37
|
+
method: string;
|
|
38
|
+
status: number;
|
|
39
|
+
resourceType: string;
|
|
40
|
+
timestamp: number;
|
|
41
|
+
}): {
|
|
42
|
+
url: string;
|
|
43
|
+
method: string;
|
|
44
|
+
status: number;
|
|
45
|
+
static: boolean;
|
|
46
|
+
timestamp: number;
|
|
47
|
+
request: null;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=network-capture-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-capture-utils.d.ts","sourceRoot":"","sources":["../../src/core/network-capture-utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,UAAU,CAuBb;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;CACf,CAUA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
let entryCounter = 0;
|
|
2
|
+
let wsCounter = 0;
|
|
3
|
+
let wsFrameCounter = 0;
|
|
4
|
+
export function resetCounters() {
|
|
5
|
+
entryCounter = 0;
|
|
6
|
+
wsCounter = 0;
|
|
7
|
+
wsFrameCounter = 0;
|
|
8
|
+
}
|
|
9
|
+
export function createEntryId() {
|
|
10
|
+
entryCounter += 1;
|
|
11
|
+
return `net_${entryCounter}`;
|
|
12
|
+
}
|
|
13
|
+
export function getWsCounter() {
|
|
14
|
+
wsCounter += 1;
|
|
15
|
+
return wsCounter;
|
|
16
|
+
}
|
|
17
|
+
export function getWsFrameCounter() {
|
|
18
|
+
wsFrameCounter += 1;
|
|
19
|
+
return wsFrameCounter;
|
|
20
|
+
}
|
|
21
|
+
export function pwTimingToHarTimings(pw) {
|
|
22
|
+
const dns = pw.domainLookupEnd >= 0 && pw.domainLookupStart >= 0
|
|
23
|
+
? Math.max(0, pw.domainLookupEnd - pw.domainLookupStart)
|
|
24
|
+
: -1;
|
|
25
|
+
const connect = pw.connectEnd >= 0 && pw.connectStart >= 0
|
|
26
|
+
? Math.max(0, pw.connectEnd - pw.connectStart)
|
|
27
|
+
: -1;
|
|
28
|
+
const ssl = pw.connectEnd >= 0 && pw.secureConnectionStart >= 0
|
|
29
|
+
? Math.max(0, pw.connectEnd - pw.secureConnectionStart)
|
|
30
|
+
: -1;
|
|
31
|
+
const send = pw.requestStart >= 0 && pw.connectEnd >= 0
|
|
32
|
+
? Math.max(0, pw.requestStart - pw.connectEnd)
|
|
33
|
+
: -1;
|
|
34
|
+
const ttfb = pw.responseStart >= 0 && pw.requestStart >= 0
|
|
35
|
+
? Math.max(0, pw.responseStart - pw.requestStart)
|
|
36
|
+
: -1;
|
|
37
|
+
const download = pw.responseEnd >= 0 && pw.responseStart >= 0
|
|
38
|
+
? Math.max(0, pw.responseEnd - pw.responseStart)
|
|
39
|
+
: -1;
|
|
40
|
+
const total = pw.responseEnd >= 0 && pw.startTime >= 0
|
|
41
|
+
? Math.max(0, pw.responseEnd - pw.startTime)
|
|
42
|
+
: -1;
|
|
43
|
+
return { startTime: pw.startTime, dns, connect, ssl, send, ttfb, download, total };
|
|
44
|
+
}
|
|
45
|
+
export function toLegacyEntry(entry) {
|
|
46
|
+
const isStatic = ['image', 'media', 'font', 'stylesheet', 'texttrack'].includes(entry.resourceType);
|
|
47
|
+
return {
|
|
48
|
+
url: entry.url,
|
|
49
|
+
method: entry.method,
|
|
50
|
+
status: entry.status,
|
|
51
|
+
static: isStatic,
|
|
52
|
+
timestamp: entry.timestamp,
|
|
53
|
+
request: null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=network-capture-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-capture-utils.js","sourceRoot":"","sources":["../../src/core/network-capture-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,6 @@
|
|
|
1
1
|
import type { Page } from 'playwright';
|
|
2
2
|
import type { NetworkConfig } from './config.js';
|
|
3
|
-
|
|
4
|
-
startTime: number;
|
|
5
|
-
dns: number;
|
|
6
|
-
connect: number;
|
|
7
|
-
ssl: number;
|
|
8
|
-
send: number;
|
|
9
|
-
ttfb: number;
|
|
10
|
-
download: number;
|
|
11
|
-
total: number;
|
|
12
|
-
}
|
|
13
|
-
export interface RichSizes {
|
|
14
|
-
requestBodySize: number;
|
|
15
|
-
requestHeadersSize: number;
|
|
16
|
-
responseBodySize: number;
|
|
17
|
-
responseHeadersSize: number;
|
|
18
|
-
}
|
|
19
|
-
export interface RichInitiator {
|
|
20
|
-
frameUrl: string;
|
|
21
|
-
}
|
|
3
|
+
import type { RichTiming, RichSizes, RichInitiator } from './network-capture-utils.js';
|
|
22
4
|
export interface RichEntry {
|
|
23
5
|
id: string;
|
|
24
6
|
url: string;
|
|
@@ -59,31 +41,12 @@ export interface WebSocketEntry {
|
|
|
59
41
|
openedAt: number;
|
|
60
42
|
closedAt: number | null;
|
|
61
43
|
}
|
|
62
|
-
export declare function createEntryId(): string;
|
|
63
|
-
export declare function pwTimingToHarTimings(pw: {
|
|
64
|
-
startTime: number;
|
|
65
|
-
domainLookupStart: number;
|
|
66
|
-
domainLookupEnd: number;
|
|
67
|
-
connectStart: number;
|
|
68
|
-
connectEnd: number;
|
|
69
|
-
secureConnectionStart: number;
|
|
70
|
-
requestStart: number;
|
|
71
|
-
responseStart: number;
|
|
72
|
-
responseEnd: number;
|
|
73
|
-
}): RichTiming;
|
|
74
|
-
export declare function toLegacyEntry(entry: RichEntry): {
|
|
75
|
-
url: string;
|
|
76
|
-
method: string;
|
|
77
|
-
status: number;
|
|
78
|
-
static: boolean;
|
|
79
|
-
timestamp: number;
|
|
80
|
-
request: null;
|
|
81
|
-
};
|
|
82
44
|
export declare class NetworkCapture {
|
|
83
45
|
readonly config: NetworkConfig;
|
|
84
46
|
private ring;
|
|
85
47
|
private head;
|
|
86
48
|
private count;
|
|
49
|
+
private entryMap;
|
|
87
50
|
webSocketEntries: WebSocketEntry[];
|
|
88
51
|
pendingCaptures: Set<Promise<void>>;
|
|
89
52
|
private onRequestBound;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-capture.d.ts","sourceRoot":"","sources":["../../src/core/network-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,IAAI,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"network-capture.d.ts","sourceRoot":"","sources":["../../src/core/network-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,15 @@
|
|
|
1
|
+
import { logger } from './logger.js';
|
|
2
|
+
import { createEntryId, pwTimingToHarTimings, toLegacyEntry, getWsCounter, getWsFrameCounter, } from './network-capture-utils.js';
|
|
1
3
|
const BYTES_PER_MB = 1048576;
|
|
2
4
|
function quietLog(context, err) {
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
let entryCounter = 0;
|
|
6
|
-
let wsCounter = 0;
|
|
7
|
-
let wsFrameCounter = 0;
|
|
8
|
-
export function createEntryId() {
|
|
9
|
-
entryCounter += 1;
|
|
10
|
-
return `net_${entryCounter}`;
|
|
11
|
-
}
|
|
12
|
-
export function pwTimingToHarTimings(pw) {
|
|
13
|
-
const dns = pw.domainLookupEnd >= 0 && pw.domainLookupStart >= 0
|
|
14
|
-
? Math.max(0, pw.domainLookupEnd - pw.domainLookupStart)
|
|
15
|
-
: -1;
|
|
16
|
-
const connect = pw.connectEnd >= 0 && pw.connectStart >= 0
|
|
17
|
-
? Math.max(0, pw.connectEnd - pw.connectStart)
|
|
18
|
-
: -1;
|
|
19
|
-
const ssl = pw.connectEnd >= 0 && pw.secureConnectionStart >= 0
|
|
20
|
-
? Math.max(0, pw.connectEnd - pw.secureConnectionStart)
|
|
21
|
-
: -1;
|
|
22
|
-
const send = pw.requestStart >= 0 && pw.connectEnd >= 0
|
|
23
|
-
? Math.max(0, pw.requestStart - pw.connectEnd)
|
|
24
|
-
: -1;
|
|
25
|
-
const ttfb = pw.responseStart >= 0 && pw.requestStart >= 0
|
|
26
|
-
? Math.max(0, pw.responseStart - pw.requestStart)
|
|
27
|
-
: -1;
|
|
28
|
-
const download = pw.responseEnd >= 0 && pw.responseStart >= 0
|
|
29
|
-
? Math.max(0, pw.responseEnd - pw.responseStart)
|
|
30
|
-
: -1;
|
|
31
|
-
const total = pw.responseEnd >= 0 && pw.startTime >= 0
|
|
32
|
-
? Math.max(0, pw.responseEnd - pw.startTime)
|
|
33
|
-
: -1;
|
|
34
|
-
return { startTime: pw.startTime, dns, connect, ssl, send, ttfb, download, total };
|
|
35
|
-
}
|
|
36
|
-
export function toLegacyEntry(entry) {
|
|
37
|
-
const isStatic = ['image', 'media', 'font', 'stylesheet', 'texttrack'].includes(entry.resourceType);
|
|
38
|
-
return {
|
|
39
|
-
url: entry.url,
|
|
40
|
-
method: entry.method,
|
|
41
|
-
status: entry.status,
|
|
42
|
-
static: isStatic,
|
|
43
|
-
timestamp: entry.timestamp,
|
|
44
|
-
request: null,
|
|
45
|
-
};
|
|
5
|
+
logger.debug(`Capture: ${context}`, { error: String(err) });
|
|
46
6
|
}
|
|
47
7
|
export class NetworkCapture {
|
|
48
8
|
config;
|
|
49
9
|
ring = [];
|
|
50
10
|
head = 0;
|
|
51
11
|
count = 0;
|
|
12
|
+
entryMap = new Map();
|
|
52
13
|
webSocketEntries = [];
|
|
53
14
|
pendingCaptures = new Set();
|
|
54
15
|
onRequestBound = null;
|
|
@@ -62,9 +23,11 @@ export class NetworkCapture {
|
|
|
62
23
|
this.ring = new Array(config.maxEntries).fill(null);
|
|
63
24
|
}
|
|
64
25
|
pushEntry(entry) {
|
|
26
|
+
this.entryMap.set(entry.id, entry);
|
|
65
27
|
if (this.count >= this.config.maxEntries) {
|
|
66
28
|
const evicted = this.ring[this.head];
|
|
67
29
|
if (evicted) {
|
|
30
|
+
this.entryMap.delete(evicted.id);
|
|
68
31
|
this.totalBodyBytes -= evicted.responseBody ? evicted.responseBody.length : 0;
|
|
69
32
|
}
|
|
70
33
|
this.ring[this.head] = entry;
|
|
@@ -87,13 +50,7 @@ export class NetworkCapture {
|
|
|
87
50
|
return result;
|
|
88
51
|
}
|
|
89
52
|
findInRing(id) {
|
|
90
|
-
|
|
91
|
-
const idx = (this.head + i) % this.config.maxEntries;
|
|
92
|
-
const e = this.ring[idx];
|
|
93
|
-
if (e && e.id === id)
|
|
94
|
-
return e;
|
|
95
|
-
}
|
|
96
|
-
return undefined;
|
|
53
|
+
return this.entryMap.get(id);
|
|
97
54
|
}
|
|
98
55
|
attach(page) {
|
|
99
56
|
this.onRequestBound = (request) => {
|
|
@@ -129,6 +86,12 @@ export class NetworkCapture {
|
|
|
129
86
|
}
|
|
130
87
|
try {
|
|
131
88
|
entry.requestHeaders = request.headers();
|
|
89
|
+
const SENSITIVE_HEADERS = ['authorization', 'cookie', 'set-cookie', 'x-api-key', 'proxy-authorization'];
|
|
90
|
+
for (const key of Object.keys(entry.requestHeaders)) {
|
|
91
|
+
if (SENSITIVE_HEADERS.includes(key.toLowerCase())) {
|
|
92
|
+
entry.requestHeaders[key] = '[REDACTED]';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
132
95
|
}
|
|
133
96
|
catch (err) {
|
|
134
97
|
quietLog('request headers', err);
|
|
@@ -252,8 +215,7 @@ export class NetworkCapture {
|
|
|
252
215
|
}
|
|
253
216
|
if (this.config.captureWebSocket) {
|
|
254
217
|
this.onWebSocketBound = (ws) => {
|
|
255
|
-
|
|
256
|
-
const wsId = `ws_${wsCounter}`;
|
|
218
|
+
const wsId = `ws_${getWsCounter()}`;
|
|
257
219
|
const wsEntry = {
|
|
258
220
|
id: wsId,
|
|
259
221
|
url: ws.url(),
|
|
@@ -297,6 +259,7 @@ export class NetworkCapture {
|
|
|
297
259
|
this.ring = new Array(this.config.maxEntries).fill(null);
|
|
298
260
|
this.head = 0;
|
|
299
261
|
this.count = 0;
|
|
262
|
+
this.entryMap.clear();
|
|
300
263
|
this.webSocketEntries = [];
|
|
301
264
|
this.totalBodyBytes = 0;
|
|
302
265
|
}
|
|
@@ -326,7 +289,7 @@ export class NetworkCapture {
|
|
|
326
289
|
if (wsEntry.frames.length >= this.config.websocketMaxFrames) {
|
|
327
290
|
this.evictOldestWsFrame(wsEntry);
|
|
328
291
|
}
|
|
329
|
-
|
|
292
|
+
const frameNum = getWsFrameCounter();
|
|
330
293
|
const isBinary = typeof payload !== 'string';
|
|
331
294
|
const payloadStr = isBinary ? Buffer.from(payload).toString('base64') : payload;
|
|
332
295
|
const truncated = payloadStr.length > this.config.websocketMaxFramePayloadSize;
|
|
@@ -334,7 +297,7 @@ export class NetworkCapture {
|
|
|
334
297
|
? payloadStr.slice(0, this.config.websocketMaxFramePayloadSize)
|
|
335
298
|
: payloadStr;
|
|
336
299
|
wsEntry.frames.push({
|
|
337
|
-
id: `wsf_${
|
|
300
|
+
id: `wsf_${frameNum}`,
|
|
338
301
|
wsId: wsEntry.id,
|
|
339
302
|
direction,
|
|
340
303
|
payload: finalPayload,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-capture.js","sourceRoot":"","sources":["../../src/core/network-capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network-capture.js","sourceRoot":"","sources":["../../src/core/network-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RichEntry } from './network-capture.js';
|
|
2
|
-
export declare function exportHar(entries: RichEntry[], outputPath: string,
|
|
3
|
-
export declare function exportJson(entries: RichEntry[], outputPath: string,
|
|
4
|
-
export declare function exportCsv(entries: RichEntry[], outputPath: string,
|
|
2
|
+
export declare function exportHar(entries: RichEntry[], outputPath: string, _mkdir: boolean): string;
|
|
3
|
+
export declare function exportJson(entries: RichEntry[], outputPath: string, _mkdir: boolean): string;
|
|
4
|
+
export declare function exportCsv(entries: RichEntry[], outputPath: string, _mkdir: boolean): string;
|
|
5
5
|
export declare function generateExportPath(exportDir: string, sessionId: string, format: 'har' | 'json' | 'csv'): string;
|
|
6
6
|
//# sourceMappingURL=network-export.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-export.d.ts","sourceRoot":"","sources":["../../src/core/network-export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"network-export.d.ts","sourceRoot":"","sources":["../../src/core/network-export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAmJtD,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,MAAM,CAER;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,MAAM,CAER;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,MAAM,CAER;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAC7B,MAAM,CAGR"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
+
import { logger } from './logger.js';
|
|
3
4
|
function harHeaders(headers) {
|
|
4
5
|
try {
|
|
5
6
|
return Object.entries(headers).map(([name, value]) => ({ name, value }));
|
|
6
7
|
}
|
|
7
8
|
catch {
|
|
8
|
-
|
|
9
|
+
logger.debug('network-export harHeaders failed');
|
|
9
10
|
return [];
|
|
10
11
|
}
|
|
11
12
|
}
|
|
@@ -132,29 +133,20 @@ function buildCsv(entries) {
|
|
|
132
133
|
].map(escapeCsvField));
|
|
133
134
|
return bom + [headers.join(','), ...rows.map(r => r.join(','))].join('\n');
|
|
134
135
|
}
|
|
135
|
-
|
|
136
|
-
const normalizedPath = path.resolve(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
fs.writeFileSync(normalizedPath, buildHar(entries), 'utf-8');
|
|
136
|
+
function writeFileWithDir(filePath, data) {
|
|
137
|
+
const normalizedPath = path.resolve(filePath);
|
|
138
|
+
fs.mkdirSync(path.dirname(normalizedPath), { recursive: true });
|
|
139
|
+
fs.writeFileSync(normalizedPath, data, 'utf-8');
|
|
141
140
|
return normalizedPath;
|
|
142
141
|
}
|
|
143
|
-
export function
|
|
144
|
-
|
|
145
|
-
if (mkdir) {
|
|
146
|
-
fs.mkdirSync(path.dirname(normalizedPath), { recursive: true });
|
|
147
|
-
}
|
|
148
|
-
fs.writeFileSync(normalizedPath, buildJson(entries), 'utf-8');
|
|
149
|
-
return normalizedPath;
|
|
142
|
+
export function exportHar(entries, outputPath, _mkdir) {
|
|
143
|
+
return writeFileWithDir(outputPath, buildHar(entries));
|
|
150
144
|
}
|
|
151
|
-
export function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
fs.writeFileSync(normalizedPath, buildCsv(entries), 'utf-8');
|
|
157
|
-
return normalizedPath;
|
|
145
|
+
export function exportJson(entries, outputPath, _mkdir) {
|
|
146
|
+
return writeFileWithDir(outputPath, buildJson(entries));
|
|
147
|
+
}
|
|
148
|
+
export function exportCsv(entries, outputPath, _mkdir) {
|
|
149
|
+
return writeFileWithDir(outputPath, buildCsv(entries));
|
|
158
150
|
}
|
|
159
151
|
export function generateExportPath(exportDir, sessionId, format) {
|
|
160
152
|
const timestamp = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-export.js","sourceRoot":"","sources":["../../src/core/network-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"network-export.js","sourceRoot":"","sources":["../../src/core/network-export.ts"],"names":[],"mappings":"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"}
|