react-native-ai-debugger 1.6.8 → 1.6.10

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
@@ -1,18 +1,18 @@
1
- # React Native AI DevTools
1
+ # ExecBro
2
2
 
3
- **Give your AI a way to verify its work on React Native.**
3
+ > Ships as the npm package `react-native-ai-devtools`.
4
4
 
5
- Verification is what separates AI that guesses from AI that ships. For backend work, the agent runs the server and hits the endpoints. For web, it drives a browser. For desktop, it uses computer use. **For React Native, the pieces are scattered across separate tools — this package brings them together.**
5
+ **Give your AI assistant eyes and hands into your running React Native app.** Like Chrome DevTools — but for AI agents.
6
6
 
7
- One MCP server with logs, network capture, component inspection, taps, screenshots, OCR, and JS execution — all tightly integrated so your agent can move fluidly from "what happened?" to "what's on screen?" to "does the fix hold?" — chained into a single feedback loop your agent can drive end-to-end.
7
+ ExecBro is the runtime bridge that gives your AI coding assistant live access to your React Native app — logs, network, component state, screenshots, taps, and JS execution. One MCP server, zero-config, zero SDK required, zero code changes to your app.
8
8
 
9
9
  <p align="center">
10
- <img src="https://raw.githubusercontent.com/igorzheludkov/react-native-ai-devtools/main/docs/demo/get_logs_demo.gif" alt="React Native AI DevTools demo" width="800" />
10
+ <img src="https://raw.githubusercontent.com/igorzheludkov/react-native-ai-devtools/main/docs/demo/get_logs_demo.gif" alt="ExecBro demo" width="800" />
11
11
  </p>
12
12
 
13
13
  ## Get started
14
14
 
15
- 1. [Setup rn-ai-devtools as an MCP server for your agent of choice](#claude-code-setup)
15
+ 1. [Setup ExecBro as an MCP server for your agent of choice](#claude-code-setup)
16
16
  2. [Setup UI automation helpers](#ios-simulator--ui-automation-setup)
17
17
 
18
18
  ## Feedback & Feature Requests
@@ -63,13 +63,13 @@ No installation required - Claude Code uses `npx` to run the latest version auto
63
63
  #### Global (all projects)
64
64
 
65
65
  ```bash
66
- claude mcp add rn-ai-devtools --scope user -- npx react-native-ai-devtools
66
+ claude mcp add execbro --scope user -- npx react-native-ai-devtools
67
67
  ```
68
68
 
69
69
  #### Project-specific
70
70
 
71
71
  ```bash
72
- claude mcp add rn-ai-devtools --scope project -- npx react-native-ai-devtools
72
+ claude mcp add execbro --scope project -- npx react-native-ai-devtools
73
73
  ```
74
74
 
75
75
  #### Manual Configuration
@@ -79,7 +79,7 @@ Add to `~/.claude.json` (user scope) or `.mcp.json` (project scope):
79
79
  ```json
80
80
  {
81
81
  "mcpServers": {
82
- "rn-ai-devtools": {
82
+ "execbro": {
83
83
  "type": "stdio",
84
84
  "command": "npx",
85
85
  "args": ["react-native-ai-devtools"]
@@ -101,7 +101,7 @@ Requires VS Code 1.102+ with Copilot ([docs](https://code.visualstudio.com/docs/
101
101
  ```json
102
102
  {
103
103
  "servers": {
104
- "rn-ai-devtools": {
104
+ "execbro": {
105
105
  "type": "stdio",
106
106
  "command": "npx",
107
107
  "args": ["-y", "react-native-ai-devtools"]
@@ -121,7 +121,7 @@ Requires VS Code 1.102+ with Copilot ([docs](https://code.visualstudio.com/docs/
121
121
  ```json
122
122
  {
123
123
  "mcpServers": {
124
- "rn-ai-devtools": {
124
+ "execbro": {
125
125
  "command": "npx",
126
126
  "args": ["-y", "react-native-ai-devtools"]
127
127
  }
@@ -156,7 +156,7 @@ Add `env` to your MCP server configuration:
156
156
  ```json
157
157
  {
158
158
  "mcpServers": {
159
- "rn-ai-devtools": {
159
+ "execbro": {
160
160
  "type": "stdio",
161
161
  "command": "npx",
162
162
  "args": ["react-native-ai-devtools"],
@@ -379,7 +379,7 @@ To disable telemetry and auto-registration, add `RN_DEBUGGER_TELEMETRY` to the `
379
379
  ```json
380
380
  {
381
381
  "mcpServers": {
382
- "rn-ai-devtools": {
382
+ "execbro": {
383
383
  "type": "stdio",
384
384
  "command": "npx",
385
385
  "args": ["react-native-ai-devtools"],
@@ -92,12 +92,12 @@ export function scheduleAppDetection(app) {
92
92
  trackAppDetection(parsed);
93
93
  const versionStr = parsed.reactNativeVersion !== "unknown"
94
94
  ? `RN ${parsed.reactNativeVersion}, ` : "";
95
- console.error(`[rn-ai-debugger] App detected: ${versionStr}${parsed.architecture} arch, ${parsed.jsEngine}, ${parsed.appPlatform} ${parsed.osVersion}`);
95
+ console.error(`[execbro] App detected: ${versionStr}${parsed.architecture} arch, ${parsed.jsEngine}, ${parsed.appPlatform} ${parsed.osVersion}`);
96
96
  }
97
97
  }
98
98
  }
99
99
  catch (e) {
100
- console.error(`[rn-ai-debugger] App detection failed: ${e}`);
100
+ console.error(`[execbro] App detection failed: ${e}`);
101
101
  }
102
102
  }, DETECTION_DELAY_MS);
103
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"appDetection.js","sourceRoot":"","sources":["../../src/core/appDetection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appDetection.js","sourceRoot":"","sources":["../../src/core/appDetection.ts"],"names":[],"mappings":"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"}
@@ -154,13 +154,13 @@ function scheduleBuildEventReconnection(port) {
154
154
  if (metroBuildEventReconnecting)
155
155
  return;
156
156
  if (metroBuildEventAttempts >= MAX_BUILD_EVENT_RECONNECT_ATTEMPTS) {
157
- console.error(`[rn-ai-debugger] Max reconnection attempts for Metro build events reached`);
157
+ console.error(`[execbro] Max reconnection attempts for Metro build events reached`);
158
158
  metroBuildEventReconnecting = false;
159
159
  return;
160
160
  }
161
161
  metroBuildEventReconnecting = true;
162
162
  const delay = Math.min(BUILD_EVENT_BACKOFF_BASE_MS * Math.pow(2, metroBuildEventAttempts), 8000);
163
- console.error(`[rn-ai-debugger] Scheduling Metro build events reconnection in ${delay}ms (attempt ${metroBuildEventAttempts + 1}/${MAX_BUILD_EVENT_RECONNECT_ATTEMPTS})`);
163
+ console.error(`[execbro] Scheduling Metro build events reconnection in ${delay}ms (attempt ${metroBuildEventAttempts + 1}/${MAX_BUILD_EVENT_RECONNECT_ATTEMPTS})`);
164
164
  setTimeout(async () => {
165
165
  metroBuildEventAttempts++;
166
166
  try {
@@ -175,7 +175,7 @@ function scheduleBuildEventReconnection(port) {
175
175
  scheduleBuildEventReconnection(port);
176
176
  }
177
177
  else {
178
- console.error("[rn-ai-debugger] Failed to reconnect to Metro build events");
178
+ console.error("[execbro] Failed to reconnect to Metro build events");
179
179
  }
180
180
  }
181
181
  }, delay);
@@ -195,7 +195,7 @@ export async function connectMetroBuildEvents(port) {
195
195
  // Reset reconnection state on successful connection
196
196
  metroBuildEventAttempts = 0;
197
197
  metroBuildEventReconnecting = false;
198
- console.error(`[rn-ai-debugger] Connected to Metro build events on port ${port}`);
198
+ console.error(`[execbro] Connected to Metro build events on port ${port}`);
199
199
  ws.on("message", (data) => {
200
200
  try {
201
201
  const message = JSON.parse(data.toString());
@@ -213,14 +213,14 @@ export async function connectMetroBuildEvents(port) {
213
213
  });
214
214
  ws.on("close", () => {
215
215
  metroEventWs = null;
216
- console.error("[rn-ai-debugger] Disconnected from Metro build events");
216
+ console.error("[execbro] Disconnected from Metro build events");
217
217
  // Trigger auto-reconnection
218
218
  if (metroBuildEventPort && !metroBuildEventReconnecting) {
219
219
  scheduleBuildEventReconnection(metroBuildEventPort);
220
220
  }
221
221
  });
222
222
  ws.on("error", (error) => {
223
- console.error(`[rn-ai-debugger] Metro build events WebSocket error: ${error?.message || error}`);
223
+ console.error(`[execbro] Metro build events WebSocket error: ${error?.message || error}`);
224
224
  });
225
225
  resolve(`Connected to Metro build events on port ${port}`);
226
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/core/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/core/bundle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,51 @@ import { DEFAULT_RECONNECTION_CONFIG, MIN_STABLE_CONNECTION_MS, initConnectionSt
11
11
  const connectionLocks = new Set();
12
12
  // Track Network.enable message IDs to detect CDP network support
13
13
  const pendingNetworkEnableIds = new Set();
14
+ // Track SDK-probe message IDs so we can decode their responses and set
15
+ // app.sdkPresent. The probe runs on connect and then periodically because
16
+ // the SDK's init() may execute after we attach.
17
+ const pendingSdkProbeIds = new Map(); // msgId -> appKey
18
+ const SDK_PROBE_INITIAL_DELAY_MS = 200;
19
+ const SDK_PROBE_INTERVAL_MS = 3000;
20
+ function sendSdkProbe(ws, appKey) {
21
+ if (ws.readyState !== WebSocket.OPEN)
22
+ return;
23
+ const id = getNextMessageId();
24
+ pendingSdkProbeIds.set(id, appKey);
25
+ try {
26
+ ws.send(JSON.stringify({
27
+ id,
28
+ method: "Runtime.evaluate",
29
+ params: {
30
+ expression: 'typeof globalThis.__RN_AI_DEVTOOLS__?.getNetworkEntries === "function"',
31
+ returnByValue: true
32
+ }
33
+ }));
34
+ }
35
+ catch {
36
+ pendingSdkProbeIds.delete(id);
37
+ }
38
+ }
39
+ function startSdkProbeLoop(ws, appKey) {
40
+ const initial = setTimeout(() => sendSdkProbe(ws, appKey), SDK_PROBE_INITIAL_DELAY_MS);
41
+ const interval = setInterval(() => {
42
+ const app = connectedApps.get(appKey);
43
+ if (!app || ws.readyState !== WebSocket.OPEN) {
44
+ clearInterval(interval);
45
+ return;
46
+ }
47
+ sendSdkProbe(ws, appKey);
48
+ }, SDK_PROBE_INTERVAL_MS);
49
+ const app = connectedApps.get(appKey);
50
+ if (app) {
51
+ app.sdkProbeTimer = interval;
52
+ }
53
+ // Best-effort cleanup if the socket closes before the initial probe fires
54
+ ws.once("close", () => {
55
+ clearTimeout(initial);
56
+ clearInterval(interval);
57
+ });
58
+ }
14
59
  // Suppress auto-reconnection for intentionally disconnected devices
15
60
  const reconnectionSuppressed = new Set();
16
61
  /**
@@ -70,7 +115,7 @@ export function createWebSocketWithOriginFallback(url, timeoutMs = 5000) {
70
115
  return;
71
116
  if (ws.readyState === WebSocket.OPEN) {
72
117
  settled = true;
73
- console.error("[rn-ai-debugger] WebSocket connected with Origin header");
118
+ console.error("[execbro] WebSocket connected with Origin header");
74
119
  resolve(ws);
75
120
  }
76
121
  // If not OPEN, the close handler will trigger fallback
@@ -80,7 +125,7 @@ export function createWebSocketWithOriginFallback(url, timeoutMs = 5000) {
80
125
  if (settled)
81
126
  return;
82
127
  settled = true;
83
- console.error("[rn-ai-debugger] WebSocket connected without Origin header");
128
+ console.error("[execbro] WebSocket connected without Origin header");
84
129
  resolve(ws);
85
130
  }
86
131
  });
@@ -91,7 +136,7 @@ export function createWebSocketWithOriginFallback(url, timeoutMs = 5000) {
91
136
  ws.terminate();
92
137
  if (withOrigin) {
93
138
  const reason = opened ? "immediately closed after open" : "rejected before open";
94
- console.error(`[rn-ai-debugger] Origin header connection ${reason}, retrying without...`);
139
+ console.error(`[execbro] Origin header connection ${reason}, retrying without...`);
95
140
  tryConnect(false);
96
141
  }
97
142
  else {
@@ -155,7 +200,7 @@ export function purgeStaleConnectionsForPorts(freshDevicesByPort) {
155
200
  const reason = !matchingDevice
156
201
  ? "device no longer in Metro /json"
157
202
  : `appId changed: ${app.deviceInfo.appId} → ${matchingDevice.appId}`;
158
- console.error(`[rn-ai-debugger] Purging stale connection: ${name} (port ${app.port}, id ${app.deviceInfo.id}) — ${reason}`);
203
+ console.error(`[execbro] Purging stale connection: ${name} (port ${app.port}, id ${app.deviceInfo.id}) — ${reason}`);
159
204
  // Suppress reconnection so close handler doesn't try to reconnect
160
205
  reconnectionSuppressed.add(appKey);
161
206
  cancelReconnectionTimer(appKey);
@@ -471,6 +516,40 @@ export function handleCDPMessage(message, device, ws) {
471
516
  }
472
517
  pending.resolve({ success: true, result: "undefined" });
473
518
  }
519
+ // Track SDK-probe responses
520
+ if (pendingSdkProbeIds.has(message.id)) {
521
+ const appKey = pendingSdkProbeIds.get(message.id);
522
+ pendingSdkProbeIds.delete(message.id);
523
+ const app = connectedApps.get(appKey);
524
+ if (app) {
525
+ const result = message.result?.result;
526
+ const present = result?.value === true;
527
+ const wasPresent = app.sdkPresent === true;
528
+ app.sdkPresent = present;
529
+ if (present !== wasPresent) {
530
+ console.error(`[execbro] SDK ${present ? "detected" : "no longer detected"} on ${app.deviceInfo.title}; CDP/JS-interceptor buffer writes ${present ? "suppressed" : "restored"}`);
531
+ // Toggle the in-app interceptor's emit flag so it stops
532
+ // (or resumes) producing console.debug lines and CDP
533
+ // traffic. Fire-and-forget — the flag is idempotent.
534
+ if (app.ws.readyState === WebSocket.OPEN) {
535
+ try {
536
+ app.ws.send(JSON.stringify({
537
+ id: getNextMessageId(),
538
+ method: "Runtime.evaluate",
539
+ params: {
540
+ expression: `globalThis.__RN_NET_DISABLED__ = ${present ? "true" : "false"}`,
541
+ returnByValue: true
542
+ }
543
+ }));
544
+ }
545
+ catch {
546
+ // ignore — next probe will retry
547
+ }
548
+ }
549
+ }
550
+ }
551
+ return;
552
+ }
474
553
  // Track Network.enable responses to detect CDP network support
475
554
  if (pendingNetworkEnableIds.has(message.id)) {
476
555
  pendingNetworkEnableIds.delete(message.id);
@@ -480,11 +559,11 @@ export function handleCDPMessage(message, device, ws) {
480
559
  if (app) {
481
560
  if (message.error) {
482
561
  app.cdpNetworkSupported = false;
483
- console.error(`[rn-ai-debugger] CDP Network domain not supported, using JS interceptor`);
562
+ console.error(`[execbro] CDP Network domain not supported, using JS interceptor`);
484
563
  }
485
564
  else {
486
565
  app.cdpNetworkSupported = true;
487
- console.error(`[rn-ai-debugger] CDP Network domain supported`);
566
+ console.error(`[execbro] CDP Network domain supported`);
488
567
  }
489
568
  }
490
569
  }
@@ -503,7 +582,10 @@ export function handleCDPMessage(message, device, ws) {
503
582
  if (interceptorJson !== null) {
504
583
  const iAppKey = findAppKeyForDevice(device);
505
584
  const iApp = iAppKey ? connectedApps.get(iAppKey) : null;
506
- if (!iApp?.cdpNetworkSupported) {
585
+ // Skip when CDP Network domain is the source, OR when the in-app
586
+ // SDK is the source — both would otherwise produce duplicate
587
+ // entries for every request.
588
+ if (!iApp?.cdpNetworkSupported && !iApp?.sdkPresent) {
507
589
  applyInterceptedEvent(interceptorJson, getNetworkBuffer(deviceName));
508
590
  }
509
591
  return;
@@ -556,6 +638,15 @@ export function handleCDPMessage(message, device, ws) {
556
638
  }
557
639
  // Handle Network.requestWillBeSent
558
640
  if (method === "Network.requestWillBeSent") {
641
+ // Skip CDP capture when the in-app SDK is the source of truth —
642
+ // otherwise every request lands in both buffers under different ids.
643
+ // The follow-up Network.responseReceived/loadingFinished/loadingFailed
644
+ // handlers below only mutate existing entries, so they self-skip.
645
+ const nAppKey = findAppKeyForDevice(device);
646
+ const nApp = nAppKey ? connectedApps.get(nAppKey) : null;
647
+ if (nApp?.sdkPresent) {
648
+ return;
649
+ }
559
650
  const params = message.params;
560
651
  const request = {
561
652
  requestId: params.requestId,
@@ -616,7 +707,7 @@ export function handleCDPMessage(message, device, ws) {
616
707
  if (method === "Runtime.executionContextCreated") {
617
708
  const params = message.params;
618
709
  markContextHealthy(appKey, params.context.id);
619
- console.error(`[rn-ai-debugger] Context created: ${params.context.id}`);
710
+ console.error(`[execbro] Context created: ${params.context.id}`);
620
711
  // Re-inject network interceptor and re-check CDP Network support
621
712
  const ctxApp = connectedApps.get(appKey);
622
713
  if (ctxApp?.ws?.readyState === WebSocket.OPEN) {
@@ -628,12 +719,12 @@ export function handleCDPMessage(message, device, ws) {
628
719
  // Handle Runtime.executionContextDestroyed
629
720
  if (method === "Runtime.executionContextDestroyed") {
630
721
  markContextStale(appKey);
631
- console.error(`[rn-ai-debugger] Context destroyed`);
722
+ console.error(`[execbro] Context destroyed`);
632
723
  }
633
724
  // Handle Runtime.executionContextsCleared
634
725
  if (method === "Runtime.executionContextsCleared") {
635
726
  markContextStale(appKey);
636
- console.error(`[rn-ai-debugger] All contexts cleared`);
727
+ console.error(`[execbro] All contexts cleared`);
637
728
  }
638
729
  }
639
730
  }
@@ -668,7 +759,7 @@ export async function connectToDevice(device, port, options = {}) {
668
759
  return;
669
760
  }
670
761
  // Ping failed — connection is dead, clean up
671
- console.error(`[rn-ai-debugger] Existing connection to ${device.title} failed liveness check (no pong), reconnecting`);
762
+ console.error(`[execbro] Existing connection to ${device.title} failed liveness check (no pong), reconnecting`);
672
763
  reconnectionSuppressed.add(appKey);
673
764
  try {
674
765
  existingApp.ws.terminate();
@@ -680,7 +771,7 @@ export async function connectToDevice(device, port, options = {}) {
680
771
  }
681
772
  else {
682
773
  // WebSocket exists but not OPEN - clean up stale entry
683
- console.error(`[rn-ai-debugger] Cleaning up stale connection for ${device.title} (state: ${getWebSocketStateName(existingApp.ws.readyState)})`);
774
+ console.error(`[execbro] Cleaning up stale connection for ${device.title} (state: ${getWebSocketStateName(existingApp.ws.readyState)})`);
684
775
  connectedApps.delete(appKey);
685
776
  }
686
777
  }
@@ -724,7 +815,7 @@ export async function connectToDevice(device, port, options = {}) {
724
815
  }
725
816
  catch { /* ignore */ }
726
817
  clearConnectionMetadata(appKey);
727
- console.error(`[rn-ai-debugger] Rejecting stale CDP target for ${device.title} (no probe response)`);
818
+ console.error(`[execbro] Rejecting stale CDP target for ${device.title} (no probe response)`);
728
819
  resolve(`Skipped ${device.deviceName || device.title} (stale CDP target — no response from JS context)`);
729
820
  return;
730
821
  }
@@ -743,12 +834,12 @@ export async function connectToDevice(device, port, options = {}) {
743
834
  });
744
835
  // Reset context health for reconnection
745
836
  initContextHealth(appKey);
746
- console.error(`[rn-ai-debugger] Reconnected to ${device.title}`);
837
+ console.error(`[execbro] Reconnected to ${device.title}`);
747
838
  }
748
839
  else {
749
840
  initConnectionState(appKey);
750
841
  initContextHealth(appKey);
751
- console.error(`[rn-ai-debugger] Connected to ${device.title}`);
842
+ console.error(`[execbro] Connected to ${device.title}`);
752
843
  }
753
844
  // Enable Runtime domain to receive console messages
754
845
  ws.send(JSON.stringify({
@@ -777,7 +868,7 @@ export async function connectToDevice(device, port, options = {}) {
777
868
  connectedApp.platform = "ios";
778
869
  connectedApp.simulatorUdid = simulatorUdid;
779
870
  }
780
- console.error(`[rn-ai-debugger] Linked to iOS simulator: ${simulatorUdid}`);
871
+ console.error(`[execbro] Linked to iOS simulator: ${simulatorUdid}`);
781
872
  }
782
873
  }
783
874
  // Fire-and-forget app detection (500ms delayed, non-blocking)
@@ -785,12 +876,16 @@ export async function connectToDevice(device, port, options = {}) {
785
876
  if (appForDetection) {
786
877
  scheduleAppDetection(appForDetection);
787
878
  }
879
+ // Start periodic SDK probe. When __RN_AI_DEVTOOLS__ is detected,
880
+ // app.sdkPresent flips to true and CDP/JS-interceptor buffer
881
+ // writes are suppressed (SDK becomes the single source).
882
+ startSdkProbeLoop(ws, appKey);
788
883
  // Start WebSocket ping/pong keepalive to detect dead connections
789
884
  // (especially important for physical devices over Wi-Fi)
790
885
  let pongReceived = true;
791
886
  const pingInterval = setInterval(() => {
792
887
  if (!pongReceived) {
793
- console.error(`[rn-ai-debugger] No pong from ${device.title}, terminating connection`);
888
+ console.error(`[execbro] No pong from ${device.title}, terminating connection`);
794
889
  clearInterval(pingInterval);
795
890
  ws.terminate();
796
891
  return;
@@ -829,7 +924,7 @@ export async function connectToDevice(device, port, options = {}) {
829
924
  if (wasStable) {
830
925
  // Connection was stable - reset attempts for fresh start
831
926
  updateConnectionState(appKey, { reconnectionAttempts: 0 });
832
- console.error(`[rn-ai-debugger] Connection was stable for ${Math.round(connectionDuration / 1000)}s, resetting reconnection attempts`);
927
+ console.error(`[execbro] Connection was stable for ${Math.round(connectionDuration / 1000)}s, resetting reconnection attempts`);
833
928
  }
834
929
  }
835
930
  // Record the gap and trigger reconnection
@@ -838,18 +933,18 @@ export async function connectToDevice(device, port, options = {}) {
838
933
  status: "disconnected",
839
934
  lastDisconnectTime: new Date()
840
935
  });
841
- console.error(`[rn-ai-debugger] Disconnected from ${device.title}`);
936
+ console.error(`[execbro] Disconnected from ${device.title}`);
842
937
  // Schedule auto-reconnection if enabled (skip if intentionally disconnected)
843
938
  if (reconnectionConfig.enabled && !reconnectionSuppressed.has(appKey)) {
844
939
  scheduleReconnection(appKey, reconnectionConfig);
845
940
  }
846
941
  else if (reconnectionSuppressed.has(appKey)) {
847
942
  reconnectionSuppressed.delete(appKey);
848
- console.error(`[rn-ai-debugger] Reconnection suppressed for ${device.title} (intentional disconnect)`);
943
+ console.error(`[execbro] Reconnection suppressed for ${device.title} (intentional disconnect)`);
849
944
  }
850
945
  });
851
946
  ws.on("error", (error) => {
852
- console.error(`[rn-ai-debugger] WebSocket error for ${device.title}: ${error?.message || error}`);
947
+ console.error(`[execbro] WebSocket error for ${device.title}: ${error?.message || error}`);
853
948
  });
854
949
  resolve(`Connected to ${device.title} (${device.deviceName})`);
855
950
  }
@@ -865,7 +960,7 @@ export async function connectToDevice(device, port, options = {}) {
865
960
  reject(`Failed to connect to ${device.title}: ${errorMsg}`);
866
961
  }
867
962
  else {
868
- console.error(`[rn-ai-debugger] Reconnection error: ${errorMsg}`);
963
+ console.error(`[execbro] Reconnection error: ${errorMsg}`);
869
964
  }
870
965
  }
871
966
  });
@@ -879,12 +974,12 @@ function scheduleReconnection(appKey, config = DEFAULT_RECONNECTION_CONFIG) {
879
974
  return;
880
975
  const attempts = state.reconnectionAttempts;
881
976
  if (attempts >= config.maxAttempts) {
882
- console.error(`[rn-ai-debugger] Max reconnection attempts (${config.maxAttempts}) reached for ${appKey}`);
977
+ console.error(`[execbro] Max reconnection attempts (${config.maxAttempts}) reached for ${appKey}`);
883
978
  updateConnectionState(appKey, { status: "disconnected" });
884
979
  return;
885
980
  }
886
981
  const delay = calculateBackoffDelay(attempts, config);
887
- console.error(`[rn-ai-debugger] Scheduling reconnection attempt ${attempts + 1}/${config.maxAttempts} in ${delay}ms`);
982
+ console.error(`[execbro] Scheduling reconnection attempt ${attempts + 1}/${config.maxAttempts} in ${delay}ms`);
888
983
  updateConnectionState(appKey, {
889
984
  status: "reconnecting",
890
985
  reconnectionAttempts: attempts + 1
@@ -900,14 +995,14 @@ function scheduleReconnection(appKey, config = DEFAULT_RECONNECTION_CONFIG) {
900
995
  async function attemptReconnection(appKey, config = DEFAULT_RECONNECTION_CONFIG) {
901
996
  const metadata = getConnectionMetadata(appKey);
902
997
  if (!metadata) {
903
- console.error(`[rn-ai-debugger] No metadata for reconnection: ${appKey}`);
998
+ console.error(`[execbro] No metadata for reconnection: ${appKey}`);
904
999
  return false;
905
1000
  }
906
1001
  // Quick check: is Metro even running on this port?
907
1002
  const { scanMetroPorts } = await import("./metro.js");
908
1003
  const openPorts = await scanMetroPorts(metadata.port, metadata.port);
909
1004
  if (openPorts.length === 0) {
910
- console.error(`[rn-ai-debugger] Metro not running on port ${metadata.port}, stopping reconnection for ${appKey}`);
1005
+ console.error(`[execbro] Metro not running on port ${metadata.port}, stopping reconnection for ${appKey}`);
911
1006
  updateConnectionState(appKey, { status: "disconnected" });
912
1007
  return false;
913
1008
  }
@@ -918,7 +1013,7 @@ async function attemptReconnection(appKey, config = DEFAULT_RECONNECTION_CONFIG)
918
1013
  const device = devices.find(d => d.id === metadata.deviceInfo.id)
919
1014
  || selectMainDevice(devices);
920
1015
  if (!device) {
921
- console.error(`[rn-ai-debugger] Device no longer available for ${appKey}`);
1016
+ console.error(`[execbro] Device no longer available for ${appKey}`);
922
1017
  // Schedule next attempt
923
1018
  scheduleReconnection(appKey, config);
924
1019
  return false;
@@ -927,7 +1022,7 @@ async function attemptReconnection(appKey, config = DEFAULT_RECONNECTION_CONFIG)
927
1022
  return true;
928
1023
  }
929
1024
  catch (error) {
930
- console.error(`[rn-ai-debugger] Reconnection failed: ${error}`);
1025
+ console.error(`[execbro] Reconnection failed: ${error}`);
931
1026
  // Schedule next attempt
932
1027
  scheduleReconnection(appKey, config);
933
1028
  return false;
@@ -949,7 +1044,7 @@ export function getFirstConnectedApp() {
949
1044
  return app;
950
1045
  }
951
1046
  // Clean up stale entry
952
- console.error(`[rn-ai-debugger] Cleaning up stale connection in getFirstConnectedApp: ${key} (state: ${getWebSocketStateName(app.ws.readyState)})`);
1047
+ console.error(`[execbro] Cleaning up stale connection in getFirstConnectedApp: ${key} (state: ${getWebSocketStateName(app.ws.readyState)})`);
953
1048
  connectedApps.delete(key);
954
1049
  }
955
1050
  return null;
@@ -1319,7 +1414,7 @@ export async function ensureConnection(options = {}) {
1319
1414
  healthCheckPassed = await runQuickHealthCheck(app);
1320
1415
  // If health check failed and we haven't just reconnected, try reconnecting
1321
1416
  if (!healthCheckPassed && !wasReconnected) {
1322
- console.error(`[rn-ai-debugger] Health check failed, attempting reconnection...`);
1417
+ console.error(`[execbro] Health check failed, attempting reconnection...`);
1323
1418
  // Close and reconnect
1324
1419
  const appKey = `${app.port}-${app.deviceInfo.id}`;
1325
1420
  const targetPort = app.port;