execbro 2.6.1 → 2.7.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 (256) hide show
  1. package/README.md +5 -2
  2. package/build/__tests__/helpers/mock-harness.d.ts +35 -0
  3. package/build/__tests__/helpers/mock-harness.d.ts.map +1 -0
  4. package/build/__tests__/helpers/mock-harness.js +83 -0
  5. package/build/__tests__/helpers/mock-harness.js.map +1 -0
  6. package/build/__tests__/unit/androidEmulatorAvds.test.js +2 -1
  7. package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -1
  8. package/build/__tests__/unit/buildToken.test.js +20 -3
  9. package/build/__tests__/unit/buildToken.test.js.map +1 -1
  10. package/build/__tests__/unit/commandInjection.test.d.ts +2 -0
  11. package/build/__tests__/unit/commandInjection.test.d.ts.map +1 -0
  12. package/build/__tests__/unit/commandInjection.test.js +55 -0
  13. package/build/__tests__/unit/commandInjection.test.js.map +1 -0
  14. package/build/__tests__/unit/errorCategorization.test.js +14 -0
  15. package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
  16. package/build/__tests__/unit/fingerprint.test.js +2 -2
  17. package/build/__tests__/unit/fingerprint.test.js.map +1 -1
  18. package/build/__tests__/unit/inputTarget.test.js +46 -0
  19. package/build/__tests__/unit/inputTarget.test.js.map +1 -1
  20. package/build/__tests__/unit/logSourceAndroid.test.js +5 -5
  21. package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
  22. package/build/__tests__/unit/logSourceIos.test.js +10 -6
  23. package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
  24. package/build/__tests__/unit/logStack.test.d.ts +2 -0
  25. package/build/__tests__/unit/logStack.test.d.ts.map +1 -0
  26. package/build/__tests__/unit/logStack.test.js +86 -0
  27. package/build/__tests__/unit/logStack.test.js.map +1 -0
  28. package/build/__tests__/unit/logSymbolication.test.d.ts +2 -0
  29. package/build/__tests__/unit/logSymbolication.test.d.ts.map +1 -0
  30. package/build/__tests__/unit/logSymbolication.test.js +215 -0
  31. package/build/__tests__/unit/logSymbolication.test.js.map +1 -0
  32. package/build/__tests__/unit/mockRulePush.test.d.ts +2 -0
  33. package/build/__tests__/unit/mockRulePush.test.d.ts.map +1 -0
  34. package/build/__tests__/unit/mockRulePush.test.js +65 -0
  35. package/build/__tests__/unit/mockRulePush.test.js.map +1 -0
  36. package/build/__tests__/unit/mockRules.test.d.ts +2 -0
  37. package/build/__tests__/unit/mockRules.test.d.ts.map +1 -0
  38. package/build/__tests__/unit/mockRules.test.js +111 -0
  39. package/build/__tests__/unit/mockRules.test.js.map +1 -0
  40. package/build/__tests__/unit/nativeLogs.test.js +8 -2
  41. package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
  42. package/build/__tests__/unit/netInfoPatch.test.d.ts +2 -0
  43. package/build/__tests__/unit/netInfoPatch.test.d.ts.map +1 -0
  44. package/build/__tests__/unit/netInfoPatch.test.js +46 -0
  45. package/build/__tests__/unit/netInfoPatch.test.js.map +1 -0
  46. package/build/__tests__/unit/networkInterceptorXhr.test.d.ts +2 -0
  47. package/build/__tests__/unit/networkInterceptorXhr.test.d.ts.map +1 -0
  48. package/build/__tests__/unit/networkInterceptorXhr.test.js +440 -0
  49. package/build/__tests__/unit/networkInterceptorXhr.test.js.map +1 -0
  50. package/build/__tests__/unit/networkMock.test.d.ts +2 -0
  51. package/build/__tests__/unit/networkMock.test.d.ts.map +1 -0
  52. package/build/__tests__/unit/networkMock.test.js +183 -0
  53. package/build/__tests__/unit/networkMock.test.js.map +1 -0
  54. package/build/__tests__/unit/networkMockRender.test.d.ts +2 -0
  55. package/build/__tests__/unit/networkMockRender.test.d.ts.map +1 -0
  56. package/build/__tests__/unit/networkMockRender.test.js +131 -0
  57. package/build/__tests__/unit/networkMockRender.test.js.map +1 -0
  58. package/build/__tests__/unit/networkMockTamper.test.d.ts +2 -0
  59. package/build/__tests__/unit/networkMockTamper.test.d.ts.map +1 -0
  60. package/build/__tests__/unit/networkMockTamper.test.js +162 -0
  61. package/build/__tests__/unit/networkMockTamper.test.js.map +1 -0
  62. package/build/__tests__/unit/networkMockTool.test.d.ts +2 -0
  63. package/build/__tests__/unit/networkMockTool.test.d.ts.map +1 -0
  64. package/build/__tests__/unit/networkMockTool.test.js +69 -0
  65. package/build/__tests__/unit/networkMockTool.test.js.map +1 -0
  66. package/build/__tests__/unit/networkReplay.test.d.ts +2 -0
  67. package/build/__tests__/unit/networkReplay.test.d.ts.map +1 -0
  68. package/build/__tests__/unit/networkReplay.test.js +86 -0
  69. package/build/__tests__/unit/networkReplay.test.js.map +1 -0
  70. package/build/__tests__/unit/serialQueue.test.d.ts +2 -0
  71. package/build/__tests__/unit/serialQueue.test.d.ts.map +1 -0
  72. package/build/__tests__/unit/serialQueue.test.js +77 -0
  73. package/build/__tests__/unit/serialQueue.test.js.map +1 -0
  74. package/build/__tests__/unit/symbolicate.test.js +36 -0
  75. package/build/__tests__/unit/symbolicate.test.js.map +1 -1
  76. package/build/__tests__/unit/tap.test.js +0 -48
  77. package/build/__tests__/unit/tap.test.js.map +1 -1
  78. package/build/__tests__/unit/textEntry.test.js +53 -0
  79. package/build/__tests__/unit/textEntry.test.js.map +1 -1
  80. package/build/__tests__/unit/toolArgInjection.test.d.ts +2 -0
  81. package/build/__tests__/unit/toolArgInjection.test.d.ts.map +1 -0
  82. package/build/__tests__/unit/toolArgInjection.test.js +86 -0
  83. package/build/__tests__/unit/toolArgInjection.test.js.map +1 -0
  84. package/build/core/android.d.ts.map +1 -1
  85. package/build/core/android.js +54 -111
  86. package/build/core/android.js.map +1 -1
  87. package/build/core/androidSystemBars.d.ts.map +1 -1
  88. package/build/core/androidSystemBars.js +3 -3
  89. package/build/core/androidSystemBars.js.map +1 -1
  90. package/build/core/appRequest.d.ts +1 -0
  91. package/build/core/appRequest.d.ts.map +1 -1
  92. package/build/core/appRequest.js +5 -2
  93. package/build/core/appRequest.js.map +1 -1
  94. package/build/core/buildInfo.d.ts +3 -0
  95. package/build/core/buildInfo.d.ts.map +1 -0
  96. package/build/core/buildInfo.js +6 -0
  97. package/build/core/buildInfo.js.map +1 -0
  98. package/build/core/componentSource.d.ts.map +1 -1
  99. package/build/core/componentSource.js +1 -1
  100. package/build/core/componentSource.js.map +1 -1
  101. package/build/core/connection.d.ts.map +1 -1
  102. package/build/core/connection.js +15 -5
  103. package/build/core/connection.js.map +1 -1
  104. package/build/core/exec.d.ts +5 -0
  105. package/build/core/exec.d.ts.map +1 -1
  106. package/build/core/exec.js +34 -1
  107. package/build/core/exec.js.map +1 -1
  108. package/build/core/fingerprint.d.ts.map +1 -1
  109. package/build/core/fingerprint.js +3 -3
  110. package/build/core/fingerprint.js.map +1 -1
  111. package/build/core/guides.d.ts.map +1 -1
  112. package/build/core/guides.js +21 -1
  113. package/build/core/guides.js.map +1 -1
  114. package/build/core/inputTarget.d.ts.map +1 -1
  115. package/build/core/inputTarget.js +42 -2
  116. package/build/core/inputTarget.js.map +1 -1
  117. package/build/core/ios.d.ts.map +1 -1
  118. package/build/core/ios.js +14 -17
  119. package/build/core/ios.js.map +1 -1
  120. package/build/core/jsLogEvents.d.ts.map +1 -1
  121. package/build/core/jsLogEvents.js +1 -0
  122. package/build/core/jsLogEvents.js.map +1 -1
  123. package/build/core/keyboardRaise.d.ts.map +1 -1
  124. package/build/core/keyboardRaise.js +3 -3
  125. package/build/core/keyboardRaise.js.map +1 -1
  126. package/build/core/logEventFormat.d.ts +2 -0
  127. package/build/core/logEventFormat.d.ts.map +1 -1
  128. package/build/core/logEventFormat.js +6 -1
  129. package/build/core/logEventFormat.js.map +1 -1
  130. package/build/core/logEvents.d.ts +2 -1
  131. package/build/core/logEvents.d.ts.map +1 -1
  132. package/build/core/logEvents.js.map +1 -1
  133. package/build/core/logSourceAndroid.d.ts +1 -1
  134. package/build/core/logSourceAndroid.d.ts.map +1 -1
  135. package/build/core/logSourceAndroid.js +9 -9
  136. package/build/core/logSourceAndroid.js.map +1 -1
  137. package/build/core/logSourceIos.d.ts +1 -1
  138. package/build/core/logSourceIos.d.ts.map +1 -1
  139. package/build/core/logSourceIos.js +9 -9
  140. package/build/core/logSourceIos.js.map +1 -1
  141. package/build/core/logStack.d.ts +6 -0
  142. package/build/core/logStack.d.ts.map +1 -0
  143. package/build/core/logStack.js +44 -0
  144. package/build/core/logStack.js.map +1 -0
  145. package/build/core/logSymbolication.d.ts +11 -0
  146. package/build/core/logSymbolication.d.ts.map +1 -0
  147. package/build/core/logSymbolication.js +91 -0
  148. package/build/core/logSymbolication.js.map +1 -0
  149. package/build/core/mockRules.d.ts +30 -0
  150. package/build/core/mockRules.d.ts.map +1 -0
  151. package/build/core/mockRules.js +200 -0
  152. package/build/core/mockRules.js.map +1 -0
  153. package/build/core/nativeInputValue.js +6 -6
  154. package/build/core/nativeInputValue.js.map +1 -1
  155. package/build/core/nativeLogs.js +2 -2
  156. package/build/core/nativeLogs.js.map +1 -1
  157. package/build/core/netInfoPatch.d.ts +5 -0
  158. package/build/core/netInfoPatch.d.ts.map +1 -0
  159. package/build/core/netInfoPatch.js +88 -0
  160. package/build/core/netInfoPatch.js.map +1 -0
  161. package/build/core/network.d.ts.map +1 -1
  162. package/build/core/network.js +9 -0
  163. package/build/core/network.js.map +1 -1
  164. package/build/core/networkInterceptor.d.ts +6 -0
  165. package/build/core/networkInterceptor.d.ts.map +1 -1
  166. package/build/core/networkInterceptor.js +660 -13
  167. package/build/core/networkInterceptor.js.map +1 -1
  168. package/build/core/replay.d.ts +14 -0
  169. package/build/core/replay.d.ts.map +1 -0
  170. package/build/core/replay.js +14 -0
  171. package/build/core/replay.js.map +1 -0
  172. package/build/core/serialQueue.d.ts +6 -0
  173. package/build/core/serialQueue.d.ts.map +1 -0
  174. package/build/core/serialQueue.js +18 -0
  175. package/build/core/serialQueue.js.map +1 -0
  176. package/build/core/symbolicate.d.ts +2 -2
  177. package/build/core/symbolicate.d.ts.map +1 -1
  178. package/build/core/symbolicate.js +2 -2
  179. package/build/core/symbolicate.js.map +1 -1
  180. package/build/core/telemetry.d.ts.map +1 -1
  181. package/build/core/telemetry.js +5 -3
  182. package/build/core/telemetry.js.map +1 -1
  183. package/build/core/textEntry.d.ts +2 -0
  184. package/build/core/textEntry.d.ts.map +1 -1
  185. package/build/core/textEntry.js +30 -3
  186. package/build/core/textEntry.js.map +1 -1
  187. package/build/core/types.d.ts +11 -0
  188. package/build/core/types.d.ts.map +1 -1
  189. package/build/index.d.ts.map +1 -1
  190. package/build/index.js +55 -9
  191. package/build/index.js.map +1 -1
  192. package/build/tools/deviceTools.d.ts.map +1 -1
  193. package/build/tools/deviceTools.js +4 -1
  194. package/build/tools/deviceTools.js.map +1 -1
  195. package/build/tools/interactionTools.d.ts.map +1 -1
  196. package/build/tools/interactionTools.js +6 -3
  197. package/build/tools/interactionTools.js.map +1 -1
  198. package/build/tools/logTools.d.ts.map +1 -1
  199. package/build/tools/logTools.js +16 -3
  200. package/build/tools/logTools.js.map +1 -1
  201. package/build/tools/networkTools.d.ts.map +1 -1
  202. package/build/tools/networkTools.js +196 -4
  203. package/build/tools/networkTools.js.map +1 -1
  204. package/build/tools/requestTools.d.ts.map +1 -1
  205. package/build/tools/requestTools.js +93 -26
  206. package/build/tools/requestTools.js.map +1 -1
  207. package/package.json +3 -3
  208. package/tools.json +36 -1
  209. package/build/__tests__/helpers/fake-cdp-server.d.ts +0 -53
  210. package/build/__tests__/helpers/fake-cdp-server.d.ts.map +0 -1
  211. package/build/__tests__/helpers/fake-cdp-server.js +0 -116
  212. package/build/__tests__/helpers/fake-cdp-server.js.map +0 -1
  213. package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -13
  214. package/build/__tests__/helpers/tap-test-helpers.d.ts.map +0 -1
  215. package/build/__tests__/helpers/tap-test-helpers.js +0 -103
  216. package/build/__tests__/helpers/tap-test-helpers.js.map +0 -1
  217. package/build/__tests__/integration/auto-reconnect.test.d.ts +0 -2
  218. package/build/__tests__/integration/auto-reconnect.test.d.ts.map +0 -1
  219. package/build/__tests__/integration/auto-reconnect.test.js +0 -108
  220. package/build/__tests__/integration/auto-reconnect.test.js.map +0 -1
  221. package/build/__tests__/integration/connection-health.test.d.ts +0 -2
  222. package/build/__tests__/integration/connection-health.test.d.ts.map +0 -1
  223. package/build/__tests__/integration/connection-health.test.js +0 -155
  224. package/build/__tests__/integration/connection-health.test.js.map +0 -1
  225. package/build/__tests__/integration/execute-in-app.test.d.ts +0 -2
  226. package/build/__tests__/integration/execute-in-app.test.d.ts.map +0 -1
  227. package/build/__tests__/integration/execute-in-app.test.js +0 -114
  228. package/build/__tests__/integration/execute-in-app.test.js.map +0 -1
  229. package/build/__tests__/integration/native-logs.test.d.ts +0 -2
  230. package/build/__tests__/integration/native-logs.test.d.ts.map +0 -1
  231. package/build/__tests__/integration/native-logs.test.js +0 -34
  232. package/build/__tests__/integration/native-logs.test.js.map +0 -1
  233. package/build/__tests__/integration/per-call-timeout.test.d.ts +0 -2
  234. package/build/__tests__/integration/per-call-timeout.test.d.ts.map +0 -1
  235. package/build/__tests__/integration/per-call-timeout.test.js +0 -99
  236. package/build/__tests__/integration/per-call-timeout.test.js.map +0 -1
  237. package/build/__tests__/integration/socket-close-midflight.test.d.ts +0 -2
  238. package/build/__tests__/integration/socket-close-midflight.test.d.ts.map +0 -1
  239. package/build/__tests__/integration/socket-close-midflight.test.js +0 -96
  240. package/build/__tests__/integration/socket-close-midflight.test.js.map +0 -1
  241. package/build/__tests__/integration/stale-target-probe.test.d.ts +0 -2
  242. package/build/__tests__/integration/stale-target-probe.test.d.ts.map +0 -1
  243. package/build/__tests__/integration/stale-target-probe.test.js +0 -70
  244. package/build/__tests__/integration/stale-target-probe.test.js.map +0 -1
  245. package/build/__tests__/integration/tap-strategies.test.d.ts +0 -2
  246. package/build/__tests__/integration/tap-strategies.test.d.ts.map +0 -1
  247. package/build/__tests__/integration/tap-strategies.test.js +0 -296
  248. package/build/__tests__/integration/tap-strategies.test.js.map +0 -1
  249. package/build/__tests__/integration/text-input.test.d.ts +0 -2
  250. package/build/__tests__/integration/text-input.test.d.ts.map +0 -1
  251. package/build/__tests__/integration/text-input.test.js +0 -142
  252. package/build/__tests__/integration/text-input.test.js.map +0 -1
  253. package/build/__tests__/integration/tools.test.d.ts +0 -2
  254. package/build/__tests__/integration/tools.test.d.ts.map +0 -1
  255. package/build/__tests__/integration/tools.test.js +0 -221
  256. package/build/__tests__/integration/tools.test.js.map +0 -1
@@ -4,7 +4,7 @@ export declare function buildLogShowCommand(opts: {
4
4
  processName?: string;
5
5
  sinceTs?: Date;
6
6
  minMessageType?: "error" | "fault";
7
- }): string;
7
+ }): string[];
8
8
  export declare function parseLogShowNdjson(stdout: string): RawLogLine[];
9
9
  export declare function fetchIosLines(opts: {
10
10
  udid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"logSourceIos.d.ts","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACtC,GAAG,MAAM,CAqBT;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQxB;AAUD,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B;AAGD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
1
+ {"version":3,"file":"logSourceIos.d.ts","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACtC,GAAG,MAAM,EAAE,CAuBX;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQxB;AAUD,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAGD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
@@ -1,4 +1,4 @@
1
- import { execAsync, withCancelableTimeout } from "./exec.js";
1
+ import { execFileAsync, withCancelableTimeout } from "./exec.js";
2
2
  const MAX_BUFFER = 32 * 1024 * 1024;
3
3
  const FETCH_TIMEOUT_MS = 8000;
4
4
  const MESSAGE_TYPE = {
@@ -24,17 +24,17 @@ export function buildLogShowCommand(opts) {
24
24
  else if (opts.minMessageType === "error") {
25
25
  predicates.push("(messageType == error OR messageType == fault)");
26
26
  }
27
- const parts = [`xcrun simctl spawn ${opts.udid} log show --style ndjson`];
27
+ const parts = ["simctl", "spawn", opts.udid, "log", "show", "--style", "ndjson"];
28
28
  if (opts.sinceTs) {
29
- parts.push(`--start '${localStamp(opts.sinceTs)}'`);
29
+ parts.push("--start", localStamp(opts.sinceTs));
30
30
  }
31
31
  else {
32
- parts.push("--last 30m");
32
+ parts.push("--last", "30m");
33
33
  }
34
34
  if (predicates.length > 0) {
35
- parts.push(`--predicate '${predicates.join(" AND ")}'`);
35
+ parts.push("--predicate", predicates.join(" AND "));
36
36
  }
37
- return parts.join(" ");
37
+ return parts;
38
38
  }
39
39
  export function parseLogShowNdjson(stdout) {
40
40
  const out = [];
@@ -69,8 +69,8 @@ export function parseLogShowNdjson(stdout) {
69
69
  return out;
70
70
  }
71
71
  export async function fetchIosLines(opts) {
72
- const cmd = buildLogShowCommand(opts);
73
- const { stdout } = await withCancelableTimeout((signal) => execAsync(cmd, { signal, maxBuffer: MAX_BUFFER }), FETCH_TIMEOUT_MS, `log show (${opts.udid})`);
72
+ const args = buildLogShowCommand(opts);
73
+ const { stdout } = await withCancelableTimeout((signal) => execFileAsync("xcrun", args, { signal, maxBuffer: MAX_BUFFER }), FETCH_TIMEOUT_MS, `log show (${opts.udid})`);
74
74
  return parseLogShowNdjson(stdout);
75
75
  }
76
76
  const processNameCache = new Map();
@@ -80,7 +80,7 @@ export async function resolveIosProcessName(udid, bundleId, signal) {
80
80
  if (cached)
81
81
  return cached;
82
82
  try {
83
- const { stdout } = await execAsync(`xcrun simctl get_app_container ${udid} ${bundleId} app`, { signal });
83
+ const { stdout } = await execFileAsync("xcrun", ["simctl", "get_app_container", udid, bundleId, "app"], { signal });
84
84
  const name = stdout.trim().split("/").pop()?.replace(/\.app$/, "");
85
85
  if (name)
86
86
  processNameCache.set(key, name);
@@ -1 +1 @@
1
- {"version":3,"file":"logSourceIos.js","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logSourceIos.js","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CDPStackFrame, LogEntry } from "./types.js";
2
+ import { StackFrame } from "./symbolicate.js";
3
+ export declare const MAX_STORED_FRAMES = 12;
4
+ export declare function captureStack(level: LogEntry["level"], stackTrace: unknown): CDPStackFrame[] | undefined;
5
+ export declare function toStackFrames(frames: readonly CDPStackFrame[]): StackFrame[];
6
+ //# sourceMappingURL=logStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logStack.d.ts","sourceRoot":"","sources":["../../src/core/logStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0B9C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAOpC,wBAAgB,YAAY,CACxB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,UAAU,EAAE,OAAO,GACpB,aAAa,EAAE,GAAG,SAAS,CAuB7B;AAiBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,UAAU,EAAE,CAY5E"}
@@ -0,0 +1,44 @@
1
+ const STACK_LEVELS = new Set(["warn", "error", "fatal"]);
2
+ export const MAX_STORED_FRAMES = 12;
3
+ export function captureStack(level, stackTrace) {
4
+ if (!STACK_LEVELS.has(level))
5
+ return undefined;
6
+ if (!stackTrace || typeof stackTrace !== "object")
7
+ return undefined;
8
+ const callFrames = stackTrace.callFrames;
9
+ if (!Array.isArray(callFrames) || callFrames.length === 0)
10
+ return undefined;
11
+ const out = [];
12
+ for (const raw of callFrames) {
13
+ if (out.length >= MAX_STORED_FRAMES)
14
+ break;
15
+ if (!raw || typeof raw !== "object")
16
+ continue;
17
+ const f = raw;
18
+ if (typeof f.lineNumber !== "number" || typeof f.columnNumber !== "number")
19
+ continue;
20
+ out.push({
21
+ functionName: typeof f.functionName === "string" ? f.functionName : undefined,
22
+ scriptId: typeof f.scriptId === "string" ? f.scriptId : undefined,
23
+ url: typeof f.url === "string" && f.url.length > 0 ? f.url : undefined,
24
+ lineNumber: f.lineNumber,
25
+ columnNumber: f.columnNumber,
26
+ });
27
+ }
28
+ return out.length > 0 ? out : undefined;
29
+ }
30
+ export function toStackFrames(frames) {
31
+ const out = [];
32
+ for (const f of frames) {
33
+ if (!f.url)
34
+ continue;
35
+ out.push({
36
+ file: f.url,
37
+ lineNumber: f.lineNumber + 1,
38
+ column: f.columnNumber + 1,
39
+ methodName: f.functionName && f.functionName.length > 0 ? f.functionName : null,
40
+ });
41
+ }
42
+ return out;
43
+ }
44
+ //# sourceMappingURL=logStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logStack.js","sourceRoot":"","sources":["../../src/core/logStack.ts"],"names":[],"mappings":"AAoBA,MAAM,YAAY,GAAmC,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAOzF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAOpC,MAAM,UAAU,YAAY,CACxB,KAAwB,EACxB,UAAmB;IAEnB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEpE,MAAM,UAAU,GAAI,UAAuC,CAAC,UAAU,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5E,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,iBAAiB;YAAE,MAAM;QAC3C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAAE,SAAS;QACrF,GAAG,CAAC,IAAI,CAAC;YACL,YAAY,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC7E,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACjE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACtE,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,YAAY,EAAE,CAAC,CAAC,YAAY;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAiBD,MAAM,UAAU,aAAa,CAAC,MAAgC;IAC1D,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,GAAG;YAAE,SAAS;QACrB,GAAG,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,GAAG;YACX,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC;YAC5B,MAAM,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SAClF,CAAC,CAAC;IACP,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { LogEvent } from "./logEvents.js";
2
+ import { type SymbolicatedFrame } from "./symbolicate.js";
3
+ export declare const READ_FRAME_BUDGET = 20;
4
+ export interface ResolvedStacks {
5
+ byEventId: Map<string, SymbolicatedFrame>;
6
+ overBudget: number;
7
+ }
8
+ export declare function formatFrame(frame: SymbolicatedFrame): string;
9
+ export declare function resolveListStacks(events: readonly LogEvent[], budget?: number): Promise<ResolvedStacks>;
10
+ export declare function resolveFullStack(event: LogEvent): Promise<string[]>;
11
+ //# sourceMappingURL=logSymbolication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSymbolication.d.ts","sourceRoot":"","sources":["../../src/core/logSymbolication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,kBAAkB,CAAC;AAe1B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAKpC,MAAM,WAAW,cAAc;IAE3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE1C,UAAU,EAAE,MAAM,CAAC;CACtB;AASD,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAG5D;AAMD,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,MAAM,SAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAyDzB;AAMD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBzE"}
@@ -0,0 +1,91 @@
1
+ import { toStackFrames } from "./logStack.js";
2
+ import { firstUserFrame, symbolicateFrames, } from "./symbolicate.js";
3
+ export const READ_FRAME_BUDGET = 20;
4
+ const LIST_LEVELS = new Set(["error", "fatal"]);
5
+ const EMPTY = { byEventId: new Map(), overBudget: 0 };
6
+ function frameKey(f) {
7
+ return `${f.file}|${f.lineNumber}|${f.column}`;
8
+ }
9
+ export function formatFrame(frame) {
10
+ const where = `${frame.file}:${frame.lineNumber}:${frame.column}`;
11
+ return frame.methodName ? `${where} in ${frame.methodName}` : where;
12
+ }
13
+ export async function resolveListStacks(events, budget = READ_FRAME_BUDGET) {
14
+ const candidates = events.filter((e) => e.source === "js" && LIST_LEVELS.has(e.level) && e.stackTrace?.length);
15
+ if (candidates.length === 0)
16
+ return EMPTY;
17
+ const uniqueFrames = [];
18
+ const indexByKey = new Map();
19
+ const perEvent = [];
20
+ let overBudget = 0;
21
+ for (const event of candidates) {
22
+ const frames = toStackFrames(event.stackTrace ?? []);
23
+ if (frames.length === 0)
24
+ continue;
25
+ const indexes = [];
26
+ let truncated = false;
27
+ for (const frame of frames) {
28
+ const key = frameKey(frame);
29
+ let idx = indexByKey.get(key);
30
+ if (idx === undefined) {
31
+ if (uniqueFrames.length >= budget) {
32
+ truncated = true;
33
+ break;
34
+ }
35
+ idx = uniqueFrames.length;
36
+ indexByKey.set(key, idx);
37
+ uniqueFrames.push(frame);
38
+ }
39
+ indexes.push(idx);
40
+ }
41
+ if (truncated && indexes.length === 0)
42
+ overBudget++;
43
+ if (indexes.length > 0)
44
+ perEvent.push({ id: event.id, indexes });
45
+ }
46
+ if (uniqueFrames.length === 0)
47
+ return { byEventId: new Map(), overBudget };
48
+ let resolved;
49
+ try {
50
+ resolved = await symbolicateFrames(uniqueFrames);
51
+ }
52
+ catch {
53
+ return { byEventId: new Map(), overBudget };
54
+ }
55
+ if (resolved === null)
56
+ return { byEventId: new Map(), overBudget };
57
+ const byEventId = new Map();
58
+ for (const { id, indexes } of perEvent) {
59
+ const slice = indexes.map((i) => resolved[i] ?? null);
60
+ const first = firstUserFrame(slice);
61
+ if (first)
62
+ byEventId.set(id, first);
63
+ }
64
+ return { byEventId, overBudget };
65
+ }
66
+ export async function resolveFullStack(event) {
67
+ const frames = toStackFrames(event.stackTrace ?? []);
68
+ if (frames.length === 0)
69
+ return [];
70
+ let resolved;
71
+ try {
72
+ resolved = await symbolicateFrames(frames);
73
+ }
74
+ catch {
75
+ return [];
76
+ }
77
+ if (resolved === null)
78
+ return [];
79
+ const lines = [];
80
+ resolved.forEach((frame, i) => {
81
+ if (frame) {
82
+ lines.push(` ${frame.collapse ? "·" : "→"} ${formatFrame(frame)}`);
83
+ }
84
+ else {
85
+ const raw = frames[i];
86
+ lines.push(` ? ${raw.methodName ?? "<anonymous>"} (unresolved)`);
87
+ }
88
+ });
89
+ return lines;
90
+ }
91
+ //# sourceMappingURL=logSymbolication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSymbolication.js","sourceRoot":"","sources":["../../src/core/logSymbolication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export interface MockRule {
2
+ id: string;
3
+ url: string;
4
+ method?: string;
5
+ mode: "replace" | "tamper";
6
+ times?: number;
7
+ delayMs?: number;
8
+ status?: number;
9
+ headers?: Record<string, string>;
10
+ body?: string;
11
+ networkError?: string;
12
+ set?: Record<string, unknown>;
13
+ remove?: string[];
14
+ bodyReplace?: string;
15
+ source?: "mock" | "condition";
16
+ hits: number;
17
+ }
18
+ export type MockRuleInput = Omit<MockRule, "id" | "hits">;
19
+ export declare function __resetMockRules(): void;
20
+ export declare function validateUrlPattern(pattern: string): void;
21
+ export declare function addRule(device: string, input: MockRuleInput): MockRule;
22
+ export declare function removeRule(device: string, id: string): boolean;
23
+ export declare function clearRules(device?: string): number;
24
+ export declare function clearConditionRules(device: string): number;
25
+ export declare function listRules(device: string): MockRule[];
26
+ export declare function recordHit(device: string, id: string): void;
27
+ export declare function serializeRules(device: string): string;
28
+ export declare function formatRuleList(device: string): string;
29
+ export declare function activeMockBanner(device?: string): string;
30
+ //# sourceMappingURL=mockRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockRules.d.ts","sourceRoot":"","sources":["../../src/core/mockRules.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAE9B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAkB1D,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAwFD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAmDxD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,CAOtE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAO9D;AAED,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAYlD;AAMD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAEpD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAG1D;AAOD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AASD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAerD;AAUD,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBxD"}
@@ -0,0 +1,200 @@
1
+ import { UserInputError } from "./errors.js";
2
+ const rulesByDevice = new Map();
3
+ let nextId = 1;
4
+ const MAX_PATTERN_LENGTH = 200;
5
+ const PROBE_INPUT_LENGTH = 22;
6
+ const PROBE_BUDGET_MS = 20;
7
+ export function __resetMockRules() {
8
+ rulesByDevice.clear();
9
+ nextId = 1;
10
+ }
11
+ function isRegexPattern(pattern) {
12
+ return (pattern.length > 1 &&
13
+ pattern.charAt(0) === "/" &&
14
+ pattern.charAt(pattern.length - 1) === "/");
15
+ }
16
+ function bodyCanRepeatOrBranch(body) {
17
+ let inClass = false;
18
+ for (let i = 0; i < body.length; i++) {
19
+ const c = body[i];
20
+ if (c === "\\") {
21
+ i++;
22
+ continue;
23
+ }
24
+ if (inClass) {
25
+ if (c === "]")
26
+ inClass = false;
27
+ continue;
28
+ }
29
+ if (c === "[") {
30
+ inClass = true;
31
+ continue;
32
+ }
33
+ if (c === "*" || c === "+" || c === "|")
34
+ return true;
35
+ if (c === "{" && /^\{\d+,\}/.test(body.slice(i)))
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ function hasRiskyNesting(pattern) {
41
+ const openStack = [];
42
+ let inClass = false;
43
+ for (let i = 0; i < pattern.length; i++) {
44
+ const c = pattern[i];
45
+ if (c === "\\") {
46
+ i++;
47
+ continue;
48
+ }
49
+ if (inClass) {
50
+ if (c === "]")
51
+ inClass = false;
52
+ continue;
53
+ }
54
+ if (c === "[") {
55
+ inClass = true;
56
+ continue;
57
+ }
58
+ if (c === "(") {
59
+ openStack.push(i);
60
+ continue;
61
+ }
62
+ if (c === ")") {
63
+ const open = openStack.pop();
64
+ if (open === undefined)
65
+ continue;
66
+ const rest = pattern.slice(i + 1);
67
+ const quantified = rest.charAt(0) === "*" ||
68
+ rest.charAt(0) === "+" ||
69
+ /^\{\d+,\}/.test(rest);
70
+ if (!quantified)
71
+ continue;
72
+ if (bodyCanRepeatOrBranch(pattern.slice(open + 1, i)))
73
+ return true;
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+ export function validateUrlPattern(pattern) {
79
+ if (!isRegexPattern(pattern))
80
+ return;
81
+ const source = pattern.slice(1, -1);
82
+ if (source.length > MAX_PATTERN_LENGTH) {
83
+ throw new UserInputError(`Regex pattern is too long (${source.length} chars, max ${MAX_PATTERN_LENGTH}). ` +
84
+ `It runs inside the app's JS thread on every request. Use a shorter pattern, ` +
85
+ `or a plain substring (no surrounding slashes) for a literal match.`, "mock_pattern_too_long");
86
+ }
87
+ let re;
88
+ try {
89
+ re = new RegExp(source);
90
+ }
91
+ catch (err) {
92
+ throw new UserInputError(`Regex pattern "${pattern}" does not compile: ${err instanceof Error ? err.message : String(err)}. ` +
93
+ `Omit the surrounding slashes if you meant a literal substring.`, "mock_pattern_invalid");
94
+ }
95
+ if (hasRiskyNesting(source)) {
96
+ throw new UserInputError(`Regex pattern "${pattern}" has a nested quantifier (e.g. (a+)+, (.*)*, (a|aa)+) and can ` +
97
+ `backtrack catastrophically. It would run in the app's JS thread and freeze it. ` +
98
+ `Rewrite it without the nesting, or use a plain substring.`, "mock_pattern_backtracking");
99
+ }
100
+ const probe = "a".repeat(PROBE_INPUT_LENGTH) + "!";
101
+ const start = Date.now();
102
+ try {
103
+ re.test(probe);
104
+ }
105
+ catch {
106
+ return;
107
+ }
108
+ const elapsed = Date.now() - start;
109
+ if (elapsed > PROBE_BUDGET_MS) {
110
+ throw new UserInputError(`Regex pattern "${pattern}" is too slow (${elapsed}ms on a ${probe.length}-character probe) — ` +
111
+ `it backtracks and would freeze the app's JS thread. Rewrite it or use a plain substring.`, "mock_pattern_slow");
112
+ }
113
+ }
114
+ export function addRule(device, input) {
115
+ validateUrlPattern(input.url);
116
+ const rule = { ...input, id: `m${nextId++}`, hits: 0 };
117
+ const list = rulesByDevice.get(device) ?? [];
118
+ list.push(rule);
119
+ rulesByDevice.set(device, list);
120
+ return rule;
121
+ }
122
+ export function removeRule(device, id) {
123
+ const list = rulesByDevice.get(device);
124
+ if (!list)
125
+ return false;
126
+ const i = list.findIndex((r) => r.id === id);
127
+ if (i === -1)
128
+ return false;
129
+ list.splice(i, 1);
130
+ return true;
131
+ }
132
+ export function clearRules(device) {
133
+ if (device === undefined) {
134
+ let n = 0;
135
+ for (const list of rulesByDevice.values())
136
+ n += list.length;
137
+ rulesByDevice.clear();
138
+ return n;
139
+ }
140
+ const list = rulesByDevice.get(device);
141
+ if (!list)
142
+ return 0;
143
+ const n = list.length;
144
+ rulesByDevice.delete(device);
145
+ return n;
146
+ }
147
+ export function clearConditionRules(device) {
148
+ const list = rulesByDevice.get(device);
149
+ if (!list)
150
+ return 0;
151
+ const kept = list.filter((r) => r.source !== "condition");
152
+ const removed = list.length - kept.length;
153
+ rulesByDevice.set(device, kept);
154
+ return removed;
155
+ }
156
+ export function listRules(device) {
157
+ return rulesByDevice.get(device) ?? [];
158
+ }
159
+ export function recordHit(device, id) {
160
+ const rule = rulesByDevice.get(device)?.find((r) => r.id === id);
161
+ if (rule)
162
+ rule.hits++;
163
+ }
164
+ export function serializeRules(device) {
165
+ const wire = listRules(device).map(({ hits: _hits, source: _source, ...rest }) => rest);
166
+ return JSON.stringify(wire);
167
+ }
168
+ export function formatRuleList(device) {
169
+ const rules = listRules(device);
170
+ if (rules.length === 0)
171
+ return "No mock rules active.";
172
+ const lines = rules.map((r) => {
173
+ const status = r.status ? ` ${r.status}` : "";
174
+ const times = r.times ? ` (times:${r.times}${r.hits >= r.times ? ", spent" : ""})` : "";
175
+ const owner = r.source === "condition" ? " [owned by network_condition]" : "";
176
+ return `[${r.id}] ${r.method ?? "ANY"} ${r.url || "<any url>"} -> ${r.mode}${status}${times} hits=${r.hits}${owner}`;
177
+ });
178
+ return (lines.join("\n") +
179
+ "\n\nRules match in this order; a rule with hits=0 may be shadowed by one above it.");
180
+ }
181
+ export function activeMockBanner(device) {
182
+ if (device !== undefined) {
183
+ const n = listRules(device).length;
184
+ if (n === 0)
185
+ return "";
186
+ return `\n\n[${n} mock rule(s) active on ${device} — network_mock({action:"list"}) to inspect, {action:"clear"} to remove]`;
187
+ }
188
+ const parts = [];
189
+ let total = 0;
190
+ for (const [name, list] of rulesByDevice.entries()) {
191
+ if (list.length === 0)
192
+ continue;
193
+ total += list.length;
194
+ parts.push(`${list.length} on ${name}`);
195
+ }
196
+ if (total === 0)
197
+ return "";
198
+ return `\n\n[${total} mock rule(s) active (${parts.join(", ")}) — responses below may be altered. network_mock({action:"list"}) to inspect, {action:"clear"} to remove]`;
199
+ }
200
+ //# sourceMappingURL=mockRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockRules.js","sourceRoot":"","sources":["../../src/core/mockRules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { execAsync } from "./exec.js";
1
+ import { execFileAsync } from "./exec.js";
2
2
  function parseIosFields(json) {
3
3
  const out = [];
4
4
  let tree;
@@ -56,14 +56,14 @@ export const readNativeFields = async (platform, deviceId) => {
56
56
  if (platform === "ios") {
57
57
  if (!deviceId)
58
58
  return { fields: [], error: "no simulator UDID" };
59
- const { stdout } = await execAsync(`axe describe-ui --udid ${deviceId}`, { timeout: 20_000 });
59
+ const { stdout } = await execFileAsync("axe", ["describe-ui", "--udid", deviceId], { timeout: 20_000 });
60
60
  return { fields: parseIosFields(stdout) };
61
61
  }
62
- const target = deviceId ? `-s ${deviceId}` : "";
62
+ const target = deviceId ? ["-s", deviceId] : [];
63
63
  const path = "/sdcard/execbro-ui.xml";
64
- await execAsync(`adb ${target} shell rm -f ${path}`, { timeout: 10_000 }).catch(() => undefined);
65
- const dump = await execAsync(`adb ${target} shell uiautomator dump ${path}`, { timeout: 20_000 });
66
- const { stdout } = await execAsync(`adb ${target} shell cat ${path}`, { timeout: 20_000 });
64
+ await execFileAsync("adb", [...target, "shell", `rm -f ${path}`], { timeout: 10_000 }).catch(() => undefined);
65
+ const dump = await execFileAsync("adb", [...target, "shell", `uiautomator dump ${path}`], { timeout: 20_000 });
66
+ const { stdout } = await execFileAsync("adb", [...target, "shell", `cat ${path}`], { timeout: 20_000 });
67
67
  if (!stdout.includes("<node")) {
68
68
  const why = `${dump.stdout} ${dump.stderr}`.trim().replace(/\s+/g, " ").slice(0, 160);
69
69
  return { fields: [], error: `uiautomator dump produced no hierarchy${why ? `: ${why}` : ""}` };
@@ -1 +1 @@
1
- {"version":3,"file":"nativeInputValue.js","sourceRoot":"","sources":["../../src/core/nativeInputValue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeInputValue.js","sourceRoot":"","sources":["../../src/core/nativeInputValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA4B1C,SAAS,cAAc,CAAC,IAAY;IAChC,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QACxC,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC;gBACL,EAAE,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBAChE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAE5D,OAAO,EAAE,KAAK;aACjB,CAAC,CAAC;QACP,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACf,CAAC;AAMD,SAAS,kBAAkB,CAAC,GAAW;IACnC,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,uDAAuD,CAAC;IACvE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,IAAY,EAAiB,EAAE;QACpD,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC,CAAC;IACF,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC;YACL,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC;YAC1B,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACjE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM;SACzC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAuB,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAC7E,IAAI,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;YACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACxG,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,wBAAwB,CAAC;QAKtC,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9G,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,oBAAoB,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/G,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,yCAAyC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACnG,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;AACL,CAAC,CAAC;AASF,MAAM,UAAU,mBAAmB,CAC/B,MAAqB,EACrB,KAAoB,EACpB,MAAqB;IAErB,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC/C,IAAI,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAG3E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAE3E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { connectedApps } from "./state.js";
2
2
  import { listDevices, recordDevice } from "./projectMemory.js";
3
3
  import { listAllDevices } from "./deviceDiscovery.js";
4
- import { execAsync } from "./exec.js";
4
+ import { execFileAsync } from "./exec.js";
5
5
  import { getNativeLogBuffer, } from "./logEvents.js";
6
6
  import { isOwned } from "./logOwnership.js";
7
7
  import { groupIntoEvents } from "./logGrouping.js";
@@ -40,7 +40,7 @@ async function matchAndroidAppBySerial(serial, apps) {
40
40
  if (candidates.length === 0)
41
41
  return undefined;
42
42
  try {
43
- const { stdout } = await execAsync(`adb -s ${serial} shell getprop ro.product.model`);
43
+ const { stdout } = await execFileAsync("adb", ["-s", serial, "shell", "getprop ro.product.model"]);
44
44
  const model = stdout.trim();
45
45
  if (!model)
46
46
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"nativeLogs.js","sourceRoot":"","sources":["../../src/core/nativeLogs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeLogs.js","sourceRoot":"","sources":["../../src/core/nativeLogs.ts"],"names":[],"mappings":"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"}