react-native-ai-debugger 1.0.9 → 1.0.11

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.
package/README.md CHANGED
@@ -587,6 +587,37 @@ The server prioritizes devices in this order:
587
587
  - Try `clear_logs` then trigger some actions in the app
588
588
  - Check `get_apps` to verify connection status
589
589
 
590
+ ## Telemetry
591
+
592
+ This package collects anonymous usage telemetry to help improve the product. No personal information is collected.
593
+
594
+ ### What is collected
595
+
596
+ | Data | Purpose |
597
+ |------|---------|
598
+ | Tool names | Which MCP tools are used most |
599
+ | Success/failure | Error rates for reliability improvements |
600
+ | Duration (ms) | Performance monitoring |
601
+ | Session start/end | Retention analysis |
602
+ | Platform | macOS/Linux/Windows distribution |
603
+ | Server version | Adoption of new versions |
604
+
605
+ **Not collected**: No file paths, code content, network data, or personally identifiable information.
606
+
607
+ ### Opt-out
608
+
609
+ To disable telemetry, set the environment variable:
610
+
611
+ ```bash
612
+ export RN_DEBUGGER_TELEMETRY=false
613
+ ```
614
+
615
+ Or inline:
616
+
617
+ ```bash
618
+ RN_DEBUGGER_TELEMETRY=false npx react-native-ai-debugger
619
+ ```
620
+
590
621
  ## License
591
622
 
592
623
  MIT
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAKtG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4B/D;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CA4M5F;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyEvF;AAGD,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAGD,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAM1D;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAMtG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4B/D;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CA4M5F;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFvF;AAGD,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAGD,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAM1D;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
@@ -1,6 +1,7 @@
1
1
  import WebSocket from "ws";
2
- import { connectedApps, pendingExecutions, getNextMessageId, logBuffer, networkBuffer } from "./state.js";
2
+ import { connectedApps, pendingExecutions, getNextMessageId, logBuffer, networkBuffer, setActiveSimulatorUdid, clearActiveSimulatorIfSource } from "./state.js";
3
3
  import { mapConsoleType } from "./logs.js";
4
+ import { findSimulatorByName } from "./ios.js";
4
5
  // Format CDP RemoteObject to readable string
5
6
  export function formatRemoteObject(result) {
6
7
  if (result.type === "undefined") {
@@ -169,7 +170,7 @@ export async function connectToDevice(device, port) {
169
170
  }
170
171
  try {
171
172
  const ws = new WebSocket(device.webSocketDebuggerUrl);
172
- ws.on("open", () => {
173
+ ws.on("open", async () => {
173
174
  connectedApps.set(appKey, { ws, deviceInfo: device, port });
174
175
  console.error(`[rn-ai-debugger] Connected to ${device.title}`);
175
176
  // Enable Runtime domain to receive console messages
@@ -187,6 +188,15 @@ export async function connectToDevice(device, port) {
187
188
  id: getNextMessageId(),
188
189
  method: "Network.enable"
189
190
  }));
191
+ // Try to resolve iOS simulator UDID from device name
192
+ // This enables automatic device scoping for iOS tools
193
+ if (device.deviceName) {
194
+ const simulatorUdid = await findSimulatorByName(device.deviceName);
195
+ if (simulatorUdid) {
196
+ setActiveSimulatorUdid(simulatorUdid, appKey);
197
+ console.error(`[rn-ai-debugger] Linked to iOS simulator: ${simulatorUdid}`);
198
+ }
199
+ }
190
200
  resolve(`Connected to ${device.title} (${device.deviceName})`);
191
201
  });
192
202
  ws.on("message", (data) => {
@@ -200,10 +210,14 @@ export async function connectToDevice(device, port) {
200
210
  });
201
211
  ws.on("close", () => {
202
212
  connectedApps.delete(appKey);
213
+ // Clear active simulator UDID if this connection set it
214
+ clearActiveSimulatorIfSource(appKey);
203
215
  console.error(`[rn-ai-debugger] Disconnected from ${device.title}`);
204
216
  });
205
217
  ws.on("error", (error) => {
206
218
  connectedApps.delete(appKey);
219
+ // Clear active simulator UDID if this connection set it
220
+ clearActiveSimulatorIfSource(appKey);
207
221
  reject(`Failed to connect to ${device.title}: ${error.message}`);
208
222
  });
209
223
  // Timeout after 5 seconds
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from "./types.js";
2
- export { logBuffer, networkBuffer, bundleErrorBuffer, connectedApps, pendingExecutions, getNextMessageId } from "./state.js";
2
+ export { logBuffer, networkBuffer, bundleErrorBuffer, connectedApps, pendingExecutions, getNextMessageId, getActiveSimulatorUdid } from "./state.js";
3
3
  export { LogBuffer, mapConsoleType, formatLogs, getLogs, searchLogs } from "./logs.js";
4
4
  export { NetworkBuffer, formatRequest, formatRequests, formatRequestDetails, getNetworkRequests, searchNetworkRequests, getNetworkStats } from "./network.js";
5
5
  export { COMMON_PORTS, isPortOpen, scanMetroPorts, fetchDevices, selectMainDevice, discoverMetroDevices } from "./metro.js";
@@ -7,8 +7,9 @@ export { formatRemoteObject, handleCDPMessage, connectToDevice, getConnectedApps
7
7
  export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp } from "./executor.js";
8
8
  export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages, ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize, androidGetDensity, androidGetStatusBarHeight, androidDescribeAll, androidDescribePoint, androidTapElement, androidGetUITree, androidFindElement, androidWaitForElement } from "./android.js";
9
9
  export type { AndroidAccessibilityElement, AndroidDescribeResult, AndroidUIElement, FindElementResult, WaitForElementResult, FindElementOptions } from "./android.js";
10
- export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator, isIdbAvailable, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES, iosGetUITree, iosFindElement, iosWaitForElement } from "./ios.js";
10
+ export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, findSimulatorByName, getActiveOrBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator, isIdbAvailable, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES, iosGetUITree, iosFindElement, iosWaitForElement } from "./ios.js";
11
11
  export type { iOSButtonType, iOSAccessibilityElement, iOSDescribeResult, IOSUIElement, IOSFindElementResult, IOSWaitForElementResult, IOSFindElementOptions } from "./ios.js";
12
12
  export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors } from "./bundle.js";
13
13
  export { startDebugHttpServer, getDebugServerPort } from "./httpServer.js";
14
+ export { initTelemetry, isTelemetryEnabled, trackToolInvocation } from "./telemetry.js";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG7H,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvF,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzF,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EAEzB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEH,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAEhB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACR,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGrJ,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvF,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzF,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EAEzB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEH,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAEhB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACR,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Types
2
2
  export * from "./types.js";
3
3
  // State
4
- export { logBuffer, networkBuffer, bundleErrorBuffer, connectedApps, pendingExecutions, getNextMessageId } from "./state.js";
4
+ export { logBuffer, networkBuffer, bundleErrorBuffer, connectedApps, pendingExecutions, getNextMessageId, getActiveSimulatorUdid } from "./state.js";
5
5
  // Logs
6
6
  export { LogBuffer, mapConsoleType, formatLogs, getLogs, searchLogs } from "./logs.js";
7
7
  // Network
@@ -23,7 +23,7 @@ androidGetUITree, androidFindElement, androidWaitForElement } from "./android.js
23
23
  // iOS (simctl + IDB)
24
24
  export {
25
25
  // simctl-based tools
26
- isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator,
26
+ isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, findSimulatorByName, getActiveOrBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator,
27
27
  // IDB-based UI tools
28
28
  isIdbAvailable, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES,
29
29
  // UI Accessibility (Element Finding) - Requires IDB
@@ -32,4 +32,6 @@ iosGetUITree, iosFindElement, iosWaitForElement } from "./ios.js";
32
32
  export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors } from "./bundle.js";
33
33
  // Debug HTTP Server
34
34
  export { startDebugHttpServer, getDebugServerPort } from "./httpServer.js";
35
+ // Telemetry
36
+ export { initTelemetry, isTelemetryEnabled, trackToolInvocation } from "./telemetry.js";
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7H,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvF,UAAU;AACV,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzF,gBAAgB;AAChB,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB;AACnB,qBAAqB;AACrB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB;AACzB,+BAA+B;AAC/B,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB;AACjB,qCAAqC;AACrC,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,cAAc,CAAC;AAYtB,qBAAqB;AACrB,OAAO;AACH,qBAAqB;AACrB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB;AAChB,oDAAoD;AACpD,YAAY,EACZ,cAAc,EACd,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAalB,8BAA8B;AAC9B,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAErJ,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvF,UAAU;AACV,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzF,gBAAgB;AAChB,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB;AACnB,qBAAqB;AACrB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB;AACzB,+BAA+B;AAC/B,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB;AACjB,qCAAqC;AACrC,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,cAAc,CAAC;AAYtB,qBAAqB;AACrB,OAAO;AACH,qBAAqB;AACrB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB;AAChB,oDAAoD;AACpD,YAAY,EACZ,cAAc,EACd,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAalB,8BAA8B;AAC9B,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -52,6 +52,16 @@ export declare function listIOSSimulators(onlyBooted?: boolean): Promise<iOSResu
52
52
  * Get the booted simulator UDID
53
53
  */
54
54
  export declare function getBootedSimulatorUdid(): Promise<string | null>;
55
+ /**
56
+ * Find a booted simulator's UDID by its device name
57
+ * Matches Metro's deviceName against simulator names from simctl
58
+ */
59
+ export declare function findSimulatorByName(deviceName: string): Promise<string | null>;
60
+ /**
61
+ * Get the active simulator UDID (Metro-connected) or fall back to first booted simulator
62
+ * This enables automatic device scoping based on Metro connection
63
+ */
64
+ export declare function getActiveOrBootedSimulatorUdid(): Promise<string | null>;
55
65
  /**
56
66
  * Take a screenshot from an iOS simulator
57
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB,+DAAgE,CAAC;AAC9F,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AA4B9D;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAOvD;AA+BD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAiFvF;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBrE;AASD;;GAEG;AACH,wBAAsB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA0E1F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA6CtF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqCtF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqC/E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqCzF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuCvE;AAQD;;GAEG;AACH,wBAAsB,MAAM,CACxB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,SAAS,CAAC,CAgDpB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,SAAS,CAAC,CAoDpB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAsClF;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC3B,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,SAAS,CAAC,CAoDpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,SAAS,CAAC,CA4CpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA+C1F;AAkCD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6C9E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsEtG;AAgBD;;;GAGG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,GACF,OAAO,CAAC,SAAS,CAAC,CA4EpB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACH,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAkFD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAqCD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC,CAwD/B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,qBAAqB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC,CA4ClC"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
package/build/core/ios.js CHANGED
@@ -4,6 +4,7 @@ import { existsSync } from "fs";
4
4
  import path from "path";
5
5
  import os from "os";
6
6
  import sharp from "sharp";
7
+ import { getActiveSimulatorUdid } from "./state.js";
7
8
  const execAsync = promisify(exec);
8
9
  const execFileAsync = promisify(execFile);
9
10
  // simctl command timeout in milliseconds
@@ -185,6 +186,54 @@ export async function getBootedSimulatorUdid() {
185
186
  return null;
186
187
  }
187
188
  }
189
+ /**
190
+ * Find a booted simulator's UDID by its device name
191
+ * Matches Metro's deviceName against simulator names from simctl
192
+ */
193
+ export async function findSimulatorByName(deviceName) {
194
+ try {
195
+ const { stdout } = await execAsync("xcrun simctl list devices booted -j", {
196
+ timeout: SIMCTL_TIMEOUT
197
+ });
198
+ const data = JSON.parse(stdout);
199
+ const normalizedDeviceName = deviceName.toLowerCase().trim();
200
+ for (const devices of Object.values(data.devices)) {
201
+ if (!Array.isArray(devices))
202
+ continue;
203
+ for (const device of devices) {
204
+ if (device.state !== "Booted")
205
+ continue;
206
+ const normalizedSimName = device.name.toLowerCase().trim();
207
+ // Exact match
208
+ if (normalizedSimName === normalizedDeviceName) {
209
+ return device.udid;
210
+ }
211
+ // Partial match (deviceName contains simulator name or vice versa)
212
+ if (normalizedSimName.includes(normalizedDeviceName) ||
213
+ normalizedDeviceName.includes(normalizedSimName)) {
214
+ return device.udid;
215
+ }
216
+ }
217
+ }
218
+ return null;
219
+ }
220
+ catch {
221
+ return null;
222
+ }
223
+ }
224
+ /**
225
+ * Get the active simulator UDID (Metro-connected) or fall back to first booted simulator
226
+ * This enables automatic device scoping based on Metro connection
227
+ */
228
+ export async function getActiveOrBootedSimulatorUdid() {
229
+ // First, check if there's an active Metro-connected simulator
230
+ const activeUdid = getActiveSimulatorUdid();
231
+ if (activeUdid) {
232
+ return activeUdid;
233
+ }
234
+ // Fall back to first booted simulator
235
+ return getBootedSimulatorUdid();
236
+ }
188
237
  /**
189
238
  * Build device selector for simctl command
190
239
  */
@@ -203,21 +252,18 @@ export async function iosScreenshot(outputPath, udid) {
203
252
  error: "Xcode command line tools not available. Install Xcode from the App Store."
204
253
  };
205
254
  }
206
- const deviceArg = buildDeviceArg(udid);
207
- // Check if a simulator is booted
208
- if (!udid) {
209
- const bootedUdid = await getBootedSimulatorUdid();
210
- if (!bootedUdid) {
211
- return {
212
- success: false,
213
- error: "No iOS simulator is currently running. Start a simulator first."
214
- };
215
- }
255
+ // Resolve target UDID (prefer Metro-connected simulator)
256
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
257
+ if (!targetUdid) {
258
+ return {
259
+ success: false,
260
+ error: "No iOS simulator is currently running. Start a simulator first."
261
+ };
216
262
  }
217
263
  // Generate output path if not provided
218
264
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
219
265
  const finalOutputPath = outputPath || path.join(os.tmpdir(), `ios-screenshot-${timestamp}.png`);
220
- await execAsync(`xcrun simctl io ${deviceArg} screenshot "${finalOutputPath}"`, {
266
+ await execAsync(`xcrun simctl io ${targetUdid} screenshot "${finalOutputPath}"`, {
221
267
  timeout: SIMCTL_TIMEOUT
222
268
  });
223
269
  // Resize image if needed (API limit: 2000px max for multi-image requests)
@@ -280,18 +326,15 @@ export async function iosInstallApp(appPath, udid) {
280
326
  error: `App bundle not found: ${appPath}`
281
327
  };
282
328
  }
283
- const deviceArg = buildDeviceArg(udid);
284
- // Check if a simulator is booted
285
- if (!udid) {
286
- const bootedUdid = await getBootedSimulatorUdid();
287
- if (!bootedUdid) {
288
- return {
289
- success: false,
290
- error: "No iOS simulator is currently running. Start a simulator first."
291
- };
292
- }
329
+ // Resolve target UDID (prefer Metro-connected simulator)
330
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
331
+ if (!targetUdid) {
332
+ return {
333
+ success: false,
334
+ error: "No iOS simulator is currently running. Start a simulator first."
335
+ };
293
336
  }
294
- await execAsync(`xcrun simctl install ${deviceArg} "${appPath}"`, {
337
+ await execAsync(`xcrun simctl install ${targetUdid} "${appPath}"`, {
295
338
  timeout: 120000 // 2 minute timeout for install
296
339
  });
297
340
  return {
@@ -318,18 +361,15 @@ export async function iosLaunchApp(bundleId, udid) {
318
361
  error: "Xcode command line tools not available. Install Xcode from the App Store."
319
362
  };
320
363
  }
321
- const deviceArg = buildDeviceArg(udid);
322
- // Check if a simulator is booted
323
- if (!udid) {
324
- const bootedUdid = await getBootedSimulatorUdid();
325
- if (!bootedUdid) {
326
- return {
327
- success: false,
328
- error: "No iOS simulator is currently running. Start a simulator first."
329
- };
330
- }
364
+ // Resolve target UDID (prefer Metro-connected simulator)
365
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
366
+ if (!targetUdid) {
367
+ return {
368
+ success: false,
369
+ error: "No iOS simulator is currently running. Start a simulator first."
370
+ };
331
371
  }
332
- await execAsync(`xcrun simctl launch ${deviceArg} ${bundleId}`, {
372
+ await execAsync(`xcrun simctl launch ${targetUdid} ${bundleId}`, {
333
373
  timeout: SIMCTL_TIMEOUT
334
374
  });
335
375
  return {
@@ -356,18 +396,15 @@ export async function iosOpenUrl(url, udid) {
356
396
  error: "Xcode command line tools not available. Install Xcode from the App Store."
357
397
  };
358
398
  }
359
- const deviceArg = buildDeviceArg(udid);
360
- // Check if a simulator is booted
361
- if (!udid) {
362
- const bootedUdid = await getBootedSimulatorUdid();
363
- if (!bootedUdid) {
364
- return {
365
- success: false,
366
- error: "No iOS simulator is currently running. Start a simulator first."
367
- };
368
- }
399
+ // Resolve target UDID (prefer Metro-connected simulator)
400
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
401
+ if (!targetUdid) {
402
+ return {
403
+ success: false,
404
+ error: "No iOS simulator is currently running. Start a simulator first."
405
+ };
369
406
  }
370
- await execAsync(`xcrun simctl openurl ${deviceArg} "${url}"`, {
407
+ await execAsync(`xcrun simctl openurl ${targetUdid} "${url}"`, {
371
408
  timeout: SIMCTL_TIMEOUT
372
409
  });
373
410
  return {
@@ -394,18 +431,15 @@ export async function iosTerminateApp(bundleId, udid) {
394
431
  error: "Xcode command line tools not available. Install Xcode from the App Store."
395
432
  };
396
433
  }
397
- const deviceArg = buildDeviceArg(udid);
398
- // Check if a simulator is booted
399
- if (!udid) {
400
- const bootedUdid = await getBootedSimulatorUdid();
401
- if (!bootedUdid) {
402
- return {
403
- success: false,
404
- error: "No iOS simulator is currently running. Start a simulator first."
405
- };
406
- }
434
+ // Resolve target UDID (prefer Metro-connected simulator)
435
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
436
+ if (!targetUdid) {
437
+ return {
438
+ success: false,
439
+ error: "No iOS simulator is currently running. Start a simulator first."
440
+ };
407
441
  }
408
- await execAsync(`xcrun simctl terminate ${deviceArg} ${bundleId}`, {
442
+ await execAsync(`xcrun simctl terminate ${targetUdid} ${bundleId}`, {
409
443
  timeout: SIMCTL_TIMEOUT
410
444
  });
411
445
  return {
@@ -476,8 +510,8 @@ export async function iosTap(x, y, options) {
476
510
  error: "IDB is not installed. Install with: brew install idb-companion"
477
511
  };
478
512
  }
479
- // Get simulator UDID (use provided or find booted one)
480
- const targetUdid = options?.udid || (await getBootedSimulatorUdid());
513
+ // Get simulator UDID (prefer Metro-connected, then fall back to booted)
514
+ const targetUdid = options?.udid || (await getActiveOrBootedSimulatorUdid());
481
515
  if (!targetUdid) {
482
516
  return {
483
517
  success: false,
@@ -524,7 +558,7 @@ export async function iosSwipe(startX, startY, endX, endY, options) {
524
558
  error: "IDB is not installed. Install with: brew install idb-companion"
525
559
  };
526
560
  }
527
- const targetUdid = options?.udid || (await getBootedSimulatorUdid());
561
+ const targetUdid = options?.udid || (await getActiveOrBootedSimulatorUdid());
528
562
  if (!targetUdid) {
529
563
  return {
530
564
  success: false,
@@ -576,7 +610,7 @@ export async function iosInputText(text, udid) {
576
610
  error: "IDB is not installed. Install with: brew install idb-companion"
577
611
  };
578
612
  }
579
- const targetUdid = udid || (await getBootedSimulatorUdid());
613
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
580
614
  if (!targetUdid) {
581
615
  return {
582
616
  success: false,
@@ -623,7 +657,7 @@ export async function iosButton(button, options) {
623
657
  error: `Invalid button type: ${button}. Valid options: ${IOS_BUTTON_TYPES.join(", ")}`
624
658
  };
625
659
  }
626
- const targetUdid = options?.udid || (await getBootedSimulatorUdid());
660
+ const targetUdid = options?.udid || (await getActiveOrBootedSimulatorUdid());
627
661
  if (!targetUdid) {
628
662
  return {
629
663
  success: false,
@@ -668,7 +702,7 @@ export async function iosKeyEvent(keycode, options) {
668
702
  error: "IDB is not installed. Install with: brew install idb-companion"
669
703
  };
670
704
  }
671
- const targetUdid = options?.udid || (await getBootedSimulatorUdid());
705
+ const targetUdid = options?.udid || (await getActiveOrBootedSimulatorUdid());
672
706
  if (!targetUdid) {
673
707
  return {
674
708
  success: false,
@@ -719,7 +753,7 @@ export async function iosKeySequence(keycodes, udid) {
719
753
  error: "At least one keycode is required"
720
754
  };
721
755
  }
722
- const targetUdid = udid || (await getBootedSimulatorUdid());
756
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
723
757
  if (!targetUdid) {
724
758
  return {
725
759
  success: false,
@@ -789,7 +823,7 @@ export async function iosDescribeAll(udid) {
789
823
  error: "IDB is not installed. Install with: brew install idb-companion"
790
824
  };
791
825
  }
792
- const targetUdid = udid || (await getBootedSimulatorUdid());
826
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
793
827
  if (!targetUdid) {
794
828
  return {
795
829
  success: false,
@@ -834,7 +868,7 @@ export async function iosDescribePoint(x, y, udid) {
834
868
  error: "IDB is not installed. Install with: brew install idb-companion"
835
869
  };
836
870
  }
837
- const targetUdid = udid || (await getBootedSimulatorUdid());
871
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
838
872
  if (!targetUdid) {
839
873
  return {
840
874
  success: false,
@@ -1072,7 +1106,7 @@ export async function iosGetUITree(udid) {
1072
1106
  error: "IDB is not installed. Install with: brew install idb-companion"
1073
1107
  };
1074
1108
  }
1075
- const targetUdid = udid || (await getBootedSimulatorUdid());
1109
+ const targetUdid = udid || (await getActiveOrBootedSimulatorUdid());
1076
1110
  if (!targetUdid) {
1077
1111
  return {
1078
1112
  success: false,