react-native-mcp-kit 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -11
- package/dist/bin/ios-hid +0 -0
- package/dist/client/contexts/McpContext/McpProvider.d.ts.map +1 -1
- package/dist/client/contexts/McpContext/McpProvider.js +6 -3
- package/dist/client/contexts/McpContext/McpProvider.js.map +1 -1
- package/dist/client/core/McpClient.d.ts +1 -0
- package/dist/client/core/McpClient.d.ts.map +1 -1
- package/dist/client/core/McpClient.js +39 -20
- package/dist/client/core/McpClient.js.map +1 -1
- package/dist/client/utils/connection.d.ts +7 -0
- package/dist/client/utils/connection.d.ts.map +1 -1
- package/dist/client/utils/connection.js +14 -1
- package/dist/client/utils/connection.js.map +1 -1
- package/dist/modules/alert/alert.d.ts.map +1 -1
- package/dist/modules/alert/alert.js +6 -5
- package/dist/modules/alert/alert.js.map +1 -1
- package/dist/modules/console/console.d.ts.map +1 -1
- package/dist/modules/console/console.js +18 -13
- package/dist/modules/console/console.js.map +1 -1
- package/dist/modules/device/device.d.ts.map +1 -1
- package/dist/modules/device/device.js +23 -27
- package/dist/modules/device/device.js.map +1 -1
- package/dist/modules/errors/errors.d.ts.map +1 -1
- package/dist/modules/errors/errors.js +92 -11
- package/dist/modules/errors/errors.js.map +1 -1
- package/dist/modules/errors/types.d.ts +8 -0
- package/dist/modules/errors/types.d.ts.map +1 -1
- package/dist/modules/fiberTree/fiberTree.d.ts +4 -0
- package/dist/modules/fiberTree/fiberTree.d.ts.map +1 -1
- package/dist/modules/fiberTree/fiberTree.js +353 -114
- package/dist/modules/fiberTree/fiberTree.js.map +1 -1
- package/dist/modules/fiberTree/index.d.ts +1 -0
- package/dist/modules/fiberTree/index.d.ts.map +1 -1
- package/dist/modules/fiberTree/index.js +14 -1
- package/dist/modules/fiberTree/index.js.map +1 -1
- package/dist/modules/fiberTree/types.d.ts +40 -0
- package/dist/modules/fiberTree/types.d.ts.map +1 -1
- package/dist/modules/fiberTree/utils.d.ts +13 -0
- package/dist/modules/fiberTree/utils.d.ts.map +1 -1
- package/dist/modules/fiberTree/utils.js +195 -23
- package/dist/modules/fiberTree/utils.js.map +1 -1
- package/dist/modules/i18next/i18next.d.ts.map +1 -1
- package/dist/modules/i18next/i18next.js +30 -16
- package/dist/modules/i18next/i18next.js.map +1 -1
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +3 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/logBox/index.d.ts +2 -0
- package/dist/modules/logBox/index.d.ts.map +1 -0
- package/dist/modules/logBox/index.js +6 -0
- package/dist/modules/logBox/index.js.map +1 -0
- package/dist/modules/logBox/logBox.d.ts +3 -0
- package/dist/modules/logBox/logBox.d.ts.map +1 -0
- package/dist/modules/logBox/logBox.js +234 -0
- package/dist/modules/logBox/logBox.js.map +1 -0
- package/dist/modules/navigation/navigation.d.ts.map +1 -1
- package/dist/modules/navigation/navigation.js +130 -42
- package/dist/modules/navigation/navigation.js.map +1 -1
- package/dist/modules/network/network.d.ts.map +1 -1
- package/dist/modules/network/network.js +262 -67
- package/dist/modules/network/network.js.map +1 -1
- package/dist/modules/network/types.d.ts +35 -3
- package/dist/modules/network/types.d.ts.map +1 -1
- package/dist/modules/reactQuery/reactQuery.d.ts.map +1 -1
- package/dist/modules/reactQuery/reactQuery.js +25 -15
- package/dist/modules/reactQuery/reactQuery.js.map +1 -1
- package/dist/modules/storage/storage.d.ts.map +1 -1
- package/dist/modules/storage/storage.js +23 -16
- package/dist/modules/storage/storage.js.map +1 -1
- package/dist/server/bridge.d.ts.map +1 -1
- package/dist/server/bridge.js +22 -0
- package/dist/server/bridge.js.map +1 -1
- package/dist/server/host/hostModule.d.ts.map +1 -1
- package/dist/server/host/hostModule.js +19 -1
- package/dist/server/host/hostModule.js.map +1 -1
- package/dist/server/host/tools/capture.d.ts.map +1 -1
- package/dist/server/host/tools/capture.js +111 -28
- package/dist/server/host/tools/capture.js.map +1 -1
- package/dist/server/host/tools/devices.js +1 -1
- package/dist/server/host/tools/devices.js.map +1 -1
- package/dist/server/host/tools/input.d.ts +3 -0
- package/dist/server/host/tools/input.d.ts.map +1 -1
- package/dist/server/host/tools/input.js +197 -5
- package/dist/server/host/tools/input.js.map +1 -1
- package/dist/server/host/tools/lifecycle.d.ts.map +1 -1
- package/dist/server/host/tools/lifecycle.js +5 -4
- package/dist/server/host/tools/lifecycle.js.map +1 -1
- package/dist/server/host/tools/symbolicate.d.ts +3 -0
- package/dist/server/host/tools/symbolicate.d.ts.map +1 -0
- package/dist/server/host/tools/symbolicate.js +199 -0
- package/dist/server/host/tools/symbolicate.js.map +1 -0
- package/dist/server/host/tools/tapFiber.d.ts +3 -0
- package/dist/server/host/tools/tapFiber.d.ts.map +1 -0
- package/dist/server/host/tools/tapFiber.js +89 -0
- package/dist/server/host/tools/tapFiber.js.map +1 -0
- package/dist/server/host/types.d.ts +14 -0
- package/dist/server/host/types.d.ts.map +1 -1
- package/dist/server/mcpServer.d.ts +6 -0
- package/dist/server/mcpServer.d.ts.map +1 -1
- package/dist/server/mcpServer.js +440 -93
- package/dist/server/mcpServer.js.map +1 -1
- package/dist/shared/protocol.d.ts +33 -1
- package/dist/shared/protocol.d.ts.map +1 -1
- package/dist/shared/protocol.js +12 -1
- package/dist/shared/protocol.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ const helpers_1 = require("../../../server/host/helpers");
|
|
|
14
14
|
const processRunner_1 = require("../../../server/host/processRunner");
|
|
15
15
|
const SCREENSHOT_TIMEOUT_MS = 15_000;
|
|
16
16
|
exports.SCREENSHOT_TIMEOUT_MS = SCREENSHOT_TIMEOUT_MS;
|
|
17
|
-
const SCREENSHOT_DEFAULT_WIDTH =
|
|
17
|
+
const SCREENSHOT_DEFAULT_WIDTH = 280;
|
|
18
18
|
const SCREENSHOT_MIN_WIDTH = 64;
|
|
19
19
|
const SCREENSHOT_MAX_WIDTH = 1568;
|
|
20
20
|
const WEBP_QUALITY = 80;
|
|
@@ -24,18 +24,97 @@ const clampWidth = (value) => {
|
|
|
24
24
|
}
|
|
25
25
|
return Math.max(SCREENSHOT_MIN_WIDTH, Math.min(SCREENSHOT_MAX_WIDTH, Math.floor(value)));
|
|
26
26
|
};
|
|
27
|
-
const
|
|
28
|
-
|
|
27
|
+
const parseRegion = (raw) => {
|
|
28
|
+
if (raw === undefined || raw === null)
|
|
29
|
+
return null;
|
|
30
|
+
if (typeof raw !== 'object' || Array.isArray(raw)) {
|
|
31
|
+
return { error: 'region must be an object { x, y, width, height }.' };
|
|
32
|
+
}
|
|
33
|
+
const r = raw;
|
|
34
|
+
const x = Number(r.x);
|
|
35
|
+
const y = Number(r.y);
|
|
36
|
+
const width = Number(r.width);
|
|
37
|
+
const height = Number(r.height);
|
|
38
|
+
if (!Number.isFinite(x) ||
|
|
39
|
+
!Number.isFinite(y) ||
|
|
40
|
+
!Number.isFinite(width) ||
|
|
41
|
+
!Number.isFinite(height)) {
|
|
42
|
+
return { error: 'region.x / y / width / height must all be finite numbers.' };
|
|
43
|
+
}
|
|
44
|
+
if (width <= 0 || height <= 0) {
|
|
45
|
+
return { error: 'region.width and region.height must be positive.' };
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
height: Math.floor(height),
|
|
49
|
+
width: Math.floor(width),
|
|
50
|
+
x: Math.max(0, Math.floor(x)),
|
|
51
|
+
y: Math.max(0, Math.floor(y)),
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const resizeScreenshot = async (input, targetWidth, region) => {
|
|
55
|
+
const pipeline = (0, sharp_1.default)(input);
|
|
56
|
+
const meta = await pipeline.metadata();
|
|
57
|
+
const origW = meta.width ?? 0;
|
|
58
|
+
const origH = meta.height ?? 0;
|
|
59
|
+
let appliedRegion;
|
|
60
|
+
let stage = pipeline;
|
|
61
|
+
if (region && origW > 0 && origH > 0) {
|
|
62
|
+
// Clip region to the actual image bounds so agents can pass fiber
|
|
63
|
+
// bounds without guarding the edges.
|
|
64
|
+
const left = Math.min(region.x, origW - 1);
|
|
65
|
+
const top = Math.min(region.y, origH - 1);
|
|
66
|
+
const w = Math.min(region.width, origW - left);
|
|
67
|
+
const h = Math.min(region.height, origH - top);
|
|
68
|
+
if (w > 0 && h > 0) {
|
|
69
|
+
stage = pipeline.extract({ height: h, left, top, width: w });
|
|
70
|
+
appliedRegion = { height: h, width: w, x: left, y: top };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const { data, info } = await stage
|
|
29
74
|
.resize({ width: targetWidth, withoutEnlargement: true })
|
|
30
75
|
.webp({ quality: WEBP_QUALITY })
|
|
31
|
-
.toBuffer();
|
|
76
|
+
.toBuffer({ resolveWithObject: true });
|
|
77
|
+
return {
|
|
78
|
+
buffer: data,
|
|
79
|
+
height: info.height,
|
|
80
|
+
originalHeight: origH || undefined,
|
|
81
|
+
originalWidth: origW || undefined,
|
|
82
|
+
region: appliedRegion,
|
|
83
|
+
width: info.width,
|
|
84
|
+
};
|
|
32
85
|
};
|
|
33
86
|
const hashBuffer = (buf) => {
|
|
34
87
|
return (0, node_crypto_1.createHash)('sha256').update(buf).digest('hex');
|
|
35
88
|
};
|
|
36
89
|
// Per-device cache for screenshot diff
|
|
37
90
|
const lastScreenshotHash = new Map();
|
|
38
|
-
const
|
|
91
|
+
const buildResponse = (resized) => {
|
|
92
|
+
// `scale` = image-to-source ratio. When a region was cropped it's the
|
|
93
|
+
// image/region ratio; otherwise it's image/full-screen. Agents use it for
|
|
94
|
+
// pixel-back-to-device math.
|
|
95
|
+
const sourceWidth = resized.region?.width ?? resized.originalWidth;
|
|
96
|
+
const meta = {
|
|
97
|
+
bytes: resized.buffer.length,
|
|
98
|
+
height: resized.height,
|
|
99
|
+
originalHeight: resized.originalHeight,
|
|
100
|
+
originalWidth: resized.originalWidth,
|
|
101
|
+
region: resized.region,
|
|
102
|
+
scale: sourceWidth ? Number((resized.width / sourceWidth).toFixed(3)) : undefined,
|
|
103
|
+
width: resized.width,
|
|
104
|
+
};
|
|
105
|
+
return [
|
|
106
|
+
{
|
|
107
|
+
data: resized.buffer.toString('base64'),
|
|
108
|
+
mimeType: 'image/webp',
|
|
109
|
+
type: 'image',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
text: JSON.stringify(meta),
|
|
113
|
+
type: 'text',
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
};
|
|
117
|
+
const captureIos = async (udid, runner, width, region) => {
|
|
39
118
|
const tmpPath = (0, node_path_1.join)((0, node_os_1.tmpdir)(), `rnmcp-ios-${(0, node_crypto_1.randomUUID)()}.png`);
|
|
40
119
|
try {
|
|
41
120
|
const proc = await runner('xcrun', ['simctl', 'io', udid, 'screenshot', tmpPath], {
|
|
@@ -50,19 +129,13 @@ const captureIos = async (udid, runner, width) => {
|
|
|
50
129
|
};
|
|
51
130
|
}
|
|
52
131
|
const raw = await (0, promises_1.readFile)(tmpPath);
|
|
53
|
-
const resized = await resizeScreenshot(raw, width);
|
|
54
|
-
const hash = hashBuffer(resized);
|
|
132
|
+
const resized = await resizeScreenshot(raw, width, region);
|
|
133
|
+
const hash = hashBuffer(resized.buffer);
|
|
55
134
|
if (lastScreenshotHash.get(udid) === hash) {
|
|
56
135
|
return { message: 'Screenshot unchanged since last capture.', unchanged: true };
|
|
57
136
|
}
|
|
58
137
|
lastScreenshotHash.set(udid, hash);
|
|
59
|
-
return
|
|
60
|
-
{
|
|
61
|
-
data: resized.toString('base64'),
|
|
62
|
-
mimeType: 'image/webp',
|
|
63
|
-
type: 'image',
|
|
64
|
-
},
|
|
65
|
-
];
|
|
138
|
+
return buildResponse(resized);
|
|
66
139
|
}
|
|
67
140
|
catch (err) {
|
|
68
141
|
if (err instanceof processRunner_1.ProcessNotFoundError) {
|
|
@@ -78,7 +151,7 @@ const captureIos = async (udid, runner, width) => {
|
|
|
78
151
|
});
|
|
79
152
|
}
|
|
80
153
|
};
|
|
81
|
-
const captureAndroid = async (serial, runner, width) => {
|
|
154
|
+
const captureAndroid = async (serial, runner, width, region) => {
|
|
82
155
|
try {
|
|
83
156
|
const proc = await runner('adb', ['-s', serial, 'exec-out', 'screencap', '-p'], {
|
|
84
157
|
timeoutMs: SCREENSHOT_TIMEOUT_MS,
|
|
@@ -94,19 +167,13 @@ const captureAndroid = async (serial, runner, width) => {
|
|
|
94
167
|
if (proc.stdout.length === 0) {
|
|
95
168
|
return { error: 'adb screencap returned empty output' };
|
|
96
169
|
}
|
|
97
|
-
const resized = await resizeScreenshot(proc.stdout, width);
|
|
98
|
-
const hash = hashBuffer(resized);
|
|
170
|
+
const resized = await resizeScreenshot(proc.stdout, width, region);
|
|
171
|
+
const hash = hashBuffer(resized.buffer);
|
|
99
172
|
if (lastScreenshotHash.get(serial) === hash) {
|
|
100
173
|
return { message: 'Screenshot unchanged since last capture.', unchanged: true };
|
|
101
174
|
}
|
|
102
175
|
lastScreenshotHash.set(serial, hash);
|
|
103
|
-
return
|
|
104
|
-
{
|
|
105
|
-
data: resized.toString('base64'),
|
|
106
|
-
mimeType: 'image/webp',
|
|
107
|
-
type: 'image',
|
|
108
|
-
},
|
|
109
|
-
];
|
|
176
|
+
return buildResponse(resized);
|
|
110
177
|
}
|
|
111
178
|
catch (err) {
|
|
112
179
|
if (err instanceof processRunner_1.ProcessNotFoundError) {
|
|
@@ -121,22 +188,38 @@ const captureAndroid = async (serial, runner, width) => {
|
|
|
121
188
|
};
|
|
122
189
|
const screenshotTool = (runner) => {
|
|
123
190
|
return {
|
|
124
|
-
description: `
|
|
191
|
+
description: `WebP screenshot, resized to save vision tokens. Response is [image, metadata] where metadata is JSON with { width, height, originalWidth, originalHeight, scale, bytes, region? }.
|
|
192
|
+
|
|
193
|
+
TOKEN BUDGETING
|
|
194
|
+
• Vision tokens are driven by image area. Default width ${SCREENSHOT_DEFAULT_WIDTH} gives a readable full-screen view at ~300 tokens. Bump only to read small text.
|
|
195
|
+
• Pass \`region: { x, y, width, height }\` (physical device pixels) to crop to a single element — typical tap-target shrinks to ~20-60 vision tokens. Grab the rect from fiber_tree__query bounds.
|
|
196
|
+
• { unchanged: true } is returned when the resized bytes are identical to the previous capture — cheap polling.
|
|
197
|
+
|
|
198
|
+
Use fiber_tree bounds for tap targeting; screenshots are for visual verification of what the UI looks like right now.`,
|
|
125
199
|
handler: async (args, ctx) => {
|
|
126
200
|
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
127
201
|
if (!resolved.ok) {
|
|
128
202
|
return { error: resolved.error };
|
|
129
203
|
}
|
|
130
204
|
const width = clampWidth(args.width);
|
|
205
|
+
const region = parseRegion(args.region);
|
|
206
|
+
if (region && 'error' in region) {
|
|
207
|
+
return { error: region.error };
|
|
208
|
+
}
|
|
131
209
|
if (resolved.device.platform === 'ios') {
|
|
132
|
-
return captureIos(resolved.device.nativeId, runner, width);
|
|
210
|
+
return captureIos(resolved.device.nativeId, runner, width, region);
|
|
133
211
|
}
|
|
134
|
-
return captureAndroid(resolved.device.nativeId, runner, width);
|
|
212
|
+
return captureAndroid(resolved.device.nativeId, runner, width, region);
|
|
135
213
|
},
|
|
136
214
|
inputSchema: {
|
|
137
215
|
platform: helpers_1.PLATFORM_ARG_SCHEMA,
|
|
216
|
+
region: {
|
|
217
|
+
description: 'Crop rectangle in original device pixels (top-left origin). Out-of-bounds values are clipped. Typical use: pass fiber_tree bounds ({ x, y, width, height }) to snapshot just one component. Omitted = full screen.',
|
|
218
|
+
examples: [{ height: 128, width: 900, x: 60, y: 200 }],
|
|
219
|
+
type: 'object',
|
|
220
|
+
},
|
|
138
221
|
width: {
|
|
139
|
-
description: `Output width in pixels
|
|
222
|
+
description: `Output width in image pixels (aspect ratio preserved, applied AFTER cropping). Default ${SCREENSHOT_DEFAULT_WIDTH}, clamped ${SCREENSHOT_MIN_WIDTH}..${SCREENSHOT_MAX_WIDTH}. Bump up only if you need to read small text.`,
|
|
140
223
|
type: 'number',
|
|
141
224
|
},
|
|
142
225
|
...helpers_1.NATIVE_ID_SCHEMA,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/server/host/tools/capture.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAqD;AACrD,+CAAgD;AAChD,qCAAiC;AACjC,yCAAiC;AAEjC,kDAA0B;AAE1B,iEAA6D;AAC7D,mDAAmG;AACnG,+DAAuF;AAGvF,MAAM,qBAAqB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/server/host/tools/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const deviceResolver_1 = require("../../../server/host/deviceResolver");
|
|
|
5
5
|
const capture_1 = require("./capture");
|
|
6
6
|
const listDevicesTool = (runner) => {
|
|
7
7
|
return {
|
|
8
|
-
description: '
|
|
8
|
+
description: 'Enumerate visible iOS simulators + Android devices. Connected clients are annotated with their clientId; connected devices are listed first in each platform group.',
|
|
9
9
|
handler: async (_args, ctx) => {
|
|
10
10
|
return (0, deviceResolver_1.enrichDevicesWithClientStatus)(ctx.bridge, runner);
|
|
11
11
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../../src/server/host/tools/devices.ts"],"names":[],"mappings":";;;AAAA,iEAA6E;AAI7E,uCAAkD;AAE3C,MAAM,eAAe,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACxE,OAAO;QACL,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../../src/server/host/tools/devices.ts"],"names":[],"mappings":";;;AAAA,iEAA6E;AAI7E,uCAAkD;AAE3C,MAAM,eAAe,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACxE,OAAO;QACL,WAAW,EACT,qKAAqK;QACvK,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,OAAO,IAAA,8CAA6B,EAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,+BAAqB;KAC/B,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B"}
|
|
@@ -3,5 +3,8 @@ import { type HostToolHandler } from '../../../server/host/types';
|
|
|
3
3
|
export declare const tapTool: (runner: ProcessRunner) => HostToolHandler;
|
|
4
4
|
export declare const swipeTool: (runner: ProcessRunner) => HostToolHandler;
|
|
5
5
|
export declare const typeTextTool: (runner: ProcessRunner) => HostToolHandler;
|
|
6
|
+
export declare const longPressTool: (runner: ProcessRunner) => HostToolHandler;
|
|
7
|
+
export declare const dragTool: (runner: ProcessRunner) => HostToolHandler;
|
|
8
|
+
export declare const typeTextBatchTool: (runner: ProcessRunner) => HostToolHandler;
|
|
6
9
|
export declare const pressKeyTool: (runner: ProcessRunner) => HostToolHandler;
|
|
7
10
|
//# sourceMappingURL=input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/input.ts"],"names":[],"mappings":"AAUA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/input.ts"],"names":[],"mappings":"AAUA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6J3D,eAAO,MAAM,OAAO,WAAY,aAAa,KAAG,eAoC/C,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,aAAa,KAAG,eA2EjD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,KAAG,eA2CpD,CAAC;AASF,eAAO,MAAM,aAAa,WAAY,aAAa,KAAG,eAmDrD,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,aAAa,KAAG,eA0EhD,CAAC;AASF,eAAO,MAAM,iBAAiB,WAAY,aAAa,KAAG,eA2FzD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,KAAG,eAgCpD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pressKeyTool = exports.typeTextTool = exports.swipeTool = exports.tapTool = void 0;
|
|
3
|
+
exports.pressKeyTool = exports.typeTextBatchTool = exports.dragTool = exports.longPressTool = exports.typeTextTool = exports.swipeTool = exports.tapTool = void 0;
|
|
4
4
|
const deviceResolver_1 = require("../../../server/host/deviceResolver");
|
|
5
5
|
const helpers_1 = require("../../../server/host/helpers");
|
|
6
6
|
const iosInput_1 = require("../../../server/host/iosInput");
|
|
@@ -9,6 +9,11 @@ const INPUT_TIMEOUT_MS = 5_000;
|
|
|
9
9
|
const SWIPE_DURATION_DEFAULT_MS = 300;
|
|
10
10
|
const SWIPE_DURATION_MIN_MS = 50;
|
|
11
11
|
const SWIPE_DURATION_MAX_MS = 5_000;
|
|
12
|
+
const LONG_PRESS_DURATION_DEFAULT_MS = 700;
|
|
13
|
+
const DRAG_HOLD_DEFAULT_MS = 500;
|
|
14
|
+
const DRAG_MOVE_DEFAULT_MS = 400;
|
|
15
|
+
const BATCH_FOCUS_DELAY_DEFAULT_MS = 200;
|
|
16
|
+
const BATCH_FOCUS_DELAY_MAX_MS = 5_000;
|
|
12
17
|
const ANDROID_KEYCODES = {
|
|
13
18
|
back: 'KEYCODE_BACK',
|
|
14
19
|
backspace: 'KEYCODE_DEL',
|
|
@@ -109,7 +114,7 @@ const pressKeyAndroid = (serial, key, runner) => {
|
|
|
109
114
|
};
|
|
110
115
|
const tapTool = (runner) => {
|
|
111
116
|
return {
|
|
112
|
-
description: '
|
|
117
|
+
description: 'Primary way to deliver a tap to the app, at physical-pixel (x, y). Runs through the real OS gesture pipeline so Pressable feedback, gesture responders, and hit-test all fire. For a fiber-targeted tap without copying bounds by hand, prefer host__tap_fiber.',
|
|
113
118
|
handler: async (args, ctx) => {
|
|
114
119
|
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
115
120
|
if (!resolved.ok) {
|
|
@@ -147,7 +152,7 @@ const tapTool = (runner) => {
|
|
|
147
152
|
exports.tapTool = tapTool;
|
|
148
153
|
const swipeTool = (runner) => {
|
|
149
154
|
return {
|
|
150
|
-
description: '
|
|
155
|
+
description: 'Primary way to deliver a swipe / scroll gesture, from (x1, y1) to (x2, y2) in physical pixels. Runs through the OS gesture pipeline — Pan responders, scroll momentum, and gesture handlers all behave as under a finger. durationMs default 300, clamped 50..5000.',
|
|
151
156
|
handler: async (args, ctx) => {
|
|
152
157
|
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
153
158
|
if (!resolved.ok) {
|
|
@@ -210,7 +215,7 @@ const swipeTool = (runner) => {
|
|
|
210
215
|
exports.swipeTool = swipeTool;
|
|
211
216
|
const typeTextTool = (runner) => {
|
|
212
217
|
return {
|
|
213
|
-
description:
|
|
218
|
+
description: "Primary way to type into the currently focused text input — replaces existing content (select-all then paste). submit:true presses ENTER after typing. iOS: unicode via clipboard paste, keyboard-layout immune. Android: ASCII only (adb input text limitation); for non-Latin scripts fall back to fiber_tree__invoke on the input's onChangeText.",
|
|
214
219
|
handler: async (args, ctx) => {
|
|
215
220
|
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
216
221
|
if (!resolved.ok) {
|
|
@@ -250,9 +255,196 @@ const typeTextTool = (runner) => {
|
|
|
250
255
|
};
|
|
251
256
|
};
|
|
252
257
|
exports.typeTextTool = typeTextTool;
|
|
258
|
+
const clampLongPressDuration = (value) => {
|
|
259
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
|
|
260
|
+
return LONG_PRESS_DURATION_DEFAULT_MS;
|
|
261
|
+
}
|
|
262
|
+
return Math.max(SWIPE_DURATION_MIN_MS, Math.min(SWIPE_DURATION_MAX_MS, Math.floor(value)));
|
|
263
|
+
};
|
|
264
|
+
const longPressTool = (runner) => {
|
|
265
|
+
return {
|
|
266
|
+
description: 'Primary way to deliver a long-press: hold a touch at (x, y) for durationMs through the OS gesture pipeline. Default 700ms — above the RN Pressable long-press threshold (~500ms) with margin. Internally a zero-distance swipe kept alive for the full duration on both platforms.',
|
|
267
|
+
handler: async (args, ctx) => {
|
|
268
|
+
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
269
|
+
if (!resolved.ok) {
|
|
270
|
+
return { error: resolved.error };
|
|
271
|
+
}
|
|
272
|
+
const x = (0, helpers_1.parseCoord)(args.x, 'x');
|
|
273
|
+
if (!x.ok)
|
|
274
|
+
return { error: x.error };
|
|
275
|
+
const y = (0, helpers_1.parseCoord)(args.y, 'y');
|
|
276
|
+
if (!y.ok)
|
|
277
|
+
return { error: y.error };
|
|
278
|
+
const durationMs = clampLongPressDuration(args.durationMs);
|
|
279
|
+
const result = resolved.device.platform === 'ios'
|
|
280
|
+
? await (0, iosInput_1.swipeIos)(resolved.device.nativeId, x.value, y.value, x.value, y.value, durationMs, runner)
|
|
281
|
+
: await swipeAndroid(resolved.device.nativeId, x.value, y.value, x.value, y.value, durationMs, runner);
|
|
282
|
+
if ('error' in result) {
|
|
283
|
+
return { error: result.error };
|
|
284
|
+
}
|
|
285
|
+
return { device: resolved.device, durationMs, longPressed: true, x: x.value, y: y.value };
|
|
286
|
+
},
|
|
287
|
+
inputSchema: {
|
|
288
|
+
durationMs: {
|
|
289
|
+
description: `Hold duration in milliseconds. Default ${LONG_PRESS_DURATION_DEFAULT_MS}. Clamped to ${SWIPE_DURATION_MIN_MS}..${SWIPE_DURATION_MAX_MS}.`,
|
|
290
|
+
type: 'number',
|
|
291
|
+
},
|
|
292
|
+
platform: helpers_1.PLATFORM_ARG_SCHEMA,
|
|
293
|
+
x: { description: 'Absolute x pixel coordinate.', type: 'number' },
|
|
294
|
+
y: { description: 'Absolute y pixel coordinate.', type: 'number' },
|
|
295
|
+
...helpers_1.NATIVE_ID_SCHEMA,
|
|
296
|
+
},
|
|
297
|
+
timeout: INPUT_TIMEOUT_MS + SWIPE_DURATION_MAX_MS,
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
exports.longPressTool = longPressTool;
|
|
301
|
+
const dragTool = (runner) => {
|
|
302
|
+
return {
|
|
303
|
+
description: 'Primary way to deliver a hold-then-drag gesture — swipe-to-delete, drag-to-reorder, pull-to-refresh-with-hold. Total gesture time = holdMs + durationMs (both platforms emit a single slow swipe — the hold is simulated by lingering near the start, not a true stop-then-move pause). When precise hold timing matters (e.g. iOS haptic long-press triggers), test + tune holdMs empirically.',
|
|
304
|
+
handler: async (args, ctx) => {
|
|
305
|
+
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
306
|
+
if (!resolved.ok) {
|
|
307
|
+
return { error: resolved.error };
|
|
308
|
+
}
|
|
309
|
+
const x1 = (0, helpers_1.parseCoord)(args.x1, 'x1');
|
|
310
|
+
if (!x1.ok)
|
|
311
|
+
return { error: x1.error };
|
|
312
|
+
const y1 = (0, helpers_1.parseCoord)(args.y1, 'y1');
|
|
313
|
+
if (!y1.ok)
|
|
314
|
+
return { error: y1.error };
|
|
315
|
+
const x2 = (0, helpers_1.parseCoord)(args.x2, 'x2');
|
|
316
|
+
if (!x2.ok)
|
|
317
|
+
return { error: x2.error };
|
|
318
|
+
const y2 = (0, helpers_1.parseCoord)(args.y2, 'y2');
|
|
319
|
+
if (!y2.ok)
|
|
320
|
+
return { error: y2.error };
|
|
321
|
+
const holdMs = typeof args.holdMs === 'number' && Number.isFinite(args.holdMs) && args.holdMs >= 0
|
|
322
|
+
? Math.min(SWIPE_DURATION_MAX_MS, Math.floor(args.holdMs))
|
|
323
|
+
: DRAG_HOLD_DEFAULT_MS;
|
|
324
|
+
const moveMs = clampSwipeDuration(args.durationMs ?? DRAG_MOVE_DEFAULT_MS);
|
|
325
|
+
const total = Math.min(SWIPE_DURATION_MAX_MS, holdMs + moveMs);
|
|
326
|
+
const result = resolved.device.platform === 'ios'
|
|
327
|
+
? await (0, iosInput_1.swipeIos)(resolved.device.nativeId, x1.value, y1.value, x2.value, y2.value, total, runner)
|
|
328
|
+
: await swipeAndroid(resolved.device.nativeId, x1.value, y1.value, x2.value, y2.value, total, runner);
|
|
329
|
+
if ('error' in result) {
|
|
330
|
+
return { error: result.error };
|
|
331
|
+
}
|
|
332
|
+
return {
|
|
333
|
+
device: resolved.device,
|
|
334
|
+
dragged: true,
|
|
335
|
+
from: { x: x1.value, y: y1.value },
|
|
336
|
+
holdMs,
|
|
337
|
+
moveMs,
|
|
338
|
+
to: { x: x2.value, y: y2.value },
|
|
339
|
+
totalMs: total,
|
|
340
|
+
};
|
|
341
|
+
},
|
|
342
|
+
inputSchema: {
|
|
343
|
+
durationMs: {
|
|
344
|
+
description: `Move portion in milliseconds. Default ${DRAG_MOVE_DEFAULT_MS}. Clamped to ${SWIPE_DURATION_MIN_MS}..${SWIPE_DURATION_MAX_MS}.`,
|
|
345
|
+
type: 'number',
|
|
346
|
+
},
|
|
347
|
+
holdMs: {
|
|
348
|
+
description: `Hold time near start before the motion. Default ${DRAG_HOLD_DEFAULT_MS}. 0 to skip hold.`,
|
|
349
|
+
type: 'number',
|
|
350
|
+
},
|
|
351
|
+
platform: helpers_1.PLATFORM_ARG_SCHEMA,
|
|
352
|
+
x1: { description: 'Start x pixel coordinate.', type: 'number' },
|
|
353
|
+
x2: { description: 'End x pixel coordinate.', type: 'number' },
|
|
354
|
+
y1: { description: 'Start y pixel coordinate.', type: 'number' },
|
|
355
|
+
y2: { description: 'End y pixel coordinate.', type: 'number' },
|
|
356
|
+
...helpers_1.NATIVE_ID_SCHEMA,
|
|
357
|
+
},
|
|
358
|
+
timeout: INPUT_TIMEOUT_MS + SWIPE_DURATION_MAX_MS,
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
exports.dragTool = dragTool;
|
|
362
|
+
const typeTextBatchTool = (runner) => {
|
|
363
|
+
return {
|
|
364
|
+
description: `Primary way to fill multiple text fields in one call. Each field: { x, y, text, submit? }. For each entry — tap to focus, wait focusDelayMs, then type via the same semantics as host__type_text (select-all → paste on iOS; adb input text on Android). Stops on the first error and returns { filled, failedAt, error? }.
|
|
365
|
+
|
|
366
|
+
focusDelayMs default is ${BATCH_FOCUS_DELAY_DEFAULT_MS}ms — tuned for in-place TextInputs (login / signup forms, already-mounted fields). When the tap triggers a screen transition (e.g. searchBar → SearchScreen) the target input won't be mounted yet and the typed text is lost; bump focusDelayMs to 700-800. Set to 0 when the input is already focused.`,
|
|
367
|
+
handler: async (args, ctx) => {
|
|
368
|
+
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
369
|
+
if (!resolved.ok) {
|
|
370
|
+
return { error: resolved.error };
|
|
371
|
+
}
|
|
372
|
+
const fields = args.fields;
|
|
373
|
+
if (!Array.isArray(fields) || fields.length === 0) {
|
|
374
|
+
return { error: "'fields' must be a non-empty array of { x, y, text, submit? }." };
|
|
375
|
+
}
|
|
376
|
+
const focusDelayMs = typeof args.focusDelayMs === 'number' && Number.isFinite(args.focusDelayMs)
|
|
377
|
+
? Math.max(0, Math.min(BATCH_FOCUS_DELAY_MAX_MS, Math.floor(args.focusDelayMs)))
|
|
378
|
+
: BATCH_FOCUS_DELAY_DEFAULT_MS;
|
|
379
|
+
const results = [];
|
|
380
|
+
for (let i = 0; i < fields.length; i++) {
|
|
381
|
+
const raw = fields[i];
|
|
382
|
+
if (!raw || typeof raw !== 'object') {
|
|
383
|
+
return { error: `fields[${i}]: must be an object.`, failedAt: i, filled: results.length };
|
|
384
|
+
}
|
|
385
|
+
const x = (0, helpers_1.parseCoord)(raw.x, `fields[${i}].x`);
|
|
386
|
+
if (!x.ok)
|
|
387
|
+
return { error: x.error, failedAt: i, filled: results.length };
|
|
388
|
+
const y = (0, helpers_1.parseCoord)(raw.y, `fields[${i}].y`);
|
|
389
|
+
if (!y.ok)
|
|
390
|
+
return { error: y.error, failedAt: i, filled: results.length };
|
|
391
|
+
if (typeof raw.text !== 'string') {
|
|
392
|
+
return {
|
|
393
|
+
error: `fields[${i}].text must be a string.`,
|
|
394
|
+
failedAt: i,
|
|
395
|
+
filled: results.length,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
const submit = raw.submit === true;
|
|
399
|
+
const focused = resolved.device.platform === 'ios'
|
|
400
|
+
? await (0, iosInput_1.tapIos)(resolved.device.nativeId, x.value, y.value, runner)
|
|
401
|
+
: await tapAndroid(resolved.device.nativeId, x.value, y.value, runner);
|
|
402
|
+
if ('error' in focused) {
|
|
403
|
+
return { error: focused.error, failedAt: i, filled: results.length };
|
|
404
|
+
}
|
|
405
|
+
// Give the soft keyboard (or a screen transition to a search-style
|
|
406
|
+
// view) a beat to come up before typing. Tunable per-call because
|
|
407
|
+
// navigation-triggering taps need more than in-place input focus.
|
|
408
|
+
if (focusDelayMs > 0) {
|
|
409
|
+
await new Promise((r) => {
|
|
410
|
+
return setTimeout(r, focusDelayMs);
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
const typed = resolved.device.platform === 'ios'
|
|
414
|
+
? await (0, iosInput_1.typeTextIos)(resolved.device.nativeId, raw.text, submit, runner)
|
|
415
|
+
: await typeTextAndroid(resolved.device.nativeId, raw.text, submit, runner);
|
|
416
|
+
if ('error' in typed) {
|
|
417
|
+
return { error: typed.error, failedAt: i, filled: results.length };
|
|
418
|
+
}
|
|
419
|
+
results.push({ submitted: submit, x: x.value, y: y.value });
|
|
420
|
+
}
|
|
421
|
+
return { device: resolved.device, fields: results, filled: results.length };
|
|
422
|
+
},
|
|
423
|
+
inputSchema: {
|
|
424
|
+
fields: {
|
|
425
|
+
description: 'Ordered list of { x, y, text, submit? } entries. Each entry taps the coordinate to focus the input, waits focusDelayMs, then types the text.',
|
|
426
|
+
examples: [
|
|
427
|
+
[
|
|
428
|
+
{ text: 'alice@example.com', x: 120, y: 400 },
|
|
429
|
+
{ submit: true, text: 'pa55word', x: 120, y: 520 },
|
|
430
|
+
],
|
|
431
|
+
],
|
|
432
|
+
type: 'array',
|
|
433
|
+
},
|
|
434
|
+
focusDelayMs: {
|
|
435
|
+
description: `Delay between tap and type. Default ${BATCH_FOCUS_DELAY_DEFAULT_MS}. Clamped 0..${BATCH_FOCUS_DELAY_MAX_MS}. Use 0 to skip when the input is already focused.`,
|
|
436
|
+
type: 'number',
|
|
437
|
+
},
|
|
438
|
+
platform: helpers_1.PLATFORM_ARG_SCHEMA,
|
|
439
|
+
...helpers_1.NATIVE_ID_SCHEMA,
|
|
440
|
+
},
|
|
441
|
+
timeout: INPUT_TIMEOUT_MS * 6,
|
|
442
|
+
};
|
|
443
|
+
};
|
|
444
|
+
exports.typeTextBatchTool = typeTextBatchTool;
|
|
253
445
|
const pressKeyTool = (runner) => {
|
|
254
446
|
return {
|
|
255
|
-
description: `
|
|
447
|
+
description: `Primary way to press a hardware / semantic key — routes through the OS so native handlers (back, home, volume, etc.) fire. Accepted: ${KEY_NAMES.join(', ')}. iOS lacks back / menu / power / volume_up / volume_down.`,
|
|
256
448
|
handler: async (args, ctx) => {
|
|
257
449
|
const resolved = await (0, deviceResolver_1.resolveDevice)(ctx, (0, helpers_1.parseResolveOptions)(args), runner);
|
|
258
450
|
if (!resolved.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/server/host/tools/input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/server/host/tools/input.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAC7D,mDAO+B;AAC/B,qDAAoF;AACpF,+DAAuF;AAGvF,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC,MAAM,gBAAgB,GAA2B;IAC/C,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,aAAa;IACxB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;IACtB,GAAG,EAAE,aAAa;IAClB,WAAW,EAAE,qBAAqB;IAClC,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;AAEvD,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,MAAc,EACd,IAAuB,EACvB,MAAqB,EACrB,MAAc,EAC0B,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;YAC1E,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,WAAW,MAAM,oBAAoB,gBAAgB,IAAI,EAAE,CAAC;QAC9E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,KAAK,EAAE,mBAAmB,MAAM,iBAAiB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACxH,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oCAAoB,EAAE,CAAC;YACxC,OAAO;gBACL,KAAK,EAAE,2EAA2E;aACnF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,yBAAyB,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IACjF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,MAAc,EACd,CAAS,EACT,CAAS,EACT,MAAqB,EACmB,EAAE;IAC1C,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,MAAc,EACd,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,UAAkB,EAClB,MAAqB,EACmB,EAAE;IAC1C,OAAO,WAAW,CAChB,MAAM,EACN,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAC7E,MAAM,EACN,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,uCAAuC;AACvC,4CAA4C;AAC5C,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,MAAM,eAAe,GAAG,KAAK,EAC3B,MAAc,EACd,IAAY,EACZ,MAAe,EACf,MAAqB,EACmB,EAAE;IAC1C,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EACH,mRAAmR;SACtR,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,KAAK,EACL,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D;YACE,SAAS,EAAE,gBAAgB;SAC5B,CACF,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,MAAc,EACd,GAAW,EACX,MAAqB,EACmB,EAAE;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACnE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxE,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,CAAC,MAAqB,EAAmB,EAAE;IAChE,OAAO;QACL,WAAW,EACT,iQAAiQ;QACnQ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,iBAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC;gBAClE,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3E,CAAC;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,6BAAmB;YAC7B,CAAC,EAAE;gBACD,WAAW,EAAE,gDAAgD;gBAC7D,IAAI,EAAE,QAAQ;aACf;YACD,CAAC,EAAE;gBACD,WAAW,EAAE,gDAAgD;gBAC7D,IAAI,EAAE,QAAQ;aACf;YACD,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,OAAO,WAoClB;AAEK,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAmB,EAAE;IAClE,OAAO;QACL,WAAW,EACT,qQAAqQ;QACvQ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EACZ,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,UAAU,EACV,MAAM,CACP;gBACH,CAAC,CAAC,MAAM,YAAY,CAChB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,UAAU,EACV,MAAM,CACP,CAAC;YACR,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU;gBACV,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;gBAClC,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,WAAW,EAAE,iDAAiD,yBAAyB,gBAAgB,qBAAqB,KAAK,qBAAqB,GAAG;gBACzJ,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,6BAAmB;YAC7B,EAAE,EAAE;gBACF,WAAW,EAAE,6CAA6C;gBAC1D,IAAI,EAAE,QAAQ;aACf;YACD,EAAE,EAAE;gBACF,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE,QAAQ;aACf;YACD,EAAE,EAAE;gBACF,WAAW,EAAE,6CAA6C;gBAC1D,IAAI,EAAE,QAAQ;aACf;YACD,EAAE,EAAE;gBACF,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE,QAAQ;aACf;YACD,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB,GAAG,qBAAqB;KAClD,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,SAAS,aA2EpB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACrE,OAAO;QACL,WAAW,EACT,sVAAsV;QACxV,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;YAC9D,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;YACpC,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;gBACnE,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5E,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,6BAAmB;YAC7B,MAAM,EAAE;gBACN,WAAW,EAAE,oEAAoE;gBACjF,IAAI,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACJ,WAAW,EACT,qHAAqH;gBACvH,IAAI,EAAE,QAAQ;aACf;YACD,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,YAAY,gBA2CvB;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACtE,OAAO;QACL,WAAW,EACT,oRAAoR;QACtR,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EACZ,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,UAAU,EACV,MAAM,CACP;gBACH,CAAC,CAAC,MAAM,YAAY,CAChB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,UAAU,EACV,MAAM,CACP,CAAC;YACR,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5F,CAAC;QACD,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,WAAW,EAAE,0CAA0C,8BAA8B,gBAAgB,qBAAqB,KAAK,qBAAqB,GAAG;gBACvJ,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,6BAAmB;YAC7B,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClE,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClE,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB,GAAG,qBAAqB;KAClD,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,aAAa,iBAmDxB;AAEK,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACjE,OAAO;QACL,WAAW,EACT,iYAAiY;QACnY,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;gBACjF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC,CAAC,oBAAoB,CAAC;YAC3B,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;YAC/D,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EACZ,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,KAAK,EACL,MAAM,CACP;gBACH,CAAC,CAAC,MAAM,YAAY,CAChB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,KAAK,EACR,KAAK,EACL,MAAM,CACP,CAAC;YACR,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;gBAClC,MAAM;gBACN,MAAM;gBACN,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;gBAChC,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QACD,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,WAAW,EAAE,yCAAyC,oBAAoB,gBAAgB,qBAAqB,KAAK,qBAAqB,GAAG;gBAC5I,IAAI,EAAE,QAAQ;aACf;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,mDAAmD,oBAAoB,mBAAmB;gBACvG,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,6BAAmB;YAC7B,EAAE,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9D,EAAE,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9D,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB,GAAG,qBAAqB;KAClD,CAAC;AACJ,CAAC,CAAC;AA1EW,QAAA,QAAQ,YA0EnB;AASK,MAAM,iBAAiB,GAAG,CAAC,MAAqB,EAAmB,EAAE;IAC1E,OAAO;QACL,WAAW,EAAE;;0BAES,4BAA4B,0SAA0S;QAC5V,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO,EAAE,KAAK,EAAE,gEAAgE,EAAE,CAAC;YACrF,CAAC;YAED,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,4BAA4B,CAAC;YAEnC,MAAM,OAAO,GAAwD,EAAE,CAAC;YAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAA+B,CAAC;gBACpD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,uBAAuB,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5F,CAAC;gBACD,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,CAAC,CAAC,EAAE;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1E,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,CAAC,CAAC,EAAE;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1E,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,OAAO;wBACL,KAAK,EAAE,UAAU,CAAC,0BAA0B;wBAC5C,QAAQ,EAAE,CAAC;wBACX,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;gBAEnC,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;oBAChC,CAAC,CAAC,MAAM,IAAA,iBAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC;oBAClE,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3E,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;oBACvB,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvE,CAAC;gBAED,mEAAmE;gBACnE,kEAAkE;gBAClE,kEAAkE;gBAClE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtB,OAAO,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;oBAChC,CAAC,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;oBACvE,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAChF,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBACrB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrE,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9E,CAAC;QACD,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,WAAW,EACT,8IAA8I;gBAChJ,QAAQ,EAAE;oBACR;wBACE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;wBAC7C,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;qBACnD;iBACF;gBACD,IAAI,EAAE,OAAO;aACd;YACD,YAAY,EAAE;gBACZ,WAAW,EAAE,uCAAuC,4BAA4B,gBAAgB,wBAAwB,oDAAoD;gBAC5K,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,6BAAmB;YAC7B,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC;AA3FW,QAAA,iBAAiB,qBA2F5B;AAEK,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAmB,EAAE;IACrE,OAAO;QACL,WAAW,EAAE,wIAAwI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D;QACrO,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAa,EAAC,GAAG,EAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,GAAG,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,KAAK,EAAE,iCAAiC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7E,CAAC;YACD,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK;gBAChC,CAAC,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC1D,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,WAAW,EAAE;YACX,GAAG,EAAE;gBACH,WAAW,EAAE,6FAA6F,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACjI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,6BAAmB;YAC7B,GAAG,0BAAgB;SACpB;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/lifecycle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/server/host/tools/lifecycle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuO7E,eAAO,MAAM,aAAa,WAAY,aAAa,KAAG,eA6BrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,aAAa,KAAG,eA6BxD,CAAC;AAIF,eAAO,MAAM,cAAc,WAAY,aAAa,KAAG,eAyCtD,CAAC"}
|