react-native-ai-debugger 1.6.16 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +8 -1
  2. package/build/__tests__/unit/exec.test.d.ts +2 -0
  3. package/build/__tests__/unit/exec.test.d.ts.map +1 -0
  4. package/build/__tests__/unit/exec.test.js +54 -0
  5. package/build/__tests__/unit/exec.test.js.map +1 -0
  6. package/build/__tests__/unit/focusedInput.test.d.ts +2 -0
  7. package/build/__tests__/unit/focusedInput.test.d.ts.map +1 -0
  8. package/build/__tests__/unit/focusedInput.test.js +58 -0
  9. package/build/__tests__/unit/focusedInput.test.js.map +1 -0
  10. package/build/__tests__/unit/focusedInputTools.test.d.ts +2 -0
  11. package/build/__tests__/unit/focusedInputTools.test.d.ts.map +1 -0
  12. package/build/__tests__/unit/focusedInputTools.test.js +79 -0
  13. package/build/__tests__/unit/focusedInputTools.test.js.map +1 -0
  14. package/build/__tests__/unit/tap.test.js +46 -0
  15. package/build/__tests__/unit/tap.test.js.map +1 -1
  16. package/build/core/android.d.ts +3 -3
  17. package/build/core/android.d.ts.map +1 -1
  18. package/build/core/android.js +21 -14
  19. package/build/core/android.js.map +1 -1
  20. package/build/core/appDetection.d.ts +7 -0
  21. package/build/core/appDetection.d.ts.map +1 -1
  22. package/build/core/appDetection.js +38 -17
  23. package/build/core/appDetection.js.map +1 -1
  24. package/build/core/componentSearch.d.ts +38 -0
  25. package/build/core/componentSearch.d.ts.map +1 -0
  26. package/build/core/componentSearch.js +419 -0
  27. package/build/core/componentSearch.js.map +1 -0
  28. package/build/core/componentTree.d.ts +12 -0
  29. package/build/core/componentTree.d.ts.map +1 -0
  30. package/build/core/componentTree.js +275 -0
  31. package/build/core/componentTree.js.map +1 -0
  32. package/build/core/connection.d.ts +1 -0
  33. package/build/core/connection.d.ts.map +1 -1
  34. package/build/core/connection.js +99 -89
  35. package/build/core/connection.js.map +1 -1
  36. package/build/core/debugGlobals.d.ts +5 -0
  37. package/build/core/debugGlobals.d.ts.map +1 -0
  38. package/build/core/debugGlobals.js +300 -0
  39. package/build/core/debugGlobals.js.map +1 -0
  40. package/build/core/errors.d.ts +14 -0
  41. package/build/core/errors.d.ts.map +1 -0
  42. package/build/core/errors.js +17 -0
  43. package/build/core/errors.js.map +1 -0
  44. package/build/core/exec.d.ts +22 -0
  45. package/build/core/exec.d.ts.map +1 -0
  46. package/build/core/exec.js +54 -0
  47. package/build/core/exec.js.map +1 -0
  48. package/build/core/executor.d.ts +7 -204
  49. package/build/core/executor.d.ts.map +1 -1
  50. package/build/core/executor.js +10 -4103
  51. package/build/core/executor.js.map +1 -1
  52. package/build/core/focusedInput.d.ts +27 -0
  53. package/build/core/focusedInput.d.ts.map +1 -0
  54. package/build/core/focusedInput.js +110 -0
  55. package/build/core/focusedInput.js.map +1 -0
  56. package/build/core/focusedInputTools.d.ts +21 -0
  57. package/build/core/focusedInputTools.d.ts.map +1 -0
  58. package/build/core/focusedInputTools.js +51 -0
  59. package/build/core/focusedInputTools.js.map +1 -0
  60. package/build/core/guides.d.ts.map +1 -1
  61. package/build/core/guides.js +15 -2
  62. package/build/core/guides.js.map +1 -1
  63. package/build/core/index.d.ts +4 -3
  64. package/build/core/index.d.ts.map +1 -1
  65. package/build/core/index.js +4 -3
  66. package/build/core/index.js.map +1 -1
  67. package/build/core/inspector.d.ts +50 -0
  68. package/build/core/inspector.d.ts.map +1 -0
  69. package/build/core/inspector.js +604 -0
  70. package/build/core/inspector.js.map +1 -0
  71. package/build/core/ios.d.ts +8 -0
  72. package/build/core/ios.d.ts.map +1 -1
  73. package/build/core/ios.js +142 -2
  74. package/build/core/ios.js.map +1 -1
  75. package/build/core/jsExecute.d.ts +27 -0
  76. package/build/core/jsExecute.d.ts.map +1 -0
  77. package/build/core/jsExecute.js +453 -0
  78. package/build/core/jsExecute.js.map +1 -0
  79. package/build/core/ocr.d.ts +13 -0
  80. package/build/core/ocr.d.ts.map +1 -1
  81. package/build/core/ocr.js +37 -15
  82. package/build/core/ocr.js.map +1 -1
  83. package/build/core/posthog.d.ts.map +1 -1
  84. package/build/core/posthog.js +7 -1
  85. package/build/core/posthog.js.map +1 -1
  86. package/build/core/pressables.d.ts +44 -0
  87. package/build/core/pressables.d.ts.map +1 -0
  88. package/build/core/pressables.js +1480 -0
  89. package/build/core/pressables.js.map +1 -0
  90. package/build/core/register.d.ts +8 -0
  91. package/build/core/register.d.ts.map +1 -0
  92. package/build/core/register.js +216 -0
  93. package/build/core/register.js.map +1 -0
  94. package/build/core/screenLayout.d.ts +52 -0
  95. package/build/core/screenLayout.d.ts.map +1 -0
  96. package/build/core/screenLayout.js +828 -0
  97. package/build/core/screenLayout.js.map +1 -0
  98. package/build/core/toolHelpers.d.ts +24 -0
  99. package/build/core/toolHelpers.d.ts.map +1 -0
  100. package/build/core/toolHelpers.js +118 -0
  101. package/build/core/toolHelpers.js.map +1 -0
  102. package/build/core/types.d.ts +11 -6
  103. package/build/core/types.d.ts.map +1 -1
  104. package/build/index.d.ts +2 -4
  105. package/build/index.d.ts.map +1 -1
  106. package/build/index.js +37 -4313
  107. package/build/index.js.map +1 -1
  108. package/build/pro/tap.d.ts +51 -5
  109. package/build/pro/tap.d.ts.map +1 -1
  110. package/build/pro/tap.js +457 -54
  111. package/build/pro/tap.js.map +1 -1
  112. package/build/tools/accountTools.d.ts +2 -0
  113. package/build/tools/accountTools.d.ts.map +1 -1
  114. package/build/tools/accountTools.js +5 -0
  115. package/build/tools/accountTools.js.map +1 -1
  116. package/build/tools/bundleTools.d.ts +3 -0
  117. package/build/tools/bundleTools.d.ts.map +1 -0
  118. package/build/tools/bundleTools.js +368 -0
  119. package/build/tools/bundleTools.js.map +1 -0
  120. package/build/tools/componentTools.d.ts +3 -0
  121. package/build/tools/componentTools.d.ts.map +1 -0
  122. package/build/tools/componentTools.js +639 -0
  123. package/build/tools/componentTools.js.map +1 -0
  124. package/build/tools/connectionTools.d.ts +3 -0
  125. package/build/tools/connectionTools.d.ts.map +1 -0
  126. package/build/tools/connectionTools.js +564 -0
  127. package/build/tools/connectionTools.js.map +1 -0
  128. package/build/tools/deviceTools.d.ts +3 -0
  129. package/build/tools/deviceTools.d.ts.map +1 -0
  130. package/build/tools/deviceTools.js +296 -0
  131. package/build/tools/deviceTools.js.map +1 -0
  132. package/build/tools/executionTools.d.ts +3 -0
  133. package/build/tools/executionTools.d.ts.map +1 -0
  134. package/build/tools/executionTools.js +173 -0
  135. package/build/tools/executionTools.js.map +1 -0
  136. package/build/tools/interactionTools.d.ts +3 -0
  137. package/build/tools/interactionTools.d.ts.map +1 -0
  138. package/build/tools/interactionTools.js +414 -0
  139. package/build/tools/interactionTools.js.map +1 -0
  140. package/build/tools/logTools.d.ts +3 -0
  141. package/build/tools/logTools.d.ts.map +1 -0
  142. package/build/tools/logTools.js +371 -0
  143. package/build/tools/logTools.js.map +1 -0
  144. package/build/tools/metaTools.d.ts +7 -0
  145. package/build/tools/metaTools.d.ts.map +1 -0
  146. package/build/tools/metaTools.js +205 -0
  147. package/build/tools/metaTools.js.map +1 -0
  148. package/build/tools/networkTools.d.ts +3 -0
  149. package/build/tools/networkTools.d.ts.map +1 -0
  150. package/build/tools/networkTools.js +478 -0
  151. package/build/tools/networkTools.js.map +1 -0
  152. package/build/tools/reduxTools.d.ts +3 -0
  153. package/build/tools/reduxTools.d.ts.map +1 -0
  154. package/build/tools/reduxTools.js +83 -0
  155. package/build/tools/reduxTools.js.map +1 -0
  156. package/build/tools/screenshotTools.d.ts +3 -0
  157. package/build/tools/screenshotTools.d.ts.map +1 -0
  158. package/build/tools/screenshotTools.js +606 -0
  159. package/build/tools/screenshotTools.js.map +1 -0
  160. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionTools.js","sourceRoot":"","sources":["../../src/tools/connectionTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerDeviceTools(server: McpServer): void;
3
+ //# sourceMappingURL=deviceTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTools.d.ts","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+W3D"}
@@ -0,0 +1,296 @@
1
+ import { z } from "zod";
2
+ import { registerToolWithTelemetry } from "../core/register.js";
3
+ import { listAndroidDevices, androidInstallApp, androidLaunchApp, androidListPackages, androidGetScreenSize, listIOSSimulators, iosInstallApp, iosLaunchApp, iosTerminateApp, iosBootSimulator, iosOpenUrl, } from "../core/index.js";
4
+ import { platformUniqueBanner } from "../core/toolHelpers.js";
5
+ export function registerDeviceTools(server) {
6
+ // ============================================================================
7
+ // Tool: List Android devices
8
+ registerToolWithTelemetry(server, "list_android_devices", {
9
+ description: "List connected Android devices and emulators via ADB.\n" +
10
+ "PURPOSE: Discover which physical devices and emulators are visible to adb so you can pick a target UDID/serial.\n" +
11
+ "WHEN TO USE: Before android_install_app / android_launch_app, or when a tool reports \"no device\" and you need to confirm visibility.\n" +
12
+ "SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
13
+ inputSchema: {}
14
+ }, async () => {
15
+ const result = await listAndroidDevices();
16
+ return {
17
+ content: [
18
+ {
19
+ type: "text",
20
+ text: result.success ? result.result : `Error: ${result.error}`
21
+ }
22
+ ],
23
+ isError: !result.success
24
+ };
25
+ });
26
+ // Tool: Android install app
27
+ registerToolWithTelemetry(server, "android_install_app", {
28
+ description: "Install an APK on an Android device/emulator" +
29
+ platformUniqueBanner("installing an Android APK") +
30
+ "\nPURPOSE: Push a built APK to a connected Android device or emulator via adb." +
31
+ "\nWHEN TO USE: After producing a fresh build, when switching app variants, or when preparing a clean test run." +
32
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
33
+ inputSchema: {
34
+ apkPath: z.string().describe("Path to the APK file to install"),
35
+ deviceId: z
36
+ .string()
37
+ .optional()
38
+ .describe("Optional device ID. Uses first available device if not specified."),
39
+ replace: z
40
+ .boolean()
41
+ .optional()
42
+ .default(true)
43
+ .describe("Replace existing app if already installed (default: true)"),
44
+ grantPermissions: z
45
+ .boolean()
46
+ .optional()
47
+ .default(false)
48
+ .describe("Grant all runtime permissions on install (default: false)")
49
+ }
50
+ }, async ({ apkPath, deviceId, replace, grantPermissions }) => {
51
+ const result = await androidInstallApp(apkPath, deviceId, { replace, grantPermissions });
52
+ return {
53
+ content: [
54
+ {
55
+ type: "text",
56
+ text: result.success ? result.result : `Error: ${result.error}`
57
+ }
58
+ ],
59
+ isError: !result.success
60
+ };
61
+ });
62
+ // Tool: Android launch app
63
+ registerToolWithTelemetry(server, "android_launch_app", {
64
+ description: "Launch an app on an Android device/emulator by package name" +
65
+ platformUniqueBanner("launching an Android app by package name") +
66
+ "\nPURPOSE: Start an installed Android app by its package (and optional activity) so the next tool calls hit a running process." +
67
+ "\nWHEN TO USE: After android_install_app, after a force-stop, or when the app isn't foregrounded before interaction." +
68
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
69
+ inputSchema: {
70
+ packageName: z.string().describe("Package name of the app (e.g., com.example.myapp)"),
71
+ activityName: z
72
+ .string()
73
+ .optional()
74
+ .describe("Optional activity name to launch (e.g., .MainActivity). If not provided, launches the main activity."),
75
+ deviceId: z
76
+ .string()
77
+ .optional()
78
+ .describe("Optional device ID. Uses first available device if not specified.")
79
+ }
80
+ }, async ({ packageName, activityName, deviceId }) => {
81
+ const result = await androidLaunchApp(packageName, activityName, deviceId);
82
+ return {
83
+ content: [
84
+ {
85
+ type: "text",
86
+ text: result.success ? result.result : `Error: ${result.error}`
87
+ }
88
+ ],
89
+ isError: !result.success
90
+ };
91
+ });
92
+ // Tool: Android list packages
93
+ registerToolWithTelemetry(server, "android_list_packages", {
94
+ description: "List installed packages on an Android device/emulator" +
95
+ platformUniqueBanner("listing installed Android packages") +
96
+ "\nPURPOSE: Enumerate package names visible to adb so you can confirm installation or pick the right target for android_launch_app." +
97
+ "\nWHEN TO USE: Before android_launch_app when you don't know the exact package name, or to verify an install succeeded." +
98
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
99
+ inputSchema: {
100
+ deviceId: z
101
+ .string()
102
+ .optional()
103
+ .describe("Optional device ID. Uses first available device if not specified."),
104
+ filter: z.string().optional().describe("Optional filter to search packages by name (case-insensitive)")
105
+ }
106
+ }, async ({ deviceId, filter }) => {
107
+ const result = await androidListPackages(deviceId, filter);
108
+ return {
109
+ content: [
110
+ {
111
+ type: "text",
112
+ text: result.success ? result.result : `Error: ${result.error}`
113
+ }
114
+ ],
115
+ isError: !result.success
116
+ };
117
+ });
118
+ // Tool: Android get screen size
119
+ registerToolWithTelemetry(server, "android_get_screen_size", {
120
+ description: "Get the screen size (resolution) of an Android device/emulator" +
121
+ platformUniqueBanner("reading Android device pixel resolution") +
122
+ "\nPURPOSE: Return the device's pixel width and height so you can compute safe tap/swipe coordinates." +
123
+ "\nWHEN TO USE: Before scripting raw-coordinate gestures on an unfamiliar device, or when normalizing coordinates across devices." +
124
+ "\nSEE ALSO: call get_usage_guide(topic=\"interact\") for the full UI-interaction playbook.",
125
+ inputSchema: {
126
+ deviceId: z
127
+ .string()
128
+ .optional()
129
+ .describe("Optional device ID. Uses first available device if not specified.")
130
+ }
131
+ }, async ({ deviceId }) => {
132
+ const result = await androidGetScreenSize(deviceId);
133
+ if (!result.success) {
134
+ return {
135
+ content: [
136
+ {
137
+ type: "text",
138
+ text: `Error: ${result.error}`
139
+ }
140
+ ],
141
+ isError: true
142
+ };
143
+ }
144
+ return {
145
+ content: [
146
+ {
147
+ type: "text",
148
+ text: `Screen size: ${result.width}x${result.height} pixels`
149
+ }
150
+ ]
151
+ };
152
+ });
153
+ // Tool: List iOS simulators
154
+ registerToolWithTelemetry(server, "list_ios_simulators", {
155
+ description: "List available iOS simulators.\n" +
156
+ "PURPOSE: Enumerate installed iOS simulators with their UDIDs and boot state so you can boot or install into the right one.\n" +
157
+ "WHEN TO USE: Before ios_boot_simulator / ios_install_app, or when you need a UDID for a specific device name.\n" +
158
+ "SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
159
+ inputSchema: {
160
+ onlyBooted: z
161
+ .boolean()
162
+ .optional()
163
+ .default(false)
164
+ .describe("Only show currently running simulators (default: false)")
165
+ }
166
+ }, async ({ onlyBooted }) => {
167
+ const result = await listIOSSimulators(onlyBooted);
168
+ return {
169
+ content: [
170
+ {
171
+ type: "text",
172
+ text: result.success ? result.result : `Error: ${result.error}`
173
+ }
174
+ ],
175
+ isError: !result.success
176
+ };
177
+ });
178
+ registerToolWithTelemetry(server, "ios_install_app", {
179
+ description: "Install an app bundle (.app) on an iOS simulator" +
180
+ platformUniqueBanner("installing an iOS .app/.ipa bundle") +
181
+ "\nPURPOSE: Deploy a built .app bundle onto a booted iOS simulator via simctl." +
182
+ "\nWHEN TO USE: After producing a fresh simulator build, when switching app variants, or when preparing a clean test run." +
183
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
184
+ inputSchema: {
185
+ appPath: z.string().describe("Path to the .app bundle to install"),
186
+ udid: z.string().optional().describe("Optional simulator UDID. Uses booted simulator if not specified.")
187
+ }
188
+ }, async ({ appPath, udid }) => {
189
+ const result = await iosInstallApp(appPath, udid);
190
+ return {
191
+ content: [
192
+ {
193
+ type: "text",
194
+ text: result.success ? result.result : `Error: ${result.error}`
195
+ }
196
+ ],
197
+ isError: !result.success
198
+ };
199
+ });
200
+ // Tool: iOS launch app
201
+ registerToolWithTelemetry(server, "ios_launch_app", {
202
+ description: "Launch an app on an iOS simulator by bundle ID" +
203
+ platformUniqueBanner("launching an iOS app by bundle ID") +
204
+ "\nPURPOSE: Start an installed iOS app by its bundle ID so the next tool calls hit a running process." +
205
+ "\nWHEN TO USE: After ios_install_app, after ios_terminate_app, or when the app isn't foregrounded before interaction." +
206
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
207
+ inputSchema: {
208
+ bundleId: z.string().describe("Bundle ID of the app (e.g., com.example.myapp)"),
209
+ udid: z.string().optional().describe("Optional simulator UDID. Uses booted simulator if not specified.")
210
+ }
211
+ }, async ({ bundleId, udid }) => {
212
+ const result = await iosLaunchApp(bundleId, udid);
213
+ return {
214
+ content: [
215
+ {
216
+ type: "text",
217
+ text: result.success ? result.result : `Error: ${result.error}`
218
+ }
219
+ ],
220
+ isError: !result.success
221
+ };
222
+ });
223
+ // Tool: iOS open URL
224
+ registerToolWithTelemetry(server, "ios_open_url", {
225
+ description: "Open a URL in the iOS simulator (opens in default handler or Safari).\n" +
226
+ "PURPOSE: Drive an iOS simulator into a deep link or universal link entry point so you can exercise routing from an external entry.\n" +
227
+ "WHEN TO USE: Testing deep-link handlers, universal link routing, OAuth/SSO callback URLs, or any flow that enters the app via a URL.\n" +
228
+ "WORKFLOW: ios_boot_simulator -> ios_launch_app (or have the app running) -> ios_open_url -> ios_screenshot / get_screen_layout to verify the target screen rendered.\n" +
229
+ "GOOD: ios_open_url(url=\"myapp://product/42\") to land directly on a product screen.\n" +
230
+ "BAD: ios_open_url(url=\"...\") used as a substitute for in-app navigation when the user would normally tap — prefer `tap` for normal interaction flows.\n" +
231
+ "SEE ALSO: call get_usage_guide(topic=\"interact\") for the full UI-interaction playbook." +
232
+ platformUniqueBanner("testing iOS deep links or universal links"),
233
+ inputSchema: {
234
+ url: z.string().describe("URL to open (e.g., https://example.com or myapp://path)"),
235
+ udid: z.string().optional().describe("Optional simulator UDID. Uses booted simulator if not specified.")
236
+ }
237
+ }, async ({ url, udid }) => {
238
+ const result = await iosOpenUrl(url, udid);
239
+ return {
240
+ content: [
241
+ {
242
+ type: "text",
243
+ text: result.success ? result.result : `Error: ${result.error}`
244
+ }
245
+ ],
246
+ isError: !result.success
247
+ };
248
+ });
249
+ // Tool: iOS terminate app
250
+ registerToolWithTelemetry(server, "ios_terminate_app", {
251
+ description: "Terminate a running app on an iOS simulator" +
252
+ platformUniqueBanner("force-terminating an iOS app") +
253
+ "\nPURPOSE: Force-kill an iOS app process so the next launch starts from a cold state." +
254
+ "\nWHEN TO USE: To reset app state fully (beyond what reload_app does), or before reinstalling a new build." +
255
+ "\nSEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
256
+ inputSchema: {
257
+ bundleId: z.string().describe("Bundle ID of the app to terminate"),
258
+ udid: z.string().optional().describe("Optional simulator UDID. Uses booted simulator if not specified.")
259
+ }
260
+ }, async ({ bundleId, udid }) => {
261
+ const result = await iosTerminateApp(bundleId, udid);
262
+ return {
263
+ content: [
264
+ {
265
+ type: "text",
266
+ text: result.success ? result.result : `Error: ${result.error}`
267
+ }
268
+ ],
269
+ isError: !result.success
270
+ };
271
+ });
272
+ // Tool: iOS boot simulator
273
+ registerToolWithTelemetry(server, "ios_boot_simulator", {
274
+ description: "Boot an iOS simulator by UDID.\n" +
275
+ "PURPOSE: Bring a specific simulator online so you can install/launch an app in it.\n" +
276
+ "WHEN TO USE: At session start when no simulator is running, or after switching between device models.\n" +
277
+ "SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook." +
278
+ platformUniqueBanner("booting an iOS simulator") +
279
+ " Use list_ios_simulators to find available simulators.",
280
+ inputSchema: {
281
+ udid: z.string().describe("UDID of the simulator to boot (from list_ios_simulators)")
282
+ }
283
+ }, async ({ udid }) => {
284
+ const result = await iosBootSimulator(udid);
285
+ return {
286
+ content: [
287
+ {
288
+ type: "text",
289
+ text: result.success ? result.result : `Error: ${result.error}`
290
+ }
291
+ ],
292
+ isError: !result.success
293
+ };
294
+ });
295
+ }
296
+ //# sourceMappingURL=deviceTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTools.js","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerExecutionTools(server: McpServer): void;
3
+ //# sourceMappingURL=executionTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionTools.d.ts","sourceRoot":"","sources":["../../src/tools/executionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2M9D"}
@@ -0,0 +1,173 @@
1
+ import { z } from "zod";
2
+ import { registerToolWithTelemetry } from "../core/register.js";
3
+ import { executeInApp, listDebugGlobals, inspectGlobal } from "../core/index.js";
4
+ export function registerExecutionTools(server) {
5
+ // Tool: Execute JavaScript in app
6
+ registerToolWithTelemetry(server, "execute_in_app", {
7
+ description: "Execute JavaScript code in the connected React Native app and return the result. Use this for inspecting app state, calling methods on exposed global objects, or running diagnostic code. Hermes compatible: 'global' is automatically polyfilled to 'globalThis', so both global.__REDUX_STORE__ and globalThis.__REDUX_STORE__ work.\n\n" +
8
+ "RECOMMENDED WORKFLOW: 1) list_debug_globals to discover available objects, 2) inspect_global to see properties/methods, 3) execute_in_app to call specific methods or read values.\n\n" +
9
+ "LIMITATIONS (Hermes engine):\n" +
10
+ "- NO require() or import — only pre-existing globals are available\n" +
11
+ "- NO async/await syntax — use simple expressions or promise chains (.then())\n" +
12
+ "- NO emoji or non-ASCII characters in string literals — causes parse errors\n" +
13
+ "- Keep expressions simple and synchronous when possible\n\n" +
14
+ "GOOD examples: `__DEV__`, `__APOLLO_CLIENT__.cache.extract()`, `__EXPO_ROUTER__.navigate('/settings')`\n" +
15
+ "BAD examples: `async () => { await fetch(...) }`, `require('react-native')`, `console.log('\\u{1F600}')`\n" +
16
+ "SEE ALSO: call get_usage_guide(topic=\"state\") for the full app-state playbook.",
17
+ inputSchema: {
18
+ expression: z
19
+ .string()
20
+ .describe("JavaScript expression to execute. Must be valid Hermes syntax — no require(), no async/await, no emoji/non-ASCII in strings. Use globals discovered via list_debug_globals."),
21
+ awaitPromise: z.coerce
22
+ .boolean()
23
+ .optional()
24
+ .default(true)
25
+ .describe("Whether to await promises (default: true)"),
26
+ maxResultLength: z.coerce
27
+ .number()
28
+ .optional()
29
+ .default(2000)
30
+ .describe("Max characters in result (default: 2000, set to 0 for unlimited). Tip: For large objects like Redux stores, use inspect_global instead or set higher limit."),
31
+ verbose: z
32
+ .boolean()
33
+ .optional()
34
+ .default(false)
35
+ .describe("Disable result truncation. Tip: Be cautious - Redux stores or large state can return 10KB+."),
36
+ device: z.string().optional().describe("Target device name (substring match). Omit for default device. Run get_apps to see connected devices.")
37
+ }
38
+ }, async ({ expression, awaitPromise, maxResultLength, verbose, device }) => {
39
+ const result = await executeInApp(expression, awaitPromise, {}, device);
40
+ if (!result.success) {
41
+ let errorText = `Error: ${result.error}`;
42
+ // If the error is a ReferenceError (accessing a global that doesn't exist),
43
+ // guide the agent to expose the variable as a global first
44
+ if (result.error?.includes("ReferenceError")) {
45
+ errorText +=
46
+ "\n\nNOTE: This variable is not exposed as a global. To access it, first assign it to a global variable in your app code (e.g., `globalThis.__MY_VAR__ = myVar;`), then use execute_in_app to read `__MY_VAR__`. You can also use list_debug_globals to see what globals ARE currently available.";
47
+ }
48
+ return {
49
+ content: [
50
+ {
51
+ type: "text",
52
+ text: errorText
53
+ }
54
+ ],
55
+ isError: true,
56
+ // Include expression as context for telemetry (helps debug syntax errors)
57
+ _errorContext: expression
58
+ };
59
+ }
60
+ let resultText = result.result ?? "undefined";
61
+ // Apply truncation unless verbose or unlimited
62
+ if (!verbose && maxResultLength > 0 && resultText.length > maxResultLength) {
63
+ resultText =
64
+ resultText.slice(0, maxResultLength) + `... [truncated: ${result.result?.length ?? 0} chars total]`;
65
+ }
66
+ return {
67
+ content: [
68
+ {
69
+ type: "text",
70
+ text: resultText
71
+ }
72
+ ]
73
+ };
74
+ },
75
+ // Empty result detector: successful execution but no meaningful output
76
+ (result) => {
77
+ if (result?.isError)
78
+ return false;
79
+ const text = result?.content?.[0]?.text;
80
+ return text === undefined || text === "" || text === "undefined" || text === "null";
81
+ });
82
+ // Tool: List debug globals available in the app
83
+ registerToolWithTelemetry(server, "list_debug_globals", {
84
+ description: "List globally available debugging objects in the connected React Native app (Apollo Client, Redux store, React DevTools, etc.). Use this to discover what state management and debugging tools are available.\n" +
85
+ "PURPOSE: Enumerate the app's `globalThis.*` surface so you know which stores, clients, and debug hooks you can drill into.\n" +
86
+ "WHEN TO USE: Start of a state-debugging session, or when you don't know whether the app exposes a Redux/Apollo/Zustand handle.\n" +
87
+ "WORKFLOW: list_debug_globals -> inspect_global(objectName=\"...\") -> execute_in_app for reads/mutations.\n" +
88
+ "SDK INTEGRATION: If the app uses `react-native-ai-devtools-sdk` and called `init({ stores, navigation, custom })`, the response includes an `sdk.paths` array of ready-to-use dotted paths (e.g. `__RN_AI_DEVTOOLS__.stores.redux`, `__RN_AI_DEVTOOLS__.custom.mmkv`). Pass these straight to inspect_global or execute_in_app.\n" +
89
+ "OUTPUT SHAPE: { sdk: { version, capabilities, paths, hint } | null, categories: { 'Apollo Client': [...], 'Redux': [...], 'Other Debug': [...], ... } }\n" +
90
+ "LIMITATIONS: Only sees variables explicitly assigned to a global (e.g., `globalThis.store = store`). Module-scoped state is invisible — expose it first or use the SDK's init().\n" +
91
+ "GOOD: list_debug_globals()\n" +
92
+ "BAD: Calling before scan_metro — needs a live connection.\n" +
93
+ "SEE ALSO: call get_usage_guide(topic=\"state\") for the full app-state playbook.",
94
+ inputSchema: {
95
+ device: z.string().optional().describe("Target device name (substring match). Omit for default device. Run get_apps to see connected devices.")
96
+ }
97
+ }, async ({ device }) => {
98
+ const result = await listDebugGlobals(device);
99
+ if (!result.success) {
100
+ return {
101
+ content: [
102
+ {
103
+ type: "text",
104
+ text: `Error: ${result.error}`
105
+ }
106
+ ],
107
+ isError: true
108
+ };
109
+ }
110
+ return {
111
+ content: [
112
+ {
113
+ type: "text",
114
+ text: `Available debug globals in the app:\n\n${result.result}`
115
+ }
116
+ ]
117
+ };
118
+ });
119
+ // Tool: Inspect a global object to see its properties and types
120
+ registerToolWithTelemetry(server, "inspect_global", {
121
+ description: "Inspect a global object (or a dotted path into one) to see its properties, types, and whether they are callable functions. Use this BEFORE calling methods on unfamiliar objects to avoid errors.\n" +
122
+ "PURPOSE: Surface the shape of a global (Apollo client, Redux store, Expo Router, SDK-registered store, etc.) — keys, types, and which members are callable — without executing arbitrary code.\n" +
123
+ "WHEN TO USE: After list_debug_globals identifies a promising global and before you try execute_in_app on it.\n" +
124
+ "WORKFLOW: list_debug_globals -> inspect_global(objectName=\"__APOLLO_CLIENT__\") -> execute_in_app(\"__APOLLO_CLIENT__.cache.extract()\").\n" +
125
+ "DOTTED PATHS: Pass dotted paths to drill into the SDK surface, e.g. inspect_global({ objectName: \"__RN_AI_DEVTOOLS__.stores.redux\" }) or \"__RN_AI_DEVTOOLS__.custom.mmkv\". Only identifier paths are accepted — for arbitrary expressions, use execute_in_app.\n" +
126
+ "LIMITATIONS: Only reads one level deep; nested objects show as a 100-char JSON preview — re-inspect the child path. Returns an error object (not a throw) when the path doesn't resolve.\n" +
127
+ "GOOD: inspect_global({ objectName: \"__APOLLO_CLIENT__\" }) | inspect_global({ objectName: \"__RN_AI_DEVTOOLS__.stores.redux\" })\n" +
128
+ "BAD: inspect_global({ objectName: \"store.getState()\" }) — call expressions aren't supported; use execute_in_app.\n" +
129
+ "SEE ALSO: call get_usage_guide(topic=\"state\") for the full app-state playbook.",
130
+ inputSchema: {
131
+ objectName: z
132
+ .string()
133
+ .describe("Identifier or dotted path of the global to inspect (e.g., '__APOLLO_CLIENT__', '__RN_AI_DEVTOOLS__.stores.redux', '__RN_AI_DEVTOOLS__.custom.mmkv')"),
134
+ device: z.string().optional().describe("Target device name (substring match). Omit for default device. Run get_apps to see connected devices.")
135
+ }
136
+ }, async ({ objectName, device }) => {
137
+ const result = await inspectGlobal(objectName, device);
138
+ if (!result.success) {
139
+ let errorText = `Error: ${result.error}`;
140
+ // If the global (or path) doesn't resolve, guide the agent toward
141
+ // either exposing it manually or registering it via the SDK.
142
+ const looksMissing = result.error?.includes("ReferenceError") || result.error?.includes("NotFound") || result.error?.includes("not found");
143
+ if (looksMissing) {
144
+ const isPath = objectName.includes(".");
145
+ if (isPath) {
146
+ errorText += `\n\nNOTE: '${objectName}' did not resolve. Call list_debug_globals to confirm the path. If you expected the SDK to expose it, verify init({ stores, navigation, custom }) was called and check the sdk.paths array.`;
147
+ }
148
+ else {
149
+ const suggested = objectName.replace(/^__/, "").replace(/__$/, "");
150
+ errorText += `\n\nNOTE: '${objectName}' is not exposed as a global variable. Either (a) assign it in app code (\`globalThis.${objectName} = ${suggested};\`), or (b) register it via react-native-ai-devtools-sdk's init({ custom: { ${suggested}: ${suggested} } }) and access it as __RN_AI_DEVTOOLS__.custom.${suggested}. Then call list_debug_globals to confirm.`;
151
+ }
152
+ }
153
+ return {
154
+ content: [
155
+ {
156
+ type: "text",
157
+ text: errorText
158
+ }
159
+ ],
160
+ isError: true
161
+ };
162
+ }
163
+ return {
164
+ content: [
165
+ {
166
+ type: "text",
167
+ text: `Properties of ${objectName}:\n\n${result.result}`
168
+ }
169
+ ]
170
+ };
171
+ });
172
+ }
173
+ //# sourceMappingURL=executionTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionTools.js","sourceRoot":"","sources":["../../src/tools/executionTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerInteractionTools(server: McpServer): void;
3
+ //# sourceMappingURL=interactionTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6gBhE"}