react-native-mcp-kit 4.1.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.md +6 -6
  2. package/dist/babel/testIdPlugin/collectHooks.d.ts +13 -0
  3. package/dist/babel/testIdPlugin/collectHooks.d.ts.map +1 -0
  4. package/dist/babel/testIdPlugin/collectHooks.js +112 -0
  5. package/dist/babel/testIdPlugin/collectHooks.js.map +1 -0
  6. package/dist/babel/testIdPlugin/constants.d.ts +6 -0
  7. package/dist/babel/testIdPlugin/constants.d.ts.map +1 -0
  8. package/dist/babel/testIdPlugin/constants.js +49 -0
  9. package/dist/babel/testIdPlugin/constants.js.map +1 -0
  10. package/dist/babel/testIdPlugin/helpers.d.ts +7 -0
  11. package/dist/babel/testIdPlugin/helpers.d.ts.map +1 -0
  12. package/dist/babel/testIdPlugin/helpers.js +77 -0
  13. package/dist/babel/testIdPlugin/helpers.js.map +1 -0
  14. package/dist/babel/testIdPlugin/hocUnwrap.d.ts +4 -0
  15. package/dist/babel/testIdPlugin/hocUnwrap.d.ts.map +1 -0
  16. package/dist/babel/testIdPlugin/hocUnwrap.js +94 -0
  17. package/dist/babel/testIdPlugin/hocUnwrap.js.map +1 -0
  18. package/dist/babel/{testIdPlugin.d.ts → testIdPlugin/index.d.ts} +1 -1
  19. package/dist/babel/testIdPlugin/index.d.ts.map +1 -0
  20. package/dist/babel/testIdPlugin/index.js +205 -0
  21. package/dist/babel/testIdPlugin/index.js.map +1 -0
  22. package/dist/babel/testIdPlugin/inject.d.ts +7 -0
  23. package/dist/babel/testIdPlugin/inject.d.ts.map +1 -0
  24. package/dist/babel/testIdPlugin/inject.js +86 -0
  25. package/dist/babel/testIdPlugin/inject.js.map +1 -0
  26. package/dist/babel/testIdPlugin/types.d.ts +59 -0
  27. package/dist/babel/testIdPlugin/types.d.ts.map +1 -0
  28. package/dist/babel/testIdPlugin/types.js +3 -0
  29. package/dist/babel/testIdPlugin/types.js.map +1 -0
  30. package/dist/bin/ios-hid +0 -0
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/modules/alert/alert.d.ts.map +1 -1
  36. package/dist/modules/alert/alert.js +18 -3
  37. package/dist/modules/alert/alert.js.map +1 -1
  38. package/dist/modules/console/console.d.ts.map +1 -1
  39. package/dist/modules/console/console.js +38 -12
  40. package/dist/modules/console/console.js.map +1 -1
  41. package/dist/modules/console/types.d.ts +1 -1
  42. package/dist/modules/console/types.d.ts.map +1 -1
  43. package/dist/modules/device/device.d.ts.map +1 -1
  44. package/dist/modules/device/device.js +17 -4
  45. package/dist/modules/device/device.js.map +1 -1
  46. package/dist/modules/errors/errors.d.ts.map +1 -1
  47. package/dist/modules/errors/errors.js +3 -1
  48. package/dist/modules/errors/errors.js.map +1 -1
  49. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  50. package/dist/modules/fiberTree/fiberTree.js +44 -7
  51. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  52. package/dist/modules/fiberTree/finder.d.ts +2 -0
  53. package/dist/modules/fiberTree/finder.d.ts.map +1 -1
  54. package/dist/modules/fiberTree/finder.js +3 -1
  55. package/dist/modules/fiberTree/finder.js.map +1 -1
  56. package/dist/modules/fiberTree/hooks/extract.d.ts +6 -0
  57. package/dist/modules/fiberTree/hooks/extract.d.ts.map +1 -0
  58. package/dist/modules/fiberTree/hooks/extract.js +187 -0
  59. package/dist/modules/fiberTree/hooks/extract.js.map +1 -0
  60. package/dist/modules/fiberTree/hooks/flatten.d.ts +4 -0
  61. package/dist/modules/fiberTree/hooks/flatten.d.ts.map +1 -0
  62. package/dist/modules/fiberTree/hooks/flatten.js +81 -0
  63. package/dist/modules/fiberTree/hooks/flatten.js.map +1 -0
  64. package/dist/modules/fiberTree/hooks/index.d.ts +5 -0
  65. package/dist/modules/fiberTree/hooks/index.d.ts.map +1 -0
  66. package/dist/modules/fiberTree/hooks/index.js +10 -0
  67. package/dist/modules/fiberTree/hooks/index.js.map +1 -0
  68. package/dist/modules/fiberTree/hooks/options.d.ts +9 -0
  69. package/dist/modules/fiberTree/hooks/options.d.ts.map +1 -0
  70. package/dist/modules/fiberTree/hooks/options.js +27 -0
  71. package/dist/modules/fiberTree/hooks/options.js.map +1 -0
  72. package/dist/modules/fiberTree/hooks/patterns.d.ts +2 -0
  73. package/dist/modules/fiberTree/hooks/patterns.d.ts.map +1 -0
  74. package/dist/modules/fiberTree/hooks/patterns.js +26 -0
  75. package/dist/modules/fiberTree/hooks/patterns.js.map +1 -0
  76. package/dist/modules/fiberTree/hooks/shape.d.ts +3 -0
  77. package/dist/modules/fiberTree/hooks/shape.d.ts.map +1 -0
  78. package/dist/modules/fiberTree/hooks/shape.js +66 -0
  79. package/dist/modules/fiberTree/hooks/shape.js.map +1 -0
  80. package/dist/modules/fiberTree/hooks/slotCount.d.ts +2 -0
  81. package/dist/modules/fiberTree/hooks/slotCount.d.ts.map +1 -0
  82. package/dist/modules/fiberTree/hooks/slotCount.js +93 -0
  83. package/dist/modules/fiberTree/hooks/slotCount.js.map +1 -0
  84. package/dist/modules/fiberTree/{hooks.d.ts → hooks/types.d.ts} +18 -34
  85. package/dist/modules/fiberTree/hooks/types.d.ts.map +1 -0
  86. package/dist/modules/fiberTree/hooks/types.js +3 -0
  87. package/dist/modules/fiberTree/hooks/types.js.map +1 -0
  88. package/dist/modules/fiberTree/hooks/value.d.ts +2 -0
  89. package/dist/modules/fiberTree/hooks/value.d.ts.map +1 -0
  90. package/dist/modules/fiberTree/hooks/value.js +89 -0
  91. package/dist/modules/fiberTree/hooks/value.js.map +1 -0
  92. package/dist/modules/fiberTree/utils/constants.d.ts +8 -0
  93. package/dist/modules/fiberTree/utils/constants.d.ts.map +1 -0
  94. package/dist/modules/fiberTree/utils/constants.js +15 -0
  95. package/dist/modules/fiberTree/utils/constants.js.map +1 -0
  96. package/dist/modules/fiberTree/utils/index.d.ts +9 -0
  97. package/dist/modules/fiberTree/utils/index.d.ts.map +1 -0
  98. package/dist/modules/fiberTree/utils/index.js +34 -0
  99. package/dist/modules/fiberTree/utils/index.js.map +1 -0
  100. package/dist/modules/fiberTree/utils/match.d.ts +4 -0
  101. package/dist/modules/fiberTree/utils/match.d.ts.map +1 -0
  102. package/dist/modules/fiberTree/utils/match.js +169 -0
  103. package/dist/modules/fiberTree/utils/match.js.map +1 -0
  104. package/dist/modules/fiberTree/utils/naming.d.ts +4 -0
  105. package/dist/modules/fiberTree/utils/naming.d.ts.map +1 -0
  106. package/dist/modules/fiberTree/utils/naming.js +52 -0
  107. package/dist/modules/fiberTree/utils/naming.js.map +1 -0
  108. package/dist/modules/fiberTree/utils/native.d.ts +5 -0
  109. package/dist/modules/fiberTree/utils/native.d.ts.map +1 -0
  110. package/dist/modules/fiberTree/utils/native.js +101 -0
  111. package/dist/modules/fiberTree/utils/native.js.map +1 -0
  112. package/dist/modules/fiberTree/utils/projection.d.ts +9 -0
  113. package/dist/modules/fiberTree/utils/projection.d.ts.map +1 -0
  114. package/dist/modules/fiberTree/utils/projection.js +75 -0
  115. package/dist/modules/fiberTree/utils/projection.js.map +1 -0
  116. package/dist/modules/fiberTree/utils/root.d.ts +4 -0
  117. package/dist/modules/fiberTree/utils/root.d.ts.map +1 -0
  118. package/dist/modules/fiberTree/utils/root.js +30 -0
  119. package/dist/modules/fiberTree/utils/root.js.map +1 -0
  120. package/dist/modules/fiberTree/utils/screen.d.ts +10 -0
  121. package/dist/modules/fiberTree/utils/screen.d.ts.map +1 -0
  122. package/dist/modules/fiberTree/utils/screen.js +39 -0
  123. package/dist/modules/fiberTree/utils/screen.js.map +1 -0
  124. package/dist/modules/fiberTree/utils/serialize.d.ts +4 -0
  125. package/dist/modules/fiberTree/utils/serialize.d.ts.map +1 -0
  126. package/dist/modules/fiberTree/utils/serialize.js +102 -0
  127. package/dist/modules/fiberTree/utils/serialize.js.map +1 -0
  128. package/dist/modules/fiberTree/utils/traverse.d.ts +12 -0
  129. package/dist/modules/fiberTree/utils/traverse.d.ts.map +1 -0
  130. package/dist/modules/fiberTree/utils/traverse.js +107 -0
  131. package/dist/modules/fiberTree/utils/traverse.js.map +1 -0
  132. package/dist/modules/i18next/i18next.d.ts.map +1 -1
  133. package/dist/modules/i18next/i18next.js +27 -6
  134. package/dist/modules/i18next/i18next.js.map +1 -1
  135. package/dist/modules/logBox/logBox.d.ts.map +1 -1
  136. package/dist/modules/logBox/logBox.js +8 -4
  137. package/dist/modules/logBox/logBox.js.map +1 -1
  138. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  139. package/dist/modules/navigation/navigation.js +19 -4
  140. package/dist/modules/navigation/navigation.js.map +1 -1
  141. package/dist/modules/network/network.js +1 -1
  142. package/dist/modules/network/network.js.map +1 -1
  143. package/dist/modules/reactQuery/reactQuery.d.ts.map +1 -1
  144. package/dist/modules/reactQuery/reactQuery.js +2 -1
  145. package/dist/modules/reactQuery/reactQuery.js.map +1 -1
  146. package/dist/modules/storage/storage.d.ts.map +1 -1
  147. package/dist/modules/storage/storage.js +23 -8
  148. package/dist/modules/storage/storage.js.map +1 -1
  149. package/dist/server/bridge.d.ts +2 -0
  150. package/dist/server/bridge.d.ts.map +1 -1
  151. package/dist/server/bridge.js +61 -5
  152. package/dist/server/bridge.js.map +1 -1
  153. package/dist/server/dispatch.d.ts +15 -0
  154. package/dist/server/dispatch.d.ts.map +1 -0
  155. package/dist/server/dispatch.js +121 -0
  156. package/dist/server/dispatch.js.map +1 -0
  157. package/dist/server/helpers.d.ts +97 -0
  158. package/dist/server/helpers.d.ts.map +1 -0
  159. package/dist/server/helpers.js +162 -0
  160. package/dist/server/helpers.js.map +1 -0
  161. package/dist/server/host/deviceResolver/byClient.d.ts +5 -0
  162. package/dist/server/host/deviceResolver/byClient.d.ts.map +1 -0
  163. package/dist/server/host/deviceResolver/byClient.js +171 -0
  164. package/dist/server/host/deviceResolver/byClient.js.map +1 -0
  165. package/dist/server/host/deviceResolver/byId.d.ts +5 -0
  166. package/dist/server/host/deviceResolver/byId.d.ts.map +1 -0
  167. package/dist/server/host/deviceResolver/byId.js +81 -0
  168. package/dist/server/host/deviceResolver/byId.js.map +1 -0
  169. package/dist/server/host/deviceResolver/enrich.d.ts +5 -0
  170. package/dist/server/host/deviceResolver/enrich.d.ts.map +1 -0
  171. package/dist/server/host/deviceResolver/enrich.js +123 -0
  172. package/dist/server/host/deviceResolver/enrich.js.map +1 -0
  173. package/dist/server/host/deviceResolver/index.d.ts +13 -0
  174. package/dist/server/host/deviceResolver/index.d.ts.map +1 -0
  175. package/dist/server/host/deviceResolver/index.js +65 -0
  176. package/dist/server/host/deviceResolver/index.js.map +1 -0
  177. package/dist/server/host/deviceResolver/list.d.ts +10 -0
  178. package/dist/server/host/deviceResolver/list.d.ts.map +1 -0
  179. package/dist/server/host/deviceResolver/list.js +119 -0
  180. package/dist/server/host/deviceResolver/list.js.map +1 -0
  181. package/dist/server/host/deviceResolver/scan.d.ts +4 -0
  182. package/dist/server/host/deviceResolver/scan.d.ts.map +1 -0
  183. package/dist/server/host/deviceResolver/scan.js +102 -0
  184. package/dist/server/host/deviceResolver/scan.js.map +1 -0
  185. package/dist/server/host/{deviceResolver.d.ts → deviceResolver/types.d.ts} +1 -16
  186. package/dist/server/host/deviceResolver/types.d.ts.map +1 -0
  187. package/dist/server/host/deviceResolver/types.js +3 -0
  188. package/dist/server/host/deviceResolver/types.js.map +1 -0
  189. package/dist/server/host/tools/capture.d.ts.map +1 -1
  190. package/dist/server/host/tools/capture.js +52 -22
  191. package/dist/server/host/tools/capture.js.map +1 -1
  192. package/dist/server/host/tools/devices.d.ts.map +1 -1
  193. package/dist/server/host/tools/devices.js +25 -4
  194. package/dist/server/host/tools/devices.js.map +1 -1
  195. package/dist/server/host/tools/input/android.d.ts +15 -0
  196. package/dist/server/host/tools/input/android.d.ts.map +1 -0
  197. package/dist/server/host/tools/input/android.js +88 -0
  198. package/dist/server/host/tools/input/android.js.map +1 -0
  199. package/dist/server/host/tools/input/constants.d.ts +14 -0
  200. package/dist/server/host/tools/input/constants.d.ts.map +1 -0
  201. package/dist/server/host/tools/input/constants.js +41 -0
  202. package/dist/server/host/tools/input/constants.js.map +1 -0
  203. package/dist/server/host/tools/input/drag.d.ts +4 -0
  204. package/dist/server/host/tools/input/drag.d.ts.map +1 -0
  205. package/dist/server/host/tools/input/drag.js +76 -0
  206. package/dist/server/host/tools/input/drag.js.map +1 -0
  207. package/dist/server/host/tools/input/index.d.ts +8 -0
  208. package/dist/server/host/tools/input/index.d.ts.map +1 -0
  209. package/dist/server/host/tools/input/index.js +18 -0
  210. package/dist/server/host/tools/input/index.js.map +1 -0
  211. package/dist/server/host/tools/input/longPress.d.ts +4 -0
  212. package/dist/server/host/tools/input/longPress.d.ts.map +1 -0
  213. package/dist/server/host/tools/input/longPress.js +49 -0
  214. package/dist/server/host/tools/input/longPress.js.map +1 -0
  215. package/dist/server/host/tools/input/pressKey.d.ts +4 -0
  216. package/dist/server/host/tools/input/pressKey.d.ts.map +1 -0
  217. package/dist/server/host/tools/input/pressKey.js +42 -0
  218. package/dist/server/host/tools/input/pressKey.js.map +1 -0
  219. package/dist/server/host/tools/input/swipe.d.ts +4 -0
  220. package/dist/server/host/tools/input/swipe.d.ts.map +1 -0
  221. package/dist/server/host/tools/input/swipe.js +71 -0
  222. package/dist/server/host/tools/input/swipe.js.map +1 -0
  223. package/dist/server/host/tools/input/tap.d.ts +4 -0
  224. package/dist/server/host/tools/input/tap.d.ts.map +1 -0
  225. package/dist/server/host/tools/input/tap.js +49 -0
  226. package/dist/server/host/tools/input/tap.js.map +1 -0
  227. package/dist/server/host/tools/input/typeText.d.ts +4 -0
  228. package/dist/server/host/tools/input/typeText.d.ts.map +1 -0
  229. package/dist/server/host/tools/input/typeText.js +52 -0
  230. package/dist/server/host/tools/input/typeText.js.map +1 -0
  231. package/dist/server/host/tools/input/typeTextBatch.d.ts +4 -0
  232. package/dist/server/host/tools/input/typeTextBatch.d.ts.map +1 -0
  233. package/dist/server/host/tools/input/typeTextBatch.js +106 -0
  234. package/dist/server/host/tools/input/typeTextBatch.js.map +1 -0
  235. package/dist/server/host/tools/tapFiber.d.ts.map +1 -1
  236. package/dist/server/host/tools/tapFiber.js +2 -0
  237. package/dist/server/host/tools/tapFiber.js.map +1 -1
  238. package/dist/server/instructions.d.ts +2 -0
  239. package/dist/server/instructions.d.ts.map +1 -0
  240. package/dist/server/instructions.js +74 -0
  241. package/dist/server/instructions.js.map +1 -0
  242. package/dist/server/mcpServer.d.ts +0 -12
  243. package/dist/server/mcpServer.d.ts.map +1 -1
  244. package/dist/server/mcpServer.js +26 -877
  245. package/dist/server/mcpServer.js.map +1 -1
  246. package/dist/server/metro/tools/events.d.ts.map +1 -1
  247. package/dist/server/metro/tools/events.js +1 -0
  248. package/dist/server/metro/tools/events.js.map +1 -1
  249. package/dist/server/metro/tools/openInEditor.d.ts.map +1 -1
  250. package/dist/server/metro/tools/openInEditor.js +4 -1
  251. package/dist/server/metro/tools/openInEditor.js.map +1 -1
  252. package/dist/server/metro/tools/symbolicate.d.ts.map +1 -1
  253. package/dist/server/metro/tools/symbolicate.js +41 -11
  254. package/dist/server/metro/tools/symbolicate.js.map +1 -1
  255. package/dist/server/predicate.d.ts +31 -0
  256. package/dist/server/predicate.d.ts.map +1 -0
  257. package/dist/server/predicate.js +104 -0
  258. package/dist/server/predicate.js.map +1 -0
  259. package/dist/server/tools/assert.d.ts +4 -0
  260. package/dist/server/tools/assert.d.ts.map +1 -0
  261. package/dist/server/tools/assert.js +79 -0
  262. package/dist/server/tools/assert.js.map +1 -0
  263. package/dist/server/tools/call.d.ts +4 -0
  264. package/dist/server/tools/call.d.ts.map +1 -0
  265. package/dist/server/tools/call.js +38 -0
  266. package/dist/server/tools/call.js.map +1 -0
  267. package/dist/server/tools/connectionStatus.d.ts +4 -0
  268. package/dist/server/tools/connectionStatus.d.ts.map +1 -0
  269. package/dist/server/tools/connectionStatus.js +41 -0
  270. package/dist/server/tools/connectionStatus.js.map +1 -0
  271. package/dist/server/tools/describeTool.d.ts +4 -0
  272. package/dist/server/tools/describeTool.d.ts.map +1 -0
  273. package/dist/server/tools/describeTool.js +130 -0
  274. package/dist/server/tools/describeTool.js.map +1 -0
  275. package/dist/server/tools/listTools.d.ts +4 -0
  276. package/dist/server/tools/listTools.d.ts.map +1 -0
  277. package/dist/server/tools/listTools.js +109 -0
  278. package/dist/server/tools/listTools.js.map +1 -0
  279. package/dist/server/tools/waitUntil.d.ts +4 -0
  280. package/dist/server/tools/waitUntil.d.ts.map +1 -0
  281. package/dist/server/tools/waitUntil.js +119 -0
  282. package/dist/server/tools/waitUntil.js.map +1 -0
  283. package/dist/shared/projection/projectValue.d.ts +12 -1
  284. package/dist/shared/projection/projectValue.d.ts.map +1 -1
  285. package/dist/shared/projection/projectValue.js +42 -12
  286. package/dist/shared/projection/projectValue.js.map +1 -1
  287. package/dist/shared/projection/resolvePath.d.ts +14 -2
  288. package/dist/shared/projection/resolvePath.d.ts.map +1 -1
  289. package/dist/shared/projection/resolvePath.js +25 -3
  290. package/dist/shared/projection/resolvePath.js.map +1 -1
  291. package/package.json +2 -2
  292. package/dist/babel/testIdPlugin.d.ts.map +0 -1
  293. package/dist/babel/testIdPlugin.js +0 -537
  294. package/dist/babel/testIdPlugin.js.map +0 -1
  295. package/dist/modules/fiberTree/hooks.d.ts.map +0 -1
  296. package/dist/modules/fiberTree/hooks.js +0 -532
  297. package/dist/modules/fiberTree/hooks.js.map +0 -1
  298. package/dist/modules/fiberTree/utils.d.ts +0 -39
  299. package/dist/modules/fiberTree/utils.d.ts.map +0 -1
  300. package/dist/modules/fiberTree/utils.js +0 -616
  301. package/dist/modules/fiberTree/utils.js.map +0 -1
  302. package/dist/server/host/deviceResolver.d.ts.map +0 -1
  303. package/dist/server/host/deviceResolver.js +0 -621
  304. package/dist/server/host/deviceResolver.js.map +0 -1
  305. package/dist/server/host/tools/input.d.ts +0 -10
  306. package/dist/server/host/tools/input.d.ts.map +0 -1
  307. package/dist/server/host/tools/input.js +0 -478
  308. package/dist/server/host/tools/input.js.map +0 -1
@@ -1,616 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAvailableMethods = exports.measureFiber = exports.getNativeInstance = exports.findScreenFiberByRouteKey = exports.findHostFiber = exports.getAncestors = exports.getSiblings = exports.getDirectChildren = exports.findAllByQuery = exports.matchesQuery = exports.findByText = exports.findByName = exports.findByTestID = exports.findByMcpId = exports.findAllFibers = exports.findFiber = exports.serializeFiber = exports.projectFiberValue = exports.getComponentName = exports.getFiberRoot = exports.setRootRef = void 0;
4
- const projectValue_1 = require("../../shared/projection/projectValue");
5
- const core_1 = require("../../shared/rn/core");
6
- // Fiber tag constants
7
- const HOST_COMPONENT = 5;
8
- const HOST_TEXT = 6;
9
- const FUNCTION_COMPONENT = 0;
10
- const CLASS_COMPONENT = 1;
11
- const FORWARD_REF = 11;
12
- const MEMO = 14;
13
- const SIMPLE_MEMO = 15;
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- let rootRefStore = null;
16
- const setRootRef = (ref) => {
17
- rootRefStore = ref;
18
- };
19
- exports.setRootRef = setRootRef;
20
- const getFiberFromRef = (ref) => {
21
- if (!ref)
22
- return null;
23
- const r = ref;
24
- const fiber = r._internalInstanceHandle ?? r.__internalInstanceHandle ?? r._reactInternals;
25
- if (!fiber)
26
- return null;
27
- let current = fiber;
28
- while (current.return) {
29
- current = current.return;
30
- }
31
- return current;
32
- };
33
- const getFiberRoot = () => {
34
- if (rootRefStore?.current) {
35
- return getFiberFromRef(rootRefStore.current);
36
- }
37
- return null;
38
- };
39
- exports.getFiberRoot = getFiberRoot;
40
- const getComponentName = (fiber) => {
41
- // Host root has no `type` and no `return` parent. Surface it as
42
- // "FiberRoot" instead of "Unknown" so dumps via scope:'root' read
43
- // sensibly (and the name doesn't collide with a real component).
44
- if (!fiber.type) {
45
- if (!fiber.return)
46
- return 'FiberRoot';
47
- return 'Unknown';
48
- }
49
- if (typeof fiber.type === 'string') {
50
- return fiber.type;
51
- }
52
- if (typeof fiber.type === 'function') {
53
- return fiber.type.displayName || fiber.type.name || 'Anonymous';
54
- }
55
- if (typeof fiber.type === 'object') {
56
- // ForwardRef
57
- if (fiber.type.render) {
58
- return (fiber.type.displayName ||
59
- fiber.type.render.displayName ||
60
- fiber.type.render.name ||
61
- 'ForwardRef');
62
- }
63
- // Memo
64
- if (fiber.type.type) {
65
- return (fiber.type.displayName || fiber.type.type.displayName || fiber.type.type.name || 'Memo');
66
- }
67
- return fiber.type.displayName || 'Unknown';
68
- }
69
- return 'Unknown';
70
- };
71
- exports.getComponentName = getComponentName;
72
- const getComponentType = (fiber) => {
73
- if (fiber.tag === HOST_TEXT)
74
- return 'text';
75
- if (fiber.tag === HOST_COMPONENT)
76
- return 'host';
77
- if (fiber.tag === FUNCTION_COMPONENT ||
78
- fiber.tag === CLASS_COMPONENT ||
79
- fiber.tag === FORWARD_REF ||
80
- fiber.tag === MEMO ||
81
- fiber.tag === SIMPLE_MEMO) {
82
- return 'composite';
83
- }
84
- return 'other';
85
- };
86
- // Props/values to drop — internal React/RN bookkeeping that bloats output.
87
- // Used by `projectFiberValue` below as `skipKeys`. Anything matching the
88
- // `__`-prefix regex is also dropped (covers `__nativeTag`, `__reactProps$...`,
89
- // react-refresh internal markers, etc.).
90
- const SKIP_KEYS_FIBER = [
91
- '__internalInstanceHandle',
92
- '__nativeTag',
93
- 'children',
94
- 'collapsableChildren',
95
- 'ref',
96
- /^__/,
97
- ];
98
- // Collapse rule: detect React elements / fiber nodes / native instances and
99
- // replace them with compact `${...}`-keyed marker objects. Stops projectValue
100
- // from descending into ~unbounded React internals graph and emits something
101
- // the agent can act on (mcpId / componentName).
102
- const fiberCollapseRule = (value) => {
103
- if (!value || typeof value !== 'object')
104
- return undefined;
105
- const obj = value;
106
- // React element — has `$$typeof` symbol
107
- if ('$$typeof' in obj) {
108
- return { ['${ReactElement}']: true };
109
- }
110
- // Fiber-like or native-instance — try to extract a compact ref
111
- const looksLikeFiberOrNative = 'stateNode' in obj || 'memoizedProps' in obj || '__nativeTag' in obj;
112
- if (!looksLikeFiberOrNative)
113
- return undefined;
114
- // pull a fiber out — direct, or via internal handle on a native view
115
- const fiber = obj._reactInternals ??
116
- obj._reactInternalFiber ??
117
- obj._internalFiberInstanceHandleDEV ??
118
- obj._internalInstanceHandle ??
119
- ('memoizedProps' in obj ? obj : undefined);
120
- const meta = {};
121
- if (fiber) {
122
- const props = fiber.memoizedProps;
123
- const mcpId = props?.['data-mcp-id'];
124
- const testID = props?.testID;
125
- if (mcpId)
126
- meta.mcpId = mcpId;
127
- if (testID)
128
- meta.testID = testID;
129
- const typeName = fiber.type?.displayName ??
130
- fiber.type?.name;
131
- if (typeName)
132
- meta.name = typeName;
133
- }
134
- if ('__nativeTag' in obj) {
135
- meta.nativeTag = obj.__nativeTag;
136
- const viewConfig = obj.viewConfig;
137
- if (viewConfig?.uiViewClassName)
138
- meta.viewClass = viewConfig.uiViewClassName;
139
- }
140
- return { ['${ref}']: Object.keys(meta).length > 0 ? meta : true };
141
- };
142
- /**
143
- * Projection helper used everywhere fiber values are serialised (props, hook
144
- * values, fiber refs). Pre-applies the fiber-aware collapse rule + skip list
145
- * over the shared `projectValue`. Callers can pass `path` / `depth` / etc.
146
- * through `options` like with `projectValue` directly.
147
- */
148
- const projectFiberValue = (value, options = {}) => {
149
- return (0, projectValue_1.projectValue)(value, {
150
- ...options,
151
- collapse: [fiberCollapseRule, ...(options.collapse ?? [])],
152
- skipKeys: [...SKIP_KEYS_FIBER, ...(options.skipKeys ?? [])],
153
- }).value;
154
- };
155
- exports.projectFiberValue = projectFiberValue;
156
- const getTextContent = (fiber) => {
157
- if (fiber.tag === HOST_TEXT) {
158
- return fiber.memoizedProps;
159
- }
160
- // Check children for text
161
- let text = '';
162
- let child = fiber.child;
163
- while (child) {
164
- if (child.tag === HOST_TEXT && typeof child.memoizedProps === 'string') {
165
- text += child.memoizedProps;
166
- }
167
- child = child.sibling;
168
- }
169
- return text || undefined;
170
- };
171
- const serializeFiber = (fiber, maxDepth, currentDepth = 0) => {
172
- if (!fiber || currentDepth > maxDepth)
173
- return null;
174
- try {
175
- return serializeFiberUnsafe(fiber, maxDepth, currentDepth);
176
- }
177
- catch {
178
- return {
179
- children: [],
180
- name: (0, exports.getComponentName)(fiber),
181
- props: { __error: 'Failed to serialize' },
182
- type: getComponentType(fiber),
183
- };
184
- }
185
- };
186
- exports.serializeFiber = serializeFiber;
187
- // Host components that are just native mirrors of composite wrappers (e.g. RCTView for View)
188
- const HOST_PASSTHROUGH = new Set(['RCTView', 'RCTText', 'RCTScrollView', 'RCTSafeAreaView']);
189
- const shouldSkipFiber = (fiber) => {
190
- const componentType = getComponentType(fiber);
191
- // Skip internal React wrapper nodes (providers, contexts, etc.)
192
- if (componentType === 'other' && fiber.tag !== HOST_TEXT)
193
- return true;
194
- // Skip native host mirrors — their composite parent already represents the same component
195
- if (componentType === 'host' && HOST_PASSTHROUGH.has((0, exports.getComponentName)(fiber)))
196
- return true;
197
- return false;
198
- };
199
- const collectChildren = (fiber, maxDepth, currentDepth) => {
200
- const children = [];
201
- let child = fiber.child;
202
- while (child) {
203
- if (shouldSkipFiber(child)) {
204
- // Skip this node but collect its children at the same depth
205
- children.push(...collectChildren(child, maxDepth, currentDepth));
206
- }
207
- else {
208
- const serialized = (0, exports.serializeFiber)(child, maxDepth, currentDepth + 1);
209
- if (serialized) {
210
- children.push(serialized);
211
- }
212
- }
213
- child = child.sibling;
214
- }
215
- return children;
216
- };
217
- const serializeFiberUnsafe = (fiber, maxDepth, currentDepth) => {
218
- if (shouldSkipFiber(fiber)) {
219
- const children = collectChildren(fiber, maxDepth, currentDepth);
220
- if (children.length === 1)
221
- return children[0];
222
- if (children.length > 1) {
223
- return {
224
- children,
225
- name: 'Fragment',
226
- props: {},
227
- type: 'other',
228
- };
229
- }
230
- return null;
231
- }
232
- const name = (0, exports.getComponentName)(fiber);
233
- // Pass raw memoizedProps through — handler-level `applyProjection` runs the
234
- // single canonical projectValue walk on the final response, including this
235
- // tree. Projecting here would cause double-projection and break path drill.
236
- const props = (fiber.memoizedProps ?? {});
237
- const mcpId = fiber.memoizedProps?.['data-mcp-id'];
238
- const testID = fiber.memoizedProps?.testID;
239
- const text = getTextContent(fiber);
240
- const children = collectChildren(fiber, maxDepth, currentDepth);
241
- return {
242
- children,
243
- mcpId,
244
- name,
245
- props,
246
- testID,
247
- text,
248
- type: getComponentType(fiber),
249
- };
250
- };
251
- const findFiber = (root, predicate) => {
252
- if (predicate(root))
253
- return root;
254
- let child = root.child;
255
- while (child) {
256
- const found = (0, exports.findFiber)(child, predicate);
257
- if (found)
258
- return found;
259
- child = child.sibling;
260
- }
261
- return null;
262
- };
263
- exports.findFiber = findFiber;
264
- const findAllFibers = (root, predicate) => {
265
- const results = [];
266
- const walk = (fiber) => {
267
- if (predicate(fiber)) {
268
- results.push(fiber);
269
- }
270
- let child = fiber.child;
271
- while (child) {
272
- walk(child);
273
- child = child.sibling;
274
- }
275
- };
276
- walk(root);
277
- return results;
278
- };
279
- exports.findAllFibers = findAllFibers;
280
- const findByMcpId = (root, mcpId) => {
281
- return (0, exports.findFiber)(root, (fiber) => {
282
- return fiber.memoizedProps?.['data-mcp-id'] === mcpId;
283
- });
284
- };
285
- exports.findByMcpId = findByMcpId;
286
- const findByTestID = (root, testID) => {
287
- return (0, exports.findFiber)(root, (fiber) => {
288
- return fiber.memoizedProps?.testID === testID;
289
- });
290
- };
291
- exports.findByTestID = findByTestID;
292
- const findByName = (root, name) => {
293
- return (0, exports.findFiber)(root, (fiber) => {
294
- return (0, exports.getComponentName)(fiber) === name;
295
- });
296
- };
297
- exports.findByName = findByName;
298
- const findByText = (root, text) => {
299
- return (0, exports.findFiber)(root, (fiber) => {
300
- const content = getTextContent(fiber);
301
- return content !== undefined && content.includes(text);
302
- });
303
- };
304
- exports.findByText = findByText;
305
- // Cap for object/array serialization used by contains/regex matchers.
306
- // Large fiber props (e.g. deep Redux state, Reanimated shared values) would
307
- // otherwise turn into megabyte-strings per fiber.
308
- const MATCH_STRING_CAP = 10_000;
309
- /**
310
- * Turn any prop value into a string usable by `contains` / `regex` matchers.
311
- * - Primitives and functions/symbols go through String(), preserving the
312
- * "substring on text props" intuition (e.g. placeholder = "Search" stays
313
- * "Search", not '"Search"').
314
- * - Objects and arrays are JSON-serialized with circular refs replaced, so a
315
- * regex like `"title":"Hello"` or `\\bonPress\\b` can still land. Functions
316
- * and symbols become placeholders; bigint becomes its decimal string.
317
- * - Output is capped at MATCH_STRING_CAP characters to keep response costs
318
- * bounded on large prop graphs.
319
- */
320
- const stringifyForMatching = (value) => {
321
- if (value === null || value === undefined)
322
- return String(value);
323
- const type = typeof value;
324
- if (type !== 'object')
325
- return String(value);
326
- try {
327
- const seen = new WeakSet();
328
- const serialized = JSON.stringify(value, (_key, v) => {
329
- if (v && typeof v === 'object') {
330
- if (seen.has(v))
331
- return '[Circular]';
332
- seen.add(v);
333
- }
334
- if (typeof v === 'function')
335
- return '[Function]';
336
- if (typeof v === 'symbol')
337
- return v.toString();
338
- if (typeof v === 'bigint')
339
- return v.toString();
340
- return v;
341
- });
342
- if (typeof serialized !== 'string')
343
- return String(value);
344
- return serialized.length > MATCH_STRING_CAP
345
- ? serialized.slice(0, MATCH_STRING_CAP)
346
- : serialized;
347
- }
348
- catch {
349
- return String(value);
350
- }
351
- };
352
- const matchPropValue = (actual, matcher) => {
353
- if (matcher !== null && typeof matcher === 'object') {
354
- if (actual === undefined || actual === null)
355
- return false;
356
- const isPrimitive = typeof actual !== 'object';
357
- const deep = matcher.deep === true;
358
- // Non-primitive values only participate when the caller opts in with
359
- // `deep: true`. This keeps naive placeholder/testID matchers from
360
- // accidentally hitting stringified objects.
361
- if (!isPrimitive && !deep)
362
- return false;
363
- const asString = isPrimitive ? String(actual) : stringifyForMatching(actual);
364
- if ('contains' in matcher && typeof matcher.contains === 'string') {
365
- return asString.includes(matcher.contains);
366
- }
367
- if ('regex' in matcher && typeof matcher.regex === 'string') {
368
- try {
369
- return new RegExp(matcher.regex).test(asString);
370
- }
371
- catch {
372
- return false;
373
- }
374
- }
375
- return false;
376
- }
377
- return actual === matcher;
378
- };
379
- const matchesQuery = (fiber, query) => {
380
- try {
381
- if (query.mcpId && fiber.memoizedProps?.['data-mcp-id'] !== query.mcpId)
382
- return false;
383
- if (query.testID && fiber.memoizedProps?.testID !== query.testID)
384
- return false;
385
- if (query.name && (0, exports.getComponentName)(fiber) !== query.name)
386
- return false;
387
- if (query.text) {
388
- const content = getTextContent(fiber);
389
- if (!content || !content.includes(query.text))
390
- return false;
391
- }
392
- if (query.hasProps && Array.isArray(query.hasProps)) {
393
- const props = fiber.memoizedProps;
394
- if (!props || typeof props !== 'object')
395
- return false;
396
- for (const prop of query.hasProps) {
397
- if (!(prop in props))
398
- return false;
399
- }
400
- }
401
- if (query.props && typeof query.props === 'object') {
402
- const props = fiber.memoizedProps;
403
- if (!props || typeof props !== 'object')
404
- return false;
405
- for (const key of Object.keys(query.props)) {
406
- if (!matchPropValue(props[key], query.props[key]))
407
- return false;
408
- }
409
- }
410
- if (Array.isArray(query.any) && query.any.length > 0) {
411
- const anyMatched = query.any.some((sub) => {
412
- return (0, exports.matchesQuery)(fiber, sub);
413
- });
414
- if (!anyMatched)
415
- return false;
416
- }
417
- if (query.not) {
418
- if (Array.isArray(query.not)) {
419
- for (const sub of query.not) {
420
- if ((0, exports.matchesQuery)(fiber, sub))
421
- return false;
422
- }
423
- }
424
- else if (typeof query.not === 'object') {
425
- if ((0, exports.matchesQuery)(fiber, query.not))
426
- return false;
427
- }
428
- }
429
- return true;
430
- }
431
- catch {
432
- return false;
433
- }
434
- };
435
- exports.matchesQuery = matchesQuery;
436
- const findAllByQuery = (root, query) => {
437
- return (0, exports.findAllFibers)(root, (fiber) => {
438
- return (0, exports.matchesQuery)(fiber, query);
439
- });
440
- };
441
- exports.findAllByQuery = findAllByQuery;
442
- // Direct children of a fiber (one level down, not descendants).
443
- const getDirectChildren = (fiber) => {
444
- const out = [];
445
- let child = fiber.child;
446
- while (child) {
447
- out.push(child);
448
- child = child.sibling;
449
- }
450
- return out;
451
- };
452
- exports.getDirectChildren = getDirectChildren;
453
- // Sibling fibers at the same level, excluding `fiber` itself.
454
- const getSiblings = (fiber) => {
455
- const parent = fiber.return;
456
- if (!parent)
457
- return [];
458
- return (0, exports.getDirectChildren)(parent).filter((f) => {
459
- return f !== fiber;
460
- });
461
- };
462
- exports.getSiblings = getSiblings;
463
- // Ancestors walked upward via `fiber.return`, nearest first.
464
- const getAncestors = (fiber) => {
465
- const out = [];
466
- let current = fiber.return;
467
- while (current) {
468
- out.push(current);
469
- current = current.return;
470
- }
471
- return out;
472
- };
473
- exports.getAncestors = getAncestors;
474
- // Find the nearest host fiber (native component) from a given fiber.
475
- const findHostFiber = (fiber) => {
476
- if (fiber.tag === HOST_COMPONENT)
477
- return fiber;
478
- let child = fiber.child;
479
- while (child) {
480
- const found = (0, exports.findHostFiber)(child);
481
- if (found)
482
- return found;
483
- child = child.sibling;
484
- }
485
- return null;
486
- };
487
- exports.findHostFiber = findHostFiber;
488
- // React Navigation internals that appear in the route.key match chain but
489
- // are not the user's screen component — we walk past them to the real leaf.
490
- const RN_NAV_WRAPPERS = new Set([
491
- 'Anonymous',
492
- 'ForwardRef',
493
- 'Memo',
494
- 'SceneView',
495
- 'Screen',
496
- 'StaticContainer',
497
- ]);
498
- /**
499
- * Locate the screen fiber rendering the given React Navigation route key.
500
- * Route keys are unique per mounted screen; React Navigation forwards the
501
- * `route` prop down a short wrapper chain (SceneView → StaticContainer → …→
502
- * user component). Returns the deepest non-wrapper match so queries land on
503
- * the developer's screen component, not on a generated wrapper.
504
- */
505
- const findScreenFiberByRouteKey = (root, routeKey) => {
506
- const matches = (0, exports.findAllFibers)(root, (f) => {
507
- const props = f.memoizedProps;
508
- return props?.route?.key === routeKey;
509
- });
510
- if (matches.length === 0)
511
- return null;
512
- for (let i = matches.length - 1; i >= 0; i--) {
513
- const candidate = matches[i];
514
- if (!RN_NAV_WRAPPERS.has((0, exports.getComponentName)(candidate))) {
515
- return candidate;
516
- }
517
- }
518
- return matches[matches.length - 1];
519
- };
520
- exports.findScreenFiberByRouteKey = findScreenFiberByRouteKey;
521
- // Get the native instance (stateNode) or ref from a fiber
522
- const getNativeInstance = (fiber) => {
523
- // For host components, stateNode has the native instance
524
- const hostFiber = (0, exports.findHostFiber)(fiber);
525
- if (hostFiber?.stateNode) {
526
- // Fabric (new architecture): stateNode.canonical.publicInstance
527
- const canonical = hostFiber.stateNode.canonical;
528
- if (canonical?.publicInstance) {
529
- return canonical.publicInstance;
530
- }
531
- // Old architecture: stateNode directly
532
- return hostFiber.stateNode;
533
- }
534
- // Check for ref on the fiber
535
- if (fiber.ref) {
536
- if (typeof fiber.ref === 'function')
537
- return null;
538
- if (fiber.ref.current)
539
- return fiber.ref.current;
540
- }
541
- return null;
542
- };
543
- exports.getNativeInstance = getNativeInstance;
544
- // Measure the on-screen rect of the host view backing a fiber, in PHYSICAL
545
- // pixels (top-left origin). Uses `UIManager.measure(node, cb)` which yields
546
- // `pageX/pageY` — coordinates relative to the React root view, mapped to
547
- // `View.getLocationOnScreen` on Android. This is what `adb shell input tap`
548
- // expects (and `xcrun simctl io ... tap` on iOS), unlike `measureInWindow`
549
- // whose origin is the visible window and shifts depending on translucent
550
- // status-bar / SafeArea insets.
551
- //
552
- // Returns null when the fiber has no mounted host view (unmounted, virtualized
553
- // off-screen, etc.) or when measure throws.
554
- const measureFiber = async (fiber) => {
555
- const hostFiber = (0, exports.findHostFiber)(fiber);
556
- if (!hostFiber?.stateNode)
557
- return null;
558
- // Mirror the Fabric / old-arch fork from getNativeInstance.
559
- const canonical = hostFiber.stateNode.canonical;
560
- const instance = canonical?.publicInstance ?? hostFiber.stateNode;
561
- if (!instance)
562
- return null;
563
- const RN = (0, core_1.getRN)();
564
- const { PixelRatio, UIManager, findNodeHandle } = RN;
565
- const handle = typeof findNodeHandle === 'function' ? findNodeHandle(instance) : null;
566
- if (handle == null)
567
- return null;
568
- return new Promise((resolve) => {
569
- try {
570
- UIManager.measure(handle, (_x, _y, width, height, pageX, pageY) => {
571
- if (!Number.isFinite(pageX) ||
572
- !Number.isFinite(pageY) ||
573
- !Number.isFinite(width) ||
574
- !Number.isFinite(height)) {
575
- resolve(null);
576
- return;
577
- }
578
- const ratio = PixelRatio.get();
579
- const px = Math.round(pageX * ratio);
580
- const py = Math.round(pageY * ratio);
581
- const pw = Math.round(width * ratio);
582
- const ph = Math.round(height * ratio);
583
- resolve({
584
- centerX: Math.round(px + pw / 2),
585
- centerY: Math.round(py + ph / 2),
586
- height: ph,
587
- width: pw,
588
- x: px,
589
- y: py,
590
- });
591
- });
592
- }
593
- catch {
594
- resolve(null);
595
- }
596
- });
597
- };
598
- exports.measureFiber = measureFiber;
599
- const getAvailableMethods = (instance) => {
600
- if (!instance || typeof instance !== 'object')
601
- return [];
602
- const methods = [];
603
- let proto = Object.getPrototypeOf(instance);
604
- while (proto && proto !== Object.prototype) {
605
- for (const key of Object.getOwnPropertyNames(proto)) {
606
- if (key !== 'constructor' &&
607
- typeof instance[key] === 'function') {
608
- methods.push(key);
609
- }
610
- }
611
- proto = Object.getPrototypeOf(proto);
612
- }
613
- return [...new Set(methods)].sort();
614
- };
615
- exports.getAvailableMethods = getAvailableMethods;
616
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/fiberTree/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceResolver.d.ts","sourceRoot":"","sources":["../../../src/server/host/deviceResolver.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,qBAAqB,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,GAAG,EAAE,cAAc,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAOnG,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,eAAO,MAAM,gBAAgB,QAAO,IAInC,CAAC;AAiBF,eAAO,MAAM,iBAAiB,WAAkB,aAAa,KAAG,OAAO,CAAC,YAAY,EAAE,CAyBrF,CAAC;AAKF,eAAO,MAAM,kBAAkB,WAAkB,aAAa,KAAG,OAAO,CAAC,aAAa,EAAE,CA2CvF,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAkB,aAAa,KAAG,OAAO,CAAC,aAAa,EAAE,CAwBvF,CAAC;AA4WF,eAAO,MAAM,aAAa,QACnB,WAAW,WACP,cAAc,UACf,aAAa,KACpB,OAAO,CAAC,gBAAgB,CAuD1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,MAAM,UACN,aAAa,KACpB,OAAO,CAAC,kBAAkB,CAuH5B,CAAC"}