@natchs/browser-mcp 2.3.0 → 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.
Files changed (168) hide show
  1. package/README.md +356 -13
  2. package/dist/core/audit-logger.d.ts +3 -0
  3. package/dist/core/audit-logger.d.ts.map +1 -0
  4. package/dist/core/audit-logger.js +5 -0
  5. package/dist/core/audit-logger.js.map +1 -0
  6. package/dist/core/auth.d.ts.map +1 -1
  7. package/dist/core/auth.js +29 -1
  8. package/dist/core/auth.js.map +1 -1
  9. package/dist/core/body-fetch.d.ts.map +1 -1
  10. package/dist/core/body-fetch.js +26 -2
  11. package/dist/core/body-fetch.js.map +1 -1
  12. package/dist/core/browser-lifecycle.d.ts +29 -0
  13. package/dist/core/browser-lifecycle.d.ts.map +1 -0
  14. package/dist/core/browser-lifecycle.js +107 -0
  15. package/dist/core/browser-lifecycle.js.map +1 -0
  16. package/dist/core/browser-provider.d.ts +7 -3
  17. package/dist/core/browser-provider.d.ts.map +1 -1
  18. package/dist/core/browser-provider.js +65 -10
  19. package/dist/core/browser-provider.js.map +1 -1
  20. package/dist/core/config.d.ts +22 -6
  21. package/dist/core/config.d.ts.map +1 -1
  22. package/dist/core/config.js +6 -0
  23. package/dist/core/config.js.map +1 -1
  24. package/dist/core/errors.d.ts +0 -12
  25. package/dist/core/errors.d.ts.map +1 -1
  26. package/dist/core/errors.js +4 -13
  27. package/dist/core/errors.js.map +1 -1
  28. package/dist/core/index.d.ts +4 -0
  29. package/dist/core/index.d.ts.map +1 -0
  30. package/dist/core/index.js +3 -0
  31. package/dist/core/index.js.map +1 -0
  32. package/dist/core/network-capture-utils.d.ts +49 -0
  33. package/dist/core/network-capture-utils.d.ts.map +1 -0
  34. package/dist/core/network-capture-utils.js +56 -0
  35. package/dist/core/network-capture-utils.js.map +1 -0
  36. package/dist/core/network-capture.d.ts +2 -39
  37. package/dist/core/network-capture.d.ts.map +1 -1
  38. package/dist/core/network-capture.js +17 -54
  39. package/dist/core/network-capture.js.map +1 -1
  40. package/dist/core/network-export.d.ts +3 -3
  41. package/dist/core/network-export.d.ts.map +1 -1
  42. package/dist/core/network-export.js +13 -21
  43. package/dist/core/network-export.js.map +1 -1
  44. package/dist/core/output.d.ts +0 -28
  45. package/dist/core/output.d.ts.map +1 -1
  46. package/dist/core/registry.d.ts +2 -0
  47. package/dist/core/registry.d.ts.map +1 -1
  48. package/dist/core/registry.js +14 -3
  49. package/dist/core/registry.js.map +1 -1
  50. package/dist/core/sandbox.d.ts +4 -5
  51. package/dist/core/sandbox.d.ts.map +1 -1
  52. package/dist/core/sandbox.js +31 -23
  53. package/dist/core/sandbox.js.map +1 -1
  54. package/dist/core/session.d.ts +4 -3
  55. package/dist/core/session.d.ts.map +1 -1
  56. package/dist/core/session.js +43 -22
  57. package/dist/core/session.js.map +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/prompts/index.d.ts.map +1 -1
  62. package/dist/prompts/index.js +2 -1
  63. package/dist/prompts/index.js.map +1 -1
  64. package/dist/tools/admin/cache.js +3 -3
  65. package/dist/tools/admin/cache.js.map +1 -1
  66. package/dist/tools/admin/server-status.js +2 -2
  67. package/dist/tools/admin/server-status.js.map +1 -1
  68. package/dist/tools/browser/cookies.js +4 -4
  69. package/dist/tools/browser/cookies.js.map +1 -1
  70. package/dist/tools/browser/download.js +2 -2
  71. package/dist/tools/browser/download.js.map +1 -1
  72. package/dist/tools/browser/evaluate.d.ts.map +1 -1
  73. package/dist/tools/browser/evaluate.js +23 -6
  74. package/dist/tools/browser/evaluate.js.map +1 -1
  75. package/dist/tools/browser/index.d.ts.map +1 -1
  76. package/dist/tools/browser/index.js +2 -0
  77. package/dist/tools/browser/index.js.map +1 -1
  78. package/dist/tools/browser/page-info.js +2 -2
  79. package/dist/tools/browser/page-info.js.map +1 -1
  80. package/dist/tools/browser/pdf.js +4 -4
  81. package/dist/tools/browser/pdf.js.map +1 -1
  82. package/dist/tools/browser/screenshot.js +3 -3
  83. package/dist/tools/browser/screenshot.js.map +1 -1
  84. package/dist/tools/browser/scroll.d.ts +17 -0
  85. package/dist/tools/browser/scroll.d.ts.map +1 -0
  86. package/dist/tools/browser/scroll.js +30 -0
  87. package/dist/tools/browser/scroll.js.map +1 -0
  88. package/dist/tools/extraction/extract-css.js +7 -7
  89. package/dist/tools/extraction/extract-css.js.map +1 -1
  90. package/dist/tools/extraction/extract.js +4 -4
  91. package/dist/tools/extraction/extract.js.map +1 -1
  92. package/dist/tools/interaction/click.d.ts +1 -2
  93. package/dist/tools/interaction/click.d.ts.map +1 -1
  94. package/dist/tools/interaction/click.js +9 -15
  95. package/dist/tools/interaction/click.js.map +1 -1
  96. package/dist/tools/interaction/drag.js +4 -4
  97. package/dist/tools/interaction/drag.js.map +1 -1
  98. package/dist/tools/interaction/file-upload.d.ts.map +1 -1
  99. package/dist/tools/interaction/file-upload.js +11 -5
  100. package/dist/tools/interaction/file-upload.js.map +1 -1
  101. package/dist/tools/interaction/fill.d.ts.map +1 -1
  102. package/dist/tools/interaction/fill.js +5 -7
  103. package/dist/tools/interaction/fill.js.map +1 -1
  104. package/dist/tools/interaction/hover.js +3 -3
  105. package/dist/tools/interaction/hover.js.map +1 -1
  106. package/dist/tools/interaction/press-key.js +3 -3
  107. package/dist/tools/interaction/press-key.js.map +1 -1
  108. package/dist/tools/interaction/select.js +4 -4
  109. package/dist/tools/interaction/select.js.map +1 -1
  110. package/dist/tools/interaction/type.d.ts +1 -1
  111. package/dist/tools/interaction/type.js +4 -4
  112. package/dist/tools/interaction/type.js.map +1 -1
  113. package/dist/tools/navigation/back.js +2 -2
  114. package/dist/tools/navigation/back.js.map +1 -1
  115. package/dist/tools/navigation/forward.js +2 -2
  116. package/dist/tools/navigation/forward.js.map +1 -1
  117. package/dist/tools/navigation/navigate.js +2 -2
  118. package/dist/tools/navigation/navigate.js.map +1 -1
  119. package/dist/tools/navigation/refresh.js +2 -2
  120. package/dist/tools/navigation/refresh.js.map +1 -1
  121. package/dist/tools/navigation/wait-for.js +2 -2
  122. package/dist/tools/navigation/wait-for.js.map +1 -1
  123. package/dist/tools/network/console.js +2 -2
  124. package/dist/tools/network/console.js.map +1 -1
  125. package/dist/tools/network/dialog.js +2 -2
  126. package/dist/tools/network/dialog.js.map +1 -1
  127. package/dist/tools/network/network-clear.js +2 -2
  128. package/dist/tools/network/network-clear.js.map +1 -1
  129. package/dist/tools/network/network-entries.js +2 -2
  130. package/dist/tools/network/network-entries.js.map +1 -1
  131. package/dist/tools/network/network-export.d.ts +2 -2
  132. package/dist/tools/network/network-export.js +2 -2
  133. package/dist/tools/network/network-export.js.map +1 -1
  134. package/dist/tools/network/network-requests.js +2 -2
  135. package/dist/tools/network/network-requests.js.map +1 -1
  136. package/dist/tools/network/network-response.js +2 -2
  137. package/dist/tools/network/network-response.js.map +1 -1
  138. package/dist/tools/network/network-save.js +2 -2
  139. package/dist/tools/network/network-save.js.map +1 -1
  140. package/dist/tools/network/wait-nav.js +2 -2
  141. package/dist/tools/network/wait-nav.js.map +1 -1
  142. package/dist/tools/network/websocket-frames.js +2 -2
  143. package/dist/tools/network/websocket-frames.js.map +1 -1
  144. package/dist/tools/re/api-discover.d.ts +3 -3
  145. package/dist/tools/re/api-discover.d.ts.map +1 -1
  146. package/dist/tools/re/api-discover.js +32 -11
  147. package/dist/tools/re/api-discover.js.map +1 -1
  148. package/dist/tools/re/auth-analyze.d.ts +3 -3
  149. package/dist/tools/re/auth-analyze.d.ts.map +1 -1
  150. package/dist/tools/re/auth-analyze.js +43 -6
  151. package/dist/tools/re/auth-analyze.js.map +1 -1
  152. package/dist/tools/re/js-beautify.js +3 -3
  153. package/dist/tools/re/js-beautify.js.map +1 -1
  154. package/dist/tools/re/js-deobfuscate.js +3 -3
  155. package/dist/tools/re/js-deobfuscate.js.map +1 -1
  156. package/dist/tools/session/close.js +2 -2
  157. package/dist/tools/session/close.js.map +1 -1
  158. package/dist/tools/session/list.js +2 -2
  159. package/dist/tools/session/list.js.map +1 -1
  160. package/dist/tools/session/open.js +2 -2
  161. package/dist/tools/session/open.js.map +1 -1
  162. package/dist/tools/stealth/fingerprint.d.ts +13 -0
  163. package/dist/tools/stealth/fingerprint.d.ts.map +1 -1
  164. package/dist/tools/stealth/fingerprint.js +16 -3
  165. package/dist/tools/stealth/fingerprint.js.map +1 -1
  166. package/dist/tools/stealth/human-behavior.js +2 -2
  167. package/dist/tools/stealth/human-behavior.js.map +1 -1
  168. package/package.json +2 -3
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGZ,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,CAE5D;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE"}
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"}
@@ -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
- return message.replace(/[A-Za-z]:\\(?:[^\\:*?"<>|\n\s]*\\)+[^\\:*?"<>|\n\s]*/g, '[internal-path]');
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { auditLog } from './audit-logger.js';
2
+ export type { AuditEvent } from './audit-logger.js';
3
+ export { BrowserLifecycle } from './browser-lifecycle.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { auditLog } from './audit-logger.js';
2
+ export { BrowserLifecycle } from './browser-lifecycle.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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":"AAAA,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,MAAM,UAAU,aAAa;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,SAAS,GAAG,CAAC,CAAC;IACd,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,YAAY,IAAI,CAAC,CAAC;IAClB,OAAO,OAAO,YAAY,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,SAAS,IAAI,CAAC,CAAC;IACf,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,cAAc,IAAI,CAAC,CAAC;IACpB,OAAO,cAAc,CAAC;AACxB,CAAC;AAwBD,MAAM,UAAU,oBAAoB,CAAC,EAUpC;IACC,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,IAAI,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC,iBAAiB,CAAC;QACxD,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,IAAI,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,qBAAqB,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,IAAI,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC;QACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAM7B;IAQC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpG,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,24 +1,6 @@
1
1
  import type { Page } from 'playwright';
2
2
  import type { NetworkConfig } from './config.js';
3
- export interface RichTiming {
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":"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"}
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
- // Silent in production errors here should never break the capture flow
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
- for (let i = 0; i < this.count; i++) {
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
- wsCounter += 1;
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
- wsFrameCounter += 1;
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_${wsFrameCounter}`,
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, 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;
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,EAAuB,MAAM,sBAAsB,CAAC;AA2I3E,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,MAAM,CAOR;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,MAAM,CAOR;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,MAAM,CAOR;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAC7B,MAAM,CAGR"}
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
- // silently handled
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
- export function exportHar(entries, outputPath, mkdir) {
136
- const normalizedPath = path.resolve(outputPath);
137
- if (mkdir) {
138
- fs.mkdirSync(path.dirname(normalizedPath), { recursive: true });
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 exportJson(entries, outputPath, mkdir) {
144
- const normalizedPath = path.resolve(outputPath);
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 exportCsv(entries, outputPath, mkdir) {
152
- const normalizedPath = path.resolve(outputPath);
153
- if (mkdir) {
154
- fs.mkdirSync(path.dirname(normalizedPath), { recursive: true });
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":"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"}
1
+ {"version":3,"file":"network-export.js","sourceRoot":"","sources":["../../src/core/network-export.ts"],"names":[],"mappings":"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"}