execbro 2.6.1 → 2.7.1

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 (314) 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/deviceResolver.test.js +2 -0
  15. package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
  16. package/build/__tests__/unit/deviceResolverStaleRetry.test.js +1 -0
  17. package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -1
  18. package/build/__tests__/unit/errorCategorization.test.js +14 -0
  19. package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
  20. package/build/__tests__/unit/fingerprint.test.js +2 -2
  21. package/build/__tests__/unit/fingerprint.test.js.map +1 -1
  22. package/build/__tests__/unit/inputTarget.test.js +46 -0
  23. package/build/__tests__/unit/inputTarget.test.js.map +1 -1
  24. package/build/__tests__/unit/logSourceAndroid.test.js +5 -5
  25. package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
  26. package/build/__tests__/unit/logSourceIos.test.js +10 -6
  27. package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
  28. package/build/__tests__/unit/logStack.test.d.ts +2 -0
  29. package/build/__tests__/unit/logStack.test.d.ts.map +1 -0
  30. package/build/__tests__/unit/logStack.test.js +86 -0
  31. package/build/__tests__/unit/logStack.test.js.map +1 -0
  32. package/build/__tests__/unit/logSymbolication.test.d.ts +2 -0
  33. package/build/__tests__/unit/logSymbolication.test.d.ts.map +1 -0
  34. package/build/__tests__/unit/logSymbolication.test.js +215 -0
  35. package/build/__tests__/unit/logSymbolication.test.js.map +1 -0
  36. package/build/__tests__/unit/measureComponentResolution.test.d.ts +2 -0
  37. package/build/__tests__/unit/measureComponentResolution.test.d.ts.map +1 -0
  38. package/build/__tests__/unit/measureComponentResolution.test.js +111 -0
  39. package/build/__tests__/unit/measureComponentResolution.test.js.map +1 -0
  40. package/build/__tests__/unit/metroIdentity.test.d.ts +2 -0
  41. package/build/__tests__/unit/metroIdentity.test.d.ts.map +1 -0
  42. package/build/__tests__/unit/metroIdentity.test.js +41 -0
  43. package/build/__tests__/unit/metroIdentity.test.js.map +1 -0
  44. package/build/__tests__/unit/mockRulePush.test.d.ts +2 -0
  45. package/build/__tests__/unit/mockRulePush.test.d.ts.map +1 -0
  46. package/build/__tests__/unit/mockRulePush.test.js +65 -0
  47. package/build/__tests__/unit/mockRulePush.test.js.map +1 -0
  48. package/build/__tests__/unit/mockRules.test.d.ts +2 -0
  49. package/build/__tests__/unit/mockRules.test.d.ts.map +1 -0
  50. package/build/__tests__/unit/mockRules.test.js +111 -0
  51. package/build/__tests__/unit/mockRules.test.js.map +1 -0
  52. package/build/__tests__/unit/nativeLogs.test.js +8 -2
  53. package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
  54. package/build/__tests__/unit/netInfoPatch.test.d.ts +2 -0
  55. package/build/__tests__/unit/netInfoPatch.test.d.ts.map +1 -0
  56. package/build/__tests__/unit/netInfoPatch.test.js +46 -0
  57. package/build/__tests__/unit/netInfoPatch.test.js.map +1 -0
  58. package/build/__tests__/unit/networkInterceptorXhr.test.d.ts +2 -0
  59. package/build/__tests__/unit/networkInterceptorXhr.test.d.ts.map +1 -0
  60. package/build/__tests__/unit/networkInterceptorXhr.test.js +440 -0
  61. package/build/__tests__/unit/networkInterceptorXhr.test.js.map +1 -0
  62. package/build/__tests__/unit/networkMock.test.d.ts +2 -0
  63. package/build/__tests__/unit/networkMock.test.d.ts.map +1 -0
  64. package/build/__tests__/unit/networkMock.test.js +183 -0
  65. package/build/__tests__/unit/networkMock.test.js.map +1 -0
  66. package/build/__tests__/unit/networkMockRender.test.d.ts +2 -0
  67. package/build/__tests__/unit/networkMockRender.test.d.ts.map +1 -0
  68. package/build/__tests__/unit/networkMockRender.test.js +131 -0
  69. package/build/__tests__/unit/networkMockRender.test.js.map +1 -0
  70. package/build/__tests__/unit/networkMockTamper.test.d.ts +2 -0
  71. package/build/__tests__/unit/networkMockTamper.test.d.ts.map +1 -0
  72. package/build/__tests__/unit/networkMockTamper.test.js +162 -0
  73. package/build/__tests__/unit/networkMockTamper.test.js.map +1 -0
  74. package/build/__tests__/unit/networkMockTool.test.d.ts +2 -0
  75. package/build/__tests__/unit/networkMockTool.test.d.ts.map +1 -0
  76. package/build/__tests__/unit/networkMockTool.test.js +69 -0
  77. package/build/__tests__/unit/networkMockTool.test.js.map +1 -0
  78. package/build/__tests__/unit/networkReplay.test.d.ts +2 -0
  79. package/build/__tests__/unit/networkReplay.test.d.ts.map +1 -0
  80. package/build/__tests__/unit/networkReplay.test.js +86 -0
  81. package/build/__tests__/unit/networkReplay.test.js.map +1 -0
  82. package/build/__tests__/unit/screenState.test.js +63 -2
  83. package/build/__tests__/unit/screenState.test.js.map +1 -1
  84. package/build/__tests__/unit/serialQueue.test.d.ts +2 -0
  85. package/build/__tests__/unit/serialQueue.test.d.ts.map +1 -0
  86. package/build/__tests__/unit/serialQueue.test.js +77 -0
  87. package/build/__tests__/unit/serialQueue.test.js.map +1 -0
  88. package/build/__tests__/unit/swipeDiagnosis.test.d.ts +2 -0
  89. package/build/__tests__/unit/swipeDiagnosis.test.d.ts.map +1 -0
  90. package/build/__tests__/unit/swipeDiagnosis.test.js +47 -0
  91. package/build/__tests__/unit/swipeDiagnosis.test.js.map +1 -0
  92. package/build/__tests__/unit/swipeDirection.test.js +30 -0
  93. package/build/__tests__/unit/swipeDirection.test.js.map +1 -1
  94. package/build/__tests__/unit/symbolicate.test.js +36 -0
  95. package/build/__tests__/unit/symbolicate.test.js.map +1 -1
  96. package/build/__tests__/unit/tap.test.js +0 -48
  97. package/build/__tests__/unit/tap.test.js.map +1 -1
  98. package/build/__tests__/unit/textEntry.test.js +53 -0
  99. package/build/__tests__/unit/textEntry.test.js.map +1 -1
  100. package/build/__tests__/unit/toolArgInjection.test.d.ts +2 -0
  101. package/build/__tests__/unit/toolArgInjection.test.d.ts.map +1 -0
  102. package/build/__tests__/unit/toolArgInjection.test.js +86 -0
  103. package/build/__tests__/unit/toolArgInjection.test.js.map +1 -0
  104. package/build/core/android.d.ts.map +1 -1
  105. package/build/core/android.js +54 -111
  106. package/build/core/android.js.map +1 -1
  107. package/build/core/androidForeground.d.ts +4 -0
  108. package/build/core/androidForeground.d.ts.map +1 -0
  109. package/build/core/androidForeground.js +34 -0
  110. package/build/core/androidForeground.js.map +1 -0
  111. package/build/core/androidSystemBars.d.ts +1 -1
  112. package/build/core/androidSystemBars.d.ts.map +1 -1
  113. package/build/core/androidSystemBars.js +5 -5
  114. package/build/core/androidSystemBars.js.map +1 -1
  115. package/build/core/appRequest.d.ts +1 -0
  116. package/build/core/appRequest.d.ts.map +1 -1
  117. package/build/core/appRequest.js +5 -2
  118. package/build/core/appRequest.js.map +1 -1
  119. package/build/core/buildInfo.d.ts +3 -0
  120. package/build/core/buildInfo.d.ts.map +1 -0
  121. package/build/core/buildInfo.js +6 -0
  122. package/build/core/buildInfo.js.map +1 -0
  123. package/build/core/componentSource.d.ts.map +1 -1
  124. package/build/core/componentSource.js +1 -1
  125. package/build/core/componentSource.js.map +1 -1
  126. package/build/core/connection.d.ts +6 -0
  127. package/build/core/connection.d.ts.map +1 -1
  128. package/build/core/connection.js +60 -5
  129. package/build/core/connection.js.map +1 -1
  130. package/build/core/deviceResolver.d.ts.map +1 -1
  131. package/build/core/deviceResolver.js +7 -1
  132. package/build/core/deviceResolver.js.map +1 -1
  133. package/build/core/exec.d.ts +5 -0
  134. package/build/core/exec.d.ts.map +1 -1
  135. package/build/core/exec.js +34 -1
  136. package/build/core/exec.js.map +1 -1
  137. package/build/core/fingerprint.d.ts.map +1 -1
  138. package/build/core/fingerprint.js +3 -3
  139. package/build/core/fingerprint.js.map +1 -1
  140. package/build/core/guides.d.ts.map +1 -1
  141. package/build/core/guides.js +21 -1
  142. package/build/core/guides.js.map +1 -1
  143. package/build/core/inputTarget.d.ts.map +1 -1
  144. package/build/core/inputTarget.js +42 -2
  145. package/build/core/inputTarget.js.map +1 -1
  146. package/build/core/ios.d.ts.map +1 -1
  147. package/build/core/ios.js +14 -17
  148. package/build/core/ios.js.map +1 -1
  149. package/build/core/jsLogEvents.d.ts.map +1 -1
  150. package/build/core/jsLogEvents.js +1 -0
  151. package/build/core/jsLogEvents.js.map +1 -1
  152. package/build/core/keyboardRaise.d.ts.map +1 -1
  153. package/build/core/keyboardRaise.js +3 -3
  154. package/build/core/keyboardRaise.js.map +1 -1
  155. package/build/core/logEventFormat.d.ts +2 -0
  156. package/build/core/logEventFormat.d.ts.map +1 -1
  157. package/build/core/logEventFormat.js +6 -1
  158. package/build/core/logEventFormat.js.map +1 -1
  159. package/build/core/logEvents.d.ts +2 -1
  160. package/build/core/logEvents.d.ts.map +1 -1
  161. package/build/core/logEvents.js.map +1 -1
  162. package/build/core/logSourceAndroid.d.ts +1 -1
  163. package/build/core/logSourceAndroid.d.ts.map +1 -1
  164. package/build/core/logSourceAndroid.js +9 -9
  165. package/build/core/logSourceAndroid.js.map +1 -1
  166. package/build/core/logSourceIos.d.ts +1 -1
  167. package/build/core/logSourceIos.d.ts.map +1 -1
  168. package/build/core/logSourceIos.js +9 -9
  169. package/build/core/logSourceIos.js.map +1 -1
  170. package/build/core/logStack.d.ts +6 -0
  171. package/build/core/logStack.d.ts.map +1 -0
  172. package/build/core/logStack.js +44 -0
  173. package/build/core/logStack.js.map +1 -0
  174. package/build/core/logSymbolication.d.ts +11 -0
  175. package/build/core/logSymbolication.d.ts.map +1 -0
  176. package/build/core/logSymbolication.js +91 -0
  177. package/build/core/logSymbolication.js.map +1 -0
  178. package/build/core/measureComponent.d.ts.map +1 -1
  179. package/build/core/measureComponent.js +45 -11
  180. package/build/core/measureComponent.js.map +1 -1
  181. package/build/core/metroIdentity.d.ts +8 -0
  182. package/build/core/metroIdentity.d.ts.map +1 -0
  183. package/build/core/metroIdentity.js +65 -0
  184. package/build/core/metroIdentity.js.map +1 -0
  185. package/build/core/mockRules.d.ts +30 -0
  186. package/build/core/mockRules.d.ts.map +1 -0
  187. package/build/core/mockRules.js +200 -0
  188. package/build/core/mockRules.js.map +1 -0
  189. package/build/core/nativeInputValue.js +6 -6
  190. package/build/core/nativeInputValue.js.map +1 -1
  191. package/build/core/nativeLogs.js +2 -2
  192. package/build/core/nativeLogs.js.map +1 -1
  193. package/build/core/netInfoPatch.d.ts +5 -0
  194. package/build/core/netInfoPatch.d.ts.map +1 -0
  195. package/build/core/netInfoPatch.js +88 -0
  196. package/build/core/netInfoPatch.js.map +1 -0
  197. package/build/core/network.d.ts.map +1 -1
  198. package/build/core/network.js +9 -0
  199. package/build/core/network.js.map +1 -1
  200. package/build/core/networkInterceptor.d.ts +6 -0
  201. package/build/core/networkInterceptor.d.ts.map +1 -1
  202. package/build/core/networkInterceptor.js +660 -13
  203. package/build/core/networkInterceptor.js.map +1 -1
  204. package/build/core/replay.d.ts +14 -0
  205. package/build/core/replay.d.ts.map +1 -0
  206. package/build/core/replay.js +14 -0
  207. package/build/core/replay.js.map +1 -0
  208. package/build/core/screenSpaceDevice.d.ts +5 -0
  209. package/build/core/screenSpaceDevice.d.ts.map +1 -1
  210. package/build/core/screenSpaceDevice.js +18 -0
  211. package/build/core/screenSpaceDevice.js.map +1 -1
  212. package/build/core/screenState.d.ts +8 -0
  213. package/build/core/screenState.d.ts.map +1 -1
  214. package/build/core/screenState.js +245 -32
  215. package/build/core/screenState.js.map +1 -1
  216. package/build/core/serialQueue.d.ts +6 -0
  217. package/build/core/serialQueue.d.ts.map +1 -0
  218. package/build/core/serialQueue.js +18 -0
  219. package/build/core/serialQueue.js.map +1 -0
  220. package/build/core/swipeDiagnosis.d.ts +17 -0
  221. package/build/core/swipeDiagnosis.d.ts.map +1 -0
  222. package/build/core/swipeDiagnosis.js +179 -0
  223. package/build/core/swipeDiagnosis.js.map +1 -0
  224. package/build/core/symbolicate.d.ts +2 -2
  225. package/build/core/symbolicate.d.ts.map +1 -1
  226. package/build/core/symbolicate.js +2 -2
  227. package/build/core/symbolicate.js.map +1 -1
  228. package/build/core/telemetry.d.ts.map +1 -1
  229. package/build/core/telemetry.js +5 -3
  230. package/build/core/telemetry.js.map +1 -1
  231. package/build/core/textEntry.d.ts +2 -0
  232. package/build/core/textEntry.d.ts.map +1 -1
  233. package/build/core/textEntry.js +30 -3
  234. package/build/core/textEntry.js.map +1 -1
  235. package/build/core/types.d.ts +11 -0
  236. package/build/core/types.d.ts.map +1 -1
  237. package/build/index.d.ts.map +1 -1
  238. package/build/index.js +70 -9
  239. package/build/index.js.map +1 -1
  240. package/build/pro/tap.d.ts +6 -1
  241. package/build/pro/tap.d.ts.map +1 -1
  242. package/build/pro/tap.js +12 -3
  243. package/build/pro/tap.js.map +1 -1
  244. package/build/tools/componentTools.d.ts.map +1 -1
  245. package/build/tools/componentTools.js +12 -4
  246. package/build/tools/componentTools.js.map +1 -1
  247. package/build/tools/connectionTools.d.ts.map +1 -1
  248. package/build/tools/connectionTools.js +18 -0
  249. package/build/tools/connectionTools.js.map +1 -1
  250. package/build/tools/deviceTools.d.ts.map +1 -1
  251. package/build/tools/deviceTools.js +4 -1
  252. package/build/tools/deviceTools.js.map +1 -1
  253. package/build/tools/interactionTools.d.ts.map +1 -1
  254. package/build/tools/interactionTools.js +56 -14
  255. package/build/tools/interactionTools.js.map +1 -1
  256. package/build/tools/logTools.d.ts.map +1 -1
  257. package/build/tools/logTools.js +16 -3
  258. package/build/tools/logTools.js.map +1 -1
  259. package/build/tools/networkTools.d.ts.map +1 -1
  260. package/build/tools/networkTools.js +196 -4
  261. package/build/tools/networkTools.js.map +1 -1
  262. package/build/tools/requestTools.d.ts.map +1 -1
  263. package/build/tools/requestTools.js +93 -26
  264. package/build/tools/requestTools.js.map +1 -1
  265. package/package.json +3 -3
  266. package/tools.json +37 -1
  267. package/build/__tests__/helpers/fake-cdp-server.d.ts +0 -53
  268. package/build/__tests__/helpers/fake-cdp-server.d.ts.map +0 -1
  269. package/build/__tests__/helpers/fake-cdp-server.js +0 -116
  270. package/build/__tests__/helpers/fake-cdp-server.js.map +0 -1
  271. package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -13
  272. package/build/__tests__/helpers/tap-test-helpers.d.ts.map +0 -1
  273. package/build/__tests__/helpers/tap-test-helpers.js +0 -103
  274. package/build/__tests__/helpers/tap-test-helpers.js.map +0 -1
  275. package/build/__tests__/integration/auto-reconnect.test.d.ts +0 -2
  276. package/build/__tests__/integration/auto-reconnect.test.d.ts.map +0 -1
  277. package/build/__tests__/integration/auto-reconnect.test.js +0 -108
  278. package/build/__tests__/integration/auto-reconnect.test.js.map +0 -1
  279. package/build/__tests__/integration/connection-health.test.d.ts +0 -2
  280. package/build/__tests__/integration/connection-health.test.d.ts.map +0 -1
  281. package/build/__tests__/integration/connection-health.test.js +0 -155
  282. package/build/__tests__/integration/connection-health.test.js.map +0 -1
  283. package/build/__tests__/integration/execute-in-app.test.d.ts +0 -2
  284. package/build/__tests__/integration/execute-in-app.test.d.ts.map +0 -1
  285. package/build/__tests__/integration/execute-in-app.test.js +0 -114
  286. package/build/__tests__/integration/execute-in-app.test.js.map +0 -1
  287. package/build/__tests__/integration/native-logs.test.d.ts +0 -2
  288. package/build/__tests__/integration/native-logs.test.d.ts.map +0 -1
  289. package/build/__tests__/integration/native-logs.test.js +0 -34
  290. package/build/__tests__/integration/native-logs.test.js.map +0 -1
  291. package/build/__tests__/integration/per-call-timeout.test.d.ts +0 -2
  292. package/build/__tests__/integration/per-call-timeout.test.d.ts.map +0 -1
  293. package/build/__tests__/integration/per-call-timeout.test.js +0 -99
  294. package/build/__tests__/integration/per-call-timeout.test.js.map +0 -1
  295. package/build/__tests__/integration/socket-close-midflight.test.d.ts +0 -2
  296. package/build/__tests__/integration/socket-close-midflight.test.d.ts.map +0 -1
  297. package/build/__tests__/integration/socket-close-midflight.test.js +0 -96
  298. package/build/__tests__/integration/socket-close-midflight.test.js.map +0 -1
  299. package/build/__tests__/integration/stale-target-probe.test.d.ts +0 -2
  300. package/build/__tests__/integration/stale-target-probe.test.d.ts.map +0 -1
  301. package/build/__tests__/integration/stale-target-probe.test.js +0 -70
  302. package/build/__tests__/integration/stale-target-probe.test.js.map +0 -1
  303. package/build/__tests__/integration/tap-strategies.test.d.ts +0 -2
  304. package/build/__tests__/integration/tap-strategies.test.d.ts.map +0 -1
  305. package/build/__tests__/integration/tap-strategies.test.js +0 -296
  306. package/build/__tests__/integration/tap-strategies.test.js.map +0 -1
  307. package/build/__tests__/integration/text-input.test.d.ts +0 -2
  308. package/build/__tests__/integration/text-input.test.d.ts.map +0 -1
  309. package/build/__tests__/integration/text-input.test.js +0 -142
  310. package/build/__tests__/integration/text-input.test.js.map +0 -1
  311. package/build/__tests__/integration/tools.test.d.ts +0 -2
  312. package/build/__tests__/integration/tools.test.d.ts.map +0 -1
  313. package/build/__tests__/integration/tools.test.js +0 -221
  314. package/build/__tests__/integration/tools.test.js.map +0 -1
@@ -3,7 +3,7 @@ import path from "path";
3
3
  import os from "os";
4
4
  import sharp from "sharp";
5
5
  import { notifyDriverMissing } from "./logbox.js";
6
- import { execAsync } from "./exec.js";
6
+ import { execFileAsync, quoteForDeviceShell } from "./exec.js";
7
7
  import { XMLParser } from "fast-xml-parser";
8
8
  const ADB_TIMEOUT = 30000;
9
9
  let adbAvailableCache = null;
@@ -35,7 +35,7 @@ export async function isAdbAvailable() {
35
35
  if (adbAvailableCache !== null)
36
36
  return adbAvailableCache;
37
37
  try {
38
- await execAsync("adb version", { timeout: 5000 });
38
+ await execFileAsync("adb", ["version"], { timeout: 5000 });
39
39
  adbAvailableCache = true;
40
40
  return true;
41
41
  }
@@ -50,7 +50,7 @@ export async function isAdbAvailable() {
50
50
  process.env.PATH = `${dir}${sep}${process.env.PATH ?? ""}`;
51
51
  adbPathFixApplied = true;
52
52
  try {
53
- await execAsync("adb version", { timeout: 5000 });
53
+ await execFileAsync("adb", ["version"], { timeout: 5000 });
54
54
  adbAvailableCache = true;
55
55
  return true;
56
56
  }
@@ -78,7 +78,7 @@ export async function listAndroidDevices() {
78
78
  const adbMissing = await requireAdb();
79
79
  if (adbMissing)
80
80
  return adbMissing;
81
- const { stdout } = await execAsync("adb devices -l", { timeout: ADB_TIMEOUT });
81
+ const { stdout } = await execFileAsync("adb", ["devices", "-l"], { timeout: ADB_TIMEOUT });
82
82
  const lines = stdout.trim().split("\n");
83
83
  const deviceLines = lines.slice(1).filter((line) => line.trim().length > 0);
84
84
  if (deviceLines.length === 0) {
@@ -130,7 +130,7 @@ export async function listAndroidDevices() {
130
130
  }
131
131
  export async function getDefaultAndroidDevice() {
132
132
  try {
133
- const { stdout } = await execAsync("adb devices", { timeout: ADB_TIMEOUT });
133
+ const { stdout } = await execFileAsync("adb", ["devices"], { timeout: ADB_TIMEOUT });
134
134
  const lines = stdout.trim().split("\n");
135
135
  const deviceLines = lines.slice(1).filter((line) => line.trim().length > 0);
136
136
  for (const line of deviceLines) {
@@ -147,7 +147,7 @@ export async function getDefaultAndroidDevice() {
147
147
  }
148
148
  async function findEmulatorBinary() {
149
149
  try {
150
- await execAsync("emulator -help", { timeout: 3000 });
150
+ await execFileAsync("emulator", ["-help"], { timeout: 3000 });
151
151
  return "emulator";
152
152
  }
153
153
  catch {
@@ -161,7 +161,7 @@ async function findEmulatorBinary() {
161
161
  candidates.push(path.join(os.homedir(), "Library", "Android", "sdk", "emulator", "emulator"));
162
162
  for (const candidate of candidates) {
163
163
  try {
164
- await execAsync(`"${candidate}" -help`, { timeout: 3000 });
164
+ await execFileAsync(candidate, ["-help"], { timeout: 3000 });
165
165
  return `"${candidate}"`;
166
166
  }
167
167
  catch {
@@ -177,7 +177,7 @@ export async function getAndroidEmulatorAvds() {
177
177
  if (!emulatorBin)
178
178
  return [];
179
179
  try {
180
- const { stdout } = await execAsync(`${emulatorBin} -list-avds`, { timeout: ADB_TIMEOUT });
180
+ const { stdout } = await execFileAsync(emulatorBin, ["-list-avds"], { timeout: ADB_TIMEOUT });
181
181
  return stdout
182
182
  .split("\n")
183
183
  .map((line) => line.trim())
@@ -192,7 +192,7 @@ export async function getAdbIdForAvd(avdName) {
192
192
  if (adbMissing)
193
193
  return null;
194
194
  try {
195
- const { stdout: devicesOut } = await execAsync("adb devices", { timeout: ADB_TIMEOUT });
195
+ const { stdout: devicesOut } = await execFileAsync("adb", ["devices"], { timeout: ADB_TIMEOUT });
196
196
  const lines = devicesOut.trim().split("\n").slice(1);
197
197
  const emulatorSerials = lines
198
198
  .map((line) => line.trim().split(/\s+/)[0])
@@ -200,7 +200,7 @@ export async function getAdbIdForAvd(avdName) {
200
200
  const target = avdName.trim();
201
201
  for (const serial of emulatorSerials) {
202
202
  try {
203
- const { stdout } = await execAsync(`adb -s ${serial} emu avd name`, {
203
+ const { stdout } = await execFileAsync("adb", ["-s", serial, "emu", "avd", "name"], {
204
204
  timeout: ADB_TIMEOUT
205
205
  });
206
206
  const reported = stdout.split("\n")[0]?.trim() ?? "";
@@ -216,8 +216,8 @@ export async function getAdbIdForAvd(avdName) {
216
216
  return null;
217
217
  }
218
218
  }
219
- function buildDeviceArg(deviceId) {
220
- return deviceId ? `-s ${deviceId}` : "";
219
+ function buildDeviceArgs(deviceId) {
220
+ return deviceId ? ["-s", deviceId] : [];
221
221
  }
222
222
  export async function androidScreenshot(outputPath, deviceId, signal) {
223
223
  try {
@@ -231,19 +231,19 @@ export async function androidScreenshot(outputPath, deviceId, signal) {
231
231
  error: "No Android device connected. Connect a device or start an emulator."
232
232
  };
233
233
  }
234
- const deviceArg = buildDeviceArg(device);
234
+ const deviceArgs = buildDeviceArgs(device);
235
235
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
236
236
  const finalOutputPath = outputPath || path.join(os.tmpdir(), `android-screenshot-${timestamp}.png`);
237
237
  const remotePath = "/sdcard/screenshot-temp.png";
238
- await execAsync(`adb ${deviceArg} shell screencap -p ${remotePath}`, {
238
+ await execFileAsync("adb", [...deviceArgs, "shell", `screencap -p ${remotePath}`], {
239
239
  timeout: ADB_TIMEOUT,
240
240
  signal
241
241
  });
242
- await execAsync(`adb ${deviceArg} pull ${remotePath} "${finalOutputPath}"`, {
242
+ await execFileAsync("adb", [...deviceArgs, "pull", remotePath, finalOutputPath], {
243
243
  timeout: ADB_TIMEOUT,
244
244
  signal
245
245
  });
246
- await execAsync(`adb ${deviceArg} shell rm ${remotePath}`, {
246
+ await execFileAsync("adb", [...deviceArgs, "shell", `rm ${remotePath}`], {
247
247
  timeout: ADB_TIMEOUT,
248
248
  signal
249
249
  }).catch(() => {
@@ -304,14 +304,13 @@ export async function androidInstallApp(apkPath, deviceId, options) {
304
304
  error: "No Android device connected. Connect a device or start an emulator."
305
305
  };
306
306
  }
307
- const deviceArg = buildDeviceArg(device);
307
+ const deviceArgs = buildDeviceArgs(device);
308
308
  const flags = [];
309
309
  if (options?.replace)
310
310
  flags.push("-r");
311
311
  if (options?.grantPermissions)
312
312
  flags.push("-g");
313
- const flagsStr = flags.length > 0 ? flags.join(" ") + " " : "";
314
- const { stdout, stderr } = await execAsync(`adb ${deviceArg} install ${flagsStr}"${apkPath}"`, { timeout: 120000 });
313
+ const { stdout, stderr } = await execFileAsync("adb", [...deviceArgs, "install", ...flags, apkPath], { timeout: 120000 });
315
314
  const output = stdout + stderr;
316
315
  if (output.includes("Success")) {
317
316
  return {
@@ -345,15 +344,11 @@ export async function androidLaunchApp(packageName, activityName, deviceId) {
345
344
  error: "No Android device connected. Connect a device or start an emulator."
346
345
  };
347
346
  }
348
- const deviceArg = buildDeviceArg(device);
349
- let command;
350
- if (activityName) {
351
- command = `adb ${deviceArg} shell am start -n ${packageName}/${activityName}`;
352
- }
353
- else {
354
- command = `adb ${deviceArg} shell monkey -p ${packageName} -c android.intent.category.LAUNCHER 1`;
355
- }
356
- const { stdout, stderr } = await execAsync(command, { timeout: ADB_TIMEOUT });
347
+ const deviceArgs = buildDeviceArgs(device);
348
+ const deviceCommand = activityName
349
+ ? `am start -n ${quoteForDeviceShell(`${packageName}/${activityName}`)}`
350
+ : `monkey -p ${quoteForDeviceShell(packageName)} -c android.intent.category.LAUNCHER 1`;
351
+ const { stdout, stderr } = await execFileAsync("adb", [...deviceArgs, "shell", deviceCommand], { timeout: ADB_TIMEOUT });
357
352
  const output = stdout + stderr;
358
353
  if (output.includes("Error") || output.includes("Exception")) {
359
354
  return {
@@ -385,8 +380,8 @@ export async function androidListPackages(deviceId, filter) {
385
380
  error: "No Android device connected. Connect a device or start an emulator."
386
381
  };
387
382
  }
388
- const deviceArg = buildDeviceArg(device);
389
- const { stdout } = await execAsync(`adb ${deviceArg} shell pm list packages`, {
383
+ const deviceArgs = buildDeviceArgs(device);
384
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", "pm list packages"], {
390
385
  timeout: ADB_TIMEOUT
391
386
  });
392
387
  let packages = stdout
@@ -452,8 +447,8 @@ export async function androidTap(x, y, deviceId) {
452
447
  error: "No Android device connected. Connect a device or start an emulator."
453
448
  };
454
449
  }
455
- const deviceArg = buildDeviceArg(device);
456
- await execAsync(`adb ${deviceArg} shell input tap ${Math.round(x)} ${Math.round(y)}`, {
450
+ const deviceArgs = buildDeviceArgs(device);
451
+ await execFileAsync("adb", [...deviceArgs, "shell", `input tap ${Math.round(x)} ${Math.round(y)}`], {
457
452
  timeout: ADB_TIMEOUT
458
453
  });
459
454
  return {
@@ -480,10 +475,10 @@ export async function androidLongPress(x, y, durationMs = 1000, deviceId) {
480
475
  error: "No Android device connected. Connect a device or start an emulator."
481
476
  };
482
477
  }
483
- const deviceArg = buildDeviceArg(device);
478
+ const deviceArgs = buildDeviceArgs(device);
484
479
  const xRounded = Math.round(x);
485
480
  const yRounded = Math.round(y);
486
- await execAsync(`adb ${deviceArg} shell input swipe ${xRounded} ${yRounded} ${xRounded} ${yRounded} ${durationMs}`, { timeout: ADB_TIMEOUT + durationMs });
481
+ await execFileAsync("adb", [...deviceArgs, "shell", `input swipe ${xRounded} ${yRounded} ${xRounded} ${yRounded} ${durationMs}`], { timeout: ADB_TIMEOUT + durationMs });
487
482
  return {
488
483
  success: true,
489
484
  result: `Long pressed at (${xRounded}, ${yRounded}) for ${durationMs}ms`
@@ -508,12 +503,12 @@ export async function androidSwipe(startX, startY, endX, endY, durationMs = 300,
508
503
  error: "No Android device connected. Connect a device or start an emulator."
509
504
  };
510
505
  }
511
- const deviceArg = buildDeviceArg(device);
506
+ const deviceArgs = buildDeviceArgs(device);
512
507
  const x1 = Math.round(startX);
513
508
  const y1 = Math.round(startY);
514
509
  const x2 = Math.round(endX);
515
510
  const y2 = Math.round(endY);
516
- await execAsync(`adb ${deviceArg} shell input swipe ${x1} ${y1} ${x2} ${y2} ${durationMs}`, { timeout: ADB_TIMEOUT + durationMs });
511
+ await execFileAsync("adb", [...deviceArgs, "shell", `input swipe ${x1} ${y1} ${x2} ${y2} ${durationMs}`], { timeout: ADB_TIMEOUT + durationMs });
517
512
  return {
518
513
  success: true,
519
514
  result: `Swiped from (${x1}, ${y1}) to (${x2}, ${y2}) in ${durationMs}ms`
@@ -538,74 +533,22 @@ export async function androidInputText(text, deviceId) {
538
533
  error: "No Android device connected. Connect a device or start an emulator."
539
534
  };
540
535
  }
541
- const deviceArg = buildDeviceArg(device);
536
+ const deviceArgs = buildDeviceArgs(device);
542
537
  const hasComplexChars = /[/:?=&#@%+]/.test(text);
543
538
  if (hasComplexChars) {
544
539
  for (const char of text) {
545
- let keyCmd;
546
- switch (char) {
547
- case " ":
548
- keyCmd = `adb ${deviceArg} shell input text "%s"`;
549
- break;
550
- case "'":
551
- keyCmd = `adb ${deviceArg} shell input text "\\'"`;
552
- break;
553
- case '"':
554
- keyCmd = `adb ${deviceArg} shell input text '\\"'`;
555
- break;
556
- case "\\":
557
- keyCmd = `adb ${deviceArg} shell input text "\\\\"`;
558
- break;
559
- case "&":
560
- keyCmd = `adb ${deviceArg} shell input text "\\&"`;
561
- break;
562
- case "|":
563
- keyCmd = `adb ${deviceArg} shell input text "\\|"`;
564
- break;
565
- case ";":
566
- keyCmd = `adb ${deviceArg} shell input text "\\;"`;
567
- break;
568
- case "<":
569
- keyCmd = `adb ${deviceArg} shell input text "\\<"`;
570
- break;
571
- case ">":
572
- keyCmd = `adb ${deviceArg} shell input text "\\>"`;
573
- break;
574
- case "(":
575
- keyCmd = `adb ${deviceArg} shell input text "\\("`;
576
- break;
577
- case ")":
578
- keyCmd = `adb ${deviceArg} shell input text "\\)"`;
579
- break;
580
- case "$":
581
- keyCmd = `adb ${deviceArg} shell input text "\\$"`;
582
- break;
583
- case "`":
584
- keyCmd = `adb ${deviceArg} shell input text "\\\`"`;
585
- break;
586
- case "#":
587
- keyCmd = `adb ${deviceArg} shell input text "\\#"`;
588
- break;
589
- default:
590
- keyCmd = `adb ${deviceArg} shell input text '${char}'`;
591
- }
592
- await execAsync(keyCmd, { timeout: 5000 });
540
+ const deviceCommand = char === " " ? "input text %s" : `input text ${quoteForDeviceShell(char)}`;
541
+ await execFileAsync("adb", [...deviceArgs, "shell", deviceCommand], {
542
+ timeout: 5000
543
+ });
593
544
  }
594
545
  return {
595
546
  success: true,
596
547
  result: `Typed: "${text}"`
597
548
  };
598
549
  }
599
- const escapedText = text
600
- .replace(/\\/g, "\\\\")
601
- .replace(/"/g, '\\"')
602
- .replace(/'/g, "\\'")
603
- .replace(/`/g, "\\`")
604
- .replace(/\$/g, "\\$")
605
- .replace(/ /g, "%s");
606
- await execAsync(`adb ${deviceArg} shell input text "${escapedText}"`, {
607
- timeout: ADB_TIMEOUT
608
- });
550
+ const forInput = text.replace(/ /g, "%s");
551
+ await execFileAsync("adb", [...deviceArgs, "shell", `input text ${quoteForDeviceShell(forInput)}`], { timeout: ADB_TIMEOUT });
609
552
  return {
610
553
  success: true,
611
554
  result: `Typed: "${text}"`
@@ -630,7 +573,7 @@ export async function androidKeyEvent(keyCode, deviceId) {
630
573
  error: "No Android device connected. Connect a device or start an emulator."
631
574
  };
632
575
  }
633
- const deviceArg = buildDeviceArg(device);
576
+ const deviceArgs = buildDeviceArgs(device);
634
577
  const resolvedKeyCode = typeof keyCode === "string" ? ANDROID_KEY_EVENTS[keyCode] : keyCode;
635
578
  if (resolvedKeyCode === undefined) {
636
579
  return {
@@ -638,7 +581,7 @@ export async function androidKeyEvent(keyCode, deviceId) {
638
581
  error: `Invalid key code: ${keyCode}`
639
582
  };
640
583
  }
641
- await execAsync(`adb ${deviceArg} shell input keyevent ${resolvedKeyCode}`, {
584
+ await execFileAsync("adb", [...deviceArgs, "shell", `input keyevent ${resolvedKeyCode}`], {
642
585
  timeout: ADB_TIMEOUT
643
586
  });
644
587
  const keyName = typeof keyCode === "string"
@@ -757,17 +700,17 @@ export async function androidGetUITree(deviceId, signal) {
757
700
  error: "No Android device connected. Connect a device or start an emulator."
758
701
  };
759
702
  }
760
- const deviceArg = buildDeviceArg(device);
703
+ const deviceArgs = buildDeviceArgs(device);
761
704
  const remotePath = "/sdcard/ui_dump.xml";
762
- await execAsync(`adb ${deviceArg} shell uiautomator dump ${remotePath}`, {
705
+ await execFileAsync("adb", [...deviceArgs, "shell", `uiautomator dump ${remotePath}`], {
763
706
  timeout: ADB_TIMEOUT,
764
707
  signal
765
708
  });
766
- const { stdout } = await execAsync(`adb ${deviceArg} shell cat ${remotePath}`, {
709
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", `cat ${remotePath}`], {
767
710
  timeout: ADB_TIMEOUT,
768
711
  signal
769
712
  });
770
- await execAsync(`adb ${deviceArg} shell rm ${remotePath}`, {
713
+ await execFileAsync("adb", [...deviceArgs, "shell", `rm ${remotePath}`], {
771
714
  timeout: ADB_TIMEOUT,
772
715
  signal
773
716
  }).catch(() => { });
@@ -895,8 +838,8 @@ export async function androidGetScreenSize(deviceId) {
895
838
  error: "No Android device connected. Connect a device or start an emulator."
896
839
  };
897
840
  }
898
- const deviceArg = buildDeviceArg(device);
899
- const { stdout } = await execAsync(`adb ${deviceArg} shell wm size`, {
841
+ const deviceArgs = buildDeviceArgs(device);
842
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", "wm size"], {
900
843
  timeout: ADB_TIMEOUT
901
844
  });
902
845
  const match = stdout.match(/(\d+)x(\d+)/);
@@ -931,8 +874,8 @@ export async function androidGetDensity(deviceId) {
931
874
  error: "No Android device connected. Connect a device or start an emulator."
932
875
  };
933
876
  }
934
- const deviceArg = buildDeviceArg(device);
935
- const { stdout } = await execAsync(`adb ${deviceArg} shell wm density`, {
877
+ const deviceArgs = buildDeviceArgs(device);
878
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", "wm density"], {
936
879
  timeout: ADB_TIMEOUT
937
880
  });
938
881
  const match = stdout.match(/density:\s*(\d+)/i);
@@ -966,9 +909,9 @@ export async function androidGetStatusBarHeight(deviceId) {
966
909
  }
967
910
  const density = densityResult.density;
968
911
  const densityScale = density / 160;
969
- const deviceArg = buildDeviceArg(deviceId);
912
+ const deviceArgs = buildDeviceArgs(deviceId);
970
913
  try {
971
- const { stdout } = await execAsync(`adb ${deviceArg} shell "dumpsys window | grep -E 'statusBars|mStatusBarLayer|InsetsSource.*statusBars'"`, { timeout: ADB_TIMEOUT });
914
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", "dumpsys window | grep -E 'statusBars|mStatusBarLayer|InsetsSource.*statusBars'"], { timeout: ADB_TIMEOUT });
972
915
  const frameMatch = stdout.match(/statusBars.*frame=\[[\d,]+\]\[(\d+),(\d+)\]/);
973
916
  if (frameMatch) {
974
917
  const heightPixels = parseInt(frameMatch[2], 10);
@@ -1131,17 +1074,17 @@ export async function androidDescribeAll(deviceId) {
1131
1074
  error: "No Android device connected. Connect a device or start an emulator."
1132
1075
  };
1133
1076
  }
1134
- const deviceArg = buildDeviceArg(device);
1077
+ const deviceArgs = buildDeviceArgs(device);
1135
1078
  const remotePath = "/sdcard/ui_dump.xml";
1136
- await execAsync(`adb ${deviceArg} shell uiautomator dump ${remotePath}`, {
1079
+ await execFileAsync("adb", [...deviceArgs, "shell", `uiautomator dump ${remotePath}`], {
1137
1080
  timeout: ADB_TIMEOUT
1138
1081
  });
1139
- const { stdout } = await execAsync(`adb ${deviceArg} shell cat ${remotePath}`, {
1082
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", `cat ${remotePath}`], {
1140
1083
  timeout: ADB_TIMEOUT,
1141
1084
  maxBuffer: 10 * 1024 * 1024
1142
1085
  });
1143
1086
  const xmlContent = stdout.trim();
1144
- await execAsync(`adb ${deviceArg} shell rm ${remotePath}`, {
1087
+ await execFileAsync("adb", [...deviceArgs, "shell", `rm ${remotePath}`], {
1145
1088
  timeout: 5000
1146
1089
  }).catch(() => { });
1147
1090
  if (!xmlContent || !xmlContent.includes("<hierarchy")) {
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/core/android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/core/android.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function androidForegroundPackage(deviceId?: string): Promise<string | null>;
2
+ export declare function parseForegroundPackage(dump: string): string | null;
3
+ export declare function foregroundLossWarning(expectedPackage: string | null | undefined, actualPackage: string | null): string | null;
4
+ //# sourceMappingURL=androidForeground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"androidForeground.d.ts","sourceRoot":"","sources":["../../src/core/androidForeground.ts"],"names":[],"mappings":"AAeA,wBAAsB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxF;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlE;AAUD,wBAAgB,qBAAqB,CACjC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,GAAG,IAAI,CASf"}
@@ -0,0 +1,34 @@
1
+ import { execFileAsync } from "./exec.js";
2
+ export async function androidForegroundPackage(deviceId) {
3
+ const deviceArgs = deviceId ? ["-s", deviceId] : [];
4
+ try {
5
+ const { stdout } = await execFileAsync("adb", [...deviceArgs, "shell", "dumpsys window | grep -m2 mCurrentFocus"], { timeout: 5000 });
6
+ return parseForegroundPackage(stdout);
7
+ }
8
+ catch {
9
+ return null;
10
+ }
11
+ }
12
+ export function parseForegroundPackage(dump) {
13
+ if (!dump)
14
+ return null;
15
+ for (const line of dump.split("\n")) {
16
+ if (line.indexOf("mCurrentFocus") === -1)
17
+ continue;
18
+ const m = line.match(/([A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z0-9_]+)+)\//);
19
+ if (m)
20
+ return m[1];
21
+ }
22
+ return null;
23
+ }
24
+ export function foregroundLossWarning(expectedPackage, actualPackage) {
25
+ if (!expectedPackage || !actualPackage)
26
+ return null;
27
+ if (actualPackage === expectedPackage)
28
+ return null;
29
+ return (`⚠️ APP LEFT THE FOREGROUND — the focused package is now "${actualPackage}", not "${expectedPackage}". ` +
30
+ `The gesture was probably claimed by the system (the home-gesture strip at the bottom edge does this). ` +
31
+ `Any screenshot taken now shows another app, and coordinates captured before this gesture are no longer valid — ` +
32
+ `do NOT tap them. Bring the app back with android_launch_app, then re-read the screen.`);
33
+ }
34
+ //# sourceMappingURL=androidForeground.js.map