execbro 2.8.2 → 2.8.4

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 (93) hide show
  1. package/build/__tests__/unit/errorCategorization.test.js +19 -3
  2. package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
  3. package/build/__tests__/unit/inputTarget.test.js +62 -1
  4. package/build/__tests__/unit/inputTarget.test.js.map +1 -1
  5. package/build/__tests__/unit/metroGateReconnect.test.d.ts +2 -0
  6. package/build/__tests__/unit/metroGateReconnect.test.d.ts.map +1 -0
  7. package/build/__tests__/unit/metroGateReconnect.test.js +98 -0
  8. package/build/__tests__/unit/metroGateReconnect.test.js.map +1 -0
  9. package/build/__tests__/unit/pressablesLongPress.test.d.ts +2 -0
  10. package/build/__tests__/unit/pressablesLongPress.test.d.ts.map +1 -0
  11. package/build/__tests__/unit/pressablesLongPress.test.js +91 -0
  12. package/build/__tests__/unit/pressablesLongPress.test.js.map +1 -0
  13. package/build/__tests__/unit/socketLifecycle.test.d.ts +2 -0
  14. package/build/__tests__/unit/socketLifecycle.test.d.ts.map +1 -0
  15. package/build/__tests__/unit/socketLifecycle.test.js +66 -0
  16. package/build/__tests__/unit/socketLifecycle.test.js.map +1 -0
  17. package/build/__tests__/unit/swipeProbeWithoutRn.test.d.ts +2 -0
  18. package/build/__tests__/unit/swipeProbeWithoutRn.test.d.ts.map +1 -0
  19. package/build/__tests__/unit/swipeProbeWithoutRn.test.js +44 -0
  20. package/build/__tests__/unit/swipeProbeWithoutRn.test.js.map +1 -0
  21. package/build/__tests__/unit/tapAndroidSerial.test.d.ts +2 -0
  22. package/build/__tests__/unit/tapAndroidSerial.test.d.ts.map +1 -0
  23. package/build/__tests__/unit/tapAndroidSerial.test.js +179 -0
  24. package/build/__tests__/unit/tapAndroidSerial.test.js.map +1 -0
  25. package/build/__tests__/unit/tapDuration.test.d.ts +2 -0
  26. package/build/__tests__/unit/tapDuration.test.d.ts.map +1 -0
  27. package/build/__tests__/unit/tapDuration.test.js +168 -0
  28. package/build/__tests__/unit/tapDuration.test.js.map +1 -0
  29. package/build/__tests__/unit/tapLongPressReport.test.d.ts +2 -0
  30. package/build/__tests__/unit/tapLongPressReport.test.d.ts.map +1 -0
  31. package/build/__tests__/unit/tapLongPressReport.test.js +167 -0
  32. package/build/__tests__/unit/tapLongPressReport.test.js.map +1 -0
  33. package/build/__tests__/unit/textEntry.test.js +32 -0
  34. package/build/__tests__/unit/textEntry.test.js.map +1 -1
  35. package/build/core/android.d.ts +1 -1
  36. package/build/core/android.d.ts.map +1 -1
  37. package/build/core/android.js +4 -1
  38. package/build/core/android.js.map +1 -1
  39. package/build/core/connection.d.ts.map +1 -1
  40. package/build/core/connection.js +14 -5
  41. package/build/core/connection.js.map +1 -1
  42. package/build/core/connectionState.d.ts +7 -0
  43. package/build/core/connectionState.d.ts.map +1 -1
  44. package/build/core/connectionState.js +11 -0
  45. package/build/core/connectionState.js.map +1 -1
  46. package/build/core/index.d.ts +1 -1
  47. package/build/core/index.d.ts.map +1 -1
  48. package/build/core/index.js +1 -1
  49. package/build/core/index.js.map +1 -1
  50. package/build/core/inputTarget.d.ts.map +1 -1
  51. package/build/core/inputTarget.js +31 -8
  52. package/build/core/inputTarget.js.map +1 -1
  53. package/build/core/nativeOnlyHints.d.ts +7 -1
  54. package/build/core/nativeOnlyHints.d.ts.map +1 -1
  55. package/build/core/nativeOnlyHints.js +32 -4
  56. package/build/core/nativeOnlyHints.js.map +1 -1
  57. package/build/core/pressables.d.ts +1 -0
  58. package/build/core/pressables.d.ts.map +1 -1
  59. package/build/core/pressables.js +32 -8
  60. package/build/core/pressables.js.map +1 -1
  61. package/build/core/register.d.ts.map +1 -1
  62. package/build/core/register.js +17 -2
  63. package/build/core/register.js.map +1 -1
  64. package/build/core/state.d.ts +1 -0
  65. package/build/core/state.d.ts.map +1 -1
  66. package/build/core/state.js +4 -0
  67. package/build/core/state.js.map +1 -1
  68. package/build/core/swipeDiagnosis.d.ts +1 -0
  69. package/build/core/swipeDiagnosis.d.ts.map +1 -1
  70. package/build/core/swipeDiagnosis.js +18 -5
  71. package/build/core/swipeDiagnosis.js.map +1 -1
  72. package/build/core/telemetry.d.ts +1 -1
  73. package/build/core/telemetry.d.ts.map +1 -1
  74. package/build/core/telemetry.js +5 -2
  75. package/build/core/telemetry.js.map +1 -1
  76. package/build/core/textEntry.d.ts.map +1 -1
  77. package/build/core/textEntry.js +7 -1
  78. package/build/core/textEntry.js.map +1 -1
  79. package/build/pro/tap.d.ts +12 -0
  80. package/build/pro/tap.d.ts.map +1 -1
  81. package/build/pro/tap.js +102 -34
  82. package/build/pro/tap.js.map +1 -1
  83. package/build/pro/verifyAction.d.ts +3 -1
  84. package/build/pro/verifyAction.d.ts.map +1 -1
  85. package/build/pro/verifyAction.js +7 -7
  86. package/build/pro/verifyAction.js.map +1 -1
  87. package/build/tools/componentTools.js +4 -4
  88. package/build/tools/componentTools.js.map +1 -1
  89. package/build/tools/interactionTools.d.ts.map +1 -1
  90. package/build/tools/interactionTools.js +20 -5
  91. package/build/tools/interactionTools.js.map +1 -1
  92. package/package.json +1 -1
  93. package/tools.json +1 -0
@@ -1,9 +1,32 @@
1
1
  import { connectedApps } from "./state.js";
2
2
  import { getActiveOrBootedSimulatorUdid } from "./ios.js";
3
3
  import { getDefaultAndroidDevice } from "./android.js";
4
+ import { pendingReconnectionKeys, getConnectionMetadata } from "./connectionState.js";
4
5
  export function hasMetro() {
5
6
  return connectedApps.size > 0;
6
7
  }
8
+ const METRO_WAIT_POLL_MS = 100;
9
+ const METRO_WAIT_BUDGET_MS = 2000;
10
+ export function reconnectingDeviceNames() {
11
+ return pendingReconnectionKeys().map((key) => {
12
+ const meta = getConnectionMetadata(key);
13
+ return meta?.deviceInfo.deviceName || meta?.deviceInfo.title || key;
14
+ });
15
+ }
16
+ export async function awaitMetro(options = {}) {
17
+ if (hasMetro())
18
+ return true;
19
+ if (pendingReconnectionKeys().length === 0)
20
+ return false;
21
+ const budget = options.timeoutMs ?? METRO_WAIT_BUDGET_MS;
22
+ const sleep = options.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
23
+ for (let waited = 0; waited < budget; waited += METRO_WAIT_POLL_MS) {
24
+ await sleep(METRO_WAIT_POLL_MS);
25
+ if (hasMetro())
26
+ return true;
27
+ }
28
+ return false;
29
+ }
7
30
  export async function detectNativeDevices() {
8
31
  const [iosUdid, androidSerial] = await Promise.all([
9
32
  getActiveOrBootedSimulatorUdid().catch(() => null),
@@ -22,17 +45,21 @@ const NATIVE_FALLBACKS = {
22
45
  get_request_details: [],
23
46
  get_screen_layout: [],
24
47
  };
25
- export function buildMetroMissingHint({ toolName, devices }) {
48
+ export function buildMetroMissingHint({ toolName, devices, reconnecting }) {
26
49
  const fallbacks = NATIVE_FALLBACKS[toolName] ?? [];
27
50
  const lines = [];
28
51
  lines.push("[NO METRO] This tool reads data from the JS runtime, which requires an attached debugger.");
29
- if (devices?.any) {
52
+ if (reconnecting && reconnecting.length > 0) {
53
+ lines.push(`${reconnecting.join(", ")} dropped its debugger connection and is reconnecting — it did not come back within the wait budget. ` +
54
+ `Retry this call in a moment; if it keeps failing, the app is crashing or reloading repeatedly (check get_connection_status).`);
55
+ }
56
+ else if (devices?.any) {
30
57
  const platformsSeen = [];
31
58
  if (devices.ios)
32
59
  platformsSeen.push("iOS simulator");
33
60
  if (devices.android)
34
61
  platformsSeen.push("Android device");
35
- lines.push(`Detected ${platformsSeen.join(" + ")} but no Metro connection. Start your React Native app and run scan_metro to enable full data capture.`);
62
+ lines.push(`${platformsSeen.join(" + ")} attached, but no app on any of them has a debugger connection. Start your React Native app on the device you mean, then run scan_metro.`);
36
63
  }
37
64
  else {
38
65
  lines.push("No running simulators or devices detected. Boot one, start your app, then run scan_metro.");
@@ -46,7 +73,8 @@ export function buildMetroMissingHint({ toolName, devices }) {
46
73
  export async function metroMissingHintIfAbsent(toolName) {
47
74
  if (hasMetro())
48
75
  return "";
76
+ const reconnecting = reconnectingDeviceNames();
49
77
  const devices = await detectNativeDevices();
50
- return "\n\n" + buildMetroMissingHint({ toolName, devices });
78
+ return "\n\n" + buildMetroMissingHint({ toolName, devices, reconnecting });
51
79
  }
52
80
  //# sourceMappingURL=nativeOnlyHints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativeOnlyHints.js","sourceRoot":"","sources":["../../src/core/nativeOnlyHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,QAAQ;IACpB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAClC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;AACjD,CAAC;AAID,MAAM,gBAAgB,GAA6B;IAC/C,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE;IAClB,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE;CACxB,CAAC;AAOF,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA2B;IAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAExG,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,OAAO;YAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC7J,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,6CAA6C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;IACzG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC3D,IAAI,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5C,OAAO,MAAM,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"nativeOnlyHints.js","sourceRoot":"","sources":["../../src/core/nativeOnlyHints.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare function pressElement(options: {
18
18
  index?: number;
19
19
  maxTraversalDepth?: number;
20
20
  device?: string;
21
+ longPress?: boolean;
21
22
  }): Promise<ExecutionResult>;
22
23
  //# sourceMappingURL=pressables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pressables.d.ts","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuBlD,eAAO,MAAM,wBAAwB,UAAyB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAQ5C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC5C,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvE;AAKD,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/E;AA8BD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyoB3B"}
1
+ {"version":3,"file":"pressables.d.ts","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuBlD,eAAO,MAAM,wBAAwB,UAAyB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAQ5C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC5C,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvE;AAKD,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/E;AA8BD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiqB3B"}
@@ -45,7 +45,7 @@ async function awaitMeasurements(globalNames, toolName, device) {
45
45
  });
46
46
  }
47
47
  export async function pressElement(options) {
48
- const { text, testID, component, index = 0, maxTraversalDepth = 15 } = options;
48
+ const { text, testID, component, index = 0, maxTraversalDepth = 15, longPress = false } = options;
49
49
  if (!text && !testID && !component) {
50
50
  return { success: false, error: "At least one of text, testID, or component must be provided." };
51
51
  }
@@ -70,6 +70,20 @@ export async function pressElement(options) {
70
70
  }
71
71
  if (roots.length === 0) return { error: 'No fiber roots found. Is a React Native app mounted?' };
72
72
 
73
+ var wantLongPress = ${longPress ? "true" : "false"};
74
+
75
+ // One predicate, six call sites. The duplication is why long-press-only
76
+ // elements were invisible here while inspector.ts already counted them as
77
+ // pressable — fixing one copy would have left five.
78
+ function isPressableProps(p) {
79
+ if (!p) return false;
80
+ if (typeof p.onPress === 'function') return true;
81
+ return wantLongPress && typeof p.onLongPress === 'function';
82
+ }
83
+ function hasLongPressProps(p) {
84
+ return !!(p && typeof p.onLongPress === 'function');
85
+ }
86
+
73
87
  var searchText = ${textParam};
74
88
  var searchTestID = ${testIDParam};
75
89
  var searchComponent = ${componentParam};
@@ -227,7 +241,7 @@ export async function pressElement(options) {
227
241
 
228
242
  if (isScreenHidden(name, props)) return;
229
243
 
230
- var isPressable = props && typeof props.onPress === 'function';
244
+ var isPressable = isPressableProps(props);
231
245
  var isInput = !isPressable && props && (typeof props.onChangeText === 'function' || typeof props.onFocus === 'function');
232
246
 
233
247
  if (isPressable || isInput) {
@@ -256,6 +270,7 @@ export async function pressElement(options) {
256
270
  path: path.join(' > '),
257
271
  isInput: isInput,
258
272
  isPressable: isPressable,
273
+ hasLongPress: hasLongPressProps(props),
259
274
  source: 'direct'
260
275
  });
261
276
  }
@@ -290,7 +305,7 @@ export async function pressElement(options) {
290
305
  function findDescendantPressable(fiber, d) {
291
306
  if (!fiber || d > 10) return null;
292
307
  var fp = fiber.memoizedProps;
293
- var dIsPressable = fp && typeof fp.onPress === 'function';
308
+ var dIsPressable = isPressableProps(fp);
294
309
  var dIsInput = !dIsPressable && fp && (typeof fp.onChangeText === 'function' || typeof fp.onFocus === 'function');
295
310
  if (dIsPressable || dIsInput) return { fiber: fiber, isPressable: dIsPressable, isInput: dIsInput };
296
311
  var c = fiber.child;
@@ -310,7 +325,7 @@ export async function pressElement(options) {
310
325
 
311
326
  var tid = props && (props.testID || props.nativeID || null);
312
327
  if (tid === searchTestID) {
313
- var nIsPressable = props && typeof props.onPress === 'function';
328
+ var nIsPressable = isPressableProps(props);
314
329
  var nIsInput = !nIsPressable && props && (typeof props.onChangeText === 'function' || typeof props.onFocus === 'function');
315
330
 
316
331
  if (nIsPressable || nIsInput) {
@@ -327,6 +342,7 @@ export async function pressElement(options) {
327
342
  path: path.join(' > '),
328
343
  isInput: nIsInput,
329
344
  isPressable: nIsPressable,
345
+ hasLongPress: hasLongPressProps(props),
330
346
  source: 'testID-direct'
331
347
  });
332
348
  }
@@ -336,7 +352,7 @@ export async function pressElement(options) {
336
352
  var d = 0;
337
353
  while (parent && d < maxTraversalUp) {
338
354
  var pp = parent.memoizedProps;
339
- var pIsPressable = pp && typeof pp.onPress === 'function';
355
+ var pIsPressable = isPressableProps(pp);
340
356
  var pIsInput = !pIsPressable && pp && (typeof pp.onChangeText === 'function' || typeof pp.onFocus === 'function');
341
357
  if (pIsPressable || pIsInput) {
342
358
  var pText = pIsPressable ? extractText(parent, 0) : (extractText(parent, 0) || (typeof pp.value === 'string' ? pp.value : '') || (typeof pp.defaultValue === 'string' ? pp.defaultValue : '') || (typeof pp.placeholder === 'string' ? pp.placeholder : ''));
@@ -352,6 +368,7 @@ export async function pressElement(options) {
352
368
  path: path.join(' > '),
353
369
  isInput: pIsInput,
354
370
  isPressable: pIsPressable,
371
+ hasLongPress: hasLongPressProps(pp),
355
372
  source: 'testID-ancestor'
356
373
  });
357
374
  foundAncestor = true;
@@ -379,6 +396,7 @@ export async function pressElement(options) {
379
396
  path: path.join(' > '),
380
397
  isInput: desc.isInput,
381
398
  isPressable: desc.isPressable,
399
+ hasLongPress: hasLongPressProps(dp),
382
400
  source: 'testID-descendant'
383
401
  });
384
402
  }
@@ -416,7 +434,7 @@ export async function pressElement(options) {
416
434
  function findDescendantPressableOnly(fiber, d) {
417
435
  if (!fiber || d > 10) return null;
418
436
  var fp = fiber.memoizedProps;
419
- if (fp && typeof fp.onPress === 'function') return fiber;
437
+ if (isPressableProps(fp)) return fiber;
420
438
  var c = fiber.child;
421
439
  while (c) {
422
440
  var r = findDescendantPressableOnly(c, d + 1);
@@ -438,7 +456,7 @@ export async function pressElement(options) {
438
456
  var d = 0;
439
457
  while (parent && d < maxTraversalUp) {
440
458
  var pp = parent.memoizedProps;
441
- if (pp && typeof pp.onPress === 'function') {
459
+ if (isPressableProps(pp)) {
442
460
  var text = extractText(parent, 0);
443
461
  var host = findFirstHost(parent, 0, false);
444
462
  if (host) {
@@ -452,6 +470,7 @@ export async function pressElement(options) {
452
470
  path: path.join(' > '),
453
471
  isInput: false,
454
472
  isPressable: true,
473
+ hasLongPress: hasLongPressProps(pp),
455
474
  source: 'component-ancestor'
456
475
  });
457
476
  foundAncestor = true;
@@ -479,6 +498,7 @@ export async function pressElement(options) {
479
498
  path: path.join(' > '),
480
499
  isInput: false,
481
500
  isPressable: true,
501
+ hasLongPress: hasLongPressProps(dp),
482
502
  source: 'component-descendant'
483
503
  });
484
504
  }
@@ -610,6 +630,7 @@ export async function pressElement(options) {
610
630
  testID: info.testID,
611
631
  path: info.path,
612
632
  isInput: info.isInput,
633
+ hasLongPress: info.hasLongPress,
613
634
  x: Math.round(m.x + m.width / 2),
614
635
  y: Math.round(m.y + m.height / 2)
615
636
  });
@@ -673,7 +694,10 @@ export async function pressElement(options) {
673
694
  text: target.text,
674
695
  testID: target.testID,
675
696
  path: target.path,
676
- isInput: target.isInput
697
+ isInput: target.isInput,
698
+ // Only the fiber strategy can answer this; accessibility, OCR and
699
+ // coordinate taps have no view of the handlers.
700
+ hasLongPress: !!target.hasLongPress
677
701
  };
678
702
  if (matches.length > 1) {
679
703
  result.allMatches = matches.map(function(m, i) {
@@ -1 +1 @@
1
- {"version":3,"file":"pressables.js","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pressables.js","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2CzE,eAAO,MAAM,YAAY;YAA6B,GAAG;aAAW,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;EAAK,CAAC;AAKrG,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMtE;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAC/C,IAAI,CAiMN"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsEzE,eAAO,MAAM,YAAY;YAA6B,GAAG;aAAW,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;EAAK,CAAC;AAKrG,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMtE;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAC/C,IAAI,CAkMN"}
@@ -1,6 +1,7 @@
1
1
  import { getPostHogClient } from "./posthog.js";
2
2
  import { getInstallationId, getServerVersion, getPackageName, categorizeError, trackToolInvocation, isTelemetryEnabled, } from "./telemetry.js";
3
3
  import { getTargetPlatform } from "./state.js";
4
+ import { resolveConnectedAppByDevice } from "./connection.js";
4
5
  import { recordToolCall } from "./screenStaleness.js";
5
6
  import { UserInputError } from "./errors.js";
6
7
  import { estimateImageTokens } from "./toolHelpers.js";
@@ -8,6 +9,19 @@ import { connectedApps, shouldShowFeedbackHint, markFeedbackHintShown, pushLogBo
8
9
  import { ensureLicense, getUsageInfo } from "./license.js";
9
10
  import { freezeSessionVerdict, isToolBlocked, usageWarningLine } from "../pro/usageGate.js";
10
11
  import { maybeNotifyUsage, maybeNotifyDeferral } from "../pro/usageNotifications.js";
12
+ function invocationPlatform(toolName, args) {
13
+ if (toolName.startsWith("ios_"))
14
+ return "ios";
15
+ if (toolName.startsWith("android_"))
16
+ return "android";
17
+ const device = args?.device;
18
+ if (typeof device === "string" && device.length > 0) {
19
+ const resolved = resolveConnectedAppByDevice(device);
20
+ if (resolved.kind === "ok")
21
+ return resolved.app.platform;
22
+ }
23
+ return getTargetPlatform();
24
+ }
11
25
  const NON_METRO_TOOLS = new Set([
12
26
  "scan_metro",
13
27
  "connect_metro",
@@ -158,7 +172,8 @@ export function registerToolWithTelemetry(server, toolName, config, handler, emp
158
172
  finally {
159
173
  const duration = Date.now() - startTime;
160
174
  recordToolCall(toolName);
161
- trackToolInvocation(toolName, success, duration, errorMessage, errorContext, inputTokens, outputTokens, getTargetPlatform(), emptyResult, meaningful, changeRate, tapStrategy, iosDriver, responsePreview, emptyReason, artifactKey, ocrClosestMatch, fiberPressableCount, accessibilityMatchCount, appRoute, errorOrigin);
175
+ const targetPlatform = invocationPlatform(toolName, args);
176
+ trackToolInvocation(toolName, success, duration, errorMessage, errorContext, inputTokens, outputTokens, targetPlatform, emptyResult, meaningful, changeRate, tapStrategy, iosDriver, responsePreview, emptyReason, artifactKey, ocrClosestMatch, fiberPressableCount, accessibilityMatchCount, appRoute, errorOrigin);
162
177
  let platformKind = null;
163
178
  for (const app of connectedApps.values()) {
164
179
  if (app.appDetection) {
@@ -182,7 +197,7 @@ export function registerToolWithTelemetry(server, toolName, config, handler, emp
182
197
  ...(errorMessage && { error: errorMessage.substring(0, 200) }),
183
198
  ...(errorMessage && { error_category: categorizeError(errorMessage, errorContext) }),
184
199
  ...(errorOrigin && { error_origin: errorOrigin }),
185
- ...(getTargetPlatform() && { platform: getTargetPlatform() }),
200
+ ...(targetPlatform && { platform: targetPlatform }),
186
201
  ...(platformKind && { platform_kind: platformKind }),
187
202
  ...(tapStrategy && { tap_strategy: tapStrategy }),
188
203
  ...(meaningful !== undefined && { meaningful }),
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGrF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC5B,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;CAClB,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiE,CAAC;AAKrG,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC5D,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAc,CAAC,YAAY,GAAG,CAAC,IAAY,EAAE,MAAW,EAAE,OAAY,EAAE,EAAE;QACvE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,MAAiB,EACjB,QAAgB,EAChB,MAAW,EACX,OAAoC,EACpC,mBAA8C;IAE9C,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;QAItD,MAAM,aAAa,EAAE,CAAC;QACtB,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,OAAQ,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,YAAgC,CAAC;QACrC,IAAI,YAAgC,CAAC;QAKrC,IAAI,WAA8C,CAAC;QACnD,IAAI,WAA+B,CAAC;QACpC,IAAI,YAAgC,CAAC;QACrC,IAAI,WAAgC,CAAC;QACrC,IAAI,UAA+B,CAAC;QACpC,IAAI,UAA8B,CAAC;QACnC,IAAI,WAA+B,CAAC;QACpC,IAAI,SAA6B,CAAC;QAClC,IAAI,eAAmC,CAAC;QACxC,IAAI,WAA+B,CAAC;QACpC,IAAI,WAA+B,CAAC;QACpC,IAAI,eAAmC,CAAC;QACxC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,uBAA2C,CAAC;QAChD,IAAI,QAA4B,CAAC;QAEjC,IAAI,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClB,OAAO,GAAG,KAAK,CAAC;gBAChB,WAAW,GAAG,UAAU,CAAC;gBAEzB,YAAY,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,eAAe,CAAC;YACxF,CAAC;YAGD,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBACxB,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;YACxC,CAAC;YAQD,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC5C,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;gBACtC,CAAC;qBAAM,IAAI,mBAAmB,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACD,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;oBAAC,MAAM,CAAC;oBAET,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS;gBAAE,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YACvE,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS;gBAAE,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YACvE,IAAI,MAAM,EAAE,YAAY;gBAAE,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YAC5D,IAAI,MAAM,EAAE,UAAU;gBAAE,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;YACtD,IAAI,MAAM,EAAE,YAAY;gBAAE,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YAC5D,IAAI,MAAM,EAAE,YAAY;gBAAE,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;YAC5D,IAAI,MAAM,EAAE,gBAAgB;gBAAE,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACxE,IAAI,MAAM,EAAE,oBAAoB;gBAAE,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC;YACpF,IAAI,MAAM,EAAE,wBAAwB;gBAAE,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC;YAChG,IAAI,MAAM,EAAE,SAAS;gBAAE,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACxD,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnD,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAChE,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClD,CAAC;gBACL,CAAC;gBACD,IAAI,WAAW,GAAG,CAAC;oBAAE,YAAY,GAAG,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;qBAC3B,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;qBACxD,GAAG,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,sBAAsB,EAAE,EAAE,CAAC;gBAC7D,qBAAqB,EAAE,CAAC;gBAExB,UAAU,CACN,iPAAiP,EACjP,SAAS,EACT,IAAI,EACJ,QAAQ,CACX,CAAC,KAAK,CAAC,GAAG,EAAE;gBAEb,CAAC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,GAAG,KAAK,CAAC;YAChB,WAAW,GAAG,QAAQ,CAAC;YACvB,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAGtE,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnD,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YACjC,CAAC;YAMD,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,kBAAkB,EAAE,EAAE,CAAC;gBAC7D,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAC7J,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAKxC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAG3T,IAAI,YAAY,GAA2B,IAAI,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;oBAAC,YAAY,GAAG,IAAI,CAAC;oBAAC,MAAM;gBAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;oBAAE,YAAY,GAAG,QAAQ,CAAC;YAChG,CAAC;YAQD,IAAI,kBAAkB,EAAE,EAAE,CAAC;gBACvB,gBAAgB,EAAE,EAAE,OAAO,CAAC;oBACxB,UAAU,EAAE,iBAAiB,EAAE;oBAC/B,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE;wBACR,OAAO;wBACP,QAAQ;wBACR,cAAc,EAAE,gBAAgB,EAAE;wBAClC,YAAY,EAAE,cAAc,EAAE;wBAC9B,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;wBAC9D,GAAG,CAAC,YAAY,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;wBACpF,GAAG,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;wBACjD,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC;wBAC7D,GAAG,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;wBACpD,GAAG,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;wBACjD,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;wBAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;wBAC5D,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;wBAC3C,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;wBAC/D,GAAG,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;qBACpD;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare const connectedApps: Map<string, ConnectedApp>;
18
18
  export declare const bootstrappedApps: Set<string>;
19
19
  export declare function getTargetPlatform(): string | undefined;
20
20
  export declare const pendingExecutions: Map<number, PendingExecution>;
21
+ export declare function isSupersededSocket(appKey: string, ws: unknown): boolean;
21
22
  export declare function failPendingExecutionsForSocket(ws: unknown, error: string): number;
22
23
  export declare function getNextMessageId(): number;
23
24
  export declare function getActiveSimulatorUdid(): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,eAAO,MAAM,UAAU,wBAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,4BAAmC,CAAC;AAK/D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CASpD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAWD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAc1D;AAGD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAO1D;AAGD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAOlE;AAGD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAWrE;AAGD,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAKD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,WAAW,aAAsB,CAAC;AAG/C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAa,CAAC;AAOlE,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAEvD,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAGtD;AAGD,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAa,CAAC;AAW1E,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjF;AAKD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKjE;AAQD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAYlE;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAEzE;AAKD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5D;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,eAAO,MAAM,UAAU,wBAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,4BAAmC,CAAC;AAK/D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CASpD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAWD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAc1D;AAGD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAO1D;AAGD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAOlE;AAGD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAWrE;AAGD,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAKD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,WAAW,aAAsB,CAAC;AAG/C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAa,CAAC;AAOlE,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAEvD,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAGtD;AAGD,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAa,CAAC;AAwB1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAGvE;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjF;AAKD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKjE;AAQD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAYlE;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAEzE;AAKD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5D;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -78,6 +78,10 @@ export function getTargetPlatform() {
78
78
  return firstApp?.platform;
79
79
  }
80
80
  export const pendingExecutions = new Map();
81
+ export function isSupersededSocket(appKey, ws) {
82
+ const current = connectedApps.get(appKey);
83
+ return !!current && current.ws !== ws;
84
+ }
81
85
  export function failPendingExecutionsForSocket(ws, error) {
82
86
  let failed = 0;
83
87
  for (const [messageId, pending] of pendingExecutions) {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ScreenSpaceMetrics } from "./screenSpace.js";
2
2
  export interface ScrollProbe {
3
3
  found: boolean;
4
+ unavailable?: boolean;
4
5
  horizontal?: boolean;
5
6
  offset?: number;
6
7
  maxOffset?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"swipeDiagnosis.d.ts","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AASnF,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AASD,wBAAsB,aAAa,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,WAAW,CAAC,CAsJtB;AAYD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CA6BR"}
1
+ {"version":3,"file":"swipeDiagnosis.d.ts","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AASnF,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,CAAC;IAMf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAqBD,wBAAsB,aAAa,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,WAAW,CAAC,CA4JtB;AAYD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CAgCR"}
@@ -1,5 +1,13 @@
1
1
  import { executeInApp, delay } from "./jsExecute.js";
2
2
  import { SCREEN_SPACE_HELPER_JS } from "./screenSpace.js";
3
+ async function probeExec(expression, device) {
4
+ try {
5
+ return await executeInApp(expression, false, { timeoutMs: 8000, originatingToolName: "swipe" }, device);
6
+ }
7
+ catch {
8
+ return null;
9
+ }
10
+ }
3
11
  export async function probeScrollAt(x, y, device, screenSpace) {
4
12
  const dispatch = `
5
13
  (function() {
@@ -98,9 +106,11 @@ export async function probeScrollAt(x, y, device, screenSpace) {
98
106
  }
99
107
  return JSON.stringify({ dispatched: candidates.length });
100
108
  })()`;
101
- const dispatched = await executeInApp(dispatch, false, { timeoutMs: 8000, originatingToolName: "swipe" }, device);
109
+ const dispatched = await probeExec(dispatch, device);
110
+ if (!dispatched)
111
+ return { found: false, unavailable: true };
102
112
  if (!dispatched.success)
103
- return { found: false };
113
+ return { found: false, unavailable: true };
104
114
  await delay(250);
105
115
  const resolve = `
106
116
  (function() {
@@ -140,9 +150,9 @@ export async function probeScrollAt(x, y, device, screenSpace) {
140
150
  component: best.name
141
151
  });
142
152
  })()`;
143
- const resolved = await executeInApp(resolve, false, { timeoutMs: 8000, originatingToolName: "swipe" }, device);
144
- if (!resolved.success || !resolved.result)
145
- return { found: false };
153
+ const resolved = await probeExec(resolve, device);
154
+ if (!resolved || !resolved.success || !resolved.result)
155
+ return { found: false, unavailable: true };
146
156
  try {
147
157
  return JSON.parse(resolved.result);
148
158
  }
@@ -152,6 +162,9 @@ export async function probeScrollAt(x, y, device, screenSpace) {
152
162
  }
153
163
  const EDGE_TOLERANCE_PX = 2;
154
164
  export function explainNoOpSwipe(probe, start, gesture) {
165
+ if (probe.unavailable) {
166
+ return `the swipe was delivered, but the screen could not be inspected to say why nothing moved — no React Native connection to this device. Take a screenshot to see the result, or run scan_metro if this is an RN app.`;
167
+ }
155
168
  if (!probe.found) {
156
169
  return `no scroll view found under (${Math.round(start.x)}, ${Math.round(start.y)}) — the gesture did not land on a scrollable surface. Take a screenshot or call get_screen_state, then aim at the list itself.`;
157
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swipeDiagnosis.js","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,kBAAkB,CAAC;AA2BnF,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,CAAS,EACT,CAAS,EACT,MAAe,EACf,WAAgC;IAEhC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgGhB,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAClH,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEjD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG;;MAEd,sBAAsB;yBACH,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;eAUzE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;KAwBnD,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/G,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnE,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAgB,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC;AAGD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAS5B,MAAM,UAAU,gBAAgB,CAC5B,KAAkB,EAClB,KAA+B,EAC/B,OAAoC;IAEpC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,+BAA+B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gIAAgI,CAAC;IACtN,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IAIvC,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,OAAO,kBAAkB,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,QAAQ,KAAK,YAAY,IAAI,+CAA+C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC;QAC7M,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,sBAAsB,IAAI,qEAAqE,CAAC;IACnH,CAAC;IACD,IAAI,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAC9B,OAAO,2BAA2B,KAAK,4DAA4D,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;QAC1C,OAAO,uBAAuB,MAAM,YAAY,KAAK,4DAA4D,CAAC;IACtH,CAAC;IACD,OAAO,uBAAuB,MAAM,OAAO,SAAS,MAAM,KAAK,6HAA6H,CAAC;AACjM,CAAC"}
1
+ {"version":3,"file":"swipeDiagnosis.js","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,kBAAkB,CAAC;AA8BnF,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,CAAC;QACD,OAAO,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,CAAS,EACT,CAAS,EACT,MAAe,EACf,WAAgC;IAEhC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgGhB,CAAC;IAOF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEpE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG;;MAEd,sBAAsB;yBACH,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;eAUzE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;KAwBnD,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACnG,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAgB,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC;AAGD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAS5B,MAAM,UAAU,gBAAgB,CAC5B,KAAkB,EAClB,KAA+B,EAC/B,OAAoC;IAEpC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,mNAAmN,CAAC;IAC/N,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,+BAA+B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gIAAgI,CAAC;IACtN,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IAIvC,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,OAAO,kBAAkB,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,QAAQ,KAAK,YAAY,IAAI,+CAA+C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC;QAC7M,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,sBAAsB,IAAI,qEAAqE,CAAC;IACnH,CAAC;IACD,IAAI,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAC9B,OAAO,2BAA2B,KAAK,4DAA4D,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;QAC1C,OAAO,uBAAuB,MAAM,YAAY,KAAK,4DAA4D,CAAC;IACtH,CAAC;IACD,OAAO,uBAAuB,MAAM,OAAO,SAAS,MAAM,KAAK,6HAA6H,CAAC;AACjM,CAAC"}
@@ -4,7 +4,7 @@ export declare function getMeteringEndpoint(): string;
4
4
  export declare const TELEMETRY_JSONL_PATH = "/tmp/rn-devtools-telemetry.jsonl";
5
5
  export declare function getServerVersion(): string;
6
6
  export declare function getPackageName(): string;
7
- type ErrorCategory = 'network' | 'timeout' | 'validation' | 'execution' | 'connection' | 'driver_missing' | 'screen_changed' | 'unknown';
7
+ type ErrorCategory = 'network' | 'timeout' | 'validation' | 'execution' | 'connection' | 'driver_missing' | 'screen_changed' | 'bad_target' | 'unknown';
8
8
  type ErrorOrigin = 'thrown' | 'returned';
9
9
  export declare function categorizeError(errorMessage: string, errorContext?: string): ErrorCategory;
10
10
  export declare function isMeteringEnabled(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAqBA,wBAAgB,oBAAoB,IAAI,MAAM,CAA+B;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,CAA8B;AAC1E,wBAAgB,mBAAmB,IAAI,MAAM,CAA+C;AAI5F,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAGvE,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAMD,KAAK,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAgBzI,KAAK,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAkCzC,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CA8G1F;AA8BD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAkED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;CAC/B,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAQ1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAqDpC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAGD,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAiBD,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EACxB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GAC1B,IAAI,CAgLN;AAkED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AAU7F,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,CAAC,EAAE,MAAM,GAC1B,IAAI,CA0CN;AAMD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,IAAI,CAsDP;AASD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE;IAC/C,GAAG,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAcP"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAqBA,wBAAgB,oBAAoB,IAAI,MAAM,CAA+B;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,CAA8B;AAC1E,wBAAgB,mBAAmB,IAAI,MAAM,CAA+C;AAI5F,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAGvE,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAMD,KAAK,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAC;AAgBxJ,KAAK,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAkCzC,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CAiI1F;AA8BD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAkED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;CAC/B,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAQ1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAqDpC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAGD,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAiBD,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EACxB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GAC1B,IAAI,CAgLN;AAkED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AAU7F,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,CAAC,EAAE,MAAM,GAC1B,IAAI,CA0CN;AAMD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,IAAI,CAsDP;AASD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE;IAC/C,GAAG,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAcP"}
@@ -52,6 +52,10 @@ export function categorizeError(errorMessage, errorContext) {
52
52
  if (errorContext?.includes('screen_changed:')) {
53
53
  return 'screen_changed';
54
54
  }
55
+ if (lower.includes('matched that target') || lower.includes('match this target') ||
56
+ lower.includes('is out of range')) {
57
+ return 'bad_target';
58
+ }
55
59
  if (lower.includes('typeerror') || lower.includes('referenceerror') || lower.includes('rangeerror') ||
56
60
  lower.includes('is not a function') || lower.includes('is not defined') ||
57
61
  lower.includes('cannot read propert') || lower.includes('maximum call stack') ||
@@ -84,8 +88,7 @@ export function categorizeError(errorMessage, errorContext) {
84
88
  if (lower.includes('no focused textinput') || lower.includes('must provide at least one') ||
85
89
  lower.includes('not visible on screen') || lower.includes('no component found') ||
86
90
  lower.includes('no connected device matches') || lower.includes('redux-shaped store') ||
87
- lower.includes('matched that target') || lower.includes('match this target') ||
88
- lower.includes('is out of range') || lower.includes('no textinput found on screen')) {
91
+ lower.includes('no textinput found on screen')) {
89
92
  return 'validation';
90
93
  }
91
94
  if (lower.includes('invalid') || lower.includes('required') || lower.includes('missing')) {