@poping/yome 0.0.9 → 0.0.11
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/dist/agent.js +13 -7
- package/dist/agent.js.map +1 -1
- package/dist/commands/mesh.js +2 -0
- package/dist/commands/mesh.js.map +1 -1
- package/dist/llm.d.ts +1 -0
- package/dist/llm.js +35 -3
- package/dist/llm.js.map +1 -1
- package/dist/mesh/device-registrar.d.ts +3 -0
- package/dist/mesh/device-registrar.js +3 -0
- package/dist/mesh/device-registrar.js.map +1 -1
- package/dist/mesh/index.d.ts +2 -0
- package/dist/mesh/index.js +4 -1
- package/dist/mesh/index.js.map +1 -1
- package/dist/mesh/rpc-handler-path.test.js +34 -5
- package/dist/mesh/rpc-handler-path.test.js.map +1 -1
- package/dist/mesh/rpc-handler.d.ts +12 -7
- package/dist/mesh/rpc-handler.js +48 -38
- package/dist/mesh/rpc-handler.js.map +1 -1
- package/dist/mesh/thread-stream.d.ts +15 -0
- package/dist/mesh/thread-stream.js +12 -7
- package/dist/mesh/thread-stream.js.map +1 -1
- package/dist/mesh/types.d.ts +3 -1
- package/dist/tools/glob.js +16 -6
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.js +24 -3
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/ls.js +33 -15
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/read.js +98 -14
- package/dist/tools/read.js.map +1 -1
- package/dist/ui/App.js +36 -1
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/MeshApp.js +123 -11
- package/dist/ui/MeshApp.js.map +1 -1
- package/dist/ui/ThreadPicker.d.ts +11 -0
- package/dist/ui/ThreadPicker.js +62 -0
- package/dist/ui/ThreadPicker.js.map +1 -0
- package/dist/ui/ToolResult.js +4 -0
- package/dist/ui/ToolResult.js.map +1 -1
- package/package.json +1 -1
package/dist/mesh/rpc-handler.js
CHANGED
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// IMPORTANT path conventions on Linux mesh (different from macOS sandbox!):
|
|
22
22
|
// - There is NO Desktop/Downloads/Documents sandbox; full POSIX paths allowed.
|
|
23
23
|
// - `~` and `~/foo` are expanded to the daemon user's $HOME.
|
|
24
|
-
// - A missing/empty path is treated as
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
// - A relative path is resolved against $HOME (matches `cd ~` then `ls foo`).
|
|
24
|
+
// - A missing/empty path is treated as the mesh working directory captured
|
|
25
|
+
// when `yome mesh start` was launched.
|
|
26
|
+
// - A relative path is resolved against that mesh working directory.
|
|
28
27
|
import { spawn } from 'child_process';
|
|
29
28
|
import { promises as fsp } from 'fs';
|
|
30
29
|
import { homedir } from 'os';
|
|
@@ -48,22 +47,22 @@ function expandTilde(p) {
|
|
|
48
47
|
}
|
|
49
48
|
/**
|
|
50
49
|
* Resolve a user-supplied path with consistent semantics on Linux mesh:
|
|
51
|
-
* - empty / undefined →
|
|
50
|
+
* - empty / undefined → mesh working directory
|
|
52
51
|
* - leading `~` → $HOME-relative
|
|
53
52
|
* - absolute → kept as-is
|
|
54
|
-
* - relative → resolved against
|
|
53
|
+
* - relative → resolved against mesh working directory
|
|
55
54
|
*/
|
|
56
|
-
function resolveUserPath(raw,
|
|
55
|
+
function resolveUserPath(raw, fallbackToWorkingDirectory = true, workingDirectory = process.cwd()) {
|
|
57
56
|
const s = (raw ?? '').trim();
|
|
58
57
|
if (!s) {
|
|
59
|
-
if (
|
|
60
|
-
return
|
|
58
|
+
if (fallbackToWorkingDirectory)
|
|
59
|
+
return workingDirectory;
|
|
61
60
|
return '';
|
|
62
61
|
}
|
|
63
62
|
const expanded = expandTilde(s);
|
|
64
63
|
if (isAbsolute(expanded))
|
|
65
64
|
return expanded;
|
|
66
|
-
return resolvePath(
|
|
65
|
+
return resolvePath(workingDirectory, expanded);
|
|
67
66
|
}
|
|
68
67
|
/**
|
|
69
68
|
* Extract the path argument from a parsed fs command.
|
|
@@ -71,10 +70,10 @@ function resolveUserPath(raw, fallbackToHome = true) {
|
|
|
71
70
|
* (see Server/agent/commandParser.ts:558). Older code paths and the
|
|
72
71
|
* yome-skill-fs signature use `--path=`, so we accept both.
|
|
73
72
|
*/
|
|
74
|
-
function pathArg(args,
|
|
73
|
+
function pathArg(args, fallbackToWorkingDirectory = true, workingDirectory = process.cwd()) {
|
|
75
74
|
const fromPath = typeof args.path === 'string' ? args.path : '';
|
|
76
75
|
const fromPos = typeof args.positional === 'string' ? args.positional : '';
|
|
77
|
-
return resolveUserPath(fromPath || fromPos,
|
|
76
|
+
return resolveUserPath(fromPath || fromPos, fallbackToWorkingDirectory, workingDirectory);
|
|
78
77
|
}
|
|
79
78
|
function intArg(args, key, dflt) {
|
|
80
79
|
const v = args[key];
|
|
@@ -106,9 +105,11 @@ export class RpcHandler {
|
|
|
106
105
|
client;
|
|
107
106
|
opts;
|
|
108
107
|
detach = null;
|
|
108
|
+
workingDirectory;
|
|
109
109
|
constructor(client, opts = {}) {
|
|
110
110
|
this.client = client;
|
|
111
111
|
this.opts = opts;
|
|
112
|
+
this.workingDirectory = resolvePath(opts.workingDirectory ?? process.cwd());
|
|
112
113
|
}
|
|
113
114
|
start() {
|
|
114
115
|
this.detach = this.client.onMessage((frame) => {
|
|
@@ -165,6 +166,7 @@ export class RpcHandler {
|
|
|
165
166
|
const domain = req.parsed?.domain;
|
|
166
167
|
switch (domain) {
|
|
167
168
|
case 'bash':
|
|
169
|
+
case 'sh':
|
|
168
170
|
return this.handleBash(req);
|
|
169
171
|
case 'fs':
|
|
170
172
|
return this.handleFs(req);
|
|
@@ -185,26 +187,33 @@ export class RpcHandler {
|
|
|
185
187
|
default:
|
|
186
188
|
return {
|
|
187
189
|
stdout: '',
|
|
188
|
-
stderr: `[mesh] unknown domain: ${domain} (linux cli implements:
|
|
190
|
+
stderr: `[mesh] unknown domain: ${domain} (linux cli implements: sh, fs). For shell access use \`sh <command>\`.`,
|
|
189
191
|
exitCode: 127,
|
|
190
192
|
};
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
195
|
/**
|
|
194
|
-
* `bash
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
196
|
+
* Handles both `bash` (legacy: --cmd=…) and `sh` (new top-level shell
|
|
197
|
+
* domain: everything after the leading `sh ` token is the shell
|
|
198
|
+
* line). Resolution order:
|
|
199
|
+
* 1. parsed.args.cmd — legacy `bash exec --cmd="..."`
|
|
200
|
+
* 2. req.command with leading `sh ` / `bash ` stripped — `sh find / | xargs grep ...`
|
|
201
|
+
* 3. raw req.command as last resort.
|
|
198
202
|
*/
|
|
199
203
|
handleBash(req) {
|
|
200
|
-
|
|
204
|
+
let shellLine = req.parsed?.args?.cmd ?? '';
|
|
205
|
+
if (!shellLine) {
|
|
206
|
+
const raw = (req.command ?? '').trim();
|
|
207
|
+
const stripped = raw.replace(/^(?:sh|bash)\s+/i, '');
|
|
208
|
+
shellLine = stripped || raw;
|
|
209
|
+
}
|
|
201
210
|
if (!shellLine.trim()) {
|
|
202
211
|
return Promise.resolve({ stdout: '', stderr: '[bash] empty command', exitCode: 2 });
|
|
203
212
|
}
|
|
204
213
|
return new Promise((resolveP) => {
|
|
205
214
|
const proc = spawn('sh', ['-c', shellLine], {
|
|
206
215
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
207
|
-
cwd:
|
|
216
|
+
cwd: this.workingDirectory,
|
|
208
217
|
});
|
|
209
218
|
let stdout = '';
|
|
210
219
|
let stderr = '';
|
|
@@ -235,16 +244,17 @@ export class RpcHandler {
|
|
|
235
244
|
}
|
|
236
245
|
/**
|
|
237
246
|
* `fs <action> [<path>] [--key=value ...]`
|
|
238
|
-
* Path resolution: see `resolveUserPath` — empty →
|
|
239
|
-
* relative →
|
|
247
|
+
* Path resolution: see `resolveUserPath` — empty → mesh working directory,
|
|
248
|
+
* ~ expanded, relative → mesh working directory, full POSIX paths allowed.
|
|
240
249
|
*/
|
|
241
250
|
async handleFs(req) {
|
|
242
251
|
const action = req.parsed?.action ?? '';
|
|
243
252
|
const args = (req.parsed?.args ?? {});
|
|
253
|
+
const root = this.workingDirectory;
|
|
244
254
|
try {
|
|
245
255
|
switch (action) {
|
|
246
256
|
case 'ls': {
|
|
247
|
-
const target = pathArg(args);
|
|
257
|
+
const target = pathArg(args, true, root);
|
|
248
258
|
const entries = await fsp.readdir(target, { withFileTypes: true });
|
|
249
259
|
// Output TSV: `name\ttype\tsize` so the Server-side fsDomain.ls
|
|
250
260
|
// compress() (which filters on `\t`) actually sees rows. Header
|
|
@@ -271,14 +281,14 @@ export class RpcHandler {
|
|
|
271
281
|
return { stdout: `${target}:\n${rows.join('\n')}`, stderr: '', exitCode: 0 };
|
|
272
282
|
}
|
|
273
283
|
case 'tree': {
|
|
274
|
-
const target = pathArg(args);
|
|
284
|
+
const target = pathArg(args, true, root);
|
|
275
285
|
const depth = Math.max(1, intArg(args, 'depth', 2));
|
|
276
286
|
const out = [target];
|
|
277
287
|
await walkTree(target, depth, '', out);
|
|
278
288
|
return { stdout: out.join('\n'), stderr: '', exitCode: 0 };
|
|
279
289
|
}
|
|
280
290
|
case 'stat': {
|
|
281
|
-
const target = pathArg(args, false);
|
|
291
|
+
const target = pathArg(args, false, root);
|
|
282
292
|
if (!target)
|
|
283
293
|
return { stdout: '', stderr: '[fs stat] path is required', exitCode: 2 };
|
|
284
294
|
const st = await fsp.stat(target);
|
|
@@ -296,7 +306,7 @@ export class RpcHandler {
|
|
|
296
306
|
}
|
|
297
307
|
case 'find': {
|
|
298
308
|
// fs find <path> --name=GLOB [--type=file|dir] [--limit=20]
|
|
299
|
-
const target = pathArg(args);
|
|
309
|
+
const target = pathArg(args, true, root);
|
|
300
310
|
const namePat = strArg(args, 'name');
|
|
301
311
|
if (!namePat)
|
|
302
312
|
return { stdout: '', stderr: '[fs find] --name is required', exitCode: 2 };
|
|
@@ -324,7 +334,7 @@ export class RpcHandler {
|
|
|
324
334
|
}
|
|
325
335
|
case 'cat':
|
|
326
336
|
case 'read': {
|
|
327
|
-
const target = pathArg(args, false);
|
|
337
|
+
const target = pathArg(args, false, root);
|
|
328
338
|
if (!target)
|
|
329
339
|
return { stdout: '', stderr: '[fs read] path is required', exitCode: 2 };
|
|
330
340
|
const st = await fsp.stat(target);
|
|
@@ -346,7 +356,7 @@ export class RpcHandler {
|
|
|
346
356
|
return { stdout: slice, stderr: '', exitCode: 0 };
|
|
347
357
|
}
|
|
348
358
|
case 'head': {
|
|
349
|
-
const target = pathArg(args, false);
|
|
359
|
+
const target = pathArg(args, false, root);
|
|
350
360
|
if (!target)
|
|
351
361
|
return { stdout: '', stderr: '[fs head] path is required', exitCode: 2 };
|
|
352
362
|
const lines = Math.max(1, intArg(args, 'lines', 10));
|
|
@@ -354,7 +364,7 @@ export class RpcHandler {
|
|
|
354
364
|
return { stdout: content.split('\n').slice(0, lines).join('\n'), stderr: '', exitCode: 0 };
|
|
355
365
|
}
|
|
356
366
|
case 'tail': {
|
|
357
|
-
const target = pathArg(args, false);
|
|
367
|
+
const target = pathArg(args, false, root);
|
|
358
368
|
if (!target)
|
|
359
369
|
return { stdout: '', stderr: '[fs tail] path is required', exitCode: 2 };
|
|
360
370
|
const lines = Math.max(1, intArg(args, 'lines', 10));
|
|
@@ -362,14 +372,14 @@ export class RpcHandler {
|
|
|
362
372
|
return { stdout: content.split('\n').slice(-lines).join('\n'), stderr: '', exitCode: 0 };
|
|
363
373
|
}
|
|
364
374
|
case 'mkdir': {
|
|
365
|
-
const target = pathArg(args, false);
|
|
375
|
+
const target = pathArg(args, false, root);
|
|
366
376
|
if (!target)
|
|
367
377
|
return { stdout: '', stderr: '[fs mkdir] path is required', exitCode: 2 };
|
|
368
378
|
await fsp.mkdir(target, { recursive: true });
|
|
369
379
|
return { stdout: `created ${target}`, stderr: '', exitCode: 0 };
|
|
370
380
|
}
|
|
371
381
|
case 'write': {
|
|
372
|
-
const target = pathArg(args, false);
|
|
382
|
+
const target = pathArg(args, false, root);
|
|
373
383
|
if (!target)
|
|
374
384
|
return { stdout: '', stderr: '[fs write] path is required', exitCode: 2 };
|
|
375
385
|
const content = strArg(args, 'content');
|
|
@@ -386,7 +396,7 @@ export class RpcHandler {
|
|
|
386
396
|
return { stdout: `wrote ${content.length} bytes to ${target}`, stderr: '', exitCode: 0 };
|
|
387
397
|
}
|
|
388
398
|
case 'append': {
|
|
389
|
-
const target = pathArg(args, false);
|
|
399
|
+
const target = pathArg(args, false, root);
|
|
390
400
|
if (!target)
|
|
391
401
|
return { stdout: '', stderr: '[fs append] path is required', exitCode: 2 };
|
|
392
402
|
const content = strArg(args, 'content');
|
|
@@ -395,7 +405,7 @@ export class RpcHandler {
|
|
|
395
405
|
return { stdout: `appended ${content.length} bytes to ${target}`, stderr: '', exitCode: 0 };
|
|
396
406
|
}
|
|
397
407
|
case 'edit': {
|
|
398
|
-
const target = pathArg(args, false);
|
|
408
|
+
const target = pathArg(args, false, root);
|
|
399
409
|
if (!target)
|
|
400
410
|
return { stdout: '', stderr: '[fs edit] path is required', exitCode: 2 };
|
|
401
411
|
const oldStr = strArg(args, 'old');
|
|
@@ -435,8 +445,8 @@ export class RpcHandler {
|
|
|
435
445
|
}
|
|
436
446
|
case 'cp':
|
|
437
447
|
case 'mv': {
|
|
438
|
-
const src = pathArg(args, false);
|
|
439
|
-
const dst = resolveUserPath(strArg(args, 'to'), false);
|
|
448
|
+
const src = pathArg(args, false, root);
|
|
449
|
+
const dst = resolveUserPath(strArg(args, 'to'), false, root);
|
|
440
450
|
if (!src || !dst) {
|
|
441
451
|
return { stdout: '', stderr: `[fs ${action}] both <path> and --to=<dest> are required`, exitCode: 2 };
|
|
442
452
|
}
|
|
@@ -459,7 +469,7 @@ export class RpcHandler {
|
|
|
459
469
|
return { stdout: `${action} ${src} → ${dst}`, stderr: '', exitCode: 0 };
|
|
460
470
|
}
|
|
461
471
|
case 'rm': {
|
|
462
|
-
const target = pathArg(args, false);
|
|
472
|
+
const target = pathArg(args, false, root);
|
|
463
473
|
if (!target)
|
|
464
474
|
return { stdout: '', stderr: '[fs rm] path is required', exitCode: 2 };
|
|
465
475
|
const recursive = boolArg(args, 'recursive');
|
|
@@ -489,7 +499,7 @@ export class RpcHandler {
|
|
|
489
499
|
* `fs grep <pattern> [path] [--type=ts] [--glob=*.md] [--context=2] [-i]
|
|
490
500
|
* [--fixed=true] [--limit=200]` — ripgrep when present, fallback to grep.
|
|
491
501
|
* Both pattern and path support positional/--flag entry, with ~ expansion
|
|
492
|
-
* via resolveUserPath.
|
|
502
|
+
* via resolveUserPath and relative paths rooted at the mesh working directory.
|
|
493
503
|
*/
|
|
494
504
|
handleFsGrep(req) {
|
|
495
505
|
const args = (req.parsed?.args ?? {});
|
|
@@ -500,7 +510,7 @@ export class RpcHandler {
|
|
|
500
510
|
return Promise.resolve({ stdout: '', stderr: '[fs grep] pattern is required', exitCode: 2 });
|
|
501
511
|
}
|
|
502
512
|
const pathRaw = strArg(args, 'path') || strArg(args, 'positional2');
|
|
503
|
-
const searchPath = resolveUserPath(pathRaw, true);
|
|
513
|
+
const searchPath = resolveUserPath(pathRaw, true, this.workingDirectory);
|
|
504
514
|
const caseInsensitive = boolArg(args, 'i');
|
|
505
515
|
const fixed = boolArg(args, 'fixed');
|
|
506
516
|
const globFilter = strArg(args, 'glob');
|
|
@@ -590,7 +600,7 @@ export class RpcHandler {
|
|
|
590
600
|
if (rawPatterns.length === 0) {
|
|
591
601
|
return { stdout: '', stderr: '[fs glob] at least one pattern is required', exitCode: 2 };
|
|
592
602
|
}
|
|
593
|
-
const folder = resolveUserPath(strArg(args, 'folder'), true);
|
|
603
|
+
const folder = resolveUserPath(strArg(args, 'folder'), true, this.workingDirectory);
|
|
594
604
|
const ignore = (() => {
|
|
595
605
|
const base = ['**/node_modules/**', '**/.git/**'];
|
|
596
606
|
const ex = args.exclude;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-handler.js","sourceRoot":"","sources":["../../src/mesh/rpc-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc-handler.js","sourceRoot":"","sources":["../../src/mesh/rpc-handler.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,4CAA4C;AAC5C,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,kDAAkD;AAClD,wEAAwE;AACxE,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,iEAAiE;AACjE,qEAAqE;AACrE,EAAE;AACF,mFAAmF;AACnF,6DAA6D;AAC7D,iDAAiD;AACjD,+DAA+D;AAC/D,6CAA6C;AAC7C,EAAE;AACF,4EAA4E;AAC5E,iFAAiF;AACjF,+DAA+D;AAC/D,6EAA6E;AAC7E,2CAA2C;AAC3C,uEAAuE;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,MAAM,WAAW,CAAC;AAI3B,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAQhC,yEAAyE;AACzE,qEAAqE;AACrE,+BAA+B;AAC/B,yEAAyE;AAEzE,6EAA6E;AAC7E,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,GAAuB,EAAE,0BAA0B,GAAG,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;IACnH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,0BAA0B;YAAE,OAAO,gBAAgB,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,OAAO,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,IAA6B,EAAE,0BAA0B,GAAG,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;IACjH,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,eAAe,CAAC,QAAQ,IAAI,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,MAAM,CAAC,IAA6B,EAAE,GAAW,EAAE,IAAY;IACtE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,MAAM,CAAC,IAA6B,EAAE,GAAW,EAAE,IAAI,GAAG,EAAE;IACnE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,SAAS,OAAO,CAAC,IAA6B,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE,MAAM,OAAO,UAAU;IAID;IAAgC;IAH5C,MAAM,GAAwB,IAAI,CAAC;IAC1B,gBAAgB,CAAS;IAE1C,YAAoB,MAAsB,EAAU,OAAuB,EAAE;QAAzD,WAAM,GAAN,MAAM,CAAgB;QAAU,SAAI,GAAJ,IAAI,CAAqB;QAC3E,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrD,MAAM,GAAG,GAAG,MAA2B,CAAC;YACxC,IAAI,GAAG,EAAE,IAAI,KAAK,iBAAiB;gBAAE,OAAO;YAC5C,MAAM,GAAG,GAAG,GAA8B,CAAC;YAC3C,6DAA6D;YAC7D,0CAA0C;YAC1C,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAiB;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;SAC3E,CAAC,CAAC;QACH,IAAI,MAA4D,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,aAAc,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC;QACD,oDAAoD;QACpD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,uBAAuB,gBAAgB,SAAS,CAAC;QAC9G,CAAC;QACD,MAAM,QAAQ,GAAkB;YAC9B,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAiB;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,yDAAyD;YACzD,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC;YACX,KAAK,SAAS,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,kBAAkB,MAAM,4EAA4E;oBAC5G,QAAQ,EAAE,GAAG;iBACd,CAAC;YACJ;gBACE,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,0BAA0B,MAAM,yEAAyE;oBACjH,QAAQ,EAAE,GAAG;iBACd,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,UAAU,CAAC,GAAiB;QAClC,IAAI,SAAS,GAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAA0B,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACrD,SAAS,GAAG,QAAQ,IAAI,GAAG,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;gBAC1C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE,IAAI,CAAC,gBAAgB;aAC3B,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,eAAe,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnG,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,QAAQ,CAAC,GAAiB;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEnC,IAAI,CAAC;YACH,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,gEAAgE;oBAChE,gEAAgE;oBAChE,kEAAkE;oBAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACpB,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;4BAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,GAAa,CAAC,kBAAkB,CAAC,CAAC;oBAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,OAAO,GAAG,GAAG,CAAC;wBAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;4BACf,IAAI,CAAC;gCAAC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BAAC,CAAC;4BAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;wBACjG,CAAC;wBACD,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC/E,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAa,CAAC,MAAM,CAAC,CAAC;oBAC/B,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;oBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC7D,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG;wBACX,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM;wBAChC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;wBACtE,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;wBACjC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE;wBAClC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;wBACrC,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC1C,CAAC;oBACF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnE,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,4DAA4D;oBAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACrC,IAAI,CAAC,OAAO;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACzF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,EAAE;wBAC1C,GAAG,EAAE,MAAM;wBACX,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;wBAC9E,eAAe,EAAE,UAAU,KAAK,KAAK;wBACrC,QAAQ,EAAE,IAAI;wBACd,cAAc,EAAE,IAAI;wBACpB,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;qBAC7C,CAAC,CAAC;oBACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,OAAO,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAChF,CAAC;oBACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACtC,sDAAsD;oBACtD,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;wBACjC,CAAC,CAAC,cAAc,KAAK,OAAO,OAAO,CAAC,MAAM,mCAAmC;wBAC7E,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACrE,CAAC;gBAED,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;wBACrB,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,MAAM,EAAE,aAAa,MAAM,iCAAiC,UAAU,CAAC,MAAM,CAAC,YAAY;4BAC1F,QAAQ,EAAE,CAAC;yBACZ,CAAC;oBACJ,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtD,CAAC;oBACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACpD,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC7F,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC3F,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACvF,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAClE,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACvF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,IAAI,CAAC;4BACH,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,MAAM,iDAAiD,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;wBACpH,CAAC;wBAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,CAAC;oBACD,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,OAAO,CAAC,MAAM,aAAa,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC3F,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACxF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACxC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,EAAE,MAAM,EAAE,YAAY,OAAO,CAAC,MAAM,aAAa,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC9F,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACtF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACnC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACvF,IAAI,QAAgB,CAAC;oBACrB,IAAI,CAAC;wBACH,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,yBAAyB,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC3G,CAAC;oBACD,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,KAAK,KAAK,CAAC,CAAC;4BAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;wBAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC/D,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;4BAClB,OAAO;gCACL,MAAM,EAAE,EAAE;gCACV,MAAM,EAAE,6IAA6I;gCACrJ,QAAQ,EAAE,CAAC;6BACZ,CAAC;wBACJ,CAAC;wBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvF,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;wBAC3C,OAAO,EAAE,MAAM,EAAE,4BAA4B,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACnF,CAAC;oBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC/B,IAAI,KAAK,KAAK,CAAC;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACjG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACzD,OAAO,EAAE,MAAM,EAAE,YAAY,KAAK,qBAAqB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC7F,CAAC;gBAED,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACvC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,MAAM,4CAA4C,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACxG,CAAC;oBACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,MAAM,KAAK,GAAG,iDAAiD,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;wBACrH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;oBAC7C,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,iDAAiD;wBACjD,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,GAAG,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC1E,CAAC;gBAED,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACpF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC7C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClD,OAAO,EAAE,MAAM,EAAE,WAAW,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAClE,CAAC;gBAED,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAChC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAEhC;oBACE,OAAO;wBACL,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,wBAAwB,MAAM,mHAAmH;wBACzJ,QAAQ,EAAE,GAAG;qBACd,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAI,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAC1D,CAAC,CAAC,GAAI,GAAa,CAAC,OAAO,kCAAkC;gBAC7D,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,GAAiB;QACpC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QACjE,uEAAuE;QACvE,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAa,KAAK;oBAC1B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;oBACpF,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACpB,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,eAAe;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,KAAK;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,UAAU;wBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAChD,IAAI,UAAU;wBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAChD,IAAI,GAAG,GAAG,CAAC;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,IAAI,eAAe;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,KAAK;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,GAAG,GAAG,CAAC;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,UAAU;wBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC/B,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7B,IAAI,eAAe;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,KAAK;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,GAAG,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,UAAU;oBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC/B,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CAAC,GAAiB;QAC1C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,WAAW,GAAa,CAAC,GAAG,EAAE;YAClC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,CAAC;wBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;4BAAE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjD,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACzC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,MAAM,GAAa,CAAC,GAAG,EAAE;YAC7B,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,CAAC;wBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;4BAAE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC/D,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE;gBAClC,GAAG,EAAE,MAAM;gBACX,MAAM;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,CAAC;YAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,MAAM,kBAAkB,MAAM,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,aAAc,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,KAAgC,EAAE,GAAW,EAAE,IAA8B;QACvF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3D,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;aACjD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;;YACpD,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;CACF;AAED,yEAAyE;AACzE,iCAAiC;AACjC,yEAAyE;AAEzE,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,GAAa;IAC/E,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO;IACvB,IAAI,OAA8B,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,WAAY,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpB,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,IAAc,EACd,KAAa,EACb,QAA2E;IAE3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5B,sEAAsE;QACtE,MAAM,SAAS,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,kBAAkB,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,QAAQ,CAAC;gBACP,MAAM,EAAE,GAAG,IAAI,gBAAgB,KAAK,OAAO,KAAK,CAAC,MAAM,6CAA6C;gBACpG,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { PartyKitClient } from './partykit-client.js';
|
|
2
2
|
export type ThreadEvent = {
|
|
3
|
+
type: 'connected';
|
|
4
|
+
clientType?: string;
|
|
5
|
+
userId?: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'thread:list';
|
|
8
|
+
threads: ThreadSummary[];
|
|
9
|
+
} | {
|
|
3
10
|
type: 'thread:sync';
|
|
4
11
|
threadId: string;
|
|
5
12
|
} | {
|
|
@@ -31,6 +38,7 @@ export type ThreadEvent = {
|
|
|
31
38
|
} | {
|
|
32
39
|
type: 'agent:text-done';
|
|
33
40
|
runId: string;
|
|
41
|
+
text?: string;
|
|
34
42
|
fullText?: string;
|
|
35
43
|
threadId?: string;
|
|
36
44
|
} | {
|
|
@@ -74,6 +82,11 @@ export type ThreadEvent = {
|
|
|
74
82
|
[k: string]: unknown;
|
|
75
83
|
};
|
|
76
84
|
export type ThreadEventHandler = (event: ThreadEvent) => void;
|
|
85
|
+
export interface ThreadSummary {
|
|
86
|
+
id: string;
|
|
87
|
+
title: string | null;
|
|
88
|
+
updatedAt: number;
|
|
89
|
+
}
|
|
77
90
|
export interface ThreadStreamOpts {
|
|
78
91
|
client: PartyKitClient;
|
|
79
92
|
/** Initial thread id (if resuming). Otherwise the first `thread:sync` wins. */
|
|
@@ -93,6 +106,8 @@ export declare class ThreadStream {
|
|
|
93
106
|
/** Subscribe to all thread/agent events. Returns an unsubscribe fn. */
|
|
94
107
|
on(handler: ThreadEventHandler): () => void;
|
|
95
108
|
get threadId(): string | undefined;
|
|
109
|
+
setThreadId(threadId: string | undefined): void;
|
|
110
|
+
requestThreadList(): Promise<void>;
|
|
96
111
|
/**
|
|
97
112
|
* Send a chat message as if it were typed in iOS / macOS Yome.app.
|
|
98
113
|
* The server treats the connection's authenticated userId as the
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
//
|
|
8
8
|
// incoming (subscribe):
|
|
9
9
|
// thread:sync { threadId }
|
|
10
|
+
// thread:list { threads: [...] }
|
|
10
11
|
// thread:created { threadId, title }
|
|
11
12
|
// thread:user-message { threadId, content, imageURLs?, ... }
|
|
12
13
|
// agent:start { runId, agentType, sessionId? }
|
|
13
14
|
// agent:user-message { runId, content }
|
|
14
15
|
// agent:text-delta { runId, delta, agentType }
|
|
15
|
-
// agent:text-done { runId, fullText? }
|
|
16
|
+
// agent:text-done { runId, text? / fullText? }
|
|
16
17
|
// agent:tool-use { runId, toolUseId, name, input }
|
|
17
18
|
// agent:tool-result { runId, toolUseId, exitCode, result? }
|
|
18
19
|
// agent:done { runId }
|
|
@@ -57,6 +58,12 @@ export class ThreadStream {
|
|
|
57
58
|
get threadId() {
|
|
58
59
|
return this.currentThreadId;
|
|
59
60
|
}
|
|
61
|
+
setThreadId(threadId) {
|
|
62
|
+
this.currentThreadId = threadId;
|
|
63
|
+
}
|
|
64
|
+
async requestThreadList() {
|
|
65
|
+
await this.client.send({ type: 'thread:list' });
|
|
66
|
+
}
|
|
60
67
|
/**
|
|
61
68
|
* Send a chat message as if it were typed in iOS / macOS Yome.app.
|
|
62
69
|
* The server treats the connection's authenticated userId as the
|
|
@@ -88,15 +95,13 @@ export class ThreadStream {
|
|
|
88
95
|
}
|
|
89
96
|
if (!parsed || typeof parsed !== 'object' || typeof parsed.type !== 'string')
|
|
90
97
|
return;
|
|
91
|
-
// Latch threadId from the
|
|
92
|
-
// next user message round-trips cleanly
|
|
93
|
-
//
|
|
98
|
+
// Latch threadId from the authoritative server sync frame so the
|
|
99
|
+
// next user message round-trips cleanly. Do not latch thread:created:
|
|
100
|
+
// the room broadcasts thread creation for every thread, including
|
|
101
|
+
// threads this TUI is not attached to.
|
|
94
102
|
if (parsed.type === 'thread:sync' && typeof parsed.threadId === 'string') {
|
|
95
103
|
this.currentThreadId = parsed.threadId;
|
|
96
104
|
}
|
|
97
|
-
if (parsed.type === 'thread:created' && !this.currentThreadId && typeof parsed.threadId === 'string') {
|
|
98
|
-
this.currentThreadId = parsed.threadId;
|
|
99
|
-
}
|
|
100
105
|
for (const h of this.handlers) {
|
|
101
106
|
try {
|
|
102
107
|
h(parsed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-stream.js","sourceRoot":"","sources":["../../src/mesh/thread-stream.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,mEAAmE;AACnE,oEAAoE;AACpE,kEAAkE;AAClE,EAAE;AACF,0BAA0B;AAC1B,0CAA0C;AAC1C,iDAAiD;AACjD,oEAAoE;AACpE,8DAA8D;AAC9D,gDAAgD;AAChD,yDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"thread-stream.js","sourceRoot":"","sources":["../../src/mesh/thread-stream.ts"],"names":[],"mappings":"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"}
|
package/dist/mesh/types.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export type CommandDomain = 'bash' | 'fs' | 'git' | 'docker' | 'k8s' | 'systemd' | 'pkg' | 'log' | 'net' | 'svc' | 'cal' | 'rem' | 'note' | 'xl' | 'ppt' | 'doc' | 'kn' | 'num' | 'pg' | 'web' | 'mind' | 'term' | 'lark' | 'ps' | 'sp' | 'notif' | 'chat' | 'app' | 'cur' | 'cap' | 'wf' | 'watch';
|
|
1
|
+
export type CommandDomain = 'bash' | 'sh' | 'fs' | 'git' | 'docker' | 'k8s' | 'systemd' | 'pkg' | 'log' | 'net' | 'svc' | 'cal' | 'rem' | 'note' | 'xl' | 'ppt' | 'doc' | 'kn' | 'num' | 'pg' | 'web' | 'mind' | 'term' | 'lark' | 'ps' | 'sp' | 'notif' | 'chat' | 'app' | 'cur' | 'cap' | 'wf' | 'watch';
|
|
2
2
|
export interface WsDeviceRegister {
|
|
3
3
|
type: 'mesh:register';
|
|
4
4
|
hostname: string;
|
|
5
5
|
model: string;
|
|
6
6
|
capabilities: string[];
|
|
7
7
|
installedApps: string[];
|
|
8
|
+
workingDirectory?: string;
|
|
8
9
|
alias?: string;
|
|
9
10
|
deviceDescription?: string;
|
|
10
11
|
}
|
|
@@ -51,6 +52,7 @@ export interface WsDeviceUpdated {
|
|
|
51
52
|
status: 'online' | 'busy' | 'offline';
|
|
52
53
|
capabilities: string[];
|
|
53
54
|
installedApps: string[];
|
|
55
|
+
workingDirectory?: string;
|
|
54
56
|
currentTask?: string;
|
|
55
57
|
lastHeartbeat: number;
|
|
56
58
|
alias?: string;
|
package/dist/tools/glob.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fg from 'fast-glob';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
+
const MAX_RESULTS = 100;
|
|
3
4
|
export const globTool = {
|
|
4
5
|
name: 'Glob',
|
|
5
6
|
description: 'Find files matching a glob pattern. Returns file paths.',
|
|
@@ -22,20 +23,29 @@ export const globTool = {
|
|
|
22
23
|
async execute(input) {
|
|
23
24
|
const pattern = input.pattern;
|
|
24
25
|
const searchPath = resolve(input.path || process.cwd());
|
|
25
|
-
const
|
|
26
|
+
const stream = fg.stream(pattern, {
|
|
26
27
|
cwd: searchPath,
|
|
27
28
|
ignore: ['**/node_modules/**', '**/.git/**'],
|
|
28
29
|
dot: true,
|
|
29
30
|
onlyFiles: true,
|
|
30
31
|
absolute: false,
|
|
31
32
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
33
|
+
const shown = [];
|
|
34
|
+
let truncated = false;
|
|
35
|
+
for await (const entry of stream) {
|
|
36
|
+
if (shown.length >= MAX_RESULTS) {
|
|
37
|
+
truncated = true;
|
|
38
|
+
stream.destroy?.();
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
shown.push(String(entry));
|
|
42
|
+
}
|
|
36
43
|
if (shown.length === 0)
|
|
37
44
|
return 'No files found';
|
|
38
|
-
|
|
45
|
+
shown.sort();
|
|
46
|
+
let result = truncated
|
|
47
|
+
? `Found at least ${MAX_RESULTS + 1} file(s)\n${shown.join('\n')}`
|
|
48
|
+
: `Found ${shown.length} file(s)\n${shown.join('\n')}`;
|
|
39
49
|
if (truncated)
|
|
40
50
|
result += '\n(Results truncated. Use a more specific pattern.)';
|
|
41
51
|
return result;
|
package/dist/tools/glob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;YAClF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC/E;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7B,aAAa,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAA0B,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAE,KAAK,CAAC,IAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpE,MAAM,
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;YAClF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC/E;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7B,aAAa,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAA0B,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAE,KAAK,CAAC,IAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;YAChC,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;YAC5C,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAwC,EAAE,CAAC;YACnE,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;gBAChC,SAAS,GAAG,IAAI,CAAC;gBAChB,MAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAEhD,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,SAAS;YACpB,CAAC,CAAC,kBAAkB,WAAW,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClE,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,IAAI,SAAS;YAAE,MAAM,IAAI,qDAAqD,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
|
package/dist/tools/grep.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
+
const MAX_CAPTURE_CHARS = 80_000;
|
|
3
4
|
function runGrep(args, cwd) {
|
|
4
5
|
return new Promise((resolveP) => {
|
|
5
6
|
const proc = spawn(args[0], args.slice(1), {
|
|
@@ -9,10 +10,30 @@ function runGrep(args, cwd) {
|
|
|
9
10
|
});
|
|
10
11
|
let stdout = '';
|
|
11
12
|
let stderr = '';
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
let capped = false;
|
|
14
|
+
const appendCapped = (current, chunk) => {
|
|
15
|
+
if (current.length >= MAX_CAPTURE_CHARS) {
|
|
16
|
+
capped = true;
|
|
17
|
+
return current;
|
|
18
|
+
}
|
|
19
|
+
const next = current + chunk.toString();
|
|
20
|
+
if (next.length > MAX_CAPTURE_CHARS) {
|
|
21
|
+
capped = true;
|
|
22
|
+
try {
|
|
23
|
+
proc.kill('SIGTERM');
|
|
24
|
+
}
|
|
25
|
+
catch { /* noop */ }
|
|
26
|
+
return next.slice(0, MAX_CAPTURE_CHARS);
|
|
27
|
+
}
|
|
28
|
+
return next;
|
|
29
|
+
};
|
|
30
|
+
proc.stdout.on('data', (d) => { stdout = appendCapped(stdout, d); });
|
|
31
|
+
proc.stderr.on('data', (d) => { stderr = appendCapped(stderr, d); });
|
|
14
32
|
proc.on('close', (code) => {
|
|
15
|
-
if (
|
|
33
|
+
if (capped && stdout.trim()) {
|
|
34
|
+
resolveP(`${stdout.trim()}\n\n[Search output capped at ${MAX_CAPTURE_CHARS} chars]`);
|
|
35
|
+
}
|
|
36
|
+
else if (code === 1 && !stdout.trim()) {
|
|
16
37
|
resolveP('No matches found');
|
|
17
38
|
}
|
|
18
39
|
else if (code !== 0 && code !== 1) {
|