react-native-mcp-kit 1.0.1 → 2.1.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 (170) hide show
  1. package/README.md +220 -720
  2. package/dist/babel/stripPlugin.d.ts.map +1 -1
  3. package/dist/babel/stripPlugin.js +40 -3
  4. package/dist/babel/stripPlugin.js.map +1 -1
  5. package/dist/bin/ios-hid +0 -0
  6. package/dist/client/contexts/McpContext/McpProvider.d.ts +1 -1
  7. package/dist/client/contexts/McpContext/McpProvider.d.ts.map +1 -1
  8. package/dist/client/contexts/McpContext/McpProvider.js +67 -4
  9. package/dist/client/contexts/McpContext/McpProvider.js.map +1 -1
  10. package/dist/client/contexts/McpContext/types.d.ts +11 -1
  11. package/dist/client/contexts/McpContext/types.d.ts.map +1 -1
  12. package/dist/client/core/McpClient.d.ts +8 -0
  13. package/dist/client/core/McpClient.d.ts.map +1 -1
  14. package/dist/client/core/McpClient.js +112 -22
  15. package/dist/client/core/McpClient.js.map +1 -1
  16. package/dist/client/utils/connection.d.ts +7 -0
  17. package/dist/client/utils/connection.d.ts.map +1 -1
  18. package/dist/client/utils/connection.js +14 -1
  19. package/dist/client/utils/connection.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/modules/device/device.d.ts.map +1 -1
  25. package/dist/modules/device/device.js +16 -4
  26. package/dist/modules/device/device.js.map +1 -1
  27. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  28. package/dist/modules/fiberTree/fiberTree.js +61 -15
  29. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  30. package/dist/modules/fiberTree/types.d.ts +9 -0
  31. package/dist/modules/fiberTree/types.d.ts.map +1 -1
  32. package/dist/modules/fiberTree/utils.d.ts +2 -1
  33. package/dist/modules/fiberTree/utils.d.ts.map +1 -1
  34. package/dist/modules/fiberTree/utils.js +57 -1
  35. package/dist/modules/fiberTree/utils.js.map +1 -1
  36. package/dist/modules/index.d.ts +0 -1
  37. package/dist/modules/index.d.ts.map +1 -1
  38. package/dist/modules/index.js +1 -3
  39. package/dist/modules/index.js.map +1 -1
  40. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  41. package/dist/modules/navigation/navigation.js +32 -40
  42. package/dist/modules/navigation/navigation.js.map +1 -1
  43. package/dist/modules/navigation/types.d.ts +2 -1
  44. package/dist/modules/navigation/types.d.ts.map +1 -1
  45. package/dist/server/bridge.d.ts +38 -12
  46. package/dist/server/bridge.d.ts.map +1 -1
  47. package/dist/server/bridge.js +158 -56
  48. package/dist/server/bridge.js.map +1 -1
  49. package/dist/server/cli.js +10 -1
  50. package/dist/server/cli.js.map +1 -1
  51. package/dist/server/host/deviceResolver.d.ts +53 -0
  52. package/dist/server/host/deviceResolver.d.ts.map +1 -0
  53. package/dist/server/host/deviceResolver.js +555 -0
  54. package/dist/server/host/deviceResolver.js.map +1 -0
  55. package/dist/server/host/helpers.d.ts +33 -0
  56. package/dist/server/host/helpers.d.ts.map +1 -0
  57. package/dist/server/host/helpers.js +42 -0
  58. package/dist/server/host/helpers.js.map +1 -0
  59. package/dist/server/host/hostModule.d.ts +4 -0
  60. package/dist/server/host/hostModule.d.ts.map +1 -0
  61. package/dist/server/host/hostModule.js +26 -0
  62. package/dist/server/host/hostModule.js.map +1 -0
  63. package/dist/server/host/index.d.ts +4 -0
  64. package/dist/server/host/index.d.ts.map +1 -0
  65. package/dist/server/host/index.js +8 -0
  66. package/dist/server/host/index.js.map +1 -0
  67. package/dist/server/host/iosInput.d.ts +15 -0
  68. package/dist/server/host/iosInput.d.ts.map +1 -0
  69. package/dist/server/host/iosInput.js +93 -0
  70. package/dist/server/host/iosInput.js.map +1 -0
  71. package/dist/server/host/modules/screenshot.d.ts +4 -0
  72. package/dist/server/host/modules/screenshot.d.ts.map +1 -0
  73. package/dist/server/host/modules/screenshot.js +615 -0
  74. package/dist/server/host/modules/screenshot.js.map +1 -0
  75. package/dist/server/host/processRunner.d.ts +19 -0
  76. package/dist/server/host/processRunner.d.ts.map +1 -0
  77. package/dist/server/host/processRunner.js +58 -0
  78. package/dist/server/host/processRunner.js.map +1 -0
  79. package/dist/server/host/tools/capture.d.ts +6 -0
  80. package/dist/server/host/tools/capture.d.ts.map +1 -0
  81. package/dist/server/host/tools/capture.js +148 -0
  82. package/dist/server/host/tools/capture.js.map +1 -0
  83. package/dist/server/host/tools/devices.d.ts +4 -0
  84. package/dist/server/host/tools/devices.d.ts.map +1 -0
  85. package/dist/server/host/tools/devices.js +17 -0
  86. package/dist/server/host/tools/devices.js.map +1 -0
  87. package/dist/server/host/tools/input.d.ts +7 -0
  88. package/dist/server/host/tools/input.d.ts.map +1 -0
  89. package/dist/server/host/tools/input.js +286 -0
  90. package/dist/server/host/tools/input.js.map +1 -0
  91. package/dist/server/host/tools/lifecycle.d.ts +6 -0
  92. package/dist/server/host/tools/lifecycle.d.ts.map +1 -0
  93. package/dist/server/host/tools/lifecycle.js +271 -0
  94. package/dist/server/host/tools/lifecycle.js.map +1 -0
  95. package/dist/server/host/types.d.ts +17 -0
  96. package/dist/server/host/types.d.ts.map +1 -0
  97. package/dist/{modules/components → server/host}/types.js.map +1 -1
  98. package/dist/server/host/wda.d.ts +15 -0
  99. package/dist/server/host/wda.d.ts.map +1 -0
  100. package/dist/server/host/wda.js +100 -0
  101. package/dist/server/host/wda.js.map +1 -0
  102. package/dist/server/index.d.ts.map +1 -1
  103. package/dist/server/index.js +10 -17
  104. package/dist/server/index.js.map +1 -1
  105. package/dist/server/mcpServer.d.ts +5 -10
  106. package/dist/server/mcpServer.d.ts.map +1 -1
  107. package/dist/server/mcpServer.js +438 -153
  108. package/dist/server/mcpServer.js.map +1 -1
  109. package/dist/server/types.d.ts +2 -8
  110. package/dist/server/types.d.ts.map +1 -1
  111. package/dist/shared/protocol.d.ts +39 -1
  112. package/dist/shared/protocol.d.ts.map +1 -1
  113. package/dist/shared/protocol.js +12 -1
  114. package/dist/shared/protocol.js.map +1 -1
  115. package/package.json +6 -12
  116. package/dist/client/contexts/McpTreeContext/McpTracker.d.ts +0 -10
  117. package/dist/client/contexts/McpTreeContext/McpTracker.d.ts.map +0 -1
  118. package/dist/client/contexts/McpTreeContext/McpTracker.js +0 -101
  119. package/dist/client/contexts/McpTreeContext/McpTracker.js.map +0 -1
  120. package/dist/client/contexts/McpTreeContext/McpTreeContext.d.ts +0 -2
  121. package/dist/client/contexts/McpTreeContext/McpTreeContext.d.ts.map +0 -1
  122. package/dist/client/contexts/McpTreeContext/McpTreeContext.js +0 -6
  123. package/dist/client/contexts/McpTreeContext/McpTreeContext.js.map +0 -1
  124. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.d.ts +0 -16
  125. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.d.ts.map +0 -1
  126. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.js +0 -96
  127. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.js.map +0 -1
  128. package/dist/client/contexts/McpTreeContext/index.d.ts +0 -5
  129. package/dist/client/contexts/McpTreeContext/index.d.ts.map +0 -1
  130. package/dist/client/contexts/McpTreeContext/index.js +0 -10
  131. package/dist/client/contexts/McpTreeContext/index.js.map +0 -1
  132. package/dist/client/contexts/McpTreeContext/types.d.ts +0 -14
  133. package/dist/client/contexts/McpTreeContext/types.d.ts.map +0 -1
  134. package/dist/client/contexts/McpTreeContext/types.js.map +0 -1
  135. package/dist/modules/components/components.d.ts +0 -8
  136. package/dist/modules/components/components.d.ts.map +0 -1
  137. package/dist/modules/components/components.js +0 -315
  138. package/dist/modules/components/components.js.map +0 -1
  139. package/dist/modules/components/index.d.ts +0 -3
  140. package/dist/modules/components/index.d.ts.map +0 -1
  141. package/dist/modules/components/index.js +0 -6
  142. package/dist/modules/components/index.js.map +0 -1
  143. package/dist/modules/components/types.d.ts +0 -18
  144. package/dist/modules/components/types.d.ts.map +0 -1
  145. package/dist/modules/components/types.js +0 -3
  146. package/dist/modules/components/utils.d.ts +0 -18
  147. package/dist/modules/components/utils.d.ts.map +0 -1
  148. package/dist/modules/components/utils.js +0 -386
  149. package/dist/modules/components/utils.js.map +0 -1
  150. package/dist/modules/screenshot/index.d.ts +0 -3
  151. package/dist/modules/screenshot/index.d.ts.map +0 -1
  152. package/dist/modules/screenshot/index.js +0 -6
  153. package/dist/modules/screenshot/index.js.map +0 -1
  154. package/dist/modules/screenshot/screenshot.d.ts +0 -4
  155. package/dist/modules/screenshot/screenshot.d.ts.map +0 -1
  156. package/dist/modules/screenshot/screenshot.js +0 -89
  157. package/dist/modules/screenshot/screenshot.js.map +0 -1
  158. package/dist/modules/screenshot/types.d.ts +0 -5
  159. package/dist/modules/screenshot/types.d.ts.map +0 -1
  160. package/dist/modules/screenshot/types.js +0 -3
  161. package/dist/modules/screenshot/types.js.map +0 -1
  162. package/dist/modules/tree/index.d.ts +0 -2
  163. package/dist/modules/tree/index.d.ts.map +0 -1
  164. package/dist/modules/tree/index.js +0 -6
  165. package/dist/modules/tree/index.js.map +0 -1
  166. package/dist/modules/tree/tree.d.ts +0 -3
  167. package/dist/modules/tree/tree.d.ts.map +0 -1
  168. package/dist/modules/tree/tree.js +0 -274
  169. package/dist/modules/tree/tree.js.map +0 -1
  170. /package/dist/{client/contexts/McpTreeContext → server/host}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"stripPlugin.d.ts","sourceRoot":"","sources":["../../src/babel/stripPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAavE,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,UAAU,CAAA;CAAE,GAAG,SAAS,CAiHzF"}
1
+ {"version":3,"file":"stripPlugin.d.ts","sourceRoot":"","sources":["../../src/babel/stripPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAavE,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,UAAU,CAAA;CAAE,GAAG,SAAS,CAyJzF"}
@@ -87,12 +87,49 @@ function stripPlugin({ types: t }) {
87
87
  path.remove();
88
88
  }
89
89
  },
90
- // Replace <McpProvider>{children}</McpProvider> with just {children}
90
+ // Replace <McpProvider>{children}</McpProvider> with just {children}.
91
+ // The node parent may be JSX (children can sit as siblings) or an
92
+ // expression (arrow body / return / paren — must yield exactly one
93
+ // expression). JSXText whitespace and JSXExpressionContainer wrappers
94
+ // need to be normalised so the replacement is valid in either context.
91
95
  JSXElement(path) {
92
96
  const opening = path.node.openingElement;
93
- if (t.isJSXIdentifier(opening.name, { name: 'McpProvider' })) {
94
- path.replaceWithMultiple(path.node.children);
97
+ if (!t.isJSXIdentifier(opening.name, { name: 'McpProvider' }))
98
+ return;
99
+ const realChildren = path.node.children.filter((child) => {
100
+ if (t.isJSXText(child))
101
+ return child.value.trim() !== '';
102
+ return true;
103
+ });
104
+ if (realChildren.length === 0) {
105
+ path.remove();
106
+ return;
107
+ }
108
+ const parent = path.parent;
109
+ const isJsxContext = t.isJSXElement(parent) || t.isJSXFragment(parent);
110
+ if (isJsxContext) {
111
+ path.replaceWithMultiple(realChildren);
112
+ return;
113
+ }
114
+ if (realChildren.length === 1) {
115
+ const [only] = realChildren;
116
+ if (!only)
117
+ return;
118
+ // Unwrap {expr} back to expr in expression context — a bare
119
+ // JSXExpressionContainer is not a valid expression outside JSX.
120
+ if (t.isJSXExpressionContainer(only)) {
121
+ if (t.isJSXEmptyExpression(only.expression)) {
122
+ path.remove();
123
+ }
124
+ else {
125
+ path.replaceWith(only.expression);
126
+ }
127
+ return;
128
+ }
129
+ path.replaceWith(only);
130
+ return;
95
131
  }
132
+ path.replaceWith(t.jsxFragment(t.jsxOpeningFragment(), t.jsxClosingFragment(), realChildren));
96
133
  },
97
134
  },
98
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stripPlugin.js","sourceRoot":"","sources":["../../src/babel/stripPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripPlugin.js","sourceRoot":"","sources":["../../src/babel/stripPlugin.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1,3 +1,3 @@
1
1
  import { type McpContextValue, type McpProviderProps } from './types';
2
- export declare const McpProvider: ({ children }: McpProviderProps) => import("react").FunctionComponentElement<import("react").ProviderProps<McpContextValue | null>>;
2
+ export declare const McpProvider: ({ children, debug, i18n, modules, navigationRef, queryClient, storages, }: McpProviderProps) => import("react").FunctionComponentElement<import("react").ProviderProps<McpContextValue | null>>;
3
3
  //# sourceMappingURL=McpProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/McpProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtE,eAAO,MAAM,WAAW,iBAAkB,gBAAgB,oGAoBzD,CAAC"}
1
+ {"version":3,"file":"McpProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/McpProvider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAiBtE,eAAO,MAAM,WAAW,8EAQrB,gBAAgB,oGAoElB,CAAC"}
@@ -3,10 +3,71 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.McpProvider = void 0;
4
4
  const react_1 = require("react");
5
5
  const McpClient_1 = require("../../../client/core/McpClient");
6
+ const alert_1 = require("../../../modules/alert");
7
+ const console_1 = require("../../../modules/console");
8
+ const device_1 = require("../../../modules/device");
9
+ const errors_1 = require("../../../modules/errors");
10
+ const fiberTree_1 = require("../../../modules/fiberTree");
11
+ const i18next_1 = require("../../../modules/i18next");
12
+ const navigation_1 = require("../../../modules/navigation");
13
+ const network_1 = require("../../../modules/network");
14
+ const reactQuery_1 = require("../../../modules/reactQuery");
15
+ const storage_1 = require("../../../modules/storage");
6
16
  const McpContext_1 = require("./McpContext");
7
- const McpProvider = ({ children }) => {
17
+ // Lazy-require so importing this file from Node (e.g. the server entry) does
18
+ // not pull react-native into scope. Matches the pattern used elsewhere in the
19
+ // library (see device/alert modules).
20
+ let ViewComponent;
21
+ const getView = () => {
22
+ if (!ViewComponent) {
23
+ // eslint-disable-next-line global-require, @typescript-eslint/no-require-imports
24
+ ViewComponent = require('react-native').View;
25
+ }
26
+ return ViewComponent;
27
+ };
28
+ const McpProvider = ({ children, debug, i18n, modules, navigationRef, queryClient, storages, }) => {
29
+ const client = (0, react_1.useMemo)(() => {
30
+ return McpClient_1.McpClient.initialize({ debug });
31
+ }, [debug]);
32
+ const rootRef = (0, react_1.useRef)(null);
33
+ // Always-on modules — fiberTree picks up the internal root ref so apps no
34
+ // longer need to manage one manually.
35
+ (0, react_1.useEffect)(() => {
36
+ client.registerModules([
37
+ (0, alert_1.alertModule)(),
38
+ (0, console_1.consoleModule)(),
39
+ (0, device_1.deviceModule)(),
40
+ (0, errors_1.errorsModule)(),
41
+ (0, network_1.networkModule)(),
42
+ (0, fiberTree_1.fiberTreeModule)({ rootRef }),
43
+ ]);
44
+ }, [client]);
45
+ (0, react_1.useEffect)(() => {
46
+ if (!navigationRef)
47
+ return;
48
+ client.registerModule((0, navigation_1.navigationModule)(navigationRef));
49
+ }, [client, navigationRef]);
50
+ (0, react_1.useEffect)(() => {
51
+ if (!queryClient)
52
+ return;
53
+ client.registerModule((0, reactQuery_1.reactQueryModule)(queryClient));
54
+ }, [client, queryClient]);
55
+ (0, react_1.useEffect)(() => {
56
+ if (!i18n)
57
+ return;
58
+ client.registerModule((0, i18next_1.i18nextModule)(i18n));
59
+ }, [client, i18n]);
60
+ (0, react_1.useEffect)(() => {
61
+ if (!storages || storages.length === 0)
62
+ return;
63
+ client.registerModule((0, storage_1.storageModule)(...storages));
64
+ }, [client, storages]);
65
+ (0, react_1.useEffect)(() => {
66
+ if (!modules || modules.length === 0)
67
+ return;
68
+ client.registerModules(modules);
69
+ }, [client, modules]);
8
70
  const contextValue = (0, react_1.useMemo)(() => {
9
- const client = McpClient_1.McpClient.getInstance();
10
71
  return {
11
72
  registerTool: (name, tool) => {
12
73
  client.registerTool(name, tool);
@@ -21,8 +82,10 @@ const McpProvider = ({ children }) => {
21
82
  client.unregisterTool(name);
22
83
  },
23
84
  };
24
- }, []);
25
- return (0, react_1.createElement)(McpContext_1.McpContext.Provider, { value: contextValue }, children);
85
+ }, [client]);
86
+ return (0, react_1.createElement)(McpContext_1.McpContext.Provider, { value: contextValue },
87
+ // eslint-disable-next-line react-hooks/refs
88
+ (0, react_1.createElement)(getView(), { collapsable: false, ref: rootRef, style: { flex: 1 } }, children));
26
89
  };
27
90
  exports.McpProvider = McpProvider;
28
91
  //# sourceMappingURL=McpProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpProvider.js","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/McpProvider.ts"],"names":[],"mappings":";;;AAAA,iCAA+C;AAE/C,uDAAoD;AAEpD,6CAA0C;AAGnC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAoB,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,IAAA,eAAO,EAAkB,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,qBAAS,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO;YACL,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAA,qBAAa,EAAC,uBAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC,CAAC;AApBW,QAAA,WAAW,eAoBtB"}
1
+ {"version":3,"file":"McpProvider.js","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/McpProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type ToolHandler } from '../../../client/models/types';
2
+ import { type McpModule, type ToolHandler } from '../../../client/models/types';
3
+ import { type I18nLike } from '../../../modules/i18next/types';
4
+ import { type NavigationRef } from '../../../modules/navigation/types';
5
+ import { type QueryClientLike } from '../../../modules/reactQuery/types';
6
+ import { type NamedStorage } from '../../../modules/storage/types';
3
7
  export interface McpContextValue {
4
8
  registerTool: (name: string, tool: ToolHandler) => void;
5
9
  removeState: (key: string) => void;
@@ -8,5 +12,11 @@ export interface McpContextValue {
8
12
  }
9
13
  export interface McpProviderProps {
10
14
  children: ReactNode;
15
+ debug?: boolean;
16
+ i18n?: I18nLike;
17
+ modules?: McpModule[];
18
+ navigationRef?: NavigationRef;
19
+ queryClient?: QueryClientLike;
20
+ storages?: NamedStorage[];
11
21
  }
12
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/client/contexts/McpContext/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IAEpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAKhB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B"}
@@ -3,11 +3,19 @@ export declare class McpClient {
3
3
  private static instance;
4
4
  private connection;
5
5
  private debug;
6
+ private identity;
6
7
  private moduleRunner;
7
8
  private constructor();
9
+ private handleToolRequest;
8
10
  static initialize(options?: {
11
+ appName?: string;
12
+ appVersion?: string;
13
+ bundleId?: string;
9
14
  debug?: boolean;
15
+ deviceId?: string;
10
16
  host?: string;
17
+ label?: string;
18
+ platform?: string;
11
19
  port?: number;
12
20
  }): McpClient;
13
21
  static getInstance(): McpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../../src/client/core/McpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA+CzE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IAEjD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO;IAmCP,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAezF,MAAM,CAAC,WAAW,IAAI,SAAS;IAS/B,OAAO,IAAI,IAAI;IAMf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAMvC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAa3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAcnD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ9B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAS3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUlC,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,gBAAgB;CAezB"}
1
+ {"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../../src/client/core/McpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAsHzE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IAEjD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO;IAuCP,OAAO,CAAC,iBAAiB;IAsBzB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,SAAS;IA0Bb,MAAM,CAAC,WAAW,IAAI,SAAS;IAS/B,OAAO,IAAI,IAAI;IAMf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAMvC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAa3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAcnD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ9B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAS3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUlC,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,gBAAgB;CAsBzB"}
@@ -39,42 +39,116 @@ const formatTool = (moduleName, method) => {
39
39
  };
40
40
  // Capture original console.log before any module intercepts it
41
41
  const originalConsoleLog = console.log.bind(console);
42
+ // react-native-device-info returns the literal string "unknown" on Android
43
+ // emulators and some real devices when Settings.Global.DEVICE_NAME is empty.
44
+ // Treat it the same as undefined so we can fall back to manufacturer + model.
45
+ const isUsefulString = (value) => {
46
+ return typeof value === 'string' && value.length > 0 && value.toLowerCase() !== 'unknown';
47
+ };
48
+ const autoDetectIdentity = () => {
49
+ const out = {};
50
+ try {
51
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
52
+ const rn = require('react-native');
53
+ const os = rn.Platform?.OS ?? rn.default?.Platform?.OS;
54
+ if (typeof os === 'string') {
55
+ out.platform = os;
56
+ }
57
+ }
58
+ catch {
59
+ // not running inside a React Native bundle — that's fine
60
+ }
61
+ try {
62
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
63
+ const di = require('react-native-device-info');
64
+ const DI = di.default ?? di;
65
+ const appName = DI.getApplicationName?.();
66
+ const appVersion = DI.getVersion?.();
67
+ const bundleId = DI.getBundleId?.() ?? DI.getBundleIdSync?.();
68
+ const rawDeviceName = DI.getDeviceNameSync?.();
69
+ const model = DI.getModel?.();
70
+ const manufacturer = DI.getManufacturerSync?.() ?? DI.getBrand?.();
71
+ const deviceId = DI.getUniqueIdSync?.();
72
+ if (typeof appName === 'string') {
73
+ out.appName = appName;
74
+ }
75
+ if (typeof appVersion === 'string') {
76
+ out.appVersion = appVersion;
77
+ }
78
+ if (typeof bundleId === 'string') {
79
+ out.bundleId = bundleId;
80
+ }
81
+ if (isUsefulString(rawDeviceName)) {
82
+ out.label = rawDeviceName;
83
+ }
84
+ else if (isUsefulString(model)) {
85
+ out.label = isUsefulString(manufacturer) ? `${manufacturer} ${model}` : model;
86
+ }
87
+ if (typeof deviceId === 'string') {
88
+ out.deviceId = deviceId;
89
+ }
90
+ }
91
+ catch {
92
+ // react-native-device-info not installed — identity stays partial
93
+ }
94
+ return out;
95
+ };
42
96
  class McpClient {
43
97
  static instance = null;
44
98
  connection;
45
99
  debug = false;
100
+ identity;
46
101
  moduleRunner = new moduleRunner_1.ModuleRunner();
47
- constructor(url) {
102
+ constructor(url, identity) {
103
+ this.identity = identity;
48
104
  this.connection = new connection_1.McpConnection(url);
49
105
  this.connection.onOpen(() => {
50
106
  this.log('🚀 Connected to MCP server 🚀');
51
107
  this.sendRegistration();
52
108
  });
53
109
  this.connection.onMessage((message) => {
54
- if (message.type === 'tool_request') {
55
- this.log(`${ARROW_IN} ${formatTool(message.module, message.method)}`, message.args);
56
- this.moduleRunner
57
- .handleRequest(message)
58
- .then((result) => {
59
- this.log(`${ARROW_OUT} ${formatTool(message.module, message.method)}`, result);
60
- this.connection.send({
61
- id: message.id,
62
- result,
63
- type: 'tool_response',
64
- });
65
- })
66
- .catch((error) => {
67
- this.log(`${CROSS} ${formatTool(message.module, message.method)}`, error.message);
68
- this.connection.send({
69
- error: error.message,
70
- id: message.id,
71
- type: 'tool_response',
72
- });
73
- });
110
+ switch (message.type) {
111
+ case 'server_hello':
112
+ if (message.protocolVersion !== protocol_1.PROTOCOL_VERSION) {
113
+ console.error(`${TAG} Protocol version mismatch — server ${message.protocolVersion}, client ${protocol_1.PROTOCOL_VERSION}. Update the mcp-kit package on one side so they line up; disconnecting.`);
114
+ this.connection.stopReconnect();
115
+ this.connection.dispose();
116
+ return;
117
+ }
118
+ this.log(`Server hello — protocol v${message.protocolVersion}`);
119
+ break;
120
+ case 'version_mismatch':
121
+ console.error(`${TAG} Server rejected connection: ${message.reason} (server protocol v${message.serverVersion}, client protocol v${protocol_1.PROTOCOL_VERSION}). Not reconnecting.`);
122
+ this.connection.stopReconnect();
123
+ break;
124
+ case 'tool_request':
125
+ this.handleToolRequest(message);
126
+ break;
74
127
  }
75
128
  });
76
129
  this.connection.connect();
77
130
  }
131
+ handleToolRequest(message) {
132
+ this.log(`${ARROW_IN} ${formatTool(message.module, message.method)}`, message.args);
133
+ this.moduleRunner
134
+ .handleRequest(message)
135
+ .then((result) => {
136
+ this.log(`${ARROW_OUT} ${formatTool(message.module, message.method)}`, result);
137
+ this.connection.send({
138
+ id: message.id,
139
+ result,
140
+ type: 'tool_response',
141
+ });
142
+ })
143
+ .catch((error) => {
144
+ this.log(`${CROSS} ${formatTool(message.module, message.method)}`, error.message);
145
+ this.connection.send({
146
+ error: error.message,
147
+ id: message.id,
148
+ type: 'tool_response',
149
+ });
150
+ });
151
+ }
78
152
  static initialize(options) {
79
153
  if (McpClient.instance) {
80
154
  if (options?.debug !== undefined) {
@@ -84,7 +158,16 @@ class McpClient {
84
158
  }
85
159
  const host = options?.host ?? 'localhost';
86
160
  const port = options?.port ?? DEFAULT_PORT;
87
- McpClient.instance = new McpClient(`ws://${host}:${port}`);
161
+ const auto = autoDetectIdentity();
162
+ const identity = {
163
+ appName: options?.appName ?? auto.appName,
164
+ appVersion: options?.appVersion ?? auto.appVersion,
165
+ bundleId: options?.bundleId ?? auto.bundleId,
166
+ deviceId: options?.deviceId ?? auto.deviceId,
167
+ label: options?.label ?? auto.label,
168
+ platform: options?.platform ?? auto.platform,
169
+ };
170
+ McpClient.instance = new McpClient(`ws://${host}:${port}`, identity);
88
171
  McpClient.instance.debug = options?.debug ?? false;
89
172
  return McpClient.instance;
90
173
  }
@@ -174,7 +257,14 @@ class McpClient {
174
257
  })
175
258
  .join('\n '));
176
259
  this.connection.send({
260
+ appName: this.identity.appName,
261
+ appVersion: this.identity.appVersion,
262
+ bundleId: this.identity.bundleId,
263
+ deviceId: this.identity.deviceId,
264
+ label: this.identity.label,
177
265
  modules: descriptors,
266
+ platform: this.identity.platform,
267
+ protocolVersion: protocol_1.PROTOCOL_VERSION,
178
268
  type: 'registration',
179
269
  });
180
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../../src/client/core/McpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../../src/client/core/McpClient.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,18 @@ export declare class McpConnection {
6
6
  private openHandler;
7
7
  private reconnectTimer;
8
8
  private disposed;
9
+ private reconnectDisabled;
9
10
  constructor(url: string);
10
11
  connect(): void;
11
12
  send(message: ClientMessage): void;
12
13
  onMessage(handler: (message: ServerMessage) => void): void;
13
14
  onOpen(handler: () => void): void;
15
+ /**
16
+ * Stop the reconnect loop. Used after a fatal, non-recoverable close such as
17
+ * a protocol-version mismatch — retrying won't change the outcome and would
18
+ * just spam errors.
19
+ */
20
+ stopReconnect(): void;
14
21
  dispose(): void;
15
22
  private scheduleReconnect;
16
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/client/utils/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI3E,qBAAa,aAAa;IAOZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IANhC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAS;gBAEI,GAAG,EAAE,MAAM;IAExC,OAAO,IAAI,IAAI;IA+Bf,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMlC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI1D,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjC,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/client/utils/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI3E,qBAAa,aAAa;IAQZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPhC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAS;gBAEL,GAAG,EAAE,MAAM;IAExC,OAAO,IAAI,IAAI;IA+Bf,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMlC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI1D,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjC;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAQrB,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -9,6 +9,7 @@ class McpConnection {
9
9
  openHandler = null;
10
10
  reconnectTimer = null;
11
11
  disposed = false;
12
+ reconnectDisabled = false;
12
13
  constructor(url) {
13
14
  this.url = url;
14
15
  }
@@ -51,6 +52,18 @@ class McpConnection {
51
52
  onOpen(handler) {
52
53
  this.openHandler = handler;
53
54
  }
55
+ /**
56
+ * Stop the reconnect loop. Used after a fatal, non-recoverable close such as
57
+ * a protocol-version mismatch — retrying won't change the outcome and would
58
+ * just spam errors.
59
+ */
60
+ stopReconnect() {
61
+ this.reconnectDisabled = true;
62
+ if (this.reconnectTimer) {
63
+ clearTimeout(this.reconnectTimer);
64
+ this.reconnectTimer = null;
65
+ }
66
+ }
54
67
  dispose() {
55
68
  this.disposed = true;
56
69
  if (this.reconnectTimer) {
@@ -60,7 +73,7 @@ class McpConnection {
60
73
  this.ws = null;
61
74
  }
62
75
  scheduleReconnect() {
63
- if (this.disposed)
76
+ if (this.disposed || this.reconnectDisabled)
64
77
  return;
65
78
  this.reconnectTimer = setTimeout(() => {
66
79
  this.connect();
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/client/utils/connection.ts"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAa,aAAa;IAOK;IANrB,EAAE,GAAqB,IAAI,CAAC;IAC5B,cAAc,GAA8C,IAAI,CAAC;IACjE,WAAW,GAAwB,IAAI,CAAC;IACxC,cAAc,GAAyC,IAAI,CAAC;IAC5D,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBAC5B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAkB,CAAC;oBAChE,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAsB;QACzB,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAyC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IACjB,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC;CACF;AArED,sCAqEC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/client/utils/connection.ts"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAa,aAAa;IAQK;IAPrB,EAAE,GAAqB,IAAI,CAAC;IAC5B,cAAc,GAA8C,IAAI,CAAC;IACjE,WAAW,GAAwB,IAAI,CAAC;IACxC,cAAc,GAAyC,IAAI,CAAC;IAC5D,QAAQ,GAAG,KAAK,CAAC;IACjB,iBAAiB,GAAG,KAAK,CAAC;IAElC,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBAC5B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAkB,CAAC;oBAChE,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAsB;QACzB,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAyC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IACjB,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACpD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC;CACF;AAnFD,sCAmFC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { McpClient, McpContext, McpProvider, useMcpModule, useMcpState, useMcpTool, } from './client/index';
2
2
  export { type McpContextValue, type McpModule, type McpProviderProps, type ToolHandler, } from './client/index';
3
- export { alertModule, fiberTreeModule, consoleModule, deviceModule, errorsModule, i18nextModule, navigationModule, networkModule, reactQueryModule, screenshotModule, storageModule, } from './modules/index';
3
+ export { alertModule, fiberTreeModule, consoleModule, deviceModule, errorsModule, i18nextModule, navigationModule, networkModule, reactQueryModule, storageModule, } from './modules/index';
4
4
  export { type ClientMessage, type ModuleDescriptor, type ModuleToolDescriptor, type RegistrationMessage, type ServerMessage, type StateRemoveMessage, type StateUpdateMessage, type ToolRegisterMessage, type ToolRequest, type ToolResponse, type ToolUnregisterMessage, } from './shared/protocol';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storageModule = exports.screenshotModule = exports.reactQueryModule = exports.networkModule = exports.navigationModule = exports.i18nextModule = exports.errorsModule = exports.deviceModule = exports.consoleModule = exports.fiberTreeModule = exports.alertModule = exports.useMcpTool = exports.useMcpState = exports.useMcpModule = exports.McpProvider = exports.McpContext = exports.McpClient = void 0;
3
+ exports.storageModule = exports.reactQueryModule = exports.networkModule = exports.navigationModule = exports.i18nextModule = exports.errorsModule = exports.deviceModule = exports.consoleModule = exports.fiberTreeModule = exports.alertModule = exports.useMcpTool = exports.useMcpState = exports.useMcpModule = exports.McpProvider = exports.McpContext = exports.McpClient = void 0;
4
4
  // Client (safe for React Native)
5
5
  var index_1 = require("./client/index");
6
6
  Object.defineProperty(exports, "McpClient", { enumerable: true, get: function () { return index_1.McpClient; } });
@@ -20,6 +20,5 @@ Object.defineProperty(exports, "i18nextModule", { enumerable: true, get: functio
20
20
  Object.defineProperty(exports, "navigationModule", { enumerable: true, get: function () { return index_2.navigationModule; } });
21
21
  Object.defineProperty(exports, "networkModule", { enumerable: true, get: function () { return index_2.networkModule; } });
22
22
  Object.defineProperty(exports, "reactQueryModule", { enumerable: true, get: function () { return index_2.reactQueryModule; } });
23
- Object.defineProperty(exports, "screenshotModule", { enumerable: true, get: function () { return index_2.screenshotModule; } });
24
23
  Object.defineProperty(exports, "storageModule", { enumerable: true, get: function () { return index_2.storageModule; } });
25
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,wCAOwB;AANtB,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,mGAAA,UAAU,OAAA;AASZ,kCAAkC;AAClC,yCAYyB;AAXvB,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,wCAOwB;AANtB,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,mGAAA,UAAU,OAAA;AASZ,kCAAkC;AAClC,yCAWyB;AAVvB,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/modules/device/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,eAAO,MAAM,YAAY,QAAO,SA8L/B,CAAC"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/modules/device/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,eAAO,MAAM,YAAY,QAAO,SA2M/B,CAAC"}
@@ -86,12 +86,24 @@ const deviceModule = () => {
86
86
  },
87
87
  },
88
88
  get_dimensions: {
89
- description: 'Get screen and window dimensions (width, height, scale, fontScale)',
89
+ description: 'Get screen and window dimensions in BOTH logical DP and physical pixels. `screen`/`window` hold the raw React Native values (DP, with scale/fontScale). `screenPixels`/`windowPixels` are width/height multiplied by `pixelRatio` — these match what host__tap / adb shell input tap consume.',
90
90
  handler: () => {
91
- const { Dimensions } = getRN();
91
+ const { Dimensions, PixelRatio } = getRN();
92
+ const ratio = PixelRatio.get();
93
+ const screen = Dimensions.get('screen');
94
+ const window = Dimensions.get('window');
92
95
  return {
93
- screen: Dimensions.get('screen'),
94
- window: Dimensions.get('window'),
96
+ pixelRatio: ratio,
97
+ screen,
98
+ screenPixels: {
99
+ height: Math.round(screen.height * ratio),
100
+ width: Math.round(screen.width * ratio),
101
+ },
102
+ window,
103
+ windowPixels: {
104
+ height: Math.round(window.height * ratio),
105
+ width: Math.round(window.width * ratio),
106
+ },
95
107
  };
96
108
  },
97
109
  },