react-native-mcp-kit 3.0.1 → 4.1.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 (195) hide show
  1. package/README.md +25 -13
  2. package/dist/babel/testIdPlugin.d.ts.map +1 -1
  3. package/dist/babel/testIdPlugin.js +22 -13
  4. package/dist/babel/testIdPlugin.js.map +1 -1
  5. package/dist/bin/ios-hid +0 -0
  6. package/dist/client/contexts/McpContext/McpProvider.d.ts.map +1 -1
  7. package/dist/client/contexts/McpContext/McpProvider.js +5 -5
  8. package/dist/client/contexts/McpContext/McpProvider.js.map +1 -1
  9. package/dist/client/core/McpClient.d.ts.map +1 -1
  10. package/dist/client/core/McpClient.js +42 -34
  11. package/dist/client/core/McpClient.js.map +1 -1
  12. package/dist/modules/alert/alert.d.ts.map +1 -1
  13. package/dist/modules/alert/alert.js +2 -5
  14. package/dist/modules/alert/alert.js.map +1 -1
  15. package/dist/modules/console/console.d.ts.map +1 -1
  16. package/dist/modules/console/console.js +32 -107
  17. package/dist/modules/console/console.js.map +1 -1
  18. package/dist/modules/console/types.d.ts +1 -0
  19. package/dist/modules/console/types.d.ts.map +1 -1
  20. package/dist/modules/device/device.d.ts.map +1 -1
  21. package/dist/modules/device/device.js +224 -133
  22. package/dist/modules/device/device.js.map +1 -1
  23. package/dist/modules/errors/errors.d.ts.map +1 -1
  24. package/dist/modules/errors/errors.js +19 -36
  25. package/dist/modules/errors/errors.js.map +1 -1
  26. package/dist/modules/fiberTree/children.d.ts +49 -0
  27. package/dist/modules/fiberTree/children.d.ts.map +1 -0
  28. package/dist/modules/fiberTree/children.js +182 -0
  29. package/dist/modules/fiberTree/children.js.map +1 -0
  30. package/dist/modules/fiberTree/constants.d.ts +13 -0
  31. package/dist/modules/fiberTree/constants.d.ts.map +1 -0
  32. package/dist/modules/fiberTree/constants.js +24 -0
  33. package/dist/modules/fiberTree/constants.js.map +1 -0
  34. package/dist/modules/fiberTree/fiberTree.d.ts +3 -6
  35. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  36. package/dist/modules/fiberTree/fiberTree.js +219 -1080
  37. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  38. package/dist/modules/fiberTree/finder.d.ts +60 -0
  39. package/dist/modules/fiberTree/finder.d.ts.map +1 -0
  40. package/dist/modules/fiberTree/finder.js +107 -0
  41. package/dist/modules/fiberTree/finder.js.map +1 -0
  42. package/dist/modules/fiberTree/hooks.d.ts +103 -0
  43. package/dist/modules/fiberTree/hooks.d.ts.map +1 -0
  44. package/dist/modules/fiberTree/hooks.js +532 -0
  45. package/dist/modules/fiberTree/hooks.js.map +1 -0
  46. package/dist/modules/fiberTree/projection.d.ts +49 -0
  47. package/dist/modules/fiberTree/projection.d.ts.map +1 -0
  48. package/dist/modules/fiberTree/projection.js +82 -0
  49. package/dist/modules/fiberTree/projection.js.map +1 -0
  50. package/dist/modules/fiberTree/query.d.ts +56 -0
  51. package/dist/modules/fiberTree/query.d.ts.map +1 -0
  52. package/dist/modules/fiberTree/query.js +151 -0
  53. package/dist/modules/fiberTree/query.js.map +1 -0
  54. package/dist/modules/fiberTree/redact.d.ts +24 -0
  55. package/dist/modules/fiberTree/redact.d.ts.map +1 -0
  56. package/dist/modules/fiberTree/redact.js +51 -0
  57. package/dist/modules/fiberTree/redact.js.map +1 -0
  58. package/dist/modules/fiberTree/types.d.ts +7 -0
  59. package/dist/modules/fiberTree/types.d.ts.map +1 -1
  60. package/dist/modules/fiberTree/utils.d.ts +8 -2
  61. package/dist/modules/fiberTree/utils.d.ts.map +1 -1
  62. package/dist/modules/fiberTree/utils.js +79 -78
  63. package/dist/modules/fiberTree/utils.js.map +1 -1
  64. package/dist/modules/fiberTree/viewport.d.ts +28 -0
  65. package/dist/modules/fiberTree/viewport.d.ts.map +1 -0
  66. package/dist/modules/fiberTree/viewport.js +50 -0
  67. package/dist/modules/fiberTree/viewport.js.map +1 -0
  68. package/dist/modules/fiberTree/waitFor.d.ts +52 -0
  69. package/dist/modules/fiberTree/waitFor.d.ts.map +1 -0
  70. package/dist/modules/fiberTree/waitFor.js +98 -0
  71. package/dist/modules/fiberTree/waitFor.js.map +1 -0
  72. package/dist/modules/logBox/logBox.d.ts.map +1 -1
  73. package/dist/modules/logBox/logBox.js +59 -66
  74. package/dist/modules/logBox/logBox.js.map +1 -1
  75. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  76. package/dist/modules/navigation/navigation.js +115 -114
  77. package/dist/modules/navigation/navigation.js.map +1 -1
  78. package/dist/modules/network/network.d.ts.map +1 -1
  79. package/dist/modules/network/network.js +78 -197
  80. package/dist/modules/network/network.js.map +1 -1
  81. package/dist/modules/network/types.d.ts +23 -27
  82. package/dist/modules/network/types.d.ts.map +1 -1
  83. package/dist/modules/reactQuery/reactQuery.d.ts.map +1 -1
  84. package/dist/modules/reactQuery/reactQuery.js +46 -52
  85. package/dist/modules/reactQuery/reactQuery.js.map +1 -1
  86. package/dist/modules/storage/storage.d.ts.map +1 -1
  87. package/dist/modules/storage/storage.js +20 -3
  88. package/dist/modules/storage/storage.js.map +1 -1
  89. package/dist/server/bridge.d.ts +1 -0
  90. package/dist/server/bridge.d.ts.map +1 -1
  91. package/dist/server/bridge.js +1 -0
  92. package/dist/server/bridge.js.map +1 -1
  93. package/dist/server/host/coredevice/dtx.d.ts +79 -0
  94. package/dist/server/host/coredevice/dtx.d.ts.map +1 -0
  95. package/dist/server/host/coredevice/dtx.js +453 -0
  96. package/dist/server/host/coredevice/dtx.js.map +1 -0
  97. package/dist/server/host/coredevice/nska.d.ts +6 -0
  98. package/dist/server/host/coredevice/nska.d.ts.map +1 -0
  99. package/dist/server/host/coredevice/nska.js +277 -0
  100. package/dist/server/host/coredevice/nska.js.map +1 -0
  101. package/dist/server/host/coredevice/rsd.d.ts +20 -0
  102. package/dist/server/host/coredevice/rsd.d.ts.map +1 -0
  103. package/dist/server/host/coredevice/rsd.js +244 -0
  104. package/dist/server/host/coredevice/rsd.js.map +1 -0
  105. package/dist/server/host/coredevice/screenshot.d.ts +11 -0
  106. package/dist/server/host/coredevice/screenshot.d.ts.map +1 -0
  107. package/dist/server/host/coredevice/screenshot.js +84 -0
  108. package/dist/server/host/coredevice/screenshot.js.map +1 -0
  109. package/dist/server/host/coredevice/tunnel.d.ts +29 -0
  110. package/dist/server/host/coredevice/tunnel.d.ts.map +1 -0
  111. package/dist/server/host/coredevice/tunnel.js +222 -0
  112. package/dist/server/host/coredevice/tunnel.js.map +1 -0
  113. package/dist/server/host/coredevice/xpc.d.ts +21 -0
  114. package/dist/server/host/coredevice/xpc.d.ts.map +1 -0
  115. package/dist/server/host/coredevice/xpc.js +318 -0
  116. package/dist/server/host/coredevice/xpc.js.map +1 -0
  117. package/dist/server/host/deviceResolver.d.ts +8 -0
  118. package/dist/server/host/deviceResolver.d.ts.map +1 -1
  119. package/dist/server/host/deviceResolver.js +128 -62
  120. package/dist/server/host/deviceResolver.js.map +1 -1
  121. package/dist/server/host/tools/capture.d.ts.map +1 -1
  122. package/dist/server/host/tools/capture.js +26 -0
  123. package/dist/server/host/tools/capture.js.map +1 -1
  124. package/dist/server/host/tools/input.js +2 -2
  125. package/dist/server/host/tools/input.js.map +1 -1
  126. package/dist/server/mcpServer.d.ts.map +1 -1
  127. package/dist/server/mcpServer.js +44 -3
  128. package/dist/server/mcpServer.js.map +1 -1
  129. package/dist/server/metro/eventCapture.d.ts +0 -2
  130. package/dist/server/metro/eventCapture.d.ts.map +1 -1
  131. package/dist/server/metro/eventCapture.js +1 -2
  132. package/dist/server/metro/eventCapture.js.map +1 -1
  133. package/dist/server/metro/tools/events.d.ts.map +1 -1
  134. package/dist/server/metro/tools/events.js +11 -11
  135. package/dist/server/metro/tools/events.js.map +1 -1
  136. package/dist/shared/projection/projectValue.d.ts +90 -0
  137. package/dist/shared/projection/projectValue.d.ts.map +1 -0
  138. package/dist/shared/projection/projectValue.js +322 -0
  139. package/dist/shared/projection/projectValue.js.map +1 -0
  140. package/dist/shared/projection/redact.d.ts +31 -0
  141. package/dist/shared/projection/redact.d.ts.map +1 -0
  142. package/dist/shared/projection/redact.js +78 -0
  143. package/dist/shared/projection/redact.js.map +1 -0
  144. package/dist/shared/projection/resolvePath.d.ts +45 -0
  145. package/dist/shared/projection/resolvePath.d.ts.map +1 -0
  146. package/dist/shared/projection/resolvePath.js +211 -0
  147. package/dist/shared/projection/resolvePath.js.map +1 -0
  148. package/dist/shared/protocol.d.ts +2 -1
  149. package/dist/shared/protocol.d.ts.map +1 -1
  150. package/dist/shared/protocol.js +1 -1
  151. package/dist/shared/rn/core.d.ts +48 -0
  152. package/dist/shared/rn/core.d.ts.map +1 -0
  153. package/dist/shared/rn/core.js +100 -0
  154. package/dist/shared/rn/core.js.map +1 -0
  155. package/dist/shared/rn/deviceInfo.d.ts +40 -0
  156. package/dist/shared/rn/deviceInfo.d.ts.map +1 -0
  157. package/dist/shared/rn/deviceInfo.js +78 -0
  158. package/dist/shared/rn/deviceInfo.js.map +1 -0
  159. package/package.json +4 -2
  160. package/dist/client/hooks/useMcpState.d.ts +0 -3
  161. package/dist/client/hooks/useMcpState.d.ts.map +0 -1
  162. package/dist/client/hooks/useMcpState.js +0 -20
  163. package/dist/client/hooks/useMcpState.js.map +0 -1
  164. package/dist/server/canonicalize.d.ts +0 -8
  165. package/dist/server/canonicalize.d.ts.map +0 -1
  166. package/dist/server/canonicalize.js +0 -23
  167. package/dist/server/canonicalize.js.map +0 -1
  168. package/dist/server/host/modules/screenshot.d.ts +0 -4
  169. package/dist/server/host/modules/screenshot.d.ts.map +0 -1
  170. package/dist/server/host/modules/screenshot.js +0 -615
  171. package/dist/server/host/modules/screenshot.js.map +0 -1
  172. package/dist/server/host/tools/connectionStatus.d.ts +0 -9
  173. package/dist/server/host/tools/connectionStatus.d.ts.map +0 -1
  174. package/dist/server/host/tools/connectionStatus.js +0 -39
  175. package/dist/server/host/tools/connectionStatus.js.map +0 -1
  176. package/dist/server/host/tools/symbolicate.d.ts +0 -3
  177. package/dist/server/host/tools/symbolicate.d.ts.map +0 -1
  178. package/dist/server/host/tools/symbolicate.js +0 -209
  179. package/dist/server/host/tools/symbolicate.js.map +0 -1
  180. package/dist/server/host/wda.d.ts +0 -15
  181. package/dist/server/host/wda.d.ts.map +0 -1
  182. package/dist/server/host/wda.js +0 -100
  183. package/dist/server/host/wda.js.map +0 -1
  184. package/dist/server/inputSchemaToZod.d.ts +0 -19
  185. package/dist/server/inputSchemaToZod.d.ts.map +0 -1
  186. package/dist/server/inputSchemaToZod.js +0 -89
  187. package/dist/server/inputSchemaToZod.js.map +0 -1
  188. package/dist/server/metro/tools/openUrl.d.ts +0 -3
  189. package/dist/server/metro/tools/openUrl.d.ts.map +0 -1
  190. package/dist/server/metro/tools/openUrl.js +0 -71
  191. package/dist/server/metro/tools/openUrl.js.map +0 -1
  192. package/dist/shared/slice.d.ts +0 -16
  193. package/dist/shared/slice.d.ts.map +0 -1
  194. package/dist/shared/slice.js +0 -29
  195. package/dist/shared/slice.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.networkModule = void 0;
4
- const slice_1 = require("../../shared/slice");
4
+ const projectValue_1 = require("../../shared/projection/projectValue");
5
+ const redact_1 = require("../../shared/projection/redact");
5
6
  const DEFAULT_MAX_ENTRIES = 100;
6
7
  const DEFAULT_BODY_MAX_BYTES = 20_000;
7
8
  const DEFAULT_BODY_PREVIEW = 200;
@@ -29,6 +30,12 @@ const DEFAULT_REDACT_BODY_KEYS = [
29
30
  'secret',
30
31
  'token',
31
32
  ];
33
+ // Network entries top-level shape: array of entries, each with nested
34
+ // request/response objects holding headers map + body. Default depth 3
35
+ // means: array (1) → entry (2) → request/response (3) expanded; headers map
36
+ // and body collapse to markers. Drill via `path` or bump `depth`.
37
+ const NETWORK_DEFAULT_DEPTH = 3;
38
+ const PROJECTION_SCHEMA = (0, projectValue_1.makeProjectionSchema)(NETWORK_DEFAULT_DEPTH);
32
39
  const shouldIgnore = (url, patterns) => {
33
40
  return patterns.some((pattern) => {
34
41
  if (typeof pattern === 'string')
@@ -48,33 +55,6 @@ const parseHeaders = (headers) => {
48
55
  }
49
56
  return headers;
50
57
  };
51
- const redactHeadersMap = (headers, redact) => {
52
- if (!redact || redact.size === 0)
53
- return headers;
54
- const out = {};
55
- for (const [key, value] of Object.entries(headers)) {
56
- out[key] = redact.has(key.toLowerCase()) ? '[redacted]' : value;
57
- }
58
- return out;
59
- };
60
- // Walk an object graph replacing values for any key (case-insensitive) in
61
- // `redact`. Preserves shape so the agent still sees the field exists.
62
- const redactBodyValue = (value, redact) => {
63
- if (!redact || redact.size === 0)
64
- return value;
65
- if (value === null || typeof value !== 'object')
66
- return value;
67
- if (Array.isArray(value)) {
68
- return value.map((item) => {
69
- return redactBodyValue(item, redact);
70
- });
71
- }
72
- const out = {};
73
- for (const [key, v] of Object.entries(value)) {
74
- out[key] = redact.has(key.toLowerCase()) ? '[redacted]' : redactBodyValue(v, redact);
75
- }
76
- return out;
77
- };
78
58
  const tryParseJson = (text) => {
79
59
  try {
80
60
  return JSON.parse(text);
@@ -93,7 +73,16 @@ const byteLengthOf = (value) => {
93
73
  return 0;
94
74
  }
95
75
  };
96
- const captureBody = (raw, bodyMaxBytes, redactKeys) => {
76
+ /**
77
+ * Capture a request / response body into the buffer. JSON-parses string
78
+ * input, applies the body-key redactor, and either stores the raw value or,
79
+ * if its serialized size exceeds `bodyMaxBytes`, replaces it with a
80
+ * `${str}` marker that carries the original size + a short preview.
81
+ *
82
+ * The result is held in raw form (no `projectValue` walk) so query-time
83
+ * `path`/`depth` can drill freely; projection happens at the handler exit.
84
+ */
85
+ const captureBody = (raw, bodyMaxBytes, compiledBodyRedact) => {
97
86
  if (raw === null || raw === undefined)
98
87
  return undefined;
99
88
  if (bodyMaxBytes <= 0)
@@ -102,37 +91,18 @@ const captureBody = (raw, bodyMaxBytes, redactKeys) => {
102
91
  if (typeof raw === 'string') {
103
92
  parsed = tryParseJson(raw);
104
93
  }
105
- const redacted = redactBodyValue(parsed, redactKeys);
94
+ const redacted = (0, redact_1.redactValue)(parsed, compiledBodyRedact);
106
95
  const bytes = byteLengthOf(redacted);
107
96
  if (bytes > bodyMaxBytes) {
108
- const preview = typeof redacted === 'string'
97
+ const previewStr = typeof redacted === 'string'
109
98
  ? redacted.slice(0, DEFAULT_BODY_PREVIEW)
110
- : JSON.stringify(redacted).slice(0, DEFAULT_BODY_PREVIEW);
111
- return { bytes, preview, truncated: true };
99
+ : (JSON.stringify(redacted) ?? '').slice(0, DEFAULT_BODY_PREVIEW);
100
+ return {
101
+ body: { ['${str}']: { len: bytes, preview: previewStr } },
102
+ bodyBytes: bytes,
103
+ };
112
104
  }
113
- return { bytes, data: redacted };
114
- };
115
- const toRedactSet = (list, defaults) => {
116
- if (list === false)
117
- return null;
118
- const src = list === undefined ? defaults : list;
119
- return new Set(src.map((s) => {
120
- return s.toLowerCase();
121
- }));
122
- };
123
- const withoutBody = (entry) => {
124
- const req = entry.request.body ? { ...entry.request.body, data: undefined } : undefined;
125
- const res = entry.response?.body ? { ...entry.response.body, data: undefined } : undefined;
126
- return {
127
- ...entry,
128
- request: { ...entry.request, body: req },
129
- response: entry.response
130
- ? {
131
- ...entry.response,
132
- body: res,
133
- }
134
- : null,
135
- };
105
+ return { body: redacted, bodyBytes: bytes };
136
106
  };
137
107
  const percentile = (sorted, p) => {
138
108
  if (sorted.length === 0)
@@ -152,8 +122,8 @@ let nextId = 1;
152
122
  let maxEntries = DEFAULT_MAX_ENTRIES;
153
123
  let bodyMaxBytes = DEFAULT_BODY_MAX_BYTES;
154
124
  let ignoreUrls = [...DEFAULT_IGNORE_URLS];
155
- let redactHeaderSet = toRedactSet(undefined, DEFAULT_REDACT_HEADERS);
156
- let redactBodyKeySet = toRedactSet(undefined, DEFAULT_REDACT_BODY_KEYS);
125
+ let compiledHeaderRedact = (0, redact_1.compileRedact)(DEFAULT_REDACT_HEADERS);
126
+ let compiledBodyRedact = (0, redact_1.compileRedact)(DEFAULT_REDACT_BODY_KEYS);
157
127
  const addEntry = (base) => {
158
128
  const entry = { ...base, id: nextId++ };
159
129
  buffer.push(entry);
@@ -176,12 +146,14 @@ const installPatches = () => {
176
146
  if (shouldIgnore(url, ignoreUrls)) {
177
147
  return originalFetch(input, init);
178
148
  }
149
+ const reqBody = captureBody(init?.body, bodyMaxBytes, compiledBodyRedact);
179
150
  const entry = addEntry({
180
151
  duration: null,
181
152
  method: method.toUpperCase(),
182
153
  request: {
183
- body: captureBody(init?.body, bodyMaxBytes, redactBodyKeySet),
184
- headers: redactHeadersMap(parseHeaders(init?.headers), redactHeaderSet),
154
+ body: reqBody?.body,
155
+ bodyBytes: reqBody?.bodyBytes,
156
+ headers: (0, redact_1.redactHeaders)(parseHeaders(init?.headers), compiledHeaderRedact),
185
157
  },
186
158
  response: null,
187
159
  startedAt: new Date().toISOString(),
@@ -193,20 +165,21 @@ const installPatches = () => {
193
165
  const response = await originalFetch(input, init);
194
166
  entry.duration = Date.now() - startTime;
195
167
  entry.status = 'success';
196
- let responseBody;
168
+ let resBody;
197
169
  if (bodyMaxBytes > 0) {
198
170
  try {
199
171
  const cloned = response.clone();
200
172
  const text = await cloned.text();
201
- responseBody = captureBody(text, bodyMaxBytes, redactBodyKeySet);
173
+ resBody = captureBody(text, bodyMaxBytes, compiledBodyRedact);
202
174
  }
203
175
  catch {
204
- responseBody = undefined;
176
+ resBody = undefined;
205
177
  }
206
178
  }
207
179
  entry.response = {
208
- body: responseBody,
209
- headers: redactHeadersMap(parseHeaders(response.headers), redactHeaderSet),
180
+ body: resBody?.body,
181
+ bodyBytes: resBody?.bodyBytes,
182
+ headers: (0, redact_1.redactHeaders)(parseHeaders(response.headers), compiledHeaderRedact),
210
183
  status: response.status,
211
184
  };
212
185
  return response;
@@ -214,8 +187,10 @@ const installPatches = () => {
214
187
  catch (error) {
215
188
  entry.duration = Date.now() - startTime;
216
189
  entry.status = 'error';
190
+ const message = error instanceof Error ? error.message : String(error);
217
191
  entry.response = {
218
- body: { bytes: 0, data: error instanceof Error ? error.message : String(error) },
192
+ body: message,
193
+ bodyBytes: message.length,
219
194
  headers: {},
220
195
  status: 0,
221
196
  };
@@ -251,12 +226,14 @@ const installPatches = () => {
251
226
  if (!url || shouldIgnore(url, ignoreUrls)) {
252
227
  return originalSend.call(this, body);
253
228
  }
229
+ const reqBody = captureBody(body, bodyMaxBytes, compiledBodyRedact);
254
230
  const entry = addEntry({
255
231
  duration: null,
256
232
  method: (method ?? 'GET').toUpperCase(),
257
233
  request: {
258
- body: captureBody(body, bodyMaxBytes, redactBodyKeySet),
259
- headers: redactHeadersMap(headers ?? {}, redactHeaderSet),
234
+ body: reqBody?.body,
235
+ bodyBytes: reqBody?.bodyBytes,
236
+ headers: (0, redact_1.redactHeaders)(headers ?? {}, compiledHeaderRedact),
260
237
  },
261
238
  response: null,
262
239
  startedAt: new Date().toISOString(),
@@ -267,28 +244,29 @@ const installPatches = () => {
267
244
  this.addEventListener('loadend', () => {
268
245
  entry.duration = Date.now() - startTime;
269
246
  entry.status = this.status >= 200 && this.status < 400 ? 'success' : 'error';
270
- let responseBody;
247
+ let resBody;
271
248
  if (bodyMaxBytes > 0) {
272
249
  const responseType = this.responseType;
273
250
  if (responseType === '' || responseType === 'text') {
274
251
  try {
275
- responseBody = captureBody(this.responseText, bodyMaxBytes, redactBodyKeySet);
252
+ resBody = captureBody(this.responseText, bodyMaxBytes, compiledBodyRedact);
276
253
  }
277
254
  catch {
278
- responseBody = undefined;
255
+ resBody = undefined;
279
256
  }
280
257
  }
281
258
  else if (responseType === 'json') {
282
- responseBody = captureBody(this.response, bodyMaxBytes, redactBodyKeySet);
259
+ resBody = captureBody(this.response, bodyMaxBytes, compiledBodyRedact);
283
260
  }
284
261
  else {
285
262
  // blob | arraybuffer | document — don't serialize binary / DOM payloads.
286
- responseBody = { bytes: 0, preview: `[${responseType}]` };
263
+ resBody = { body: `[${responseType}]`, bodyBytes: 0 };
287
264
  }
288
265
  }
289
266
  entry.response = {
290
- body: responseBody,
291
- headers: redactHeadersMap(parseHeaders(this.getAllResponseHeaders?.()
267
+ body: resBody?.body,
268
+ bodyBytes: resBody?.bodyBytes,
269
+ headers: (0, redact_1.redactHeaders)(parseHeaders(this.getAllResponseHeaders?.()
292
270
  ?.split('\r\n')
293
271
  .filter(Boolean)
294
272
  .reduce((acc, line) => {
@@ -296,7 +274,7 @@ const installPatches = () => {
296
274
  if (key)
297
275
  acc[key] = rest.join(': ');
298
276
  return acc;
299
- }, {})), redactHeaderSet),
277
+ }, {})), compiledHeaderRedact),
300
278
  status: this.status,
301
279
  };
302
280
  });
@@ -304,6 +282,13 @@ const installPatches = () => {
304
282
  };
305
283
  };
306
284
  installPatches();
285
+ const project = (entries, args) => {
286
+ return (0, projectValue_1.applyProjection)(entries, args, projectValue_1.projectAsValue, NETWORK_DEFAULT_DEPTH);
287
+ };
288
+ const resolveRedactList = (override, defaults) => {
289
+ // override === false → disable; undefined → defaults; array → override list
290
+ return (0, redact_1.compileRedact)(override ?? defaults);
291
+ };
307
292
  const networkModule = (options) => {
308
293
  if (typeof options?.maxEntries === 'number') {
309
294
  maxEntries = options.maxEntries;
@@ -311,49 +296,31 @@ const networkModule = (options) => {
311
296
  buffer.splice(0, buffer.length - maxEntries);
312
297
  }
313
298
  }
314
- if (options?.includeBodies === false) {
315
- bodyMaxBytes = 0;
316
- }
317
- else if (typeof options?.bodyMaxBytes === 'number') {
299
+ if (typeof options?.bodyMaxBytes === 'number') {
318
300
  bodyMaxBytes = options.bodyMaxBytes;
319
301
  }
320
302
  if (Array.isArray(options?.ignoreUrls)) {
321
303
  ignoreUrls = [...DEFAULT_IGNORE_URLS, ...options.ignoreUrls];
322
304
  }
323
305
  if (options?.redactHeaders !== undefined) {
324
- redactHeaderSet = toRedactSet(options.redactHeaders, DEFAULT_REDACT_HEADERS);
306
+ compiledHeaderRedact = resolveRedactList(options.redactHeaders, DEFAULT_REDACT_HEADERS);
325
307
  }
326
308
  if (options?.redactBodyKeys !== undefined) {
327
- redactBodyKeySet = toRedactSet(options.redactBodyKeys, DEFAULT_REDACT_BODY_KEYS);
309
+ compiledBodyRedact = resolveRedactList(options.redactBodyKeys, DEFAULT_REDACT_BODY_KEYS);
328
310
  }
329
- const project = (entries, full) => {
330
- if (full)
331
- return entries;
332
- return entries.map(withoutBody);
333
- };
334
- const findById = (id) => {
335
- return buffer.find((e) => {
336
- return e.id === id;
337
- });
338
- };
339
311
  return {
340
312
  description: `Intercepted fetch + XMLHttpRequest — method, URL, status, duration, headers, bodies.
341
313
 
342
- CAPTURE
343
- Each entry carries a numeric \`id\`. Bodies are stored up to bodyMaxBytes
344
- (default 20KB); larger payloads keep only a preview + truncated marker.
345
- Sensitive headers (Authorization, Cookie, Set-Cookie, X-Api-Key, X-Auth-*)
346
- and body keys (password, token, accessToken, refreshToken, apiKey, secret,
347
- otp, pin) are redacted at capture time. Capture starts at module-import
348
- time (before React mounts) so cold-start traffic is not lost.
349
-
350
- QUERY
351
- get_requests / get_errors / get_request drop full \`data\` from each body
352
- by default — pass includeBodies: true to get them inline. Use get_body to
353
- fetch one specific body without polluting the response with the rest.
314
+ Each entry carries a numeric \`id\`. Bodies are stored raw up to bodyMaxBytes
315
+ (default 20KB); larger payloads collapse at capture time to a \`\${str}\`
316
+ marker. Sensitive headers (Authorization, Cookie, Set-Cookie, X-Api-Key,
317
+ X-Auth-*) and body keys (password, token, accessToken, refreshToken,
318
+ apiKey, secret, otp, pin) are redacted at capture time. Capture starts at
319
+ module-import time so cold-start traffic is not lost.
354
320
 
355
- WebSocket / Metro / symbolicate traffic is auto-ignored. Buffer size, body
356
- cap, and redaction lists are configurable via networkModule options.`,
321
+ Listing tools accept path / depth / maxBytes (default depth ${NETWORK_DEFAULT_DEPTH}). WebSocket /
322
+ Metro / symbolicate traffic is auto-ignored. Buffer size, body cap, and
323
+ redaction lists are configurable via networkModule options.`,
357
324
  name: 'network',
358
325
  tools: {
359
326
  clear_requests: {
@@ -363,85 +330,8 @@ cap, and redaction lists are configurable via networkModule options.`,
363
330
  return { success: true };
364
331
  },
365
332
  },
366
- get_body: {
367
- description: 'Fetch one captured request or response body by entry id (from get_requests). Returns { id, kind, body } or { error }. body.data is the parsed payload when the original size was below bodyMaxBytes; otherwise only preview + truncated are set.',
368
- handler: (args) => {
369
- const id = args.id;
370
- const kind = args.kind ?? 'response';
371
- if (typeof id !== 'number')
372
- return { error: 'id required (number).' };
373
- const entry = findById(id);
374
- if (!entry)
375
- return { error: `No entry with id ${id} (buffer has ${buffer.length}).` };
376
- if (kind !== 'request' && kind !== 'response') {
377
- return { error: `kind must be "request" or "response", got ${kind}.` };
378
- }
379
- const body = kind === 'request' ? entry.request.body : entry.response?.body;
380
- return { body: body ?? null, id, kind };
381
- },
382
- inputSchema: {
383
- id: { description: 'Entry id from get_requests.', type: 'number' },
384
- kind: {
385
- description: 'Which body to return: "request" or "response". Default "response".',
386
- examples: ['request', 'response'],
387
- type: 'string',
388
- },
389
- },
390
- },
391
- get_errors: {
392
- description: 'Failed requests only (non-2xx or network errors). Bodies stripped by default; pass includeBodies: true to keep them.',
393
- handler: (args) => {
394
- let result = buffer.filter((e) => {
395
- return e.status === 'error';
396
- });
397
- result = (0, slice_1.applySlice)(result, (0, slice_1.parseSliceArg)(args.slice));
398
- return project(result, args.includeBodies === true);
399
- },
400
- inputSchema: {
401
- includeBodies: {
402
- description: 'Include full body data in each entry. Default false.',
403
- type: 'boolean',
404
- },
405
- slice: {
406
- description: (0, slice_1.sliceSchemaDescription)('Default omitted → every failed request is returned.'),
407
- type: 'array',
408
- },
409
- },
410
- },
411
- get_pending: {
412
- description: 'In-flight requests (bodies stripped by default).',
413
- handler: (args) => {
414
- const result = buffer.filter((e) => {
415
- return e.status === 'pending';
416
- });
417
- return project(result, args.includeBodies === true);
418
- },
419
- inputSchema: {
420
- includeBodies: {
421
- description: 'Include full body data. Default false.',
422
- type: 'boolean',
423
- },
424
- },
425
- },
426
- get_request: {
427
- description: 'Requests whose URL contains the given substring. Bodies stripped by default.',
428
- handler: (args) => {
429
- const urlFilter = args.url;
430
- const result = buffer.filter((e) => {
431
- return e.url.includes(urlFilter);
432
- });
433
- return project(result, args.includeBodies === true);
434
- },
435
- inputSchema: {
436
- includeBodies: {
437
- description: 'Include full body data. Default false.',
438
- type: 'boolean',
439
- },
440
- url: { description: 'URL substring.', type: 'string' },
441
- },
442
- },
443
333
  get_requests: {
444
- description: 'All captured requests; filterable by method / status / URL substring. Bodies stripped by default.',
334
+ description: 'All captured requests; filterable by method / status / URL substring.',
445
335
  handler: (args) => {
446
336
  let result = [...buffer];
447
337
  if (args.method) {
@@ -461,24 +351,15 @@ cap, and redaction lists are configurable via networkModule options.`,
461
351
  return e.url.includes(urlFilter);
462
352
  });
463
353
  }
464
- result = (0, slice_1.applySlice)(result, (0, slice_1.parseSliceArg)(args.slice));
465
- return project(result, args.includeBodies === true);
354
+ return project(result, args);
466
355
  },
467
356
  inputSchema: {
468
- includeBodies: {
469
- description: 'Include full body data in each entry. Default false.',
470
- type: 'boolean',
471
- },
357
+ ...PROJECTION_SCHEMA,
472
358
  method: {
473
359
  description: 'HTTP method filter.',
474
360
  examples: ['GET', 'POST', 'PUT', 'DELETE'],
475
361
  type: 'string',
476
362
  },
477
- slice: {
478
- description: (0, slice_1.sliceSchemaDescription)('Default omitted → every captured request is returned.'),
479
- examples: [[-10], [-20, -10], [0, 50]],
480
- type: 'array',
481
- },
482
363
  status: {
483
364
  description: 'Status filter.',
484
365
  examples: ['pending', 'success', 'error'],
@@ -499,8 +380,8 @@ cap, and redaction lists are configurable via networkModule options.`,
499
380
  byStatus[entry.status] = (byStatus[entry.status] ?? 0) + 1;
500
381
  if (typeof entry.duration === 'number')
501
382
  durations.push(entry.duration);
502
- bytes += entry.request.body?.bytes ?? 0;
503
- bytes += entry.response?.body?.bytes ?? 0;
383
+ bytes += entry.request.bodyBytes ?? 0;
384
+ bytes += entry.response?.bodyBytes ?? 0;
504
385
  }
505
386
  durations.sort((a, b) => {
506
387
  return a - b;
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/modules/network/network.ts"],"names":[],"mappings":";;;AACA,0CAAmF;AAInF,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,mBAAmB,GAA2B;IAClD,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,cAAc;IACd,gBAAgB;CACjB,CAAC;AACF,MAAM,wBAAwB,GAAG;IAC/B,aAAa;IACb,QAAQ;IACR,KAAK;IACL,UAAU;IACV,KAAK;IACL,cAAc;IACd,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,QAAgC,EAAW,EAAE;IAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,OAAqD,EAC7B,EAAE;IAC1B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;QACzC,OAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,OAA+B,EAC/B,MAA0B,EACF,EAAE;IAC1B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACjD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,0EAA0E;AAC1E,sEAAsE;AACtE,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,MAA0B,EAAW,EAAE;IAC9E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,GAAY,EACZ,YAAoB,EACpB,UAA8B,EACJ,EAAE;IAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,IAAI,MAAM,GAAY,GAAG,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;QACzB,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,IAAkC,EAClC,QAAkB,EACE,EAAE;IACtB,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,OAAO,IAAI,GAAG,CACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAgB,EAAE;IACxD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;QACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACtB,CAAC,CAAC;gBACE,GAAG,KAAK,CAAC,QAAQ;gBACjB,IAAI,EAAE,GAAG;aACV;YACH,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAgB,EAAE,CAAS,EAAiB,EAAE;IAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,GAAG,CAAE,CAAC;AACtB,CAAC,CAAC;AAEF,mEAAmE;AACnE,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,gEAAgE;AAEhE,MAAM,MAAM,GAAmB,EAAE,CAAC;AAClC,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,UAAU,GAAG,mBAAmB,CAAC;AACrC,IAAI,YAAY,GAAG,sBAAsB,CAAC;AAC1C,IAAI,UAAU,GAA2B,CAAC,GAAG,mBAAmB,CAAC,CAAC;AAClE,IAAI,eAAe,GAAuB,WAAW,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACzF,IAAI,gBAAgB,GAAuB,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAE5F,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAgB,EAAE;IAChE,MAAM,KAAK,GAAiB,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,MAAM,cAAc,GAAG,GAAS,EAAE;IAChC,IAAI,gBAAgB;QAAE,OAAO;IAC7B,gBAAgB,GAAG,IAAI,CAAC;IAExB,0BAA0B;IAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,8DAA8D;IAC7D,MAAc,CAAC,KAAK,GAAG,KAAK,EAAE,KAAU,EAAE,IAAU,EAAqB,EAAE;QAC1E,MAAM,GAAG,GACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;QAErC,IAAI,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC;gBAC7D,OAAO,EAAE,gBAAgB,CACvB,YAAY,CAAC,IAAI,EAAE,OAAiC,CAAC,EACrD,eAAe,CAChB;aACF;YACD,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,SAAS;YACjB,GAAG;SACJ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAEzB,IAAI,YAAsC,CAAC;YAC3C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBACnE,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,KAAK,CAAC,QAAQ,GAAG;gBACf,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;gBAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACvB,KAAK,CAAC,QAAQ,GAAG;gBACf,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAChF,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC;aACV,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,4BAA4B;IAC5B,8DAA8D;IAC9D,MAAM,GAAG,GAAI,MAAc,CAAC,cAAc,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;IACxC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;IACxC,MAAM,wBAAwB,GAAG,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAEhE,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,MAAc,EAAE,GAAiB,EAAE,GAAG,IAAe;QAClF,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7D,IAA2C,CAAC,YAAY,GAAG,MAAM,CAAC;QAClE,IAA2C,CAAC,SAAS,GAAG,MAAM,CAAC;QAC/D,IAA2C,CAAC,aAAa,GAAG,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAEpD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,GAAG,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,IAAY,EAAE,KAAa;QACpE,MAAM,OAAO,GAAI,IAA2C,CAAC,aAG5D,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,8DAA8D;IAC9D,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,IAAU;QACvC,MAAM,GAAG,GAAI,IAA2C,CAAC,SAAmB,CAAC;QAC7E,MAAM,MAAM,GAAI,IAA2C,CAAC,YAAsB,CAAC;QACnF,MAAM,OAAO,GAAI,IAA2C,CAAC,aAG5D,CAAC;QAEF,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE;YACvC,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC;gBACvD,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,EAAE,EAAE,eAAe,CAAC;aAC1D;YACD,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,SAAS;YACjB,GAAG;SACJ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAE7E,IAAI,YAAsC,CAAC;YAC3C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBACvC,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBACnD,IAAI,CAAC;wBACH,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;oBAChF,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY,GAAG,SAAS,CAAC;oBAC3B,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBACnC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,yEAAyE;oBACzE,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,GAAG,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,KAAK,CAAC,QAAQ,GAAG;gBACf,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,gBAAgB,CACvB,YAAY,CACV,IAAI,CAAC,qBAAqB,EAAE,EAAE;oBAC5B,EAAE,KAAK,CAAC,MAAM,CAAC;qBACd,MAAM,CAAC,OAAO,CAAC;qBACf,MAAM,CAAC,CAAC,GAA2B,EAAE,IAAY,EAAE,EAAE;oBACpD,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,GAAG;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,CAAC,CACT,EACD,eAAe,CAChB;gBACD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,EAAE,CAAC;AAEV,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAa,EAAE;IACzE,IAAI,OAAO,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5C,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;QACrC,YAAY,GAAG,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,OAAO,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrD,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvC,UAAU,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;QAC1C,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAE,IAAa,EAAkB,EAAE;QACzE,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAA4B,EAAE;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;;;;;;;;;;;;;;;;qEAgBoD;QACjE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,cAAc,EAAE;gBACd,WAAW,EAAE,2BAA2B;gBACxC,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;aACF;YACD,QAAQ,EAAE;gBACR,WAAW,EACT,kPAAkP;gBACpP,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAY,CAAC;oBAC7B,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,UAAU,CAAC;oBACjD,IAAI,OAAO,EAAE,KAAK,QAAQ;wBAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;oBACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3B,IAAI,CAAC,KAAK;wBAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;oBACtF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC9C,OAAO,EAAE,KAAK,EAAE,6CAA6C,IAAI,GAAG,EAAE,CAAC;oBACzE,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC5E,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC;gBACD,WAAW,EAAE;oBACX,EAAE,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClE,IAAI,EAAE;wBACJ,WAAW,EAAE,oEAAoE;wBACjF,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;wBACjC,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;YACD,UAAU,EAAE;gBACV,WAAW,EACT,sHAAsH;gBACxH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC/B,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;oBAC9B,CAAC,CAAC,CAAC;oBACH,MAAM,GAAG,IAAA,kBAAU,EAAC,MAAM,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,WAAW,EAAE;oBACX,aAAa,EAAE;wBACb,WAAW,EAAE,sDAAsD;wBACnE,IAAI,EAAE,SAAS;qBAChB;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,IAAA,8BAAsB,EACjC,qDAAqD,CACtD;wBACD,IAAI,EAAE,OAAO;qBACd;iBACF;aACF;YACD,WAAW,EAAE;gBACX,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;wBACjC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,WAAW,EAAE;oBACX,aAAa,EAAE;wBACb,WAAW,EAAE,wCAAwC;wBACrD,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;YACD,WAAW,EAAE;gBACX,WAAW,EAAE,8EAA8E;gBAC3F,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAa,CAAC;oBACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;wBACjC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,WAAW,EAAE;oBACX,aAAa,EAAE;wBACb,WAAW,EAAE,wCAAwC;wBACrD,IAAI,EAAE,SAAS;qBAChB;oBACD,GAAG,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACvD;aACF;YACD,YAAY,EAAE;gBACZ,WAAW,EACT,mGAAmG;gBACrG,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChB,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,CAAC,WAAW,EAAE,CAAC;wBACrD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC3B,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;wBAC7B,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC3B,OAAO,CAAC,CAAC,MAAM,KAAM,IAAI,CAAC,MAAiB,CAAC;wBAC9C,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAa,CAAC;wBACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,GAAG,IAAA,kBAAU,EAAC,MAAM,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,WAAW,EAAE;oBACX,aAAa,EAAE;wBACb,WAAW,EAAE,sDAAsD;wBACnE,IAAI,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE;wBACN,WAAW,EAAE,qBAAqB;wBAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;wBAC1C,IAAI,EAAE,QAAQ;qBACf;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,IAAA,8BAAsB,EACjC,uDAAuD,CACxD;wBACD,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,OAAO;qBACd;oBACD,MAAM,EAAE;wBACN,WAAW,EAAE,gBAAgB;wBAC7B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;wBACzC,IAAI,EAAE,QAAQ;qBACf;oBACD,GAAG,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC9D;aACF;YACD,SAAS,EAAE;gBACT,WAAW,EACT,kHAAkH;gBACpH,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,QAAQ,GAA2B,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC9E,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,MAAM,SAAS,GAAa,EAAE,CAAC;oBAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC3D,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC3D,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;4BAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACvE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;wBACxC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;oBAC5C,CAAC;oBAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACtB,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC,CAAC,CAAC;oBAEH,OAAO;wBACL,QAAQ;wBACR,QAAQ;wBACR,KAAK;wBACL,UAAU,EAAE;4BACV,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;4BAC9D,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;4BAC3C,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;4BAC9B,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;yBAC/B;wBACD,KAAK,EAAE,MAAM,CAAC,MAAM;qBACrB,CAAC;gBACJ,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAlOW,QAAA,aAAa,iBAkOxB"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/modules/network/network.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,54 @@
1
1
  export type HttpMethod = 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT';
2
2
  /**
3
- * Body captured on request or response. For tiny / moderate payloads we keep
4
- * the fully-parsed `data` inline. Bodies larger than `bodyMaxBytes` get their
5
- * `data` dropped and a `preview` plus `truncated: true` marker is kept instead,
6
- * so memory stays bounded even under pagination / feed responses.
3
+ * Captured request / response side of a network entry. Body is stored raw
4
+ * (post JSON-parse + redact) when the captured size is below `bodyMaxBytes`;
5
+ * otherwise it is replaced with a `${str}` marker carrying the original
6
+ * size and a short preview. Either way `bodyBytes` reflects the original
7
+ * captured size for stats.
7
8
  */
8
- export interface CapturedBody {
9
- bytes: number;
10
- data?: unknown;
11
- preview?: string;
12
- truncated?: true;
9
+ export interface NetworkRequestSide {
10
+ headers: Record<string, string>;
11
+ body?: unknown;
12
+ bodyBytes?: number;
13
+ }
14
+ export interface NetworkResponseSide {
15
+ headers: Record<string, string>;
16
+ status: number;
17
+ body?: unknown;
18
+ bodyBytes?: number;
13
19
  }
14
20
  export interface NetworkEntry {
15
21
  duration: number | null;
16
22
  id: number;
17
23
  method: string;
18
- request: {
19
- headers: Record<string, string>;
20
- body?: CapturedBody;
21
- };
22
- response: {
23
- headers: Record<string, string>;
24
- status: number;
25
- body?: CapturedBody;
26
- } | null;
24
+ request: NetworkRequestSide;
25
+ response: NetworkResponseSide | null;
27
26
  startedAt: string;
28
27
  status: 'error' | 'pending' | 'success';
29
28
  url: string;
30
29
  }
31
30
  export interface NetworkModuleOptions {
32
31
  /**
33
- * Cap on stored body size (bytes). Bodies above this keep only a preview +
34
- * byte count. Default 20_000 (20KB) — protects against megabyte feeds.
35
- * Pass 0 to disable capture entirely.
32
+ * Cap on stored body size (bytes). Bodies above this are replaced with a
33
+ * `${str}` marker carrying len + preview. Default 20_000 (20KB) — protects
34
+ * memory against megabyte feeds. Pass 0 to disable body capture entirely.
36
35
  */
37
36
  bodyMaxBytes?: number;
38
37
  /** Ignore URLs matching these patterns (e.g. WebSocket, Metro bundler) */
39
38
  ignoreUrls?: Array<string | RegExp>;
40
- /** Include request/response bodies at capture time (default: true) */
41
- includeBodies?: boolean;
42
39
  /** Max entries in the buffer (default: 100) */
43
40
  maxEntries?: number;
44
41
  /**
45
42
  * Body keys (case-insensitive) to redact before storing. Recursively matches
46
43
  * nested objects. Default: ['password','token','accessToken','refreshToken',
47
- * 'apiKey','secret','otp','pin']. Pass false to disable, [] to keep defaults
48
- * only when explicitly empty.
44
+ * 'apiKey','secret','otp','pin']. Pass false to disable.
49
45
  */
50
- redactBodyKeys?: string[] | false;
46
+ redactBodyKeys?: ReadonlyArray<string | RegExp> | false;
51
47
  /**
52
48
  * Header names (case-insensitive) to replace with "[redacted]" before
53
49
  * storing. Default: ['authorization','cookie','set-cookie','x-api-key',
54
50
  * 'x-auth-token','x-access-token']. Pass false to disable.
55
51
  */
56
- redactHeaders?: string[] | false;
52
+ redactHeaders?: ReadonlyArray<string | RegExp> | false;
57
53
  }
58
54
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,YAAY,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,YAAY,CAAC;KACrB,GAAG,IAAI,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACpC,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1F;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACpC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;IACxD;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;CACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactQuery.d.ts","sourceRoot":"","sources":["../../../src/modules/reactQuery/reactQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AA2B/C,eAAO,MAAM,gBAAgB,gBAAiB,eAAe,KAAG,SAuJ/D,CAAC"}
1
+ {"version":3,"file":"reactQuery.d.ts","sourceRoot":"","sources":["../../../src/modules/reactQuery/reactQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAuC/C,eAAO,MAAM,gBAAgB,gBAAiB,eAAe,KAAG,SAkJ/D,CAAC"}