react-native-mcp-kit 2.0.0 → 2.2.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 (107) hide show
  1. package/README.md +20 -11
  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 +6 -3
  5. package/dist/client/contexts/McpContext/McpProvider.js.map +1 -1
  6. package/dist/client/core/McpClient.d.ts +1 -0
  7. package/dist/client/core/McpClient.d.ts.map +1 -1
  8. package/dist/client/core/McpClient.js +39 -20
  9. package/dist/client/core/McpClient.js.map +1 -1
  10. package/dist/client/utils/connection.d.ts +7 -0
  11. package/dist/client/utils/connection.d.ts.map +1 -1
  12. package/dist/client/utils/connection.js +14 -1
  13. package/dist/client/utils/connection.js.map +1 -1
  14. package/dist/modules/alert/alert.d.ts.map +1 -1
  15. package/dist/modules/alert/alert.js +6 -5
  16. package/dist/modules/alert/alert.js.map +1 -1
  17. package/dist/modules/console/console.d.ts.map +1 -1
  18. package/dist/modules/console/console.js +18 -13
  19. package/dist/modules/console/console.js.map +1 -1
  20. package/dist/modules/device/device.d.ts.map +1 -1
  21. package/dist/modules/device/device.js +23 -27
  22. package/dist/modules/device/device.js.map +1 -1
  23. package/dist/modules/errors/errors.d.ts.map +1 -1
  24. package/dist/modules/errors/errors.js +92 -11
  25. package/dist/modules/errors/errors.js.map +1 -1
  26. package/dist/modules/errors/types.d.ts +8 -0
  27. package/dist/modules/errors/types.d.ts.map +1 -1
  28. package/dist/modules/fiberTree/fiberTree.d.ts +4 -0
  29. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  30. package/dist/modules/fiberTree/fiberTree.js +353 -114
  31. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  32. package/dist/modules/fiberTree/index.d.ts +1 -0
  33. package/dist/modules/fiberTree/index.d.ts.map +1 -1
  34. package/dist/modules/fiberTree/index.js +14 -1
  35. package/dist/modules/fiberTree/index.js.map +1 -1
  36. package/dist/modules/fiberTree/types.d.ts +40 -0
  37. package/dist/modules/fiberTree/types.d.ts.map +1 -1
  38. package/dist/modules/fiberTree/utils.d.ts +13 -0
  39. package/dist/modules/fiberTree/utils.d.ts.map +1 -1
  40. package/dist/modules/fiberTree/utils.js +195 -23
  41. package/dist/modules/fiberTree/utils.js.map +1 -1
  42. package/dist/modules/i18next/i18next.d.ts.map +1 -1
  43. package/dist/modules/i18next/i18next.js +30 -16
  44. package/dist/modules/i18next/i18next.js.map +1 -1
  45. package/dist/modules/index.d.ts +1 -0
  46. package/dist/modules/index.d.ts.map +1 -1
  47. package/dist/modules/index.js +3 -1
  48. package/dist/modules/index.js.map +1 -1
  49. package/dist/modules/logBox/index.d.ts +2 -0
  50. package/dist/modules/logBox/index.d.ts.map +1 -0
  51. package/dist/modules/logBox/index.js +6 -0
  52. package/dist/modules/logBox/index.js.map +1 -0
  53. package/dist/modules/logBox/logBox.d.ts +3 -0
  54. package/dist/modules/logBox/logBox.d.ts.map +1 -0
  55. package/dist/modules/logBox/logBox.js +234 -0
  56. package/dist/modules/logBox/logBox.js.map +1 -0
  57. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  58. package/dist/modules/navigation/navigation.js +130 -42
  59. package/dist/modules/navigation/navigation.js.map +1 -1
  60. package/dist/modules/network/network.d.ts.map +1 -1
  61. package/dist/modules/network/network.js +262 -67
  62. package/dist/modules/network/network.js.map +1 -1
  63. package/dist/modules/network/types.d.ts +35 -3
  64. package/dist/modules/network/types.d.ts.map +1 -1
  65. package/dist/modules/reactQuery/reactQuery.d.ts.map +1 -1
  66. package/dist/modules/reactQuery/reactQuery.js +25 -15
  67. package/dist/modules/reactQuery/reactQuery.js.map +1 -1
  68. package/dist/modules/storage/storage.d.ts.map +1 -1
  69. package/dist/modules/storage/storage.js +23 -16
  70. package/dist/modules/storage/storage.js.map +1 -1
  71. package/dist/server/bridge.d.ts.map +1 -1
  72. package/dist/server/bridge.js +22 -0
  73. package/dist/server/bridge.js.map +1 -1
  74. package/dist/server/host/hostModule.d.ts.map +1 -1
  75. package/dist/server/host/hostModule.js +19 -1
  76. package/dist/server/host/hostModule.js.map +1 -1
  77. package/dist/server/host/tools/capture.d.ts.map +1 -1
  78. package/dist/server/host/tools/capture.js +111 -28
  79. package/dist/server/host/tools/capture.js.map +1 -1
  80. package/dist/server/host/tools/devices.js +1 -1
  81. package/dist/server/host/tools/devices.js.map +1 -1
  82. package/dist/server/host/tools/input.d.ts +3 -0
  83. package/dist/server/host/tools/input.d.ts.map +1 -1
  84. package/dist/server/host/tools/input.js +197 -5
  85. package/dist/server/host/tools/input.js.map +1 -1
  86. package/dist/server/host/tools/lifecycle.d.ts.map +1 -1
  87. package/dist/server/host/tools/lifecycle.js +5 -4
  88. package/dist/server/host/tools/lifecycle.js.map +1 -1
  89. package/dist/server/host/tools/symbolicate.d.ts +3 -0
  90. package/dist/server/host/tools/symbolicate.d.ts.map +1 -0
  91. package/dist/server/host/tools/symbolicate.js +199 -0
  92. package/dist/server/host/tools/symbolicate.js.map +1 -0
  93. package/dist/server/host/tools/tapFiber.d.ts +3 -0
  94. package/dist/server/host/tools/tapFiber.d.ts.map +1 -0
  95. package/dist/server/host/tools/tapFiber.js +89 -0
  96. package/dist/server/host/tools/tapFiber.js.map +1 -0
  97. package/dist/server/host/types.d.ts +14 -0
  98. package/dist/server/host/types.d.ts.map +1 -1
  99. package/dist/server/mcpServer.d.ts +6 -0
  100. package/dist/server/mcpServer.d.ts.map +1 -1
  101. package/dist/server/mcpServer.js +440 -93
  102. package/dist/server/mcpServer.js.map +1 -1
  103. package/dist/shared/protocol.d.ts +33 -1
  104. package/dist/shared/protocol.d.ts.map +1 -1
  105. package/dist/shared/protocol.js +12 -1
  106. package/dist/shared/protocol.js.map +1 -1
  107. package/package.json +1 -1
@@ -164,12 +164,13 @@ const resolveLaunchTarget = async (ctx, args, runner) => {
164
164
  return { bundleId, device: resolved.device, ok: true };
165
165
  };
166
166
  const APPID_SCHEMA = {
167
- description: 'iOS bundle ID or Android package name. Optional when targeting a connected client whose registration metadata includes bundleId.',
167
+ description: 'iOS bundle ID or Android package name. Optional when a connected client already registered its bundleId.',
168
+ examples: ['com.example.app', 'com.example.android'],
168
169
  type: 'string',
169
170
  };
170
171
  const launchAppTool = (runner) => {
171
172
  return {
172
- description: "Launch an installed app on a booted iOS simulator (xcrun simctl launch) or Android emulator/device (adb shell monkey). Pass `appId` explicitly (iOS bundle ID or Android package name), or omit it to fall back to the target client's registered bundleId metadata. Target device resolution: explicit `udid`/`serial` > outer `clientId` > `platform` + auto-pick > bare scan. Real iOS devices are not supported.",
173
+ description: 'Launch an installed app on a booted simulator / emulator / device.',
173
174
  handler: async (args, ctx) => {
174
175
  const target = await resolveLaunchTarget(ctx, args, runner);
175
176
  if (!target.ok) {
@@ -199,7 +200,7 @@ const launchAppTool = (runner) => {
199
200
  exports.launchAppTool = launchAppTool;
200
201
  const terminateAppTool = (runner) => {
201
202
  return {
202
- description: "Terminate (force-stop) an installed app on a booted iOS simulator (xcrun simctl terminate) or Android emulator/device (adb shell am force-stop). Pass `appId` explicitly or omit it to fall back to the target client's registered bundleId metadata. Target device resolution: explicit `udid`/`serial` > outer `clientId` > `platform` + auto-pick > bare scan. Real iOS devices are not supported.",
203
+ description: 'Force-stop an installed app on the target device.',
203
204
  handler: async (args, ctx) => {
204
205
  const target = await resolveLaunchTarget(ctx, args, runner);
205
206
  if (!target.ok) {
@@ -230,7 +231,7 @@ exports.terminateAppTool = terminateAppTool;
230
231
  const RESTART_TEARDOWN_DELAY_MS = 200;
231
232
  const restartAppTool = (runner) => {
232
233
  return {
233
- description: "Terminate then immediately relaunch an installed app on iOS simulator or Android device. Equivalent to host__terminate_app followed by host__launch_app, but in a single call. Pass `appId` explicitly or omit it to fall back to the target client's registered bundleId metadata. Target device resolution: explicit `udid`/`serial` > outer `clientId` > `platform` + auto-pick > bare scan. Real iOS devices are not supported.",
234
+ description: 'Terminate then immediately relaunch an app (host__terminate_app + host__launch_app in one call, with a short teardown delay).',
234
235
  handler: async (args, ctx) => {
235
236
  const target = await resolveLaunchTarget(ctx, args, runner);
236
237
  if (!target.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../src/server/host/tools/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../src/server/host/tools/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type HostToolHandler } from '../../../server/host/types';
2
+ export declare const symbolicateTool: () => HostToolHandler;
3
+ //# sourceMappingURL=symbolicate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/symbolicate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6F3D,eAAO,MAAM,eAAe,QAAO,eA+HlC,CAAC"}
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.symbolicateTool = void 0;
4
+ const DEFAULT_METRO = 'http://localhost:8081';
5
+ const METRO_TIMEOUT_MS = 5_000;
6
+ const DEFAULT_MAX_FRAMES = 10;
7
+ const MAX_FRAMES_CEILING = 100;
8
+ /**
9
+ * Parses a raw Error.stack string into structured frames. Supports both the
10
+ * V8 ` at method (file:line:col)` format and the Hermes / JSC
11
+ * `method@file:line:col` form used by React Native. Returns an empty array if
12
+ * nothing matches so the caller can fall back gracefully.
13
+ */
14
+ const parseStackString = (stack) => {
15
+ const frames = [];
16
+ const v8Regex = /^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?\s*$/gm;
17
+ let match;
18
+ while ((match = v8Regex.exec(stack)) !== null) {
19
+ frames.push({
20
+ column: Number.parseInt(match[4], 10),
21
+ file: match[2],
22
+ lineNumber: Number.parseInt(match[3], 10),
23
+ methodName: match[1]?.trim() || undefined,
24
+ });
25
+ }
26
+ if (frames.length > 0)
27
+ return frames;
28
+ const hermesRegex = /^(.*?)@(.+?):(\d+):(\d+)$/gm;
29
+ while ((match = hermesRegex.exec(stack)) !== null) {
30
+ frames.push({
31
+ column: Number.parseInt(match[4], 10),
32
+ file: match[2],
33
+ lineNumber: Number.parseInt(match[3], 10),
34
+ methodName: match[1]?.trim() || undefined,
35
+ });
36
+ }
37
+ return frames;
38
+ };
39
+ /**
40
+ * Shorten an absolute filesystem path by stripping the current working
41
+ * directory prefix. Leaves URLs and unrelated absolute paths untouched.
42
+ */
43
+ const relativeToCwd = (file, cwd) => {
44
+ if (!file)
45
+ return file;
46
+ if (file.startsWith('http://') || file.startsWith('https://'))
47
+ return file;
48
+ if (file.startsWith(cwd + '/'))
49
+ return file.slice(cwd.length + 1);
50
+ if (file === cwd)
51
+ return '.';
52
+ return file;
53
+ };
54
+ /**
55
+ * Apply token-saving transforms to a resolved stack:
56
+ * 1. Drop framework frames (`collapse: true` from Metro = node_modules / RN
57
+ * internals) unless explicitly kept via includeFrameworkFrames.
58
+ * 2. Trim to `maxFrames` (from the top — where the actual cause lives).
59
+ * 3. Rewrite file paths relative to cwd unless fullPaths is set.
60
+ * 4. Drop `collapse` from output (already used for filtering).
61
+ */
62
+ const trimFrames = (frames, opts) => {
63
+ const filtered = opts.includeFramework
64
+ ? frames
65
+ : frames.filter((f) => {
66
+ return !f.collapse;
67
+ });
68
+ const limited = filtered.slice(0, opts.maxFrames);
69
+ const cwd = process.cwd();
70
+ return limited.map((f) => {
71
+ const out = {};
72
+ const file = opts.fullPaths ? f.file : relativeToCwd(f.file, cwd);
73
+ if (file)
74
+ out.file = file;
75
+ if (typeof f.lineNumber === 'number')
76
+ out.lineNumber = f.lineNumber;
77
+ if (typeof f.column === 'number' && f.column > 0)
78
+ out.column = f.column;
79
+ if (f.methodName)
80
+ out.methodName = f.methodName;
81
+ return out;
82
+ });
83
+ };
84
+ const symbolicateTool = () => {
85
+ return {
86
+ description: `Resolve a JS stack trace via Metro's /symbolicate endpoint — maps bundled paths like "http://localhost:8081/index.bundle:12345:67" back to original sources like "src/components/Foo.tsx:42:10".
87
+
88
+ Pass either a raw stack string (from errors__get_errors.stack) or a parsed array of frames (from log_box__get_logs[*].stack). No-ops gracefully when Metro is unreachable (returns { skipped: true, error }), so safe to call opportunistically.
89
+
90
+ TOKEN-SAVING DEFAULTS
91
+ - node_modules / RN-internal frames (collapse: true from Metro) are dropped.
92
+ - Only the top ${DEFAULT_MAX_FRAMES} frames returned.
93
+ - Absolute paths are shortened relative to the MCP server's cwd.
94
+ Opt-out via includeFrameworkFrames / maxFrames / fullPaths.`,
95
+ handler: async (args) => {
96
+ const stack = args.stack;
97
+ const frames = args.frames;
98
+ const metroUrl = (args.metroUrl || DEFAULT_METRO).replace(/\/$/, '');
99
+ const includeFramework = args.includeFrameworkFrames === true;
100
+ const fullPaths = args.fullPaths === true;
101
+ const maxFrames = Math.max(1, Math.min(MAX_FRAMES_CEILING, typeof args.maxFrames === 'number' ? Math.floor(args.maxFrames) : DEFAULT_MAX_FRAMES));
102
+ const trimOpts = { fullPaths, includeFramework, maxFrames };
103
+ let rawFrames;
104
+ if (Array.isArray(frames) && frames.length > 0) {
105
+ rawFrames = frames;
106
+ }
107
+ else if (typeof stack === 'string' && stack.length > 0) {
108
+ rawFrames = parseStackString(stack);
109
+ }
110
+ else {
111
+ return { error: 'Pass either `stack` (string) or `frames` (array).' };
112
+ }
113
+ if (rawFrames.length === 0) {
114
+ return { error: 'No frames parsed from input.', frames: [], skipped: true };
115
+ }
116
+ try {
117
+ const controller = new AbortController();
118
+ const timer = setTimeout(() => {
119
+ controller.abort();
120
+ }, METRO_TIMEOUT_MS);
121
+ const res = await fetch(`${metroUrl}/symbolicate`, {
122
+ body: JSON.stringify({ stack: rawFrames }),
123
+ headers: { 'Content-Type': 'application/json' },
124
+ method: 'POST',
125
+ signal: controller.signal,
126
+ });
127
+ clearTimeout(timer);
128
+ if (!res.ok) {
129
+ return {
130
+ error: `Metro responded ${res.status}`,
131
+ frames: trimFrames(rawFrames, trimOpts),
132
+ skipped: true,
133
+ };
134
+ }
135
+ const json = (await res.json());
136
+ const resolved = json.stack ?? rawFrames;
137
+ const totalFrames = includeFramework
138
+ ? resolved.length
139
+ : resolved.filter((f) => {
140
+ return !f.collapse;
141
+ }).length;
142
+ const trimmed = trimFrames(resolved, trimOpts);
143
+ const result = { frames: trimmed, totalFrames };
144
+ if (!includeFramework) {
145
+ result.droppedFrameworkFrames = resolved.length - totalFrames;
146
+ }
147
+ if (totalFrames > trimmed.length)
148
+ result.truncated = true;
149
+ return result;
150
+ }
151
+ catch (err) {
152
+ return {
153
+ error: `Metro at ${metroUrl} unreachable: ${err.message}`,
154
+ frames: trimFrames(rawFrames, trimOpts),
155
+ skipped: true,
156
+ };
157
+ }
158
+ },
159
+ inputSchema: {
160
+ frames: {
161
+ description: 'Parsed stack frames: [{ file, lineNumber, column, methodName? }]. Takes precedence over `stack` when both are provided.',
162
+ examples: [
163
+ [
164
+ {
165
+ column: 42,
166
+ file: 'http://localhost:8081/index.bundle',
167
+ lineNumber: 1234,
168
+ methodName: 'render',
169
+ },
170
+ ],
171
+ ],
172
+ type: 'array',
173
+ },
174
+ fullPaths: {
175
+ description: 'Return absolute file paths instead of ones relative to the MCP server cwd. Default false.',
176
+ type: 'boolean',
177
+ },
178
+ includeFrameworkFrames: {
179
+ description: 'Keep node_modules / React Native internal frames (marked collapse: true by Metro). Default false — framework noise is dropped to save tokens.',
180
+ type: 'boolean',
181
+ },
182
+ maxFrames: {
183
+ description: `Max frames to return after filtering (top-down). Default ${DEFAULT_MAX_FRAMES}, max ${MAX_FRAMES_CEILING}.`,
184
+ type: 'number',
185
+ },
186
+ metroUrl: {
187
+ description: `Base URL of the Metro dev server. Default "${DEFAULT_METRO}".`,
188
+ type: 'string',
189
+ },
190
+ stack: {
191
+ description: 'Raw stack trace string (e.g. from an Error.stack). Parsed into frames.',
192
+ type: 'string',
193
+ },
194
+ },
195
+ timeout: METRO_TIMEOUT_MS + 1_000,
196
+ };
197
+ };
198
+ exports.symbolicateTool = symbolicateTool;
199
+ //# sourceMappingURL=symbolicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate.js","sourceRoot":"","sources":["../../../../src/server/host/tools/symbolicate.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAa/B;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAgB,EAAE;IACvD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,oDAAoD,CAAC;IACrE,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE;YACf,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;YAC1C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAErC,MAAM,WAAW,GAAG,6BAA6B,CAAC;IAClD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE;YACf,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;YAC1C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAE,GAAW,EAAsB,EAAE;IAClF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CACjB,MAAuB,EACvB,IAA0E,EAC5D,EAAE;IAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB;QACpC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACpE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxE,IAAI,CAAC,CAAC,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,GAAoB,EAAE;IACnD,OAAO;QACL,WAAW,EAAE;;;;;;mBAME,kBAAkB;;8DAEyB;QAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAkC,CAAC;YACvD,MAAM,QAAQ,GAAG,CAAE,IAAI,CAAC,QAAmB,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,IAAI,CAAC,GAAG,CACN,kBAAkB,EAClB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CACrF,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;YAE5D,IAAI,SAAuB,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;YACxE,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACrB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,cAAc,EAAE;oBACjD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBAC1C,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,OAAO;wBACL,KAAK,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE;wBACtC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;wBACvC,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;gBAC/D,MAAM,QAAQ,GAAoB,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;gBAC1D,MAAM,WAAW,GAAG,gBAAgB;oBAClC,CAAC,CAAC,QAAQ,CAAC,MAAM;oBACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrB,CAAC,CAAC,CAAC,MAAM,CAAC;gBACd,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAKR,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,CAAC,sBAAsB,GAAG,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;gBAChE,CAAC;gBACD,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM;oBAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,KAAK,EAAE,YAAY,QAAQ,iBAAkB,GAAa,CAAC,OAAO,EAAE;oBACpE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;oBACvC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QACD,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,WAAW,EACT,yHAAyH;gBAC3H,QAAQ,EAAE;oBACR;wBACE;4BACE,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,oCAAoC;4BAC1C,UAAU,EAAE,IAAI;4BAChB,UAAU,EAAE,QAAQ;yBACrB;qBACF;iBACF;gBACD,IAAI,EAAE,OAAO;aACd;YACD,SAAS,EAAE;gBACT,WAAW,EACT,2FAA2F;gBAC7F,IAAI,EAAE,SAAS;aAChB;YACD,sBAAsB,EAAE;gBACtB,WAAW,EACT,+IAA+I;gBACjJ,IAAI,EAAE,SAAS;aAChB;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,4DAA4D,kBAAkB,SAAS,kBAAkB,GAAG;gBACzH,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,WAAW,EAAE,8CAA8C,aAAa,IAAI;gBAC5E,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,wEAAwE;gBACrF,IAAI,EAAE,QAAQ;aACf;SACF;QACD,OAAO,EAAE,gBAAgB,GAAG,KAAK;KAClC,CAAC;AACJ,CAAC,CAAC;AA/HW,QAAA,eAAe,mBA+H1B"}
@@ -0,0 +1,3 @@
1
+ import { type HostToolHandler } from '../../../server/host/types';
2
+ export declare const tapFiberTool: () => HostToolHandler;
3
+ //# sourceMappingURL=tapFiber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tapFiber.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/tapFiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiB3D,eAAO,MAAM,YAAY,QAAO,eA4F/B,CAAC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tapFiberTool = void 0;
4
+ const protocol_1 = require("../../../shared/protocol");
5
+ const TAP_FIBER_TIMEOUT_MS = 10_000;
6
+ const tapFiberTool = () => {
7
+ return {
8
+ description: `The canonical way to simulate a user tap — locates a fiber via fiber_tree__query and taps its center through the real OS gesture pipeline, so Pressable feedback, gesture responders, and hit-test run as under a real finger. One call instead of query + host__tap.
9
+
10
+ Requires exactly one resolved match after the chain. Pass \`index\` when the chain legitimately yields multiple and you want the Nth (0-based). When ambiguous without \`index\`, returns a candidate list with bounds so you can narrow \`steps\` or pick an index.
11
+
12
+ Returns { tapped: true, mcpId?, name, testID?, bounds, device } on success.
13
+ On ambiguity: { error: "N matches...", candidates: [...], total }.
14
+ On no match: { error: "no match for given steps", total: 0 }.
15
+ On unmounted: { error: "fiber has no measurable host view", mcpId?, name }.`,
16
+ handler: async (args, ctx) => {
17
+ const steps = args.steps;
18
+ if (!Array.isArray(steps) || steps.length === 0) {
19
+ return { error: 'tap_fiber requires a non-empty `steps` array.' };
20
+ }
21
+ const clientId = args.clientId ?? ctx.requestedClientId;
22
+ const index = args.index;
23
+ const queryResult = await ctx.dispatch(`fiber_tree${protocol_1.MODULE_SEPARATOR}query`, { limit: 10, select: ['bounds', 'mcpId', 'name', 'testID'], steps }, clientId);
24
+ if (!queryResult.ok) {
25
+ return { error: `fiber_tree__query failed: ${queryResult.error}` };
26
+ }
27
+ const result = queryResult.result;
28
+ const matches = result.matches ?? [];
29
+ if (matches.length === 0) {
30
+ return { error: 'no match for given steps', total: result.total ?? 0 };
31
+ }
32
+ if (matches.length > 1 && typeof index !== 'number') {
33
+ return {
34
+ candidates: matches.map((m) => {
35
+ return {
36
+ bounds: m.bounds ?? null,
37
+ mcpId: m.mcpId,
38
+ name: m.name,
39
+ testID: m.testID,
40
+ };
41
+ }),
42
+ error: `${matches.length} matches — pass \`index\` or narrow \`steps\`.`,
43
+ total: result.total ?? matches.length,
44
+ };
45
+ }
46
+ const pick = matches[typeof index === 'number' ? index : 0];
47
+ if (!pick) {
48
+ return { error: `index ${index} out of range (have ${matches.length}).` };
49
+ }
50
+ if (!pick.bounds) {
51
+ return {
52
+ error: 'fiber has no measurable host view — likely unmounted / virtualized.',
53
+ mcpId: pick.mcpId,
54
+ name: pick.name,
55
+ };
56
+ }
57
+ const tapResult = await ctx.dispatch(`host${protocol_1.MODULE_SEPARATOR}tap`, { x: pick.bounds.centerX, y: pick.bounds.centerY }, clientId);
58
+ if (!tapResult.ok) {
59
+ return { error: `host__tap failed: ${tapResult.error}` };
60
+ }
61
+ return {
62
+ bounds: pick.bounds,
63
+ device: tapResult.result.device,
64
+ mcpId: pick.mcpId,
65
+ name: pick.name,
66
+ tapped: true,
67
+ testID: pick.testID,
68
+ };
69
+ },
70
+ inputSchema: {
71
+ clientId: {
72
+ description: 'Target client ID (optional when one client is connected).',
73
+ type: 'string',
74
+ },
75
+ index: {
76
+ description: 'Pick the Nth match when the chain returns multiple (0-based).',
77
+ type: 'number',
78
+ },
79
+ steps: {
80
+ description: 'Same shape as fiber_tree__query steps — ordered criteria + optional scope.',
81
+ examples: [[{ testID: 'searchBar' }], [{ name: 'HomeScreen' }, { testID: 'addToCartBtn' }]],
82
+ type: 'array',
83
+ },
84
+ },
85
+ timeout: TAP_FIBER_TIMEOUT_MS,
86
+ };
87
+ };
88
+ exports.tapFiberTool = tapFiberTool;
89
+ //# sourceMappingURL=tapFiber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tapFiber.js","sourceRoot":"","sources":["../../../../src/server/host/tools/tapFiber.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,20 @@
1
1
  import { type Bridge } from '../../server/bridge';
2
+ /**
3
+ * Dispatch another tool (host or client module) by full name. Host tools like
4
+ * tap_fiber use it to chain fiber_tree__query + host__tap without the agent
5
+ * needing a round-trip. Returns raw handler result on success or a reason on
6
+ * failure — the caller decides how to surface it.
7
+ */
8
+ export type HostDispatch = (tool: string, args: Record<string, unknown>, clientId?: string) => Promise<{
9
+ ok: true;
10
+ result: unknown;
11
+ } | {
12
+ error: string;
13
+ ok: false;
14
+ }>;
2
15
  export interface HostContext {
3
16
  bridge: Bridge;
17
+ dispatch: HostDispatch;
4
18
  requestedClientId?: string;
5
19
  }
6
20
  export interface HostToolHandler {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/host/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/host/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -8,6 +8,12 @@ export declare class McpServerWrapper {
8
8
  constructor(bridge: Bridge, hostModules?: HostModule[]);
9
9
  start(): Promise<void>;
10
10
  private registerTools;
11
+ /**
12
+ * Execute a single tool by full name, returning the raw handler result.
13
+ * Used by both the `call` tool and meta-tools like `wait_until` that need to
14
+ * invoke other tools without going through the full MCP content wrapping.
15
+ */
16
+ private dispatchTool;
11
17
  private buildToolGroups;
12
18
  private formatResult;
13
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,cAAc,CAAC;AAgIrE,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,GAAG,CAAY;gBAGJ,MAAM,EAAE,MAAM,EAC/B,WAAW,GAAE,UAAU,EAAO;IAuB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,aAAa;IA4gBrB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,YAAY;CAerB"}
1
+ {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,cAAc,CAAC;AAmRrE,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,GAAG,CAAY;gBAGJ,MAAM,EAAE,MAAM,EAC/B,WAAW,GAAE,UAAU,EAAO;IAuB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,aAAa;IA8oBrB;;;;OAIG;YACW,YAAY;IAkG1B,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,YAAY;CAiBrB"}