execbro 2.3.0 → 2.5.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 (549) hide show
  1. package/build/__tests__/helpers/fake-cdp-server.d.ts +0 -12
  2. package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -1
  3. package/build/__tests__/helpers/fake-cdp-server.js +0 -22
  4. package/build/__tests__/helpers/fake-cdp-server.js.map +1 -1
  5. package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -23
  6. package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -1
  7. package/build/__tests__/helpers/tap-test-helpers.js +2 -29
  8. package/build/__tests__/helpers/tap-test-helpers.js.map +1 -1
  9. package/build/__tests__/integration/auto-reconnect.test.js +4 -14
  10. package/build/__tests__/integration/auto-reconnect.test.js.map +1 -1
  11. package/build/__tests__/integration/connection-health.test.js +1 -10
  12. package/build/__tests__/integration/connection-health.test.js.map +1 -1
  13. package/build/__tests__/integration/execute-in-app.test.js +1 -11
  14. package/build/__tests__/integration/execute-in-app.test.js.map +1 -1
  15. package/build/__tests__/integration/native-logs.test.js +0 -5
  16. package/build/__tests__/integration/native-logs.test.js.map +1 -1
  17. package/build/__tests__/integration/per-call-timeout.test.js +1 -5
  18. package/build/__tests__/integration/per-call-timeout.test.js.map +1 -1
  19. package/build/__tests__/integration/socket-close-midflight.test.js +2 -12
  20. package/build/__tests__/integration/socket-close-midflight.test.js.map +1 -1
  21. package/build/__tests__/integration/stale-target-probe.test.js +2 -17
  22. package/build/__tests__/integration/stale-target-probe.test.js.map +1 -1
  23. package/build/__tests__/integration/tap-strategies.test.js +2 -36
  24. package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
  25. package/build/__tests__/integration/text-input.test.js +0 -39
  26. package/build/__tests__/integration/text-input.test.js.map +1 -1
  27. package/build/__tests__/integration/tools.test.js +1 -7
  28. package/build/__tests__/integration/tools.test.js.map +1 -1
  29. package/build/__tests__/setup.js +0 -2
  30. package/build/__tests__/setup.js.map +1 -1
  31. package/build/__tests__/unit/androidEmulatorAvds.test.js +0 -10
  32. package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -1
  33. package/build/__tests__/unit/appContext.test.js +0 -2
  34. package/build/__tests__/unit/appContext.test.js.map +1 -1
  35. package/build/__tests__/unit/appRequest.test.js +0 -3
  36. package/build/__tests__/unit/appRequest.test.js.map +1 -1
  37. package/build/__tests__/unit/buildToken.test.js +0 -6
  38. package/build/__tests__/unit/buildToken.test.js.map +1 -1
  39. package/build/__tests__/unit/burst.test.js +0 -1
  40. package/build/__tests__/unit/burst.test.js.map +1 -1
  41. package/build/__tests__/unit/clearLogsNative.test.js +0 -8
  42. package/build/__tests__/unit/clearLogsNative.test.js.map +1 -1
  43. package/build/__tests__/unit/componentFormatNaming.test.js +0 -13
  44. package/build/__tests__/unit/componentFormatNaming.test.js.map +1 -1
  45. package/build/__tests__/unit/componentSource.test.js +0 -4
  46. package/build/__tests__/unit/componentSource.test.js.map +1 -1
  47. package/build/__tests__/unit/componentSourceResolve.test.js +0 -1
  48. package/build/__tests__/unit/componentSourceResolve.test.js.map +1 -1
  49. package/build/__tests__/unit/contextWiring.test.js +0 -3
  50. package/build/__tests__/unit/contextWiring.test.js.map +1 -1
  51. package/build/__tests__/unit/coordinateMiss.test.js +0 -16
  52. package/build/__tests__/unit/coordinateMiss.test.js.map +1 -1
  53. package/build/__tests__/unit/deviceDiscovery.test.js +0 -4
  54. package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -1
  55. package/build/__tests__/unit/deviceResolution.test.js +0 -2
  56. package/build/__tests__/unit/deviceResolution.test.js.map +1 -1
  57. package/build/__tests__/unit/deviceResolver.test.js +0 -1
  58. package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
  59. package/build/__tests__/unit/deviceResolverStaleRetry.test.js +0 -8
  60. package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -1
  61. package/build/__tests__/unit/epochRender.test.js +0 -3
  62. package/build/__tests__/unit/epochRender.test.js.map +1 -1
  63. package/build/__tests__/unit/errorCategorization.test.js +0 -18
  64. package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
  65. package/build/__tests__/unit/exec.test.js +0 -1
  66. package/build/__tests__/unit/exec.test.js.map +1 -1
  67. package/build/__tests__/unit/executor.test.js +0 -15
  68. package/build/__tests__/unit/executor.test.js.map +1 -1
  69. package/build/__tests__/unit/findElementTreeReuse.test.js +0 -12
  70. package/build/__tests__/unit/findElementTreeReuse.test.js.map +1 -1
  71. package/build/__tests__/unit/fingerprint.test.js +0 -4
  72. package/build/__tests__/unit/fingerprint.test.js.map +1 -1
  73. package/build/__tests__/unit/focusedInputTools.test.js +0 -4
  74. package/build/__tests__/unit/focusedInputTools.test.js.map +1 -1
  75. package/build/__tests__/unit/getLogsEmptyContract.test.js +0 -30
  76. package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
  77. package/build/__tests__/unit/getLogsNativeSource.test.js +0 -22
  78. package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
  79. package/build/__tests__/unit/graphqlOperation.test.d.ts +2 -0
  80. package/build/__tests__/unit/graphqlOperation.test.d.ts.map +1 -0
  81. package/build/__tests__/unit/graphqlOperation.test.js +107 -0
  82. package/build/__tests__/unit/graphqlOperation.test.js.map +1 -0
  83. package/build/__tests__/unit/inputTarget.test.js +0 -16
  84. package/build/__tests__/unit/inputTarget.test.js.map +1 -1
  85. package/build/__tests__/unit/inputTextTool.test.js +0 -3
  86. package/build/__tests__/unit/inputTextTool.test.js.map +1 -1
  87. package/build/__tests__/unit/jsLogEvents.test.js +0 -3
  88. package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
  89. package/build/__tests__/unit/keyboardMetrics.test.js +0 -2
  90. package/build/__tests__/unit/keyboardMetrics.test.js.map +1 -1
  91. package/build/__tests__/unit/keyboardRaise.test.js +0 -2
  92. package/build/__tests__/unit/keyboardRaise.test.js.map +1 -1
  93. package/build/__tests__/unit/licenseGrace.test.js +1 -4
  94. package/build/__tests__/unit/licenseGrace.test.js.map +1 -1
  95. package/build/__tests__/unit/logEventFormat.test.js +0 -27
  96. package/build/__tests__/unit/logEventFormat.test.js.map +1 -1
  97. package/build/__tests__/unit/logEvents.test.js +1 -5
  98. package/build/__tests__/unit/logEvents.test.js.map +1 -1
  99. package/build/__tests__/unit/logGrouping.test.js +0 -2
  100. package/build/__tests__/unit/logGrouping.test.js.map +1 -1
  101. package/build/__tests__/unit/logOwnership.test.js +0 -11
  102. package/build/__tests__/unit/logOwnership.test.js.map +1 -1
  103. package/build/__tests__/unit/logRelevance.test.js +0 -6
  104. package/build/__tests__/unit/logRelevance.test.js.map +1 -1
  105. package/build/__tests__/unit/logSourceAndroid.test.js +0 -4
  106. package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
  107. package/build/__tests__/unit/logSourceIos.test.js +0 -5
  108. package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
  109. package/build/__tests__/unit/logs.test.js +0 -1
  110. package/build/__tests__/unit/logs.test.js.map +1 -1
  111. package/build/__tests__/unit/measureComponentTools.test.js +0 -1
  112. package/build/__tests__/unit/measureComponentTools.test.js.map +1 -1
  113. package/build/__tests__/unit/metro.test.js +0 -2
  114. package/build/__tests__/unit/metro.test.js.map +1 -1
  115. package/build/__tests__/unit/nativeInputValue.test.js +0 -4
  116. package/build/__tests__/unit/nativeInputValue.test.js.map +1 -1
  117. package/build/__tests__/unit/nativeLogs.test.js +1 -23
  118. package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
  119. package/build/__tests__/unit/navigateVerify.test.js +0 -6
  120. package/build/__tests__/unit/navigateVerify.test.js.map +1 -1
  121. package/build/__tests__/unit/navigation.test.js +0 -5
  122. package/build/__tests__/unit/navigation.test.js.map +1 -1
  123. package/build/__tests__/unit/networkInterceptor.test.js +0 -2
  124. package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
  125. package/build/__tests__/unit/overlayGuard.test.d.ts +2 -0
  126. package/build/__tests__/unit/overlayGuard.test.d.ts.map +1 -0
  127. package/build/__tests__/unit/overlayGuard.test.js +123 -0
  128. package/build/__tests__/unit/overlayGuard.test.js.map +1 -0
  129. package/build/__tests__/unit/pendingExecutions.test.js +0 -6
  130. package/build/__tests__/unit/pendingExecutions.test.js.map +1 -1
  131. package/build/__tests__/unit/probe.test.js +0 -1
  132. package/build/__tests__/unit/probe.test.js.map +1 -1
  133. package/build/__tests__/unit/projectMemory.test.js +6 -7
  134. package/build/__tests__/unit/projectMemory.test.js.map +1 -1
  135. package/build/__tests__/unit/projectStore.test.js +2 -2
  136. package/build/__tests__/unit/projectStore.test.js.map +1 -1
  137. package/build/__tests__/unit/reloadAppAutoConnect.test.js +0 -9
  138. package/build/__tests__/unit/reloadAppAutoConnect.test.js.map +1 -1
  139. package/build/__tests__/unit/rnGlobalsBootstrap.test.js +3 -3
  140. package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -1
  141. package/build/__tests__/unit/routeHistory.test.d.ts +2 -0
  142. package/build/__tests__/unit/routeHistory.test.d.ts.map +1 -0
  143. package/build/__tests__/unit/routeHistory.test.js +136 -0
  144. package/build/__tests__/unit/routeHistory.test.js.map +1 -0
  145. package/build/__tests__/unit/screenSpace.test.js +30 -13
  146. package/build/__tests__/unit/screenSpace.test.js.map +1 -1
  147. package/build/__tests__/unit/screenState.test.js +3 -6
  148. package/build/__tests__/unit/screenState.test.js.map +1 -1
  149. package/build/__tests__/unit/screenStateInputValue.test.js +0 -7
  150. package/build/__tests__/unit/screenStateInputValue.test.js.map +1 -1
  151. package/build/__tests__/unit/screenStateKeyboard.test.js +0 -1
  152. package/build/__tests__/unit/screenStateKeyboard.test.js.map +1 -1
  153. package/build/__tests__/unit/screenshot-diff.test.js +0 -6
  154. package/build/__tests__/unit/screenshot-diff.test.js.map +1 -1
  155. package/build/__tests__/unit/sdkMirrorPoller.test.js +0 -8
  156. package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -1
  157. package/build/__tests__/unit/settleAndDiff.test.js +0 -11
  158. package/build/__tests__/unit/settleAndDiff.test.js.map +1 -1
  159. package/build/__tests__/unit/signedVerdict.test.js +0 -5
  160. package/build/__tests__/unit/signedVerdict.test.js.map +1 -1
  161. package/build/__tests__/unit/swipeDirection.test.js +6 -9
  162. package/build/__tests__/unit/swipeDirection.test.js.map +1 -1
  163. package/build/__tests__/unit/symbolicate.test.js +0 -1
  164. package/build/__tests__/unit/symbolicate.test.js.map +1 -1
  165. package/build/__tests__/unit/tap.test.js +2 -40
  166. package/build/__tests__/unit/tap.test.js.map +1 -1
  167. package/build/__tests__/unit/textEntry.test.js +0 -27
  168. package/build/__tests__/unit/textEntry.test.js.map +1 -1
  169. package/build/__tests__/unit/toolDescriptions.test.js +0 -40
  170. package/build/__tests__/unit/toolDescriptions.test.js.map +1 -1
  171. package/build/__tests__/unit/toolsJson.test.js +0 -10
  172. package/build/__tests__/unit/toolsJson.test.js.map +1 -1
  173. package/build/__tests__/unit/transportClassify.test.js +0 -20
  174. package/build/__tests__/unit/transportClassify.test.js.map +1 -1
  175. package/build/__tests__/unit/truncate.test.js +0 -5
  176. package/build/__tests__/unit/truncate.test.js.map +1 -1
  177. package/build/__tests__/unit/usageCache.test.js +0 -3
  178. package/build/__tests__/unit/usageCache.test.js.map +1 -1
  179. package/build/__tests__/unit/usageGate.test.js +1 -1
  180. package/build/__tests__/unit/usageGate.test.js.map +1 -1
  181. package/build/__tests__/unit/visibility.test.js +0 -8
  182. package/build/__tests__/unit/visibility.test.js.map +1 -1
  183. package/build/__tests__/unit/waitForMeasurements.test.js +2 -7
  184. package/build/__tests__/unit/waitForMeasurements.test.js.map +1 -1
  185. package/build/bin.js +0 -18
  186. package/build/bin.js.map +1 -1
  187. package/build/core/android.d.ts +0 -120
  188. package/build/core/android.d.ts.map +1 -1
  189. package/build/core/android.js +4 -259
  190. package/build/core/android.js.map +1 -1
  191. package/build/core/appContext.d.ts +0 -50
  192. package/build/core/appContext.d.ts.map +1 -1
  193. package/build/core/appContext.js +0 -50
  194. package/build/core/appContext.js.map +1 -1
  195. package/build/core/appDetection.d.ts +0 -16
  196. package/build/core/appDetection.d.ts.map +1 -1
  197. package/build/core/appDetection.js +0 -36
  198. package/build/core/appDetection.js.map +1 -1
  199. package/build/core/appRequest.d.ts +0 -12
  200. package/build/core/appRequest.d.ts.map +1 -1
  201. package/build/core/appRequest.js +0 -15
  202. package/build/core/appRequest.js.map +1 -1
  203. package/build/core/bufferConfig.d.ts +0 -2
  204. package/build/core/bufferConfig.d.ts.map +1 -1
  205. package/build/core/bufferConfig.js +0 -2
  206. package/build/core/bufferConfig.js.map +1 -1
  207. package/build/core/bundle.js +0 -40
  208. package/build/core/bundle.js.map +1 -1
  209. package/build/core/componentSearch.d.ts +0 -19
  210. package/build/core/componentSearch.d.ts.map +1 -1
  211. package/build/core/componentSearch.js +1 -22
  212. package/build/core/componentSearch.js.map +1 -1
  213. package/build/core/componentSource.d.ts +0 -21
  214. package/build/core/componentSource.d.ts.map +1 -1
  215. package/build/core/componentSource.js +0 -27
  216. package/build/core/componentSource.js.map +1 -1
  217. package/build/core/componentTree.js +0 -12
  218. package/build/core/componentTree.js.map +1 -1
  219. package/build/core/config.d.ts +0 -8
  220. package/build/core/config.d.ts.map +1 -1
  221. package/build/core/config.js +0 -10
  222. package/build/core/config.js.map +1 -1
  223. package/build/core/connection.d.ts +0 -76
  224. package/build/core/connection.d.ts.map +1 -1
  225. package/build/core/connection.js +15 -340
  226. package/build/core/connection.js.map +1 -1
  227. package/build/core/connectionState.d.ts +0 -78
  228. package/build/core/connectionState.d.ts.map +1 -1
  229. package/build/core/connectionState.js +4 -92
  230. package/build/core/connectionState.js.map +1 -1
  231. package/build/core/debugGlobals.js +0 -68
  232. package/build/core/debugGlobals.js.map +1 -1
  233. package/build/core/deviceDiscovery.d.ts +0 -5
  234. package/build/core/deviceDiscovery.d.ts.map +1 -1
  235. package/build/core/deviceDiscovery.js +0 -12
  236. package/build/core/deviceDiscovery.js.map +1 -1
  237. package/build/core/deviceResolver.d.ts +0 -10
  238. package/build/core/deviceResolver.d.ts.map +1 -1
  239. package/build/core/deviceResolver.js +0 -54
  240. package/build/core/deviceResolver.js.map +1 -1
  241. package/build/core/epochRender.d.ts +0 -12
  242. package/build/core/epochRender.d.ts.map +1 -1
  243. package/build/core/epochRender.js +0 -12
  244. package/build/core/epochRender.js.map +1 -1
  245. package/build/core/errorScreenParser.d.ts +0 -21
  246. package/build/core/errorScreenParser.d.ts.map +1 -1
  247. package/build/core/errorScreenParser.js +0 -50
  248. package/build/core/errorScreenParser.js.map +1 -1
  249. package/build/core/errors.d.ts +0 -15
  250. package/build/core/errors.d.ts.map +1 -1
  251. package/build/core/errors.js +0 -15
  252. package/build/core/errors.js.map +1 -1
  253. package/build/core/escapeNonAscii.d.ts +0 -9
  254. package/build/core/escapeNonAscii.d.ts.map +1 -1
  255. package/build/core/escapeNonAscii.js +1 -43
  256. package/build/core/escapeNonAscii.js.map +1 -1
  257. package/build/core/exec.d.ts +0 -12
  258. package/build/core/exec.d.ts.map +1 -1
  259. package/build/core/exec.js +2 -14
  260. package/build/core/exec.js.map +1 -1
  261. package/build/core/executor.js +0 -3
  262. package/build/core/executor.js.map +1 -1
  263. package/build/core/fastRefreshRecorder.js +0 -4
  264. package/build/core/fastRefreshRecorder.js.map +1 -1
  265. package/build/core/fastRefreshTools.js +0 -3
  266. package/build/core/fastRefreshTools.js.map +1 -1
  267. package/build/core/feedback.js +0 -4
  268. package/build/core/feedback.js.map +1 -1
  269. package/build/core/graphqlOperation.d.ts +13 -0
  270. package/build/core/graphqlOperation.d.ts.map +1 -0
  271. package/build/core/graphqlOperation.js +80 -0
  272. package/build/core/graphqlOperation.js.map +1 -0
  273. package/build/core/guides.d.ts +0 -10
  274. package/build/core/guides.d.ts.map +1 -1
  275. package/build/core/guides.js +0 -10
  276. package/build/core/guides.js.map +1 -1
  277. package/build/core/iconSemantics.d.ts +0 -15
  278. package/build/core/iconSemantics.d.ts.map +1 -1
  279. package/build/core/iconSemantics.js +0 -31
  280. package/build/core/iconSemantics.js.map +1 -1
  281. package/build/core/index.js +4 -47
  282. package/build/core/index.js.map +1 -1
  283. package/build/core/injected/visibility.d.ts +0 -30
  284. package/build/core/injected/visibility.d.ts.map +1 -1
  285. package/build/core/injected/visibility.js +0 -33
  286. package/build/core/injected/visibility.js.map +1 -1
  287. package/build/core/injectedFilters.d.ts +0 -28
  288. package/build/core/injectedFilters.d.ts.map +1 -1
  289. package/build/core/injectedFilters.js +0 -28
  290. package/build/core/injectedFilters.js.map +1 -1
  291. package/build/core/inputTarget.d.ts +1 -34
  292. package/build/core/inputTarget.d.ts.map +1 -1
  293. package/build/core/inputTarget.js +0 -26
  294. package/build/core/inputTarget.js.map +1 -1
  295. package/build/core/inputTargetTools.d.ts +0 -7
  296. package/build/core/inputTargetTools.d.ts.map +1 -1
  297. package/build/core/inputTargetTools.js +0 -7
  298. package/build/core/inputTargetTools.js.map +1 -1
  299. package/build/core/inspector.d.ts +0 -33
  300. package/build/core/inspector.d.ts.map +1 -1
  301. package/build/core/inspector.js +27 -40
  302. package/build/core/inspector.js.map +1 -1
  303. package/build/core/ios.d.ts +11 -122
  304. package/build/core/ios.d.ts.map +1 -1
  305. package/build/core/ios.js +32 -299
  306. package/build/core/ios.js.map +1 -1
  307. package/build/core/jsExecute.d.ts +0 -100
  308. package/build/core/jsExecute.d.ts.map +1 -1
  309. package/build/core/jsExecute.js +0 -261
  310. package/build/core/jsExecute.js.map +1 -1
  311. package/build/core/jsLogEvents.d.ts +0 -8
  312. package/build/core/jsLogEvents.d.ts.map +1 -1
  313. package/build/core/jsLogEvents.js +0 -8
  314. package/build/core/jsLogEvents.js.map +1 -1
  315. package/build/core/keyboardMetrics.js +0 -8
  316. package/build/core/keyboardMetrics.js.map +1 -1
  317. package/build/core/keyboardRaise.d.ts +0 -8
  318. package/build/core/keyboardRaise.d.ts.map +1 -1
  319. package/build/core/keyboardRaise.js +0 -23
  320. package/build/core/keyboardRaise.js.map +1 -1
  321. package/build/core/license.d.ts +0 -4
  322. package/build/core/license.d.ts.map +1 -1
  323. package/build/core/license.js +2 -55
  324. package/build/core/license.js.map +1 -1
  325. package/build/core/logDiagnosis.d.ts +0 -34
  326. package/build/core/logDiagnosis.d.ts.map +1 -1
  327. package/build/core/logDiagnosis.js +0 -15
  328. package/build/core/logDiagnosis.js.map +1 -1
  329. package/build/core/logEventFormat.d.ts +0 -1
  330. package/build/core/logEventFormat.d.ts.map +1 -1
  331. package/build/core/logEventFormat.js +0 -30
  332. package/build/core/logEventFormat.js.map +1 -1
  333. package/build/core/logEvents.d.ts +0 -54
  334. package/build/core/logEvents.d.ts.map +1 -1
  335. package/build/core/logEvents.js +0 -37
  336. package/build/core/logEvents.js.map +1 -1
  337. package/build/core/logGrouping.d.ts +0 -9
  338. package/build/core/logGrouping.d.ts.map +1 -1
  339. package/build/core/logGrouping.js +0 -17
  340. package/build/core/logGrouping.js.map +1 -1
  341. package/build/core/logOwnership.d.ts +0 -17
  342. package/build/core/logOwnership.d.ts.map +1 -1
  343. package/build/core/logOwnership.js +0 -34
  344. package/build/core/logOwnership.js.map +1 -1
  345. package/build/core/logRelevance.d.ts +0 -8
  346. package/build/core/logRelevance.d.ts.map +1 -1
  347. package/build/core/logRelevance.js +0 -15
  348. package/build/core/logRelevance.js.map +1 -1
  349. package/build/core/logSourceAndroid.d.ts +0 -8
  350. package/build/core/logSourceAndroid.d.ts.map +1 -1
  351. package/build/core/logSourceAndroid.js +0 -11
  352. package/build/core/logSourceAndroid.js.map +1 -1
  353. package/build/core/logSourceIos.d.ts +0 -8
  354. package/build/core/logSourceIos.d.ts.map +1 -1
  355. package/build/core/logSourceIos.js +1 -24
  356. package/build/core/logSourceIos.js.map +1 -1
  357. package/build/core/logbox.d.ts +0 -30
  358. package/build/core/logbox.d.ts.map +1 -1
  359. package/build/core/logbox.js +0 -43
  360. package/build/core/logbox.js.map +1 -1
  361. package/build/core/logs.d.ts +0 -6
  362. package/build/core/logs.d.ts.map +1 -1
  363. package/build/core/logs.js +0 -19
  364. package/build/core/logs.js.map +1 -1
  365. package/build/core/metro.d.ts +0 -14
  366. package/build/core/metro.d.ts.map +1 -1
  367. package/build/core/metro.js +1 -32
  368. package/build/core/metro.js.map +1 -1
  369. package/build/core/moduleRegistry.d.ts +0 -17
  370. package/build/core/moduleRegistry.d.ts.map +1 -1
  371. package/build/core/moduleRegistry.js +0 -17
  372. package/build/core/moduleRegistry.js.map +1 -1
  373. package/build/core/nativeInputValue.d.ts +0 -29
  374. package/build/core/nativeInputValue.d.ts.map +1 -1
  375. package/build/core/nativeInputValue.js +0 -18
  376. package/build/core/nativeInputValue.js.map +1 -1
  377. package/build/core/nativeLogs.d.ts +0 -47
  378. package/build/core/nativeLogs.d.ts.map +1 -1
  379. package/build/core/nativeLogs.js +0 -82
  380. package/build/core/nativeLogs.js.map +1 -1
  381. package/build/core/nativeOnlyHints.js +0 -4
  382. package/build/core/nativeOnlyHints.js.map +1 -1
  383. package/build/core/navigate.d.ts +0 -15
  384. package/build/core/navigate.d.ts.map +1 -1
  385. package/build/core/navigate.js +0 -22
  386. package/build/core/navigate.js.map +1 -1
  387. package/build/core/navigation.d.ts +0 -60
  388. package/build/core/navigation.d.ts.map +1 -1
  389. package/build/core/navigation.js +0 -60
  390. package/build/core/navigation.js.map +1 -1
  391. package/build/core/network.d.ts +0 -5
  392. package/build/core/network.d.ts.map +1 -1
  393. package/build/core/network.js +10 -31
  394. package/build/core/network.js.map +1 -1
  395. package/build/core/networkInterceptor.d.ts +0 -19
  396. package/build/core/networkInterceptor.d.ts.map +1 -1
  397. package/build/core/networkInterceptor.js +3 -27
  398. package/build/core/networkInterceptor.js.map +1 -1
  399. package/build/core/ocr.d.ts +0 -31
  400. package/build/core/ocr.d.ts.map +1 -1
  401. package/build/core/ocr.js +1 -71
  402. package/build/core/ocr.js.map +1 -1
  403. package/build/core/paths.js +0 -1
  404. package/build/core/paths.js.map +1 -1
  405. package/build/core/posthog.js +0 -7
  406. package/build/core/posthog.js.map +1 -1
  407. package/build/core/pressables.d.ts +0 -25
  408. package/build/core/pressables.d.ts.map +1 -1
  409. package/build/core/pressables.js +0 -37
  410. package/build/core/pressables.js.map +1 -1
  411. package/build/core/probe.d.ts +0 -9
  412. package/build/core/probe.d.ts.map +1 -1
  413. package/build/core/probe.js +0 -9
  414. package/build/core/probe.js.map +1 -1
  415. package/build/core/projectMemory.d.ts +0 -2
  416. package/build/core/projectMemory.d.ts.map +1 -1
  417. package/build/core/projectMemory.js +2 -7
  418. package/build/core/projectMemory.js.map +1 -1
  419. package/build/core/projectStore.d.ts +0 -18
  420. package/build/core/projectStore.d.ts.map +1 -1
  421. package/build/core/projectStore.js +0 -19
  422. package/build/core/projectStore.js.map +1 -1
  423. package/build/core/promiseHandles.d.ts +0 -13
  424. package/build/core/promiseHandles.d.ts.map +1 -1
  425. package/build/core/promiseHandles.js +0 -25
  426. package/build/core/promiseHandles.js.map +1 -1
  427. package/build/core/register.js +0 -44
  428. package/build/core/register.js.map +1 -1
  429. package/build/core/rnGlobalsBootstrap.d.ts +0 -13
  430. package/build/core/rnGlobalsBootstrap.d.ts.map +1 -1
  431. package/build/core/rnGlobalsBootstrap.js +0 -22
  432. package/build/core/rnGlobalsBootstrap.js.map +1 -1
  433. package/build/core/routeHistory.d.ts +24 -0
  434. package/build/core/routeHistory.d.ts.map +1 -0
  435. package/build/core/routeHistory.js +186 -0
  436. package/build/core/routeHistory.js.map +1 -0
  437. package/build/core/screenLayout.d.ts +0 -11
  438. package/build/core/screenLayout.d.ts.map +1 -1
  439. package/build/core/screenLayout.js +24 -61
  440. package/build/core/screenLayout.js.map +1 -1
  441. package/build/core/screenSpace.d.ts +32 -44
  442. package/build/core/screenSpace.d.ts.map +1 -1
  443. package/build/core/screenSpace.js +80 -46
  444. package/build/core/screenSpace.js.map +1 -1
  445. package/build/core/screenSpaceDevice.d.ts +0 -8
  446. package/build/core/screenSpaceDevice.d.ts.map +1 -1
  447. package/build/core/screenSpaceDevice.js +31 -14
  448. package/build/core/screenSpaceDevice.js.map +1 -1
  449. package/build/core/screenState.d.ts +2 -74
  450. package/build/core/screenState.d.ts.map +1 -1
  451. package/build/core/screenState.js +204 -145
  452. package/build/core/screenState.js.map +1 -1
  453. package/build/core/sdkBridge.js +0 -8
  454. package/build/core/sdkBridge.js.map +1 -1
  455. package/build/core/sdkMirrorPoller.d.ts +0 -18
  456. package/build/core/sdkMirrorPoller.d.ts.map +1 -1
  457. package/build/core/sdkMirrorPoller.js +0 -47
  458. package/build/core/sdkMirrorPoller.js.map +1 -1
  459. package/build/core/selectionBuffer.d.ts +0 -6
  460. package/build/core/selectionBuffer.d.ts.map +1 -1
  461. package/build/core/selectionBuffer.js +0 -5
  462. package/build/core/selectionBuffer.js.map +1 -1
  463. package/build/core/signedVerdict.js +0 -6
  464. package/build/core/signedVerdict.js.map +1 -1
  465. package/build/core/state.d.ts +0 -31
  466. package/build/core/state.d.ts.map +1 -1
  467. package/build/core/state.js +0 -57
  468. package/build/core/state.js.map +1 -1
  469. package/build/core/symbolicate.js +0 -11
  470. package/build/core/symbolicate.js.map +1 -1
  471. package/build/core/telemetry.d.ts +0 -47
  472. package/build/core/telemetry.d.ts.map +1 -1
  473. package/build/core/telemetry.js +1 -173
  474. package/build/core/telemetry.js.map +1 -1
  475. package/build/core/textEntry.d.ts +0 -34
  476. package/build/core/textEntry.d.ts.map +1 -1
  477. package/build/core/textEntry.js +0 -73
  478. package/build/core/textEntry.js.map +1 -1
  479. package/build/core/toolHelpers.d.ts +0 -12
  480. package/build/core/toolHelpers.d.ts.map +1 -1
  481. package/build/core/toolHelpers.js +2 -47
  482. package/build/core/toolHelpers.js.map +1 -1
  483. package/build/core/truncate.d.ts +0 -17
  484. package/build/core/truncate.d.ts.map +1 -1
  485. package/build/core/truncate.js +0 -32
  486. package/build/core/truncate.js.map +1 -1
  487. package/build/core/types.d.ts +0 -6
  488. package/build/core/types.d.ts.map +1 -1
  489. package/build/core/usageCache.js +0 -12
  490. package/build/core/usageCache.js.map +1 -1
  491. package/build/index.js +0 -18
  492. package/build/index.js.map +1 -1
  493. package/build/pro/coordinateMiss.d.ts +0 -30
  494. package/build/pro/coordinateMiss.d.ts.map +1 -1
  495. package/build/pro/coordinateMiss.js +0 -17
  496. package/build/pro/coordinateMiss.js.map +1 -1
  497. package/build/pro/overlayGuard.d.ts +27 -0
  498. package/build/pro/overlayGuard.d.ts.map +1 -0
  499. package/build/pro/overlayGuard.js +103 -0
  500. package/build/pro/overlayGuard.js.map +1 -0
  501. package/build/pro/screenshot-diff.js +4 -6
  502. package/build/pro/screenshot-diff.js.map +1 -1
  503. package/build/pro/tap.d.ts +0 -55
  504. package/build/pro/tap.d.ts.map +1 -1
  505. package/build/pro/tap.js +72 -316
  506. package/build/pro/tap.js.map +1 -1
  507. package/build/pro/usageGate.js +0 -9
  508. package/build/pro/usageGate.js.map +1 -1
  509. package/build/pro/usageNotifications.js +1 -13
  510. package/build/pro/usageNotifications.js.map +1 -1
  511. package/build/pro/verifyAction.d.ts +0 -13
  512. package/build/pro/verifyAction.d.ts.map +1 -1
  513. package/build/pro/verifyAction.js +0 -45
  514. package/build/pro/verifyAction.js.map +1 -1
  515. package/build/tools/_deviceArg.d.ts +0 -35
  516. package/build/tools/_deviceArg.d.ts.map +1 -1
  517. package/build/tools/_deviceArg.js +0 -35
  518. package/build/tools/_deviceArg.js.map +1 -1
  519. package/build/tools/accountTools.js +2 -2
  520. package/build/tools/accountTools.js.map +1 -1
  521. package/build/tools/bundleTools.js +0 -16
  522. package/build/tools/bundleTools.js.map +1 -1
  523. package/build/tools/componentTools.d.ts.map +1 -1
  524. package/build/tools/componentTools.js +47 -53
  525. package/build/tools/componentTools.js.map +1 -1
  526. package/build/tools/connectionTools.js +1 -59
  527. package/build/tools/connectionTools.js.map +1 -1
  528. package/build/tools/deviceTools.js +0 -11
  529. package/build/tools/deviceTools.js.map +1 -1
  530. package/build/tools/executionTools.js +1 -18
  531. package/build/tools/executionTools.js.map +1 -1
  532. package/build/tools/interactionTools.d.ts +0 -10
  533. package/build/tools/interactionTools.d.ts.map +1 -1
  534. package/build/tools/interactionTools.js +0 -57
  535. package/build/tools/interactionTools.js.map +1 -1
  536. package/build/tools/logTools.d.ts +0 -13
  537. package/build/tools/logTools.d.ts.map +1 -1
  538. package/build/tools/logTools.js +2 -126
  539. package/build/tools/logTools.js.map +1 -1
  540. package/build/tools/metaTools.js +0 -10
  541. package/build/tools/metaTools.js.map +1 -1
  542. package/build/tools/networkTools.js +4 -43
  543. package/build/tools/networkTools.js.map +1 -1
  544. package/build/tools/requestTools.js +0 -5
  545. package/build/tools/requestTools.js.map +1 -1
  546. package/build/tools/screenshotTools.js +5 -111
  547. package/build/tools/screenshotTools.js.map +1 -1
  548. package/package.json +2 -2
  549. package/tools.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"textEntry.d.ts","sourceRoot":"","sources":["../../src/core/textEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvG,MAAM,MAAM,aAAa,GAAG;IACxB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,KAAK,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,kFAAkF;IAClF,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAc5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAWD;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA2MlG"}
1
+ {"version":3,"file":"textEntry.d.ts","sourceRoot":"","sources":["../../src/core/textEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvG,MAAM,MAAM,aAAa,GAAG;IAExB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,KAAK,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAKlC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAOF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAc5E;AAWD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAmBD,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA2MlG"}
@@ -1,9 +1,4 @@
1
1
  import { resolveWrittenField } from "./nativeInputValue.js";
2
- /**
3
- * Names the likely cause of a mismatch. The field's own keyboard settings
4
- * transform text on the way in, and "landed differently" alone sends the
5
- * reader hunting for a bug in the write when the write was fine.
6
- */
7
2
  export function diagnoseMismatch(sent, landed) {
8
3
  if (landed === null)
9
4
  return "";
@@ -20,18 +15,7 @@ export function diagnoseMismatch(sent, landed) {
20
15
  }
21
16
  return "";
22
17
  }
23
- /**
24
- * Whether the HID driver can express this text at all.
25
- *
26
- * AXe types US-keyboard HID keycodes: A-Z, a-z, 0-9, space and the ASCII
27
- * symbols. Nothing outside that map has a keycode to send — which rules out
28
- * Cyrillic and CJK, and equally Spanish accents (á, ñ, ü), a case that is easy
29
- * to miss because the text otherwise looks Latin. `adb shell input text` is no
30
- * better: non-ASCII throws a NullPointerException inside InputShellCommand.
31
- */
32
18
  export function isHidTypeable(text) {
33
- // Printable ASCII plus tab/newline. Deliberately excludes the C1 range and
34
- // anything above 0x7E.
35
19
  return /^[\x20-\x7E\t\n]*$/.test(text);
36
20
  }
37
21
  function queryOf(a) {
@@ -46,18 +30,8 @@ function queryOf(a) {
46
30
  q.index = a.index;
47
31
  return Object.keys(q).length > 0 ? q : undefined;
48
32
  }
49
- /**
50
- * Resolve -> focus -> write -> read back -> retry once -> raise keyboard.
51
- *
52
- * The read-back comparison is EXACT. The corruption reproduced on device is a
53
- * reorder (CASEB -> CSEBA), which every loose check — length, non-empty,
54
- * prefix — passes. A success from this function means the field holds the
55
- * requested string, or it says it could not confirm that.
56
- */
57
33
  export async function enterText(args, deps) {
58
34
  const q = queryOf(args);
59
- // 1. Resolve. A miss is a hard failure — this is precisely where the old
60
- // tools typed into the void and reported success.
61
35
  const target = await deps.runOp({ kind: "find" }, q, args.device);
62
36
  if (!target.found) {
63
37
  return {
@@ -68,8 +42,6 @@ export async function enterText(args, deps) {
68
42
  ...(target.totalInputs !== undefined && { totalInputs: target.totalInputs })
69
43
  };
70
44
  }
71
- // 2. Focus it ourselves if needed. A tap reporting success does not
72
- // guarantee React focus — reproduced on device.
73
45
  if (!target.focused) {
74
46
  const focused = await deps.runOp({ kind: "focus" }, q, args.device);
75
47
  if (!focused.found)
@@ -77,11 +49,6 @@ export async function enterText(args, deps) {
77
49
  if (!focused.ok)
78
50
  return { success: false, error: focused.via ?? "could not focus the input" };
79
51
  }
80
- // An uncontrolled field's current text is not in props, so `target.value` is
81
- // always null for one. Taking that as "" made append silently behave as
82
- // replace, and the retry then CLEARED the field to make the wrong answer
83
- // verify clean. The accessibility tree is the only place the real previous
84
- // text exists, so it has to be read before `desired` is computed.
85
52
  let nativeBefore = [];
86
53
  const usesNativeReadBack = !target.controlled && deps.readNativeFields !== undefined;
87
54
  let previous = target.value ?? "";
@@ -95,24 +62,6 @@ export async function enterText(args, deps) {
95
62
  }
96
63
  }
97
64
  const desired = args.replace ? args.text : previous + args.text;
98
- // Three paths, chosen by what the field can actually honour:
99
- //
100
- // controlled -> onChangeText. The value prop mirrors the text,
101
- // so this both writes and stays verifiable.
102
- // uncontrolled + handler, ASCII -> real keystrokes. The most faithful
103
- // simulation, and the retry now catches its
104
- // keystroke race, so the racy path is only taken
105
- // where it can actually succeed.
106
- // uncontrolled + handler, non-ASCII -> setNativeProps AND a direct
107
- // onChangeText call. HID cannot express these
108
- // characters at all, so faithfulness is not on
109
- // offer; firing the handler is what keeps the
110
- // app from missing text the field displays.
111
- // uncontrolled, no handler -> setNativeProps. Nothing to fire.
112
- // `fromEmpty` says whether the field was just cleared. It matters only for
113
- // HID, which appends at the caret rather than setting a value: typing the
114
- // delta into a populated field is right, but typing it into a cleared one
115
- // would lose whatever came before.
116
65
  const write = async (fromEmpty) => {
117
66
  if (target.controlled) {
118
67
  const r = await deps.runOp({ kind: "setValue", value: desired }, q, args.device);
@@ -125,9 +74,6 @@ export async function enterText(args, deps) {
125
74
  const r = await deps.runOp({ kind: "setNative", value: desired }, q, args.device);
126
75
  return { path: "native", ok: r.found && r.ok, error: r.found ? r.via : r.reason };
127
76
  };
128
- // `undefined` from readBack means "could not determine" and must surface as
129
- // unverified — never as a mismatch, which is what comparing against an
130
- // always-null read produced before.
131
77
  const readBack = async () => {
132
78
  if (target.controlled) {
133
79
  const r = await deps.runOp({ kind: "read" }, q, args.device);
@@ -135,10 +81,6 @@ export async function enterText(args, deps) {
135
81
  }
136
82
  if (!usesNativeReadBack)
137
83
  return undefined;
138
- // A native write updates the view asynchronously, and the accessibility
139
- // dump is a separate process — reading immediately captures the state
140
- // from before the write. Poll until the text appears, then stop. Going
141
- // through MCP hid this because the call latency happened to cover it.
142
84
  const wait = deps.delay ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
143
85
  let last;
144
86
  for (const ms of [0, 250, 500]) {
@@ -156,15 +98,12 @@ export async function enterText(args, deps) {
156
98
  }
157
99
  return last;
158
100
  };
159
- // HID appends at the caret, so a replace must clear first or it concatenates.
160
101
  const needsClearFirst = args.replace === true && !target.controlled && target.hasOnChangeText &&
161
102
  isHidTypeable(args.text) && previous.length > 0;
162
103
  if (needsClearFirst)
163
104
  await deps.runOp({ kind: "clear" }, q, args.device);
164
105
  const first = await write(needsClearFirst);
165
106
  if (!first.ok) {
166
- // A failed replace already cleared the field. Put it back rather than
167
- // leaving the user's data destroyed with no mention of it.
168
107
  if (args.replace && target.hasOnChangeText && previous.length > 0) {
169
108
  const restored = await deps.runOp({ kind: "setValue", value: previous }, q, args.device);
170
109
  return {
@@ -176,7 +115,6 @@ export async function enterText(args, deps) {
176
115
  return { success: false, path: first.path, error: first.error ?? "write failed" };
177
116
  }
178
117
  let landed = await readBack();
179
- // Could not read the field at all — say so instead of guessing either way.
180
118
  if (landed === undefined) {
181
119
  const keyboard = await deps.raise();
182
120
  return {
@@ -193,19 +131,11 @@ export async function enterText(args, deps) {
193
131
  let retried = false;
194
132
  if (landed !== desired) {
195
133
  retried = true;
196
- // Clear only for HID, which appends at the caret. The other paths set
197
- // the whole value, so a clear is redundant — and actively harmful:
198
- // publicInstance.clear() after HID typing races the setNativeProps that
199
- // follows and wipes it, which made every non-ASCII retry land empty.
200
134
  const clearedForRetry = first.path === "hid";
201
135
  if (clearedForRetry) {
202
136
  await deps.runOp({ kind: "clear" }, q, args.device);
203
137
  }
204
138
  else {
205
- // A native write immediately after another input operation is
206
- // sometimes swallowed — the value simply does not change. Give the
207
- // previous operation a beat to settle before rewriting, rather than
208
- // repeating the same call into the same contention.
209
139
  const wait = deps.delay ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
210
140
  await wait(300);
211
141
  }
@@ -216,8 +146,6 @@ export async function enterText(args, deps) {
216
146
  landed = await readBack();
217
147
  }
218
148
  if (landed !== desired) {
219
- // A read that failed only on the retry is still "unconfirmed", not a
220
- // mismatch — we have no evidence about what the field holds.
221
149
  if (landed === undefined) {
222
150
  const keyboard = await deps.raise();
223
151
  return {
@@ -238,7 +166,6 @@ export async function enterText(args, deps) {
238
166
  : "")
239
167
  };
240
168
  }
241
- // Last, and never fatal.
242
169
  const keyboard = await deps.raise();
243
170
  return {
244
171
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"textEntry.js","sourceRoot":"","sources":["../../src/core/textEntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textEntry.js","sourceRoot":"","sources":["../../src/core/textEntry.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  import { LogBuffer, NetworkBuffer } from "./index.js";
2
2
  export declare function resolveLogBuffer(device?: string): LogBuffer;
3
3
  export declare function resolveNetworkBuffer(device?: string): NetworkBuffer;
4
- /**
5
- * Parse JPEG dimensions from a raw buffer by scanning for the SOF marker.
6
- * Only needs the first ~2KB of the image to find dimensions.
7
- */
8
4
  export declare function getJpegDimensions(buffer: Buffer): {
9
5
  width: number;
10
6
  height: number;
@@ -12,13 +8,5 @@ export declare function getJpegDimensions(buffer: Buffer): {
12
8
  export declare const platformFallbackBanner: (prefer: string) => string;
13
9
  export declare const platformUniqueBanner: (useCase: string) => string;
14
10
  export declare const primaryInteractionBanner: () => string;
15
- /**
16
- * Estimate how many tokens an image will consume in Claude's vision encoder.
17
- * Per Anthropic docs, Claude auto-resizes images to fit within:
18
- * 1) 1568px on any side, AND
19
- * 2) ~1.15 megapixels total (whichever is hit first)
20
- * Then tokens ≈ (width * height) / 750 (capped at ~1,600 per image).
21
- * We only decode the first ~2KB of the base64 string to read JPEG dimensions.
22
- */
23
11
  export declare function estimateImageTokens(base64Data: string): number;
24
12
  //# sourceMappingURL=toolHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolHelpers.d.ts","sourceRoot":"","sources":["../../src/core/toolHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EACT,aAAa,EAChB,MAAM,YAAY,CAAC;AA0CpB,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAY3D;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAqBnE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB1F;AAOD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MACwC,CAAC;AAEjG,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MACwB,CAAC;AAEhF,eAAO,MAAM,wBAAwB,QAAO,MACuD,CAAC;AAEpG;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8B9D"}
1
+ {"version":3,"file":"toolHelpers.d.ts","sourceRoot":"","sources":["../../src/core/toolHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EACT,aAAa,EAChB,MAAM,YAAY,CAAC;AA0CpB,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAY3D;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAqBnE;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB1F;AAOD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MACwC,CAAC;AAEjG,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MACwB,CAAC;AAEhF,eAAO,MAAM,wBAAwB,QAAO,MACuD,CAAC;AAUpG,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8B9D"}
@@ -1,11 +1,5 @@
1
1
  import { logBuffers, networkBuffers, getLogBuffer, getNetworkBuffer, getConnectedAppByDevice, LogBuffer, NetworkBuffer, } from "./index.js";
2
2
  import { UserInputError } from "./errors.js";
3
- /**
4
- * Find a buffered device name matching `device` when no app is currently
5
- * connected. Data outlives the connection now, so a read during the window
6
- * between an app being killed and reconnecting must still resolve — otherwise
7
- * the retained pre-restart entries are unreachable exactly when they matter.
8
- */
9
3
  function bufferedDeviceName(device, keys) {
10
4
  const needle = device.toLowerCase();
11
5
  for (const key of keys) {
@@ -14,14 +8,6 @@ function bufferedDeviceName(device, keys) {
14
8
  }
15
9
  return undefined;
16
10
  }
17
- /**
18
- * Resolve the buffer key for `device`.
19
- *
20
- * Prefers a live connection (authoritative, and handles ambiguity), but
21
- * getConnectedAppByDevice throws when nothing is connected — so fall back to a
22
- * buffered device name before giving up, and rethrow the original, richer
23
- * error when there is no buffered data either.
24
- */
25
11
  function resolveBufferKey(device, bufferKeys) {
26
12
  try {
27
13
  const app = getConnectedAppByDevice(device);
@@ -40,12 +26,10 @@ function resolveBufferKey(device, bufferKeys) {
40
26
  return buffered;
41
27
  throw new UserInputError(`No connected device matches "${device}"`);
42
28
  }
43
- // Helper: resolve log buffer for a device (or create a merged buffer from all devices)
44
29
  export function resolveLogBuffer(device) {
45
30
  if (device) {
46
31
  return getLogBuffer(resolveBufferKey(device, logBuffers.keys()));
47
32
  }
48
- // Merge all logs into a temporary buffer for read operations
49
33
  const merged = new LogBuffer(5000);
50
34
  for (const buffer of logBuffers.values()) {
51
35
  for (const entry of buffer.getAll()) {
@@ -54,17 +38,10 @@ export function resolveLogBuffer(device) {
54
38
  }
55
39
  return merged;
56
40
  }
57
- // Helper: resolve network buffer for a device (or create a merged buffer from all devices)
58
41
  export function resolveNetworkBuffer(device) {
59
42
  if (device) {
60
43
  return getNetworkBuffer(resolveBufferKey(device, networkBuffers.keys()));
61
44
  }
62
- // Merge all network requests into a temporary buffer for read operations.
63
- // Key by the request's own id so get(requestId) works — earlier this used
64
- // Math.random() which made every direct lookup miss while listings still
65
- // appeared correct (listings render req.requestId from the value).
66
- // Multiple devices can share a request id; suffix with deviceName for
67
- // collisions so we don't lose entries.
68
45
  const merged = new NetworkBuffer(5000);
69
46
  const seen = new Set();
70
47
  for (const [deviceName, buffer] of networkBuffers.entries()) {
@@ -78,10 +55,6 @@ export function resolveNetworkBuffer(device) {
78
55
  }
79
56
  return merged;
80
57
  }
81
- /**
82
- * Parse JPEG dimensions from a raw buffer by scanning for the SOF marker.
83
- * Only needs the first ~2KB of the image to find dimensions.
84
- */
85
58
  export function getJpegDimensions(buffer) {
86
59
  if (buffer.length < 4 || buffer[0] !== 0xff || buffer[1] !== 0xd8)
87
60
  return null;
@@ -90,51 +63,33 @@ export function getJpegDimensions(buffer) {
90
63
  if (buffer[offset] !== 0xff)
91
64
  return null;
92
65
  const marker = buffer[offset + 1];
93
- // SOF markers: C0-CF except C4 (DHT) and CC (DAC)
94
66
  if (marker >= 0xc0 && marker <= 0xcf && marker !== 0xc4 && marker !== 0xcc) {
95
67
  const height = buffer.readUInt16BE(offset + 5);
96
68
  const width = buffer.readUInt16BE(offset + 7);
97
69
  return { width, height };
98
70
  }
99
- // Skip segment (read its length)
100
71
  const segLength = buffer.readUInt16BE(offset + 2);
101
72
  offset += 2 + segLength;
102
73
  }
103
74
  return null;
104
75
  }
105
- // Banner helpers for platform-specific tool descriptions. Appended after the
106
- // verbatim first sentence of every ios_*/android_* tool to steer agents toward
107
- // cross-platform primaries (tap, get_screen_layout, etc) unless native-only
108
- // behavior is required. See src/core/nativeOnlyHints.ts for the complementary
109
- // runtime hint shown when Metro is absent.
110
76
  export const platformFallbackBanner = (prefer) => `\n[PLATFORM FALLBACK — prefer ${prefer} unless you specifically need native-only behavior]`;
111
77
  export const platformUniqueBanner = (useCase) => `\n[PLATFORM-SPECIFIC — no cross-platform equivalent; use when ${useCase}]`;
112
78
  export const primaryInteractionBanner = () => `\n[PRIMARY INTERACTION TOOL — works on iOS and Android; prefer over ios_*/android_* siblings]`;
113
- /**
114
- * Estimate how many tokens an image will consume in Claude's vision encoder.
115
- * Per Anthropic docs, Claude auto-resizes images to fit within:
116
- * 1) 1568px on any side, AND
117
- * 2) ~1.15 megapixels total (whichever is hit first)
118
- * Then tokens ≈ (width * height) / 750 (capped at ~1,600 per image).
119
- * We only decode the first ~2KB of the base64 string to read JPEG dimensions.
120
- */
121
79
  export function estimateImageTokens(base64Data) {
122
80
  try {
123
- // Decode only the first ~2KB (2732 base64 chars ≈ 2048 bytes) to find JPEG header
124
81
  const headerBase64 = base64Data.slice(0, 2732);
125
82
  const buffer = Buffer.from(headerBase64, "base64");
126
83
  const dims = getJpegDimensions(buffer);
127
84
  if (!dims)
128
- return Math.ceil(base64Data.length / 4); // fallback for non-JPEG
85
+ return Math.ceil(base64Data.length / 4);
129
86
  let { width, height } = dims;
130
- // Step 1: Claude resizes to fit within 1568px on any side
131
87
  const MAX_CLAUDE_DIM = 1568;
132
88
  if (width > MAX_CLAUDE_DIM || height > MAX_CLAUDE_DIM) {
133
89
  const scale = MAX_CLAUDE_DIM / Math.max(width, height);
134
90
  width = Math.round(width * scale);
135
91
  height = Math.round(height * scale);
136
92
  }
137
- // Step 2: Claude further resizes to fit within ~1.15 megapixels
138
93
  const MAX_PIXELS = 1_150_000;
139
94
  if (width * height > MAX_PIXELS) {
140
95
  const scale = Math.sqrt(MAX_PIXELS / (width * height));
@@ -144,7 +99,7 @@ export function estimateImageTokens(base64Data) {
144
99
  return Math.ceil((width * height) / 750);
145
100
  }
146
101
  catch {
147
- return Math.ceil(base64Data.length / 4); // fallback
102
+ return Math.ceil(base64Data.length / 4);
148
103
  }
149
104
  }
150
105
  //# sourceMappingURL=toolHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolHelpers.js","sourceRoot":"","sources":["../../src/core/toolHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolHelpers.js","sourceRoot":"","sources":["../../src/core/toolHelpers.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,10 @@ export interface TruncateBudget {
6
6
  export interface TruncateResult {
7
7
  value: unknown;
8
8
  truncated: boolean;
9
- /** null when the value fit without any bounding. */
10
9
  appliedBudget: TruncateBudget | null;
11
10
  originalBytes: number;
12
11
  returnedBytes: number;
13
12
  }
14
- /**
15
- * Bound `value` so its serialised form fits within `maxBytes`.
16
- *
17
- * A value that already fits is returned untouched — identity matters because
18
- * most reads are tiny (Boardwise's median redux read is 70 characters) and must
19
- * not be reshaped. Otherwise budgets are tried loosest-first so the caller
20
- * keeps as much structure as the target allows.
21
- */
22
13
  export declare function truncateToBudget(value: unknown, maxBytes: number, explicit?: Partial<TruncateBudget>, indent?: number): TruncateResult;
23
14
  export declare const DEFAULT_MAX_BYTES = 25000;
24
15
  export interface BudgetReport {
@@ -27,14 +18,6 @@ export interface BudgetReport {
27
18
  returnedBytes: number;
28
19
  appliedBudget: TruncateBudget | null;
29
20
  }
30
- /**
31
- * Bound an already-serialised tool result.
32
- *
33
- * Results reach us as strings: JSON for objects, a plain scalar rendering
34
- * otherwise. Re-parse JSON so bounding is structural — markers then carry real
35
- * array lengths and key counts, which is what lets a caller decide the next,
36
- * narrower read. Non-JSON text has no structure to exploit, so it is clipped.
37
- */
38
21
  export declare function applyResultBudget(text: string, maxBytes?: number, explicit?: Partial<TruncateBudget>): {
39
22
  text: string;
40
23
  budget: BudgetReport;
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/core/truncate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AA4ED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAClC,MAAM,GAAE,MAAU,GACnB,cAAc,CAqChB;AAED,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAA0B,EACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CA2CxC"}
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/core/truncate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAoFD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAClC,MAAM,GAAE,MAAU,GACnB,cAAc,CAqChB;AAED,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAUD,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAA0B,EACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CA2CxC"}
@@ -1,6 +1,3 @@
1
- // Ordered loosest-to-tightest. The middle three are the budgets measured
2
- // against astro-app's live 1,625,530-byte contentApi slice, which they reduced
3
- // to 28,806 / 10,486 / 7,746 bytes respectively.
4
1
  const BUDGET_LADDER = [
5
2
  { maxDepth: 8, maxArrayItems: 50, maxStringLength: 1000 },
6
3
  { maxDepth: 6, maxArrayItems: 20, maxStringLength: 400 },
@@ -10,21 +7,12 @@ const BUDGET_LADDER = [
10
7
  { maxDepth: 2, maxArrayItems: 2, maxStringLength: 40 },
11
8
  { maxDepth: 1, maxArrayItems: 1, maxStringLength: 20 }
12
9
  ];
13
- /**
14
- * Size of `value` as it will actually be rendered.
15
- *
16
- * `indent` must match the indentation the caller will serialise with —
17
- * pretty-printing inflates output substantially, so measuring compact JSON and
18
- * emitting indented JSON lets results exceed the budget they were bounded to.
19
- */
20
10
  function byteLength(value, indent) {
21
11
  try {
22
12
  const json = JSON.stringify(value, null, indent);
23
13
  return json === undefined ? 0 : json.length;
24
14
  }
25
15
  catch {
26
- // Circular or otherwise unserialisable — treat as over any budget so
27
- // the caller falls through to a bounded walk that handles cycles.
28
16
  return Number.MAX_SAFE_INTEGER;
29
17
  }
30
18
  }
@@ -39,7 +27,6 @@ function bound(value, budget, depth, seen) {
39
27
  return s.slice(0, budget.maxStringLength) + "…+" + (s.length - budget.maxStringLength);
40
28
  }
41
29
  if (type !== "object") {
42
- // Functions and symbols are not JSON values; name them rather than dropping.
43
30
  if (type === "function")
44
31
  return "[Function]";
45
32
  if (type === "symbol")
@@ -73,14 +60,6 @@ function bound(value, budget, depth, seen) {
73
60
  seen.delete(obj);
74
61
  return out;
75
62
  }
76
- /**
77
- * Bound `value` so its serialised form fits within `maxBytes`.
78
- *
79
- * A value that already fits is returned untouched — identity matters because
80
- * most reads are tiny (Boardwise's median redux read is 70 characters) and must
81
- * not be reshaped. Otherwise budgets are tried loosest-first so the caller
82
- * keeps as much structure as the target allows.
83
- */
84
63
  export function truncateToBudget(value, maxBytes, explicit, indent = 0) {
85
64
  const originalBytes = byteLength(value, indent);
86
65
  const hasExplicit = explicit !== undefined && Object.keys(explicit).length > 0;
@@ -117,14 +96,6 @@ export function truncateToBudget(value, maxBytes, explicit, indent = 0) {
117
96
  };
118
97
  }
119
98
  export const DEFAULT_MAX_BYTES = 25000;
120
- /**
121
- * Bound an already-serialised tool result.
122
- *
123
- * Results reach us as strings: JSON for objects, a plain scalar rendering
124
- * otherwise. Re-parse JSON so bounding is structural — markers then carry real
125
- * array lengths and key counts, which is what lets a caller decide the next,
126
- * narrower read. Non-JSON text has no structure to exploit, so it is clipped.
127
- */
128
99
  export function applyResultBudget(text, maxBytes = DEFAULT_MAX_BYTES, explicit) {
129
100
  const originalBytes = text.length;
130
101
  const hasExplicit = explicit !== undefined && Object.keys(explicit).length > 0;
@@ -143,7 +114,6 @@ export function applyResultBudget(text, maxBytes = DEFAULT_MAX_BYTES, explicit)
143
114
  isJson = false;
144
115
  }
145
116
  if (!isJson) {
146
- // Reserve room for the marker so the result still honours maxBytes.
147
117
  const keep = Math.max(0, maxBytes - 40);
148
118
  const clipped = text.slice(0, keep) + "…+" + (originalBytes - keep);
149
119
  return {
@@ -151,8 +121,6 @@ export function applyResultBudget(text, maxBytes = DEFAULT_MAX_BYTES, explicit)
151
121
  budget: { truncated: true, originalBytes, returnedBytes: clipped.length, appliedBudget: null }
152
122
  };
153
123
  }
154
- // Measure at the same indentation we render with, or the ladder converges
155
- // on a size we never emit.
156
124
  const RENDER_INDENT = 2;
157
125
  const result = truncateToBudget(parsed, maxBytes, explicit, RENDER_INDENT);
158
126
  const rendered = JSON.stringify(result.value, null, RENDER_INDENT) ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/core/truncate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/core/truncate.ts"],"names":[],"mappings":"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"}
@@ -63,12 +63,6 @@ export interface ExceptionDetails {
63
63
  export interface PendingExecution {
64
64
  resolve: (result: ExecutionResult) => void;
65
65
  timeoutId: NodeJS.Timeout;
66
- /**
67
- * The socket this call went out on. Lets a close handler fail exactly the
68
- * calls that died with that socket instead of leaving them parked until
69
- * their own timeout fires. Optional: callers that manage their own short
70
- * timeout (e.g. the 2s health check) may omit it.
71
- */
72
66
  ws?: unknown;
73
67
  }
74
68
  export interface ExecutionResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,6 @@ export function readUsageCache(expectedInstallationId, filePath = USAGE_FILE) {
16
16
  }
17
17
  const raw = JSON.parse(readFileSync(filePath, "utf-8"));
18
18
  if (raw?.v !== 2 || typeof raw.sig !== "string" || !raw.signed) {
19
- // Legacy v1 or unknown shape — treated as absent (self-heals to v2
20
- // on the next successful validate).
21
19
  state = "missing";
22
20
  return null;
23
21
  }
@@ -50,15 +48,6 @@ export function writeUsageCache(usage, verdictSig, installationId, filePath = US
50
48
  resetsAt: usage.resetsAt ?? null,
51
49
  verdictFreshUntil: usage.verdictFreshUntil ?? "",
52
50
  };
53
- // Self-verify before persisting: writeUsageCache re-derives `signed` from
54
- // the client-side usage object with `?? true` / `?? null` normalization
55
- // that must match the server's own normalization byte-for-byte, or the
56
- // signature won't verify on the next read. If the server ever emits a
57
- // value that normalizes differently here than it did there (e.g. an
58
- // undefined capActive), don't persist a cache that will fail its own
59
- // round-trip — that would poison the cache into permanent invalid_sig
60
- // and silently disable offline enforcement. Skipping the write instead
61
- // fails open-and-loud: the next read just reports "missing".
62
51
  if (!verifyVerdictSig(signed, verdictSig)) {
63
52
  return;
64
53
  }
@@ -70,7 +59,6 @@ export function writeUsageCache(usage, verdictSig, installationId, filePath = US
70
59
  writeFileSync(filePath, JSON.stringify(file, null, 2));
71
60
  }
72
61
  catch {
73
- // Best-effort — cache write must never affect tool flow.
74
62
  }
75
63
  }
76
64
  //# sourceMappingURL=usageCache.js.map