react-native-mcp-kit 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +22 -10
  2. package/dist/bin/ios-hid +0 -0
  3. package/dist/client/contexts/McpContext/McpProvider.d.ts.map +1 -1
  4. package/dist/client/contexts/McpContext/McpProvider.js +5 -5
  5. package/dist/client/contexts/McpContext/McpProvider.js.map +1 -1
  6. package/dist/client/core/McpClient.d.ts.map +1 -1
  7. package/dist/client/core/McpClient.js +26 -32
  8. package/dist/client/core/McpClient.js.map +1 -1
  9. package/dist/modules/alert/alert.d.ts.map +1 -1
  10. package/dist/modules/alert/alert.js +2 -5
  11. package/dist/modules/alert/alert.js.map +1 -1
  12. package/dist/modules/console/console.d.ts.map +1 -1
  13. package/dist/modules/console/console.js +32 -107
  14. package/dist/modules/console/console.js.map +1 -1
  15. package/dist/modules/console/types.d.ts +1 -0
  16. package/dist/modules/console/types.d.ts.map +1 -1
  17. package/dist/modules/device/device.d.ts.map +1 -1
  18. package/dist/modules/device/device.js +224 -133
  19. package/dist/modules/device/device.js.map +1 -1
  20. package/dist/modules/errors/errors.d.ts.map +1 -1
  21. package/dist/modules/errors/errors.js +19 -36
  22. package/dist/modules/errors/errors.js.map +1 -1
  23. package/dist/modules/fiberTree/children.d.ts +49 -0
  24. package/dist/modules/fiberTree/children.d.ts.map +1 -0
  25. package/dist/modules/fiberTree/children.js +182 -0
  26. package/dist/modules/fiberTree/children.js.map +1 -0
  27. package/dist/modules/fiberTree/constants.d.ts +13 -0
  28. package/dist/modules/fiberTree/constants.d.ts.map +1 -0
  29. package/dist/modules/fiberTree/constants.js +24 -0
  30. package/dist/modules/fiberTree/constants.js.map +1 -0
  31. package/dist/modules/fiberTree/fiberTree.d.ts +3 -6
  32. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  33. package/dist/modules/fiberTree/fiberTree.js +219 -1080
  34. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  35. package/dist/modules/fiberTree/finder.d.ts +60 -0
  36. package/dist/modules/fiberTree/finder.d.ts.map +1 -0
  37. package/dist/modules/fiberTree/finder.js +107 -0
  38. package/dist/modules/fiberTree/finder.js.map +1 -0
  39. package/dist/modules/fiberTree/hooks.d.ts +103 -0
  40. package/dist/modules/fiberTree/hooks.d.ts.map +1 -0
  41. package/dist/modules/fiberTree/hooks.js +532 -0
  42. package/dist/modules/fiberTree/hooks.js.map +1 -0
  43. package/dist/modules/fiberTree/projection.d.ts +49 -0
  44. package/dist/modules/fiberTree/projection.d.ts.map +1 -0
  45. package/dist/modules/fiberTree/projection.js +82 -0
  46. package/dist/modules/fiberTree/projection.js.map +1 -0
  47. package/dist/modules/fiberTree/query.d.ts +56 -0
  48. package/dist/modules/fiberTree/query.d.ts.map +1 -0
  49. package/dist/modules/fiberTree/query.js +151 -0
  50. package/dist/modules/fiberTree/query.js.map +1 -0
  51. package/dist/modules/fiberTree/redact.d.ts +24 -0
  52. package/dist/modules/fiberTree/redact.d.ts.map +1 -0
  53. package/dist/modules/fiberTree/redact.js +51 -0
  54. package/dist/modules/fiberTree/redact.js.map +1 -0
  55. package/dist/modules/fiberTree/types.d.ts +7 -0
  56. package/dist/modules/fiberTree/types.d.ts.map +1 -1
  57. package/dist/modules/fiberTree/utils.d.ts +8 -2
  58. package/dist/modules/fiberTree/utils.d.ts.map +1 -1
  59. package/dist/modules/fiberTree/utils.js +79 -78
  60. package/dist/modules/fiberTree/utils.js.map +1 -1
  61. package/dist/modules/fiberTree/viewport.d.ts +28 -0
  62. package/dist/modules/fiberTree/viewport.d.ts.map +1 -0
  63. package/dist/modules/fiberTree/viewport.js +50 -0
  64. package/dist/modules/fiberTree/viewport.js.map +1 -0
  65. package/dist/modules/fiberTree/waitFor.d.ts +52 -0
  66. package/dist/modules/fiberTree/waitFor.d.ts.map +1 -0
  67. package/dist/modules/fiberTree/waitFor.js +98 -0
  68. package/dist/modules/fiberTree/waitFor.js.map +1 -0
  69. package/dist/modules/logBox/logBox.d.ts.map +1 -1
  70. package/dist/modules/logBox/logBox.js +59 -66
  71. package/dist/modules/logBox/logBox.js.map +1 -1
  72. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  73. package/dist/modules/navigation/navigation.js +115 -114
  74. package/dist/modules/navigation/navigation.js.map +1 -1
  75. package/dist/modules/network/network.d.ts.map +1 -1
  76. package/dist/modules/network/network.js +78 -197
  77. package/dist/modules/network/network.js.map +1 -1
  78. package/dist/modules/network/types.d.ts +23 -27
  79. package/dist/modules/network/types.d.ts.map +1 -1
  80. package/dist/modules/reactQuery/reactQuery.d.ts.map +1 -1
  81. package/dist/modules/reactQuery/reactQuery.js +46 -52
  82. package/dist/modules/reactQuery/reactQuery.js.map +1 -1
  83. package/dist/modules/storage/storage.d.ts.map +1 -1
  84. package/dist/modules/storage/storage.js +20 -3
  85. package/dist/modules/storage/storage.js.map +1 -1
  86. package/dist/server/host/tools/input.js +2 -2
  87. package/dist/server/host/tools/input.js.map +1 -1
  88. package/dist/server/index.d.ts.map +1 -1
  89. package/dist/server/index.js +33 -0
  90. package/dist/server/index.js.map +1 -1
  91. package/dist/server/mcpServer.d.ts.map +1 -1
  92. package/dist/server/mcpServer.js +43 -3
  93. package/dist/server/mcpServer.js.map +1 -1
  94. package/dist/server/metro/eventCapture.d.ts +0 -2
  95. package/dist/server/metro/eventCapture.d.ts.map +1 -1
  96. package/dist/server/metro/eventCapture.js +1 -2
  97. package/dist/server/metro/eventCapture.js.map +1 -1
  98. package/dist/server/metro/tools/events.d.ts.map +1 -1
  99. package/dist/server/metro/tools/events.js +11 -11
  100. package/dist/server/metro/tools/events.js.map +1 -1
  101. package/dist/shared/projection/projectValue.d.ts +90 -0
  102. package/dist/shared/projection/projectValue.d.ts.map +1 -0
  103. package/dist/shared/projection/projectValue.js +322 -0
  104. package/dist/shared/projection/projectValue.js.map +1 -0
  105. package/dist/shared/projection/redact.d.ts +31 -0
  106. package/dist/shared/projection/redact.d.ts.map +1 -0
  107. package/dist/shared/projection/redact.js +78 -0
  108. package/dist/shared/projection/redact.js.map +1 -0
  109. package/dist/shared/projection/resolvePath.d.ts +45 -0
  110. package/dist/shared/projection/resolvePath.d.ts.map +1 -0
  111. package/dist/shared/projection/resolvePath.js +211 -0
  112. package/dist/shared/projection/resolvePath.js.map +1 -0
  113. package/dist/shared/rn/core.d.ts +48 -0
  114. package/dist/shared/rn/core.d.ts.map +1 -0
  115. package/dist/shared/rn/core.js +100 -0
  116. package/dist/shared/rn/core.js.map +1 -0
  117. package/dist/shared/rn/deviceInfo.d.ts +40 -0
  118. package/dist/shared/rn/deviceInfo.d.ts.map +1 -0
  119. package/dist/shared/rn/deviceInfo.js +78 -0
  120. package/dist/shared/rn/deviceInfo.js.map +1 -0
  121. package/package.json +2 -2
  122. package/dist/client/hooks/useMcpState.d.ts +0 -3
  123. package/dist/client/hooks/useMcpState.d.ts.map +0 -1
  124. package/dist/client/hooks/useMcpState.js +0 -20
  125. package/dist/client/hooks/useMcpState.js.map +0 -1
  126. package/dist/server/canonicalize.d.ts +0 -8
  127. package/dist/server/canonicalize.d.ts.map +0 -1
  128. package/dist/server/canonicalize.js +0 -23
  129. package/dist/server/canonicalize.js.map +0 -1
  130. package/dist/server/host/modules/screenshot.d.ts +0 -4
  131. package/dist/server/host/modules/screenshot.d.ts.map +0 -1
  132. package/dist/server/host/modules/screenshot.js +0 -615
  133. package/dist/server/host/modules/screenshot.js.map +0 -1
  134. package/dist/server/host/tools/connectionStatus.d.ts +0 -9
  135. package/dist/server/host/tools/connectionStatus.d.ts.map +0 -1
  136. package/dist/server/host/tools/connectionStatus.js +0 -39
  137. package/dist/server/host/tools/connectionStatus.js.map +0 -1
  138. package/dist/server/host/tools/symbolicate.d.ts +0 -3
  139. package/dist/server/host/tools/symbolicate.d.ts.map +0 -1
  140. package/dist/server/host/tools/symbolicate.js +0 -209
  141. package/dist/server/host/tools/symbolicate.js.map +0 -1
  142. package/dist/server/host/wda.d.ts +0 -15
  143. package/dist/server/host/wda.d.ts.map +0 -1
  144. package/dist/server/host/wda.js +0 -100
  145. package/dist/server/host/wda.js.map +0 -1
  146. package/dist/server/inputSchemaToZod.d.ts +0 -19
  147. package/dist/server/inputSchemaToZod.d.ts.map +0 -1
  148. package/dist/server/inputSchemaToZod.js +0 -89
  149. package/dist/server/inputSchemaToZod.js.map +0 -1
  150. package/dist/server/metro/tools/openUrl.d.ts +0 -3
  151. package/dist/server/metro/tools/openUrl.d.ts.map +0 -1
  152. package/dist/server/metro/tools/openUrl.js +0 -71
  153. package/dist/server/metro/tools/openUrl.js.map +0 -1
  154. package/dist/shared/slice.d.ts +0 -16
  155. package/dist/shared/slice.d.ts.map +0 -1
  156. package/dist/shared/slice.js +0 -29
  157. package/dist/shared/slice.js.map +0 -1
@@ -1,172 +1,263 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deviceModule = void 0;
4
+ const core_1 = require("../../shared/rn/core");
5
+ const deviceInfo_1 = require("../../shared/rn/deviceInfo");
6
+ // All fields the unified `info` tool can return. The handler reads from RN
7
+ // core modules (Platform, Dimensions, Appearance, AppState,
8
+ // AccessibilityInfo, Keyboard, Linking) plus — when installed — selected
9
+ // helpers from `react-native-device-info`. Pass `select` to filter; omit
10
+ // for the full payload.
11
+ //
12
+ // Fields backed by react-native-device-info (identity / app / battery /
13
+ // memoryStorage) return `{ unavailable: true, reason }` when the package
14
+ // isn't installed. Fields already surfaced in the handshake (appName,
15
+ // appVersion, bundleId, deviceId, label) are not duplicated here.
16
+ const INFO_FIELDS = [
17
+ // RN core
18
+ 'platform', // { os, version, constants } from Platform
19
+ 'dimensions', // { screen, window, screenPixels, windowPixels, pixelRatio }
20
+ 'pixelRatio', // { pixelRatio, fontScale }
21
+ 'appearance', // { colorScheme: 'light' | 'dark' | null }
22
+ 'appState', // { state: 'active' | 'background' | 'inactive' }
23
+ 'accessibility', // { isScreenReaderEnabled, isReduceMotionEnabled }
24
+ 'keyboard', // { isVisible, metrics }
25
+ 'initialUrl', // { url }
26
+ 'dev', // { dev: boolean }
27
+ // react-native-device-info (optional)
28
+ 'identity', // { model, manufacturer, deviceType, isTablet, hasNotch, hasDynamicIsland, systemName, systemVersion }
29
+ 'app', // { buildNumber, readableVersion, firstInstallTime, lastUpdateTime, installerPackageName }
30
+ 'battery', // { batteryLevel, isCharging, isLowBatteryLevel, powerState }
31
+ 'memoryStorage', // { totalMemory, usedMemory, maxMemory, totalDiskCapacity, freeDiskStorage }
32
+ ];
33
+ // react-native-device-info-backed fields share a single graceful-degradation
34
+ // payload when the package isn't installed.
35
+ const DI_FIELDS = new Set(['identity', 'app', 'battery', 'memoryStorage']);
4
36
  const deviceModule = () => {
5
- // Lazy require to avoid importing react-native on server side
6
- const getRN = () => {
7
- // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
8
- return require('react-native');
37
+ const buildInfoField = async (field) => {
38
+ // react-native-device-info-backed fields go first so we can short-circuit
39
+ // when the package is missing without poking at RN.
40
+ if (DI_FIELDS.has(field)) {
41
+ const DI = (0, deviceInfo_1.loadDeviceInfo)();
42
+ if (!DI)
43
+ return deviceInfo_1.DEVICE_INFO_UNAVAILABLE;
44
+ switch (field) {
45
+ case 'identity':
46
+ // Identity excludes handshake-duplicated fields (deviceId, label,
47
+ // appName/appVersion/bundleId).
48
+ return {
49
+ deviceType: (0, deviceInfo_1.callDI)(DI.getDeviceType),
50
+ hasDynamicIsland: (0, deviceInfo_1.callDI)(DI.hasDynamicIsland),
51
+ hasNotch: (0, deviceInfo_1.callDI)(DI.hasNotch),
52
+ isTablet: (0, deviceInfo_1.callDI)(DI.isTablet),
53
+ manufacturer: (0, deviceInfo_1.callDI)(DI.getManufacturerSync ?? DI.getBrand),
54
+ model: (0, deviceInfo_1.callDI)(DI.getModel),
55
+ systemName: (0, deviceInfo_1.callDI)(DI.getSystemName),
56
+ systemVersion: (0, deviceInfo_1.callDI)(DI.getSystemVersion),
57
+ };
58
+ case 'app': {
59
+ // App excludes bundleId / version / appName already in handshake.
60
+ const [firstInstallTime, lastUpdateTime, installerPackageName] = await Promise.all([
61
+ (0, deviceInfo_1.callDIAsync)(DI.getFirstInstallTime),
62
+ (0, deviceInfo_1.callDIAsync)(DI.getLastUpdateTime),
63
+ (0, deviceInfo_1.callDIAsync)(DI.getInstallerPackageName),
64
+ ]);
65
+ return {
66
+ buildNumber: (0, deviceInfo_1.callDI)(DI.getBuildNumber),
67
+ firstInstallTime,
68
+ installerPackageName,
69
+ lastUpdateTime,
70
+ readableVersion: (0, deviceInfo_1.callDI)(DI.getReadableVersion),
71
+ };
72
+ }
73
+ case 'battery': {
74
+ const [batteryLevel, isCharging, powerState] = await Promise.all([
75
+ (0, deviceInfo_1.callDIAsync)(DI.getBatteryLevel),
76
+ (0, deviceInfo_1.callDIAsync)(DI.isBatteryCharging),
77
+ (0, deviceInfo_1.callDIAsync)(DI.getPowerState),
78
+ ]);
79
+ return {
80
+ batteryLevel,
81
+ isCharging,
82
+ isLowBatteryLevel: typeof batteryLevel === 'number' ? batteryLevel < 0.2 : null,
83
+ powerState,
84
+ };
85
+ }
86
+ case 'memoryStorage': {
87
+ const [totalMemory, usedMemory, maxMemory, totalDiskCapacity, freeDiskStorage] = await Promise.all([
88
+ (0, deviceInfo_1.callDIAsync)(DI.getTotalMemory),
89
+ (0, deviceInfo_1.callDIAsync)(DI.getUsedMemory),
90
+ (0, deviceInfo_1.callDIAsync)(DI.getMaxMemory),
91
+ (0, deviceInfo_1.callDIAsync)(DI.getTotalDiskCapacity),
92
+ (0, deviceInfo_1.callDIAsync)(DI.getFreeDiskStorage),
93
+ ]);
94
+ return {
95
+ freeDiskStorage,
96
+ maxMemory,
97
+ totalDiskCapacity,
98
+ totalMemory,
99
+ usedMemory,
100
+ };
101
+ }
102
+ }
103
+ }
104
+ const RN = (0, core_1.getRN)();
105
+ switch (field) {
106
+ case 'platform':
107
+ return {
108
+ constants: RN.Platform.constants,
109
+ os: RN.Platform.OS,
110
+ version: RN.Platform.Version,
111
+ };
112
+ case 'dimensions': {
113
+ const ratio = RN.PixelRatio.get();
114
+ const screen = RN.Dimensions.get('screen');
115
+ const window = RN.Dimensions.get('window');
116
+ return {
117
+ pixelRatio: ratio,
118
+ screen,
119
+ screenPixels: {
120
+ height: Math.round(screen.height * ratio),
121
+ width: Math.round(screen.width * ratio),
122
+ },
123
+ window,
124
+ windowPixels: {
125
+ height: Math.round(window.height * ratio),
126
+ width: Math.round(window.width * ratio),
127
+ },
128
+ };
129
+ }
130
+ case 'pixelRatio':
131
+ return {
132
+ fontScale: RN.PixelRatio.getFontScale(),
133
+ pixelRatio: RN.PixelRatio.get(),
134
+ };
135
+ case 'appearance':
136
+ return { colorScheme: RN.Appearance.getColorScheme() };
137
+ case 'appState':
138
+ return { state: RN.AppState.currentState };
139
+ case 'accessibility': {
140
+ const [isScreenReaderEnabled, isReduceMotionEnabled] = await Promise.all([
141
+ RN.AccessibilityInfo.isScreenReaderEnabled(),
142
+ RN.AccessibilityInfo.isReduceMotionEnabled(),
143
+ ]);
144
+ return { isReduceMotionEnabled, isScreenReaderEnabled };
145
+ }
146
+ case 'keyboard':
147
+ return {
148
+ isVisible: RN.Keyboard.isVisible(),
149
+ metrics: RN.Keyboard.metrics(),
150
+ };
151
+ case 'initialUrl': {
152
+ const url = await RN.Linking.getInitialURL();
153
+ return { url };
154
+ }
155
+ case 'dev':
156
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
+ return { dev: Boolean(globalThis.__DEV__) };
158
+ default:
159
+ return null;
160
+ }
9
161
  };
10
162
  return {
11
163
  description: `Device + platform introspection, plus a few imperative actions (open URL, dismiss keyboard, reload, vibrate).
12
164
 
13
165
  Dimension helpers return values in both logical DP and physical pixels —
14
- physical pixel helpers (screenPixels / windowPixels in get_dimensions)
15
- match what host__tap / adb input tap consume.`,
166
+ physical pixel helpers (screenPixels / windowPixels under \`dimensions\`)
167
+ match what host__tap / adb input tap consume.
168
+
169
+ READS
170
+ info({ select? }) — one aggregate read. Returns any subset of:
171
+ RN core: platform, dimensions, pixelRatio, appearance, appState,
172
+ accessibility, keyboard, initialUrl, dev
173
+ react-native-device-info (optional dep): identity, app, battery,
174
+ memoryStorage
175
+ Pass \`select: ['battery','keyboard']\` to limit fields; omit for the full
176
+ payload. DI-backed fields gracefully return
177
+ \`{ unavailable: true, reason }\` when the package isn't installed. Fields
178
+ already in the handshake (appName / appVersion / bundleId / deviceId /
179
+ label) are not duplicated.
180
+
181
+ ACTIONS
182
+ open_url({ url, dryRun? }) — opens the URL via Linking. \`dryRun: true\`
183
+ only checks Linking.canOpenURL without launching anything (returns
184
+ { canOpen, url }).
185
+ open_settings — open the app settings page.
186
+ dismiss_keyboard — Keyboard.dismiss().
187
+ reload — DevSettings.reload() (dev only).
188
+ vibrate({ duration? }) — Vibration.vibrate(duration|400).`,
16
189
  name: 'device',
17
190
  tools: {
18
- can_open_url: {
19
- description: 'Check if a URL can be opened by an installed app.',
20
- handler: async (args) => {
21
- const { Linking } = getRN();
22
- const canOpen = await Linking.canOpenURL(args.url);
23
- return { canOpen, url: args.url };
24
- },
25
- inputSchema: {
26
- url: { description: 'URL to check.', type: 'string' },
27
- },
28
- },
29
191
  dismiss_keyboard: {
30
192
  description: 'Dismiss the currently visible keyboard.',
31
193
  handler: () => {
32
- const { Keyboard } = getRN();
194
+ const { Keyboard } = (0, core_1.getRN)();
33
195
  Keyboard.dismiss();
34
196
  return { success: true };
35
197
  },
36
198
  },
37
- get_accessibility_info: {
38
- description: 'Screen reader / reduce motion / bold text settings.',
39
- handler: async () => {
40
- const { AccessibilityInfo } = getRN();
41
- const [isScreenReaderEnabled, isReduceMotionEnabled] = await Promise.all([
42
- AccessibilityInfo.isScreenReaderEnabled(),
43
- AccessibilityInfo.isReduceMotionEnabled(),
44
- ]);
45
- return {
46
- isReduceMotionEnabled,
47
- isScreenReaderEnabled,
48
- };
49
- },
50
- },
51
- get_app_state: {
52
- description: 'App lifecycle state: active / background / inactive.',
53
- handler: () => {
54
- const { AppState } = getRN();
55
- return { state: AppState.currentState };
56
- },
57
- },
58
- get_appearance: {
59
- description: 'Current color scheme: light / dark / null.',
60
- handler: () => {
61
- const { Appearance } = getRN();
62
- return { colorScheme: Appearance.getColorScheme() };
63
- },
64
- },
65
- get_device_info: {
66
- description: 'Platform, OS version, dimensions, pixel ratio, appearance, dev flag.',
67
- handler: () => {
68
- const { Appearance, Dimensions, PixelRatio, Platform } = getRN();
69
- return {
70
- appearance: Appearance.getColorScheme(),
71
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
- dev: Boolean(globalThis.__DEV__),
73
- dimensions: {
74
- screen: Dimensions.get('screen'),
75
- window: Dimensions.get('window'),
76
- },
77
- pixelRatio: PixelRatio.get(),
78
- platform: {
79
- constants: Platform.constants,
80
- os: Platform.OS,
81
- version: Platform.Version,
82
- },
83
- };
84
- },
85
- },
86
- get_dimensions: {
87
- description: 'Screen + window dimensions in both DP (raw RN) and physical pixels.',
88
- handler: () => {
89
- const { Dimensions, PixelRatio } = getRN();
90
- const ratio = PixelRatio.get();
91
- const screen = Dimensions.get('screen');
92
- const window = Dimensions.get('window');
93
- return {
94
- pixelRatio: ratio,
95
- screen,
96
- screenPixels: {
97
- height: Math.round(screen.height * ratio),
98
- width: Math.round(screen.width * ratio),
99
- },
100
- window,
101
- windowPixels: {
102
- height: Math.round(window.height * ratio),
103
- width: Math.round(window.width * ratio),
104
- },
105
- };
106
- },
107
- },
108
- get_initial_url: {
109
- description: 'Deep link that launched the app, if any.',
110
- handler: async () => {
111
- const { Linking } = getRN();
112
- const url = await Linking.getInitialURL();
113
- return { url };
114
- },
115
- },
116
- get_keyboard_state: {
117
- description: 'Keyboard visibility + metrics.',
118
- handler: () => {
119
- const { Keyboard } = getRN();
120
- return {
121
- isVisible: Keyboard.isVisible(),
122
- metrics: Keyboard.metrics(),
123
- };
124
- },
125
- },
126
- get_pixel_ratio: {
127
- description: 'Pixel density + font scale.',
128
- handler: () => {
129
- const { PixelRatio } = getRN();
130
- return {
131
- fontScale: PixelRatio.getFontScale(),
132
- pixelRatio: PixelRatio.get(),
133
- };
199
+ info: {
200
+ description: `Aggregate device / platform introspection. Returns any subset of: ${INFO_FIELDS.join(' / ')}. Pass \`select: ['battery','keyboard']\` to limit to specific fields; omit for the full payload. Fields backed by react-native-device-info (identity / app / battery / memoryStorage) return \`{ unavailable: true, reason }\` when the package isn't installed.`,
201
+ handler: async (args) => {
202
+ const requested = Array.isArray(args.select)
203
+ ? args.select.filter((f) => {
204
+ return INFO_FIELDS.includes(f);
205
+ })
206
+ : INFO_FIELDS;
207
+ if (Array.isArray(args.select) && requested.length === 0) {
208
+ return {
209
+ availableFields: INFO_FIELDS,
210
+ error: `select must contain at least one known field. Got ${JSON.stringify(args.select)}.`,
211
+ };
212
+ }
213
+ const entries = await Promise.all(requested.map(async (field) => {
214
+ return [field, await buildInfoField(field)];
215
+ }));
216
+ const out = {};
217
+ for (const [key, value] of entries)
218
+ out[key] = value;
219
+ return out;
134
220
  },
135
- },
136
- get_platform: {
137
- description: 'OS, version, native constants (model/brand/manufacturer on Android).',
138
- handler: () => {
139
- const { Platform } = getRN();
140
- return {
141
- constants: Platform.constants,
142
- os: Platform.OS,
143
- version: Platform.Version,
144
- };
221
+ inputSchema: {
222
+ select: {
223
+ description: `Optional list of fields to return. Default = all. Known fields: ${INFO_FIELDS.join(' / ')}. identity / app / battery / memoryStorage require react-native-device-info; they return { unavailable: true, reason } when the package isn't installed.`,
224
+ examples: [['battery'], ['identity', 'app'], ['platform', 'dimensions']],
225
+ type: 'array',
226
+ },
145
227
  },
146
228
  },
147
229
  open_settings: {
148
230
  description: 'Open the app settings page in device settings.',
149
231
  handler: async () => {
150
- const { Linking } = getRN();
232
+ const { Linking } = (0, core_1.getRN)();
151
233
  await Linking.openSettings();
152
234
  return { success: true };
153
235
  },
154
236
  },
155
237
  open_url: {
156
- description: 'Open a URL with the appropriate installed app.',
238
+ description: 'Open a URL with the appropriate installed app. Pass `dryRun: true` to only check whether an app can handle it (returns `{ canOpen, url }`) without launching.',
157
239
  handler: async (args) => {
158
- const { Linking } = getRN();
159
- await Linking.openURL(args.url);
160
- return { success: true, url: args.url };
240
+ const { Linking } = (0, core_1.getRN)();
241
+ const url = args.url;
242
+ if (args.dryRun === true) {
243
+ const canOpen = await Linking.canOpenURL(url);
244
+ return { canOpen, url };
245
+ }
246
+ await Linking.openURL(url);
247
+ return { success: true, url };
161
248
  },
162
249
  inputSchema: {
163
- url: { description: 'URL to open.', type: 'string' },
250
+ dryRun: {
251
+ description: 'When true, only check Linking.canOpenURL and return `{ canOpen, url }` without opening. Default false.',
252
+ type: 'boolean',
253
+ },
254
+ url: { description: 'URL to open (or check, when dryRun:true).', type: 'string' },
164
255
  },
165
256
  },
166
257
  reload: {
167
258
  description: 'Reload the app (dev mode only — like pressing R in Metro).',
168
259
  handler: () => {
169
- const { DevSettings } = getRN();
260
+ const { DevSettings } = (0, core_1.getRN)();
170
261
  DevSettings.reload();
171
262
  return { success: true };
172
263
  },
@@ -174,7 +265,7 @@ match what host__tap / adb input tap consume.`,
174
265
  vibrate: {
175
266
  description: 'Vibrate the device.',
176
267
  handler: (args) => {
177
- const { Vibration } = getRN();
268
+ const { Vibration } = (0, core_1.getRN)();
178
269
  const duration = args.duration || 400;
179
270
  Vibration.vibrate(duration);
180
271
  return { success: true };
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/modules/device/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/modules/device/device.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/modules/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AAiHjB,eAAO,MAAM,YAAY,aAAc,mBAAmB,KAAG,SAiI5D,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/modules/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQvD,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AA8HjB,eAAO,MAAM,YAAY,aAAc,mBAAmB,KAAG,SAoG5D,CAAC"}
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.errorsModule = void 0;
4
- const slice_1 = require("../../shared/slice");
4
+ const projectValue_1 = require("../../shared/projection/projectValue");
5
5
  const DEFAULT_MAX_ENTRIES = 50;
6
+ // Default depth 4 — top is array of entries, level 2 expands each entry
7
+ // (id/isFatal/message/source/timestamp inline, stack/stackFrames still
8
+ // markers), level 3 opens stackFrames (each frame as `${obj}` marker),
9
+ // level 4 opens each frame (file/line/method/column inline). Long `stack`
10
+ // string auto-wraps in `${str}` regardless. Drill deeper via path.
11
+ const ERRORS_DEFAULT_DEPTH = 4;
12
+ const PROJECTION_SCHEMA = (0, projectValue_1.makeProjectionSchema)(ERRORS_DEFAULT_DEPTH);
6
13
  // Match both the V8 ` at method (file:line:col)` and Hermes / JSC
7
14
  // `method@file:line:col` stack formats. Keep parsing lightweight — full
8
15
  // symbolication lives in metro__symbolicate so the agent can resolve frames
@@ -103,6 +110,9 @@ const installPatches = () => {
103
110
  };
104
111
  };
105
112
  installPatches();
113
+ const project = (entries, args) => {
114
+ return (0, projectValue_1.applyProjection)(entries, args, projectValue_1.projectAsValue, ERRORS_DEFAULT_DEPTH);
115
+ };
106
116
  const errorsModule = (options) => {
107
117
  if (typeof options?.maxEntries === 'number') {
108
118
  maxEntries = options.maxEntries;
@@ -115,8 +125,11 @@ const errorsModule = (options) => {
115
125
 
116
126
  Captures via ErrorUtils.setGlobalHandler + console.error sniffing.
117
127
  Deduplicates within a 100ms window. Capture starts at module-import
118
- time (before React mounts) so early fatal crashes are visible to the
119
- agent. Buffer size configurable via errorsModule options.`,
128
+ time so early fatal crashes are visible. Each entry carries a monotonic
129
+ numeric \`id\`, parsed \`stackFrames\` (V8 + Hermes formats, ready for
130
+ metro__symbolicate), and the raw \`stack\` string. Listing tools accept
131
+ path / depth / maxBytes (default depth ${ERRORS_DEFAULT_DEPTH}). Buffer size configurable via
132
+ errorsModule options.`,
120
133
  name: 'errors',
121
134
  tools: {
122
135
  clear_errors: {
@@ -127,7 +140,7 @@ agent. Buffer size configurable via errorsModule options.`,
127
140
  },
128
141
  },
129
142
  get_errors: {
130
- description: 'Captured errors; filterable by source / fatal / time range. Default: omits raw `stack` string (keeps `stackFrames`). Pass includeStack: true to get both. Use `metro__symbolicate` on stackFrames to resolve bundled paths back to source.',
143
+ description: 'Captured errors; filterable by source / fatal / time range. Use `metro__symbolicate` on stackFrames to resolve bundled paths back to source.',
131
144
  handler: (args) => {
132
145
  let result = [...buffer];
133
146
  if (args.source) {
@@ -156,31 +169,16 @@ agent. Buffer size configurable via errorsModule options.`,
156
169
  });
157
170
  }
158
171
  }
159
- result = (0, slice_1.applySlice)(result, (0, slice_1.parseSliceArg)(args.slice));
160
- const includeStack = args.includeStack === true;
161
- return result.map((entry) => {
162
- if (includeStack)
163
- return entry;
164
- const { stack, ...rest } = entry;
165
- return { ...rest, hasRawStack: typeof stack === 'string' };
166
- });
172
+ return project(result, args);
167
173
  },
168
174
  inputSchema: {
175
+ ...PROJECTION_SCHEMA,
169
176
  fatal: { description: 'Filter by fatal flag.', type: 'boolean' },
170
- includeStack: {
171
- description: 'Include the raw `stack` string alongside parsed `stackFrames`. Default false — stackFrames already carries the structured form for metro__symbolicate.',
172
- type: 'boolean',
173
- },
174
177
  since: {
175
178
  description: 'ISO timestamp — only entries at or after this point.',
176
179
  examples: ['2026-04-19T22:00:00.000Z'],
177
180
  type: 'string',
178
181
  },
179
- slice: {
180
- description: (0, slice_1.sliceSchemaDescription)('Default omitted → every matching entry is returned.'),
181
- examples: [[-10], [-20, -10], [0, 50]],
182
- type: 'array',
183
- },
184
182
  source: {
185
183
  description: 'Filter by source.',
186
184
  examples: ['global', 'promise'],
@@ -192,21 +190,6 @@ agent. Buffer size configurable via errorsModule options.`,
192
190
  },
193
191
  },
194
192
  },
195
- get_fatal: {
196
- description: 'Fatal errors only.',
197
- handler: (args) => {
198
- const result = buffer.filter((e) => {
199
- return e.isFatal;
200
- });
201
- return (0, slice_1.applySlice)(result, (0, slice_1.parseSliceArg)(args.slice));
202
- },
203
- inputSchema: {
204
- slice: {
205
- description: (0, slice_1.sliceSchemaDescription)('Default omitted → every fatal entry is returned.'),
206
- type: 'array',
207
- },
208
- },
209
- },
210
193
  get_stats: {
211
194
  description: 'Error counts — total, by source, fatal.',
212
195
  handler: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/modules/errors/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/modules/errors/errors.ts"],"names":[],"mappings":"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"}