react-native-mcp-kit 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) 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 +7 -0
  13. package/dist/client/core/McpClient.d.ts.map +1 -1
  14. package/dist/client/core/McpClient.js +73 -2
  15. package/dist/client/core/McpClient.js.map +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/modules/device/device.d.ts.map +1 -1
  21. package/dist/modules/device/device.js +16 -4
  22. package/dist/modules/device/device.js.map +1 -1
  23. package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
  24. package/dist/modules/fiberTree/fiberTree.js +61 -15
  25. package/dist/modules/fiberTree/fiberTree.js.map +1 -1
  26. package/dist/modules/fiberTree/types.d.ts +9 -0
  27. package/dist/modules/fiberTree/types.d.ts.map +1 -1
  28. package/dist/modules/fiberTree/utils.d.ts +2 -1
  29. package/dist/modules/fiberTree/utils.d.ts.map +1 -1
  30. package/dist/modules/fiberTree/utils.js +57 -1
  31. package/dist/modules/fiberTree/utils.js.map +1 -1
  32. package/dist/modules/index.d.ts +0 -1
  33. package/dist/modules/index.d.ts.map +1 -1
  34. package/dist/modules/index.js +1 -3
  35. package/dist/modules/index.js.map +1 -1
  36. package/dist/modules/navigation/navigation.d.ts.map +1 -1
  37. package/dist/modules/navigation/navigation.js +32 -40
  38. package/dist/modules/navigation/navigation.js.map +1 -1
  39. package/dist/modules/navigation/types.d.ts +2 -1
  40. package/dist/modules/navigation/types.d.ts.map +1 -1
  41. package/dist/server/bridge.d.ts +38 -12
  42. package/dist/server/bridge.d.ts.map +1 -1
  43. package/dist/server/bridge.js +136 -56
  44. package/dist/server/bridge.js.map +1 -1
  45. package/dist/server/cli.js +10 -1
  46. package/dist/server/cli.js.map +1 -1
  47. package/dist/server/host/deviceResolver.d.ts +53 -0
  48. package/dist/server/host/deviceResolver.d.ts.map +1 -0
  49. package/dist/server/host/deviceResolver.js +555 -0
  50. package/dist/server/host/deviceResolver.js.map +1 -0
  51. package/dist/server/host/helpers.d.ts +33 -0
  52. package/dist/server/host/helpers.d.ts.map +1 -0
  53. package/dist/server/host/helpers.js +42 -0
  54. package/dist/server/host/helpers.js.map +1 -0
  55. package/dist/server/host/hostModule.d.ts +4 -0
  56. package/dist/server/host/hostModule.d.ts.map +1 -0
  57. package/dist/server/host/hostModule.js +26 -0
  58. package/dist/server/host/hostModule.js.map +1 -0
  59. package/dist/server/host/index.d.ts +4 -0
  60. package/dist/server/host/index.d.ts.map +1 -0
  61. package/dist/server/host/index.js +8 -0
  62. package/dist/server/host/index.js.map +1 -0
  63. package/dist/server/host/iosInput.d.ts +15 -0
  64. package/dist/server/host/iosInput.d.ts.map +1 -0
  65. package/dist/server/host/iosInput.js +93 -0
  66. package/dist/server/host/iosInput.js.map +1 -0
  67. package/dist/server/host/modules/screenshot.d.ts +4 -0
  68. package/dist/server/host/modules/screenshot.d.ts.map +1 -0
  69. package/dist/server/host/modules/screenshot.js +615 -0
  70. package/dist/server/host/modules/screenshot.js.map +1 -0
  71. package/dist/server/host/processRunner.d.ts +19 -0
  72. package/dist/server/host/processRunner.d.ts.map +1 -0
  73. package/dist/server/host/processRunner.js +58 -0
  74. package/dist/server/host/processRunner.js.map +1 -0
  75. package/dist/server/host/tools/capture.d.ts +6 -0
  76. package/dist/server/host/tools/capture.d.ts.map +1 -0
  77. package/dist/server/host/tools/capture.js +148 -0
  78. package/dist/server/host/tools/capture.js.map +1 -0
  79. package/dist/server/host/tools/devices.d.ts +4 -0
  80. package/dist/server/host/tools/devices.d.ts.map +1 -0
  81. package/dist/server/host/tools/devices.js +17 -0
  82. package/dist/server/host/tools/devices.js.map +1 -0
  83. package/dist/server/host/tools/input.d.ts +7 -0
  84. package/dist/server/host/tools/input.d.ts.map +1 -0
  85. package/dist/server/host/tools/input.js +286 -0
  86. package/dist/server/host/tools/input.js.map +1 -0
  87. package/dist/server/host/tools/lifecycle.d.ts +6 -0
  88. package/dist/server/host/tools/lifecycle.d.ts.map +1 -0
  89. package/dist/server/host/tools/lifecycle.js +271 -0
  90. package/dist/server/host/tools/lifecycle.js.map +1 -0
  91. package/dist/server/host/types.d.ts +17 -0
  92. package/dist/server/host/types.d.ts.map +1 -0
  93. package/dist/{modules/components → server/host}/types.js.map +1 -1
  94. package/dist/server/host/wda.d.ts +15 -0
  95. package/dist/server/host/wda.d.ts.map +1 -0
  96. package/dist/server/host/wda.js +100 -0
  97. package/dist/server/host/wda.js.map +1 -0
  98. package/dist/server/index.d.ts.map +1 -1
  99. package/dist/server/index.js +10 -17
  100. package/dist/server/index.js.map +1 -1
  101. package/dist/server/mcpServer.d.ts +5 -10
  102. package/dist/server/mcpServer.d.ts.map +1 -1
  103. package/dist/server/mcpServer.js +438 -153
  104. package/dist/server/mcpServer.js.map +1 -1
  105. package/dist/server/types.d.ts +2 -8
  106. package/dist/server/types.d.ts.map +1 -1
  107. package/dist/shared/protocol.d.ts +6 -0
  108. package/dist/shared/protocol.d.ts.map +1 -1
  109. package/package.json +6 -12
  110. package/dist/client/contexts/McpTreeContext/McpTracker.d.ts +0 -10
  111. package/dist/client/contexts/McpTreeContext/McpTracker.d.ts.map +0 -1
  112. package/dist/client/contexts/McpTreeContext/McpTracker.js +0 -101
  113. package/dist/client/contexts/McpTreeContext/McpTracker.js.map +0 -1
  114. package/dist/client/contexts/McpTreeContext/McpTreeContext.d.ts +0 -2
  115. package/dist/client/contexts/McpTreeContext/McpTreeContext.d.ts.map +0 -1
  116. package/dist/client/contexts/McpTreeContext/McpTreeContext.js +0 -6
  117. package/dist/client/contexts/McpTreeContext/McpTreeContext.js.map +0 -1
  118. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.d.ts +0 -16
  119. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.d.ts.map +0 -1
  120. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.js +0 -96
  121. package/dist/client/contexts/McpTreeContext/McpTreeRegistry.js.map +0 -1
  122. package/dist/client/contexts/McpTreeContext/index.d.ts +0 -5
  123. package/dist/client/contexts/McpTreeContext/index.d.ts.map +0 -1
  124. package/dist/client/contexts/McpTreeContext/index.js +0 -10
  125. package/dist/client/contexts/McpTreeContext/index.js.map +0 -1
  126. package/dist/client/contexts/McpTreeContext/types.d.ts +0 -14
  127. package/dist/client/contexts/McpTreeContext/types.d.ts.map +0 -1
  128. package/dist/client/contexts/McpTreeContext/types.js.map +0 -1
  129. package/dist/modules/components/components.d.ts +0 -8
  130. package/dist/modules/components/components.d.ts.map +0 -1
  131. package/dist/modules/components/components.js +0 -315
  132. package/dist/modules/components/components.js.map +0 -1
  133. package/dist/modules/components/index.d.ts +0 -3
  134. package/dist/modules/components/index.d.ts.map +0 -1
  135. package/dist/modules/components/index.js +0 -6
  136. package/dist/modules/components/index.js.map +0 -1
  137. package/dist/modules/components/types.d.ts +0 -18
  138. package/dist/modules/components/types.d.ts.map +0 -1
  139. package/dist/modules/components/types.js +0 -3
  140. package/dist/modules/components/utils.d.ts +0 -18
  141. package/dist/modules/components/utils.d.ts.map +0 -1
  142. package/dist/modules/components/utils.js +0 -386
  143. package/dist/modules/components/utils.js.map +0 -1
  144. package/dist/modules/screenshot/index.d.ts +0 -3
  145. package/dist/modules/screenshot/index.d.ts.map +0 -1
  146. package/dist/modules/screenshot/index.js +0 -6
  147. package/dist/modules/screenshot/index.js.map +0 -1
  148. package/dist/modules/screenshot/screenshot.d.ts +0 -4
  149. package/dist/modules/screenshot/screenshot.d.ts.map +0 -1
  150. package/dist/modules/screenshot/screenshot.js +0 -89
  151. package/dist/modules/screenshot/screenshot.js.map +0 -1
  152. package/dist/modules/screenshot/types.d.ts +0 -5
  153. package/dist/modules/screenshot/types.d.ts.map +0 -1
  154. package/dist/modules/screenshot/types.js +0 -3
  155. package/dist/modules/screenshot/types.js.map +0 -1
  156. package/dist/modules/tree/index.d.ts +0 -2
  157. package/dist/modules/tree/index.d.ts.map +0 -1
  158. package/dist/modules/tree/index.js +0 -6
  159. package/dist/modules/tree/index.js.map +0 -1
  160. package/dist/modules/tree/tree.d.ts +0 -3
  161. package/dist/modules/tree/tree.d.ts.map +0 -1
  162. package/dist/modules/tree/tree.js +0 -274
  163. package/dist/modules/tree/tree.js.map +0 -1
  164. /package/dist/{client/contexts/McpTreeContext → server/host}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostModule.d.ts","sourceRoot":"","sources":["../../../src/server/host/hostModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAiBlD,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hostModule = void 0;
4
+ const capture_1 = require("./tools/capture");
5
+ const devices_1 = require("./tools/devices");
6
+ const input_1 = require("./tools/input");
7
+ const lifecycle_1 = require("./tools/lifecycle");
8
+ const hostModule = (runner) => {
9
+ return {
10
+ description: 'OS-level operations that run on the MCP server host via xcrun simctl / adb. Works when the React Native app is hung, disconnected, or not installed.',
11
+ name: 'host',
12
+ tools: {
13
+ launch_app: (0, lifecycle_1.launchAppTool)(runner),
14
+ list_devices: (0, devices_1.listDevicesTool)(runner),
15
+ press_key: (0, input_1.pressKeyTool)(runner),
16
+ restart_app: (0, lifecycle_1.restartAppTool)(runner),
17
+ screenshot: (0, capture_1.screenshotTool)(runner),
18
+ swipe: (0, input_1.swipeTool)(runner),
19
+ tap: (0, input_1.tapTool)(runner),
20
+ terminate_app: (0, lifecycle_1.terminateAppTool)(runner),
21
+ type_text: (0, input_1.typeTextTool)(runner),
22
+ },
23
+ };
24
+ };
25
+ exports.hostModule = hostModule;
26
+ //# sourceMappingURL=hostModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostModule.js","sourceRoot":"","sources":["../../../src/server/host/hostModule.ts"],"names":[],"mappings":";;;AACA,6CAAiD;AACjD,6CAAkD;AAClD,yCAA+E;AAC/E,iDAAoF;AAG7E,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAc,EAAE;IAC9D,OAAO;QACL,WAAW,EACT,sJAAsJ;QACxJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,UAAU,EAAE,IAAA,yBAAa,EAAC,MAAM,CAAC;YACjC,YAAY,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC;YACrC,SAAS,EAAE,IAAA,oBAAY,EAAC,MAAM,CAAC;YAC/B,WAAW,EAAE,IAAA,0BAAc,EAAC,MAAM,CAAC;YACnC,UAAU,EAAE,IAAA,wBAAc,EAAC,MAAM,CAAC;YAClC,KAAK,EAAE,IAAA,iBAAS,EAAC,MAAM,CAAC;YACxB,GAAG,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC;YACpB,aAAa,EAAE,IAAA,4BAAgB,EAAC,MAAM,CAAC;YACvC,SAAS,EAAE,IAAA,oBAAY,EAAC,MAAM,CAAC;SAChC;KACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB"}
@@ -0,0 +1,4 @@
1
+ export { hostModule } from './hostModule';
2
+ export { runProcess, type ProcessRunner } from './processRunner';
3
+ export { type HostContext, type HostModule, type HostToolHandler } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/host/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runProcess = exports.hostModule = void 0;
4
+ var hostModule_1 = require("./hostModule");
5
+ Object.defineProperty(exports, "hostModule", { enumerable: true, get: function () { return hostModule_1.hostModule; } });
6
+ var processRunner_1 = require("./processRunner");
7
+ Object.defineProperty(exports, "runProcess", { enumerable: true, get: function () { return processRunner_1.runProcess; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/host/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iDAAiE;AAAxD,2GAAA,UAAU,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { type AppTargetError } from './helpers';
2
+ import { type ProcessRunner } from './processRunner';
3
+ export declare const tapIos: (udid: string, xPixels: number, yPixels: number, runner: ProcessRunner) => Promise<{
4
+ ok: true;
5
+ } | AppTargetError>;
6
+ export declare const swipeIos: (udid: string, x1Pixels: number, y1Pixels: number, x2Pixels: number, y2Pixels: number, durationMs: number, runner: ProcessRunner) => Promise<{
7
+ ok: true;
8
+ } | AppTargetError>;
9
+ export declare const typeTextIos: (udid: string, text: string, submit: boolean, runner: ProcessRunner) => Promise<{
10
+ ok: true;
11
+ } | AppTargetError>;
12
+ export declare const pressKeyIos: (udid: string, key: string, runner: ProcessRunner) => Promise<{
13
+ ok: true;
14
+ } | AppTargetError>;
15
+ //# sourceMappingURL=iosInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iosInput.d.ts","sourceRoot":"","sources":["../../../src/server/host/iosInput.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqC3E,eAAO,MAAM,MAAM,SACX,MAAM,WACH,MAAM,WACN,MAAM,UACP,aAAa,KACpB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAEvC,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,MAAM,YACF,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,cACJ,MAAM,UACV,aAAa,KACpB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAcvC,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,MAAM,QACN,MAAM,UACJ,OAAO,UACP,aAAa,KACpB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAKvC,CAAC;AAiBF,eAAO,MAAM,WAAW,SAChB,MAAM,OACP,MAAM,UACH,aAAa,KACpB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAkBvC,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // iOS input injection via the bundled ios-hid Swift binary.
3
+ // ios-hid uses Apple private frameworks (SimulatorKit, CoreSimulator) to inject
4
+ // HID events directly into iOS Simulator — no WDA, no idb, no external deps.
5
+ // Coordinates are PHYSICAL PIXELS end-to-end, matching Android adb semantics
6
+ // and fiber_tree bounds — ios-hid passes them straight to the HID layer with
7
+ // screenSize loaded from SimDevice.deviceType.mainScreenSize (also pixels on
8
+ // Xcode 15+).
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.pressKeyIos = exports.typeTextIos = exports.swipeIos = exports.tapIos = void 0;
11
+ const node_path_1 = require("node:path");
12
+ const processRunner_1 = require("./processRunner");
13
+ const IOS_INPUT_TIMEOUT_MS = 5_000;
14
+ const getIosHidPath = () => {
15
+ return (0, node_path_1.join)(__dirname, '..', '..', 'bin', 'ios-hid');
16
+ };
17
+ const runIosHid = async (runner, args, action) => {
18
+ const bin = getIosHidPath();
19
+ try {
20
+ const proc = await runner(bin, args, { timeoutMs: IOS_INPUT_TIMEOUT_MS });
21
+ if (proc.timedOut) {
22
+ return { error: `iOS ${action} timed out after ${IOS_INPUT_TIMEOUT_MS}ms` };
23
+ }
24
+ if (proc.exitCode !== 0) {
25
+ const stderr = proc.stderr.toString('utf8').trim();
26
+ return {
27
+ error: `iOS ${action} failed: ${stderr.slice(0, 500) || `exit code ${proc.exitCode}`}`,
28
+ };
29
+ }
30
+ return { ok: true };
31
+ }
32
+ catch (err) {
33
+ if (err instanceof processRunner_1.ProcessNotFoundError) {
34
+ return {
35
+ error: 'ios-hid binary not found. This usually means the package was installed on a non-macOS platform. iOS input injection requires macOS with Xcode.',
36
+ };
37
+ }
38
+ return { error: `iOS ${action} failed: ${err.message}` };
39
+ }
40
+ };
41
+ const tapIos = async (udid, xPixels, yPixels, runner) => {
42
+ return runIosHid(runner, ['tap', udid, String(xPixels), String(yPixels)], 'tap');
43
+ };
44
+ exports.tapIos = tapIos;
45
+ const swipeIos = async (udid, x1Pixels, y1Pixels, x2Pixels, y2Pixels, durationMs, runner) => {
46
+ return runIosHid(runner, [
47
+ 'swipe',
48
+ udid,
49
+ String(x1Pixels),
50
+ String(y1Pixels),
51
+ String(x2Pixels),
52
+ String(y2Pixels),
53
+ String(durationMs / 1000),
54
+ ], 'swipe');
55
+ };
56
+ exports.swipeIos = swipeIos;
57
+ const typeTextIos = async (udid, text, submit, runner) => {
58
+ // ios-hid handles clipboard paste internally (simctl pbcopy + Cmd+V)
59
+ // to avoid keyboard layout issues (HID keycodes are physical keys).
60
+ const fullText = submit ? text + '\n' : text;
61
+ return runIosHid(runner, ['type', udid, fullText], 'type');
62
+ };
63
+ exports.typeTextIos = typeTextIos;
64
+ // Keys that don't exist on iOS Simulator
65
+ const IOS_UNSUPPORTED_KEYS = new Set(['back', 'menu', 'power', 'volume_down', 'volume_up']);
66
+ const IOS_BUTTON_MAP = {
67
+ home: 'home',
68
+ };
69
+ const IOS_KEY_TEXT = {
70
+ backspace: '\u007F',
71
+ enter: '\n',
72
+ escape: '\u001B',
73
+ space: ' ',
74
+ tab: '\t',
75
+ };
76
+ const pressKeyIos = async (udid, key, runner) => {
77
+ if (IOS_UNSUPPORTED_KEYS.has(key)) {
78
+ return {
79
+ error: `Key '${key}' is not available on iOS Simulator. Supported: enter, tab, space, backspace, escape, home.`,
80
+ };
81
+ }
82
+ const button = IOS_BUTTON_MAP[key];
83
+ if (button) {
84
+ return runIosHid(runner, ['button', udid, button], 'button');
85
+ }
86
+ const keyText = IOS_KEY_TEXT[key];
87
+ if (keyText) {
88
+ return runIosHid(runner, ['type', udid, keyText], 'key');
89
+ }
90
+ return { error: `Unknown key '${key}' for iOS.` };
91
+ };
92
+ exports.pressKeyIos = pressKeyIos;
93
+ //# sourceMappingURL=iosInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iosInput.js","sourceRoot":"","sources":["../../../src/server/host/iosInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type ProcessRunner } from '../../../server/host/processRunner';
2
+ import { type HostModule } from '../../../server/host/types';
3
+ export declare const hostModule: (runner: ProcessRunner) => HostModule;
4
+ //# sourceMappingURL=screenshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../../src/server/host/modules/screenshot.ts"],"names":[],"mappings":"AAUA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmbxE,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAuTlD,CAAC"}