@gaunt-sloth/agent 2.0.0-alpha.11 → 2.0.0-alpha.13
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/builtInToolsConfig.js +16 -12
- package/dist/builtInToolsConfig.js.map +1 -1
- package/dist/core/GthDeepAgent.d.ts +2 -11
- package/dist/core/GthDeepAgent.js +6 -28
- package/dist/core/GthDeepAgent.js.map +1 -1
- package/dist/mcp/tlsTrust.d.ts +61 -0
- package/dist/mcp/tlsTrust.js +109 -0
- package/dist/mcp/tlsTrust.js.map +1 -0
- package/dist/resolvers.js +34 -2
- package/dist/resolvers.js.map +1 -1
- package/dist/tools/GthFileSystemToolkit.d.ts +12 -0
- package/dist/tools/GthFileSystemToolkit.js +80 -7
- package/dist/tools/GthFileSystemToolkit.js.map +1 -1
- package/package.json +3 -2
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Built-in tools config. {@link AVAILABLE_BUILT_IN_TOOLS} has a list of available tools.
|
|
4
4
|
*/
|
|
5
5
|
import GthFileSystemToolkit from '#src/tools/GthFileSystemToolkit.js';
|
|
6
|
+
import { getEffectiveDevToolsConfig, normalizeBuiltInTools, isBuiltInToolEntryEnabled, DEV_TOOL_NAMES, } from '@gaunt-sloth/core/config.js';
|
|
6
7
|
import { displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
7
8
|
import { getCurrentWorkDir } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
8
9
|
import GthDevToolkit from '#src/tools/GthDevToolkit.js';
|
|
@@ -38,15 +39,11 @@ export async function getDefaultTools(config, command) {
|
|
|
38
39
|
const filesystemTools = filterFilesystemTools(config.filesystem, config.aiignore, config.binaryFormats);
|
|
39
40
|
const builtInTools = await getBuiltInTools(config);
|
|
40
41
|
// Dev tools (run commands etc.) are available to the interactive `code` command and to the
|
|
41
|
-
// scripted `exec` command — both are "do-the-job" runs
|
|
42
|
-
// `ask
|
|
43
|
-
//
|
|
42
|
+
// scripted `exec` command — both are "do-the-job" runs. `ask --write` (config.askWriteMode) opts
|
|
43
|
+
// `ask` into the same do-the-job tools. CFG-18: the dev/shell config is resolved from the unified
|
|
44
|
+
// `builtInTools` registry by the shared core resolver (was per-command `devTools`).
|
|
44
45
|
const askWrite = command === 'ask' && config.askWriteMode === true;
|
|
45
|
-
const devToolConfig = command
|
|
46
|
-
? config.commands?.exec?.devTools
|
|
47
|
-
: askWrite
|
|
48
|
-
? config.commands?.ask?.devTools
|
|
49
|
-
: config.commands?.code?.devTools;
|
|
46
|
+
const devToolConfig = getEffectiveDevToolsConfig(config, command);
|
|
50
47
|
const devTools = await filterDevTools(askWrite ? 'code' : command, devToolConfig);
|
|
51
48
|
const customTools = getCustomTools(config, command);
|
|
52
49
|
return [...filesystemTools, ...devTools, ...customTools, ...builtInTools];
|
|
@@ -140,10 +137,17 @@ function filterFilesystemTools(filesystemConfig, aiignoreConfig, binaryFormats)
|
|
|
140
137
|
*/
|
|
141
138
|
async function getBuiltInTools(config) {
|
|
142
139
|
const tools = [];
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
// CFG-18: `builtInTools` may be a string[] or the widened registry — normalize to a name→value
|
|
141
|
+
// lookup. Dev/shell tools (run_*, run_shell_command) are emitted by GthDevToolkit via the dev
|
|
142
|
+
// bucket, so skip them here (a registry entry for them is legitimate, not an unknown built-in).
|
|
143
|
+
const registry = normalizeBuiltInTools(config.builtInTools);
|
|
144
|
+
for (const [toolName, value] of Object.entries(registry)) {
|
|
145
|
+
if (DEV_TOOL_NAMES.includes(toolName)) {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (!isBuiltInToolEntryEnabled(value)) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
147
151
|
if (toolName in AVAILABLE_BUILT_IN_TOOLS) {
|
|
148
152
|
try {
|
|
149
153
|
const tool = await import(AVAILABLE_BUILT_IN_TOOLS[toolName]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtInToolsConfig.js","sourceRoot":"","sources":["../src/builtInToolsConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"builtInToolsConfig.js","sourceRoot":"","sources":["../src/builtInToolsConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ export interface GthDeepAgentParams {
|
|
|
40
40
|
* `__interrupt__` (a `HITLRequest`) so a consumer can approve/reject before the tool runs;
|
|
41
41
|
* resume with `new Command({ resume: { decisions: [...] } })` on the same `thread_id`.
|
|
42
42
|
*
|
|
43
|
-
* gsloth sets this for the opt-in `run_shell_command` tool whenever
|
|
44
|
-
* enabled — including under `
|
|
43
|
+
* gsloth sets this for the opt-in `run_shell_command` tool whenever the shell tool is
|
|
44
|
+
* enabled — including under `run_shell_command.yolo` in interactive `code` mode, where the tool
|
|
45
45
|
* stays gated so the runtime `/auto-approve` flag governs it (the runner seeds that flag ON
|
|
46
46
|
* from shellYolo and auto-approves silently). It is left `undefined` only for a non-interactive
|
|
47
47
|
* yolo run (exec / ask --write), whose single-shot path does not drain interrupts, so the tool
|
|
@@ -80,15 +80,6 @@ export declare class GthDeepAgent extends GthAbstractAgent {
|
|
|
80
80
|
* runner ({@link init}) and the `deepagents-acp` ACP entry.
|
|
81
81
|
*/
|
|
82
82
|
buildDeepAgentParams(command: GthCommand | undefined, configIn: GthConfig): Promise<GthDeepAgentParams>;
|
|
83
|
-
/**
|
|
84
|
-
* Resolve the {@link GthDevToolsConfig} that applies to the active command, mirroring the
|
|
85
|
-
* per-command selection in `builtInToolsConfig.getDefaultTools` (which is what actually emits
|
|
86
|
-
* the dev tools): `exec` → `commands.exec.devTools`, `ask --write` → `commands.ask.devTools`,
|
|
87
|
-
* otherwise (`code`) → `commands.code.devTools`. Returns `undefined` for any other command,
|
|
88
|
-
* matching the toolkit being inert there. Kept private and side-effect-free so the interrupt
|
|
89
|
-
* wiring above and the tool emission stay in lockstep.
|
|
90
|
-
*/
|
|
91
|
-
private getEffectiveDevToolsConfig;
|
|
92
83
|
}
|
|
93
84
|
/**
|
|
94
85
|
* EXT-22: shared virtualMode path-namespace guidance — ONE source of truth used by BOTH the S2
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isShellToolEnabled } from '@gaunt-sloth/core/config.js';
|
|
1
|
+
import { isShellToolEnabled, getEffectiveDevToolsConfig } from '@gaunt-sloth/core/config.js';
|
|
2
2
|
import { GthAbstractAgent } from '@gaunt-sloth/core/core/GthAbstractAgent.js';
|
|
3
3
|
import { StatusLevel } from '@gaunt-sloth/core/core/types.js';
|
|
4
4
|
import { debugLog, debugLogObject } from '@gaunt-sloth/core/utils/debugUtils.js';
|
|
@@ -417,11 +417,11 @@ export class GthDeepAgent extends GthAbstractAgent {
|
|
|
417
417
|
: readChatPrompt(this.config);
|
|
418
418
|
const systemMessages = buildSystemMessages(this.config, modePrompt);
|
|
419
419
|
const systemPrompt = typeof systemMessages[0]?.content === 'string' ? systemMessages[0].content : undefined;
|
|
420
|
-
// Gate the opt-in run_shell_command tool behind a per-command approval interrupt. The tool
|
|
421
|
-
//
|
|
422
|
-
//
|
|
423
|
-
//
|
|
424
|
-
const devTools = this.
|
|
420
|
+
// Gate the opt-in run_shell_command tool behind a per-command approval interrupt. The tool is
|
|
421
|
+
// only emitted (by GthDevToolkit, via builtInToolsConfig) when its `run_shell_command`
|
|
422
|
+
// builtInTools entry enables it; use the shared core resolver so the interrupt wiring stays in
|
|
423
|
+
// lockstep with where the tool is actually emitted (CFG-18: resolved from `builtInTools`).
|
|
424
|
+
const devTools = getEffectiveDevToolsConfig(this.config ?? undefined, this.command);
|
|
425
425
|
// EXT-12 — pass the active command so the absent-config default (shell ON in `code`)
|
|
426
426
|
// is applied consistently with where the tool is actually emitted (GthDevToolkit).
|
|
427
427
|
const shellEnabled = isShellToolEnabled(devTools, this.command);
|
|
@@ -457,28 +457,6 @@ export class GthDeepAgent extends GthAbstractAgent {
|
|
|
457
457
|
interruptOn,
|
|
458
458
|
};
|
|
459
459
|
}
|
|
460
|
-
/**
|
|
461
|
-
* Resolve the {@link GthDevToolsConfig} that applies to the active command, mirroring the
|
|
462
|
-
* per-command selection in `builtInToolsConfig.getDefaultTools` (which is what actually emits
|
|
463
|
-
* the dev tools): `exec` → `commands.exec.devTools`, `ask --write` → `commands.ask.devTools`,
|
|
464
|
-
* otherwise (`code`) → `commands.code.devTools`. Returns `undefined` for any other command,
|
|
465
|
-
* matching the toolkit being inert there. Kept private and side-effect-free so the interrupt
|
|
466
|
-
* wiring above and the tool emission stay in lockstep.
|
|
467
|
-
*/
|
|
468
|
-
getEffectiveDevToolsConfig() {
|
|
469
|
-
const config = this.config;
|
|
470
|
-
if (!config)
|
|
471
|
-
return undefined;
|
|
472
|
-
const command = this.command;
|
|
473
|
-
const askWrite = command === 'ask' && config.askWriteMode === true;
|
|
474
|
-
if (command === 'exec')
|
|
475
|
-
return config.commands?.exec?.devTools;
|
|
476
|
-
if (askWrite)
|
|
477
|
-
return config.commands?.ask?.devTools;
|
|
478
|
-
if (command === 'code')
|
|
479
|
-
return config.commands?.code?.devTools;
|
|
480
|
-
return undefined;
|
|
481
|
-
}
|
|
482
460
|
}
|
|
483
461
|
/**
|
|
484
462
|
* EXT-22: shared virtualMode path-namespace guidance — ONE source of truth used by BOTH the S2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GthDeepAgent.js","sourceRoot":"","sources":["../../src/core/GthDeepAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GthDeepAgent.js","sourceRoot":"","sources":["../../src/core/GthDeepAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Process-global TLS trust for outbound HTTPS, driven by the `tls` config block.
|
|
4
|
+
*
|
|
5
|
+
* Motivation: an `http`-transport MCP server behind a private/corporate CA (e.g. a dev monolith
|
|
6
|
+
* with a self-signed cert) makes Node's global `fetch` reject the connection with
|
|
7
|
+
* `TypeError: fetch failed` (`SELF_SIGNED_CERT_IN_CHAIN`). The only pre-existing workaround was to
|
|
8
|
+
* prepend `NODE_EXTRA_CA_CERTS=<ca.crt>` on every invocation — that env var is read ONCE at Node
|
|
9
|
+
* startup, so it can't be set from config after launch.
|
|
10
|
+
*
|
|
11
|
+
* Node's `fetch` runs on undici and ignores `https.globalAgent`, so the CA must be installed via an
|
|
12
|
+
* undici dispatcher. `@langchain/mcp-adapters` forwards only `serverName`/`headers`/`authProvider`
|
|
13
|
+
* to the SDK transport (it drops the SDK's `requestInit`/`fetch` hooks), so a per-server CA is not
|
|
14
|
+
* reachable through the adapter. The trust is therefore installed **process-globally** via
|
|
15
|
+
* `setGlobalDispatcher`. That is acceptable for adding a CA (additive trust weakens nothing) — but
|
|
16
|
+
* note the insecure latch below is global too, and so affects LLM provider calls, not only MCP.
|
|
17
|
+
*/
|
|
18
|
+
import type { GthConfig } from '@gaunt-sloth/core/config.js';
|
|
19
|
+
type TlsConfig = GthConfig['tls'];
|
|
20
|
+
/** A cert path that could not be read, with the reason (surfaced by the installer). */
|
|
21
|
+
export interface TlsCertFailure {
|
|
22
|
+
path: string;
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/** The undici `connect` options computed from a `tls` config, plus what happened while reading. */
|
|
26
|
+
export interface BuiltDispatcher {
|
|
27
|
+
/** Node's default roots FIRST, then successfully-read user certs. `connect.ca` REPLACES the */
|
|
28
|
+
/** default store, so the roots must be included or every public-CA fetch breaks. */
|
|
29
|
+
ca: string[];
|
|
30
|
+
/** `false` disables verification entirely (process-global). Defaults to `true`. */
|
|
31
|
+
rejectUnauthorized: boolean;
|
|
32
|
+
/** How many configured certs were read successfully. */
|
|
33
|
+
loadedCount: number;
|
|
34
|
+
/** Configured certs that could not be read (fail-soft: skipped, not fatal). */
|
|
35
|
+
failures: TlsCertFailure[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Compute the undici dispatcher options from a `tls` config. Pure aside from the injected
|
|
39
|
+
* `readCert` (so unit tests stub file reads): resolves nothing about the environment itself.
|
|
40
|
+
*
|
|
41
|
+
* Returns `null` only when NOTHING is configured — no `tls` block, or an empty `tls` with no cert
|
|
42
|
+
* entries and verification left at its secure default. When certs ARE configured it always returns
|
|
43
|
+
* the object (even if every read failed), so the caller can surface those `failures` rather than
|
|
44
|
+
* silently swallowing a bad cert path. Whether to actually install is the caller's call:
|
|
45
|
+
* `loadedCount > 0 || !rejectUnauthorized`.
|
|
46
|
+
*
|
|
47
|
+
* `readCert` receives each configured path verbatim and must return the PEM contents or throw.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildDispatcherOptions(tls: TlsConfig, readCert: (path: string) => string, baseRoots?: readonly string[]): BuiltDispatcher | null;
|
|
50
|
+
/**
|
|
51
|
+
* Install the process-global undici dispatcher from `config.tls`, if any. Idempotent (installs at
|
|
52
|
+
* most once per process). Fail-soft: an unreadable cert is warned about and skipped, never fatal.
|
|
53
|
+
* Emits a loud security warning when verification is disabled.
|
|
54
|
+
*
|
|
55
|
+
* Wired into `getMcpClient` before the MCP client is created; because it is global it also covers
|
|
56
|
+
* LLM/tool fetches — which is desired for the CA case and is the danger to flag for the latch.
|
|
57
|
+
*/
|
|
58
|
+
export declare function installMcpTlsTrust(config: GthConfig): void;
|
|
59
|
+
/** Test-only: reset the install-once guard between cases. */
|
|
60
|
+
export declare function resetMcpTlsTrustForTests(): void;
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Process-global TLS trust for outbound HTTPS, driven by the `tls` config block.
|
|
4
|
+
*
|
|
5
|
+
* Motivation: an `http`-transport MCP server behind a private/corporate CA (e.g. a dev monolith
|
|
6
|
+
* with a self-signed cert) makes Node's global `fetch` reject the connection with
|
|
7
|
+
* `TypeError: fetch failed` (`SELF_SIGNED_CERT_IN_CHAIN`). The only pre-existing workaround was to
|
|
8
|
+
* prepend `NODE_EXTRA_CA_CERTS=<ca.crt>` on every invocation — that env var is read ONCE at Node
|
|
9
|
+
* startup, so it can't be set from config after launch.
|
|
10
|
+
*
|
|
11
|
+
* Node's `fetch` runs on undici and ignores `https.globalAgent`, so the CA must be installed via an
|
|
12
|
+
* undici dispatcher. `@langchain/mcp-adapters` forwards only `serverName`/`headers`/`authProvider`
|
|
13
|
+
* to the SDK transport (it drops the SDK's `requestInit`/`fetch` hooks), so a per-server CA is not
|
|
14
|
+
* reachable through the adapter. The trust is therefore installed **process-globally** via
|
|
15
|
+
* `setGlobalDispatcher`. That is acceptable for adding a CA (additive trust weakens nothing) — but
|
|
16
|
+
* note the insecure latch below is global too, and so affects LLM provider calls, not only MCP.
|
|
17
|
+
*/
|
|
18
|
+
import { rootCertificates } from 'node:tls';
|
|
19
|
+
import { readFileSync } from 'node:fs';
|
|
20
|
+
import { homedir } from 'node:os';
|
|
21
|
+
import { resolve } from 'node:path';
|
|
22
|
+
import { Agent, setGlobalDispatcher } from 'undici';
|
|
23
|
+
import { getProjectDir } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
24
|
+
import { displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
25
|
+
import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
|
|
26
|
+
/**
|
|
27
|
+
* Compute the undici dispatcher options from a `tls` config. Pure aside from the injected
|
|
28
|
+
* `readCert` (so unit tests stub file reads): resolves nothing about the environment itself.
|
|
29
|
+
*
|
|
30
|
+
* Returns `null` only when NOTHING is configured — no `tls` block, or an empty `tls` with no cert
|
|
31
|
+
* entries and verification left at its secure default. When certs ARE configured it always returns
|
|
32
|
+
* the object (even if every read failed), so the caller can surface those `failures` rather than
|
|
33
|
+
* silently swallowing a bad cert path. Whether to actually install is the caller's call:
|
|
34
|
+
* `loadedCount > 0 || !rejectUnauthorized`.
|
|
35
|
+
*
|
|
36
|
+
* `readCert` receives each configured path verbatim and must return the PEM contents or throw.
|
|
37
|
+
*/
|
|
38
|
+
export function buildDispatcherOptions(tls, readCert, baseRoots = rootCertificates) {
|
|
39
|
+
const rejectUnauthorized = tls?.rejectUnauthorized ?? true;
|
|
40
|
+
const certPaths = tls?.extraCaCerts ?? [];
|
|
41
|
+
// Nothing configured at all: no cert entries and verification not being disabled.
|
|
42
|
+
if (certPaths.length === 0 && rejectUnauthorized)
|
|
43
|
+
return null;
|
|
44
|
+
const userCerts = [];
|
|
45
|
+
const failures = [];
|
|
46
|
+
for (const path of certPaths) {
|
|
47
|
+
try {
|
|
48
|
+
userCerts.push(readCert(path));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
failures.push({ path, message: error instanceof Error ? error.message : String(error) });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
// ca REPLACES the trust store — keep the default roots or public-CA fetches (incl. the LLM
|
|
56
|
+
// provider) silently break.
|
|
57
|
+
ca: [...baseRoots, ...userCerts],
|
|
58
|
+
rejectUnauthorized,
|
|
59
|
+
loadedCount: userCerts.length,
|
|
60
|
+
failures,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// Install-once guard: the trust is process-global and set-once, so re-running resolveTools (re-init)
|
|
64
|
+
// must not re-replace the dispatcher nor re-emit the security warning every time.
|
|
65
|
+
let installed = false;
|
|
66
|
+
/**
|
|
67
|
+
* Install the process-global undici dispatcher from `config.tls`, if any. Idempotent (installs at
|
|
68
|
+
* most once per process). Fail-soft: an unreadable cert is warned about and skipped, never fatal.
|
|
69
|
+
* Emits a loud security warning when verification is disabled.
|
|
70
|
+
*
|
|
71
|
+
* Wired into `getMcpClient` before the MCP client is created; because it is global it also covers
|
|
72
|
+
* LLM/tool fetches — which is desired for the CA case and is the danger to flag for the latch.
|
|
73
|
+
*/
|
|
74
|
+
export function installMcpTlsTrust(config) {
|
|
75
|
+
if (installed) {
|
|
76
|
+
debugLog('MCP TLS trust already installed this process; skipping.');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const built = buildDispatcherOptions(config.tls, resolveAndReadCert);
|
|
80
|
+
if (!built)
|
|
81
|
+
return;
|
|
82
|
+
// Surface unreadable certs even if we end up installing nothing — a bad cert path must never be
|
|
83
|
+
// swallowed silently. Warn BEFORE the "nothing actionable" bail below.
|
|
84
|
+
for (const failure of built.failures) {
|
|
85
|
+
displayWarning(`TLS: could not read CA certificate '${failure.path}' (${failure.message}); skipping it.`);
|
|
86
|
+
}
|
|
87
|
+
// Nothing left to install: every configured cert failed to read and verification is still on.
|
|
88
|
+
// (Failures were already surfaced above.) Leave Node's default dispatcher untouched.
|
|
89
|
+
if (built.loadedCount === 0 && built.rejectUnauthorized)
|
|
90
|
+
return;
|
|
91
|
+
installed = true;
|
|
92
|
+
if (!built.rejectUnauthorized) {
|
|
93
|
+
displayWarning('TLS: certificate verification is DISABLED (tls.rejectUnauthorized: false). This is INSECURE ' +
|
|
94
|
+
'and applies to ALL outbound HTTPS this process makes — MCP servers AND LLM provider calls. ' +
|
|
95
|
+
'Use only against trusted dev endpoints; prefer tls.extraCaCerts to trust a specific CA instead.');
|
|
96
|
+
}
|
|
97
|
+
setGlobalDispatcher(new Agent({ connect: { ca: built.ca, rejectUnauthorized: built.rejectUnauthorized } }));
|
|
98
|
+
debugLog(`MCP TLS trust installed: ${built.loadedCount} extra CA cert(s), rejectUnauthorized=${built.rejectUnauthorized}.`);
|
|
99
|
+
}
|
|
100
|
+
/** Resolve a configured cert path (`~` / relative-to-project / absolute) and read it as UTF-8. */
|
|
101
|
+
function resolveAndReadCert(path) {
|
|
102
|
+
const expanded = path === '~' || path.startsWith('~/') ? homedir() + path.slice(1) : path;
|
|
103
|
+
return readFileSync(resolve(getProjectDir(), expanded), 'utf8');
|
|
104
|
+
}
|
|
105
|
+
/** Test-only: reset the install-once guard between cases. */
|
|
106
|
+
export function resetMcpTlsTrustForTests() {
|
|
107
|
+
installed = false;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=tlsTrust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlsTrust.js","sourceRoot":"","sources":["../../src/mcp/tlsTrust.ts"],"names":[],"mappings":"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"}
|
package/dist/resolvers.js
CHANGED
|
@@ -14,6 +14,7 @@ import { createA2AAgentTool } from '#src/tools/A2AAgentTool.js';
|
|
|
14
14
|
import { prepareMcpTools } from '#src/utils/mcpUtils.js';
|
|
15
15
|
import { formatMcpConnectFailureMessage } from '#src/utils/mcpAuthError.js';
|
|
16
16
|
import { createAuthProviderAndAuthenticate } from '#src/mcp/OAuthClientProviderImpl.js';
|
|
17
|
+
import { installMcpTlsTrust } from '#src/mcp/tlsTrust.js';
|
|
17
18
|
import { MultiServerMCPClient } from '@langchain/mcp-adapters';
|
|
18
19
|
import { MCP_TOOL_NAME_PREFIX } from '@gaunt-sloth/core/constants.js';
|
|
19
20
|
/**
|
|
@@ -28,10 +29,24 @@ export function createResolvers() {
|
|
|
28
29
|
// Kept on the resolver so the composed system prompt (via getMcpServerInstructions) AND a future
|
|
29
30
|
// MCP debug tab ([[TUI-C20]]) can read the SAME captured text without re-querying the servers.
|
|
30
31
|
let mcpServerInstructions = [];
|
|
32
|
+
// Per-server MCP connection failures captured during the most recent resolveTools. Kept on the
|
|
33
|
+
// resolver (like mcpServerInstructions) so the TUI can re-surface a failure that would otherwise
|
|
34
|
+
// print once via displayWarning and scroll out of sight the moment Ink repaints — both as a
|
|
35
|
+
// persistent chrome notice and as a per-server line in the /debug MCP tab.
|
|
36
|
+
let mcpConnectionFailures = [];
|
|
37
|
+
// Record a failure by server name; dedup so a retry (or the getTools backstop firing after
|
|
38
|
+
// onConnectionError already recorded) can't list the same server twice.
|
|
39
|
+
const recordMcpFailure = (server, error) => {
|
|
40
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
41
|
+
if (!mcpConnectionFailures.some((f) => f.server === server)) {
|
|
42
|
+
mcpConnectionFailures.push({ server, reason });
|
|
43
|
+
}
|
|
44
|
+
};
|
|
31
45
|
const resolveTools = async (config, command) => {
|
|
32
46
|
const tools = [];
|
|
33
47
|
// Fresh capture per resolution; a stale value must never leak across re-inits.
|
|
34
48
|
mcpServerInstructions = [];
|
|
49
|
+
mcpConnectionFailures = [];
|
|
35
50
|
// 1. Get built-in tools (filesystem, devTools, customTools, etc.)
|
|
36
51
|
try {
|
|
37
52
|
const { getDefaultTools } = await import('#src/builtInToolsConfig.js');
|
|
@@ -44,7 +59,7 @@ export function createResolvers() {
|
|
|
44
59
|
}
|
|
45
60
|
// 2. Get MCP tools
|
|
46
61
|
try {
|
|
47
|
-
mcpClientInstance = await getMcpClient(config);
|
|
62
|
+
mcpClientInstance = await getMcpClient(config, recordMcpFailure);
|
|
48
63
|
if (mcpClientInstance) {
|
|
49
64
|
const rawMcpTools = await mcpClientInstance.getTools();
|
|
50
65
|
// Use a simple status callback for prepareMcpTools
|
|
@@ -66,6 +81,14 @@ export function createResolvers() {
|
|
|
66
81
|
// silently, while the session degrades gracefully (built-in and A2A tools below still load).
|
|
67
82
|
displayWarning(`MCP integration tools could not be fully loaded; continuing without them. ` +
|
|
68
83
|
`Underlying error: ${error}`);
|
|
84
|
+
// A wholesale throw here isn't per-server, so onConnectionError may not have recorded anything.
|
|
85
|
+
// If nothing was captured, attribute the failure to every configured server so the TUI notice
|
|
86
|
+
// and MCP tab still name what's unavailable rather than silently showing empty tool lists.
|
|
87
|
+
if (mcpConnectionFailures.length === 0) {
|
|
88
|
+
for (const serverName of Object.keys(config.mcpServers || {})) {
|
|
89
|
+
recordMcpFailure(serverName, error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
69
92
|
}
|
|
70
93
|
// 2b. EXT-32: capture each connected MCP server's discovery `instructions` string (from its MCP
|
|
71
94
|
// `initialize` handshake, exposed by the SDK Client via getInstructions()). This is ISOLATED
|
|
@@ -128,17 +151,24 @@ export function createResolvers() {
|
|
|
128
151
|
// later, the [[TUI-C20]] MCP debug tab). Returns a defensive copy so callers can't mutate the
|
|
129
152
|
// captured state. Empty until resolveTools has run (or when no server supplied instructions).
|
|
130
153
|
const getMcpServerInstructions = () => [...mcpServerInstructions];
|
|
154
|
+
// Defensive copy so callers can't mutate the captured state. Empty until resolveTools has run
|
|
155
|
+
// (or when every configured server connected). Read by the TUI notice bar and the /debug MCP tab.
|
|
156
|
+
const getMcpConnectionFailures = () => [...mcpConnectionFailures];
|
|
131
157
|
return {
|
|
132
158
|
resolveTools,
|
|
133
159
|
cleanupTools,
|
|
134
160
|
resolveMiddleware,
|
|
135
161
|
cleanupMiddleware,
|
|
136
162
|
getMcpServerInstructions,
|
|
163
|
+
getMcpConnectionFailures,
|
|
137
164
|
};
|
|
138
165
|
}
|
|
139
166
|
// --- Private helpers ---
|
|
140
|
-
async function getMcpClient(config) {
|
|
167
|
+
async function getMcpClient(config, recordFailure) {
|
|
141
168
|
debugLog('Setting up MCP client...');
|
|
169
|
+
// Install any configured TLS trust (custom CA / insecure latch) BEFORE the client connects.
|
|
170
|
+
// Process-global (see tlsTrust.ts) and idempotent, so it also covers LLM/tool fetches — desired.
|
|
171
|
+
installMcpTlsTrust(config);
|
|
142
172
|
const rawMcpServers = { ...(config.mcpServers || {}) };
|
|
143
173
|
debugLog(`MCP servers count: ${Object.keys(rawMcpServers).length}`);
|
|
144
174
|
const mcpServers = {};
|
|
@@ -158,6 +188,7 @@ async function getMcpClient(config) {
|
|
|
158
188
|
// EXT-31: an OAuth handshake/refresh failure happens BEFORE the MCP client exists, so it
|
|
159
189
|
// can't reach the connect-time onConnectionError callback below. Surface it here (named +
|
|
160
190
|
// actionable) and skip only THIS server so the others still load — never a silent drop.
|
|
191
|
+
recordFailure(serverName, error);
|
|
161
192
|
displayWarning(formatMcpConnectFailureMessage(serverName, error, { oauth: true }));
|
|
162
193
|
}
|
|
163
194
|
}
|
|
@@ -181,6 +212,7 @@ async function getMcpClient(config) {
|
|
|
181
212
|
onConnectionError: ({ serverName, error }) => {
|
|
182
213
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
183
214
|
const oauth = rawMcpServers[serverName]?.authProvider === 'OAuth';
|
|
215
|
+
recordFailure(serverName, error);
|
|
184
216
|
displayWarning(formatMcpConnectFailureMessage(serverName, error, { oauth }));
|
|
185
217
|
},
|
|
186
218
|
});
|
package/dist/resolvers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,22 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
27
27
|
private searchFiles;
|
|
28
28
|
private normalizeLineEndings;
|
|
29
29
|
private createUnifiedDiff;
|
|
30
|
+
/**
|
|
31
|
+
* Count non-overlapping exact occurrences of `search` in `content`.
|
|
32
|
+
* Uses an indexOf scan (no regex) so arbitrary text is matched literally.
|
|
33
|
+
*/
|
|
34
|
+
private countOccurrences;
|
|
30
35
|
private applyFileEdits;
|
|
31
36
|
private formatSize;
|
|
32
37
|
private tailFile;
|
|
33
38
|
private headFile;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the first `head` lines and the last `tail` lines of a file, separated by a
|
|
41
|
+
* `... [N lines skipped] ...` marker. When the two windows cover or overlap the whole
|
|
42
|
+
* file (`head + tail >= total`) the entire file is returned unchanged (no marker, no
|
|
43
|
+
* duplicated lines).
|
|
44
|
+
*/
|
|
45
|
+
private headAndTailFile;
|
|
34
46
|
private createReadBinaryTool;
|
|
35
47
|
private createTools;
|
|
36
48
|
}
|
|
@@ -24,8 +24,18 @@ function createGthTool(fn, config, gthFileSystemType) {
|
|
|
24
24
|
// Schema definitions
|
|
25
25
|
const ReadFileArgsSchema = z.object({
|
|
26
26
|
path: z.string(),
|
|
27
|
-
tail: z
|
|
28
|
-
|
|
27
|
+
tail: z
|
|
28
|
+
.number()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe('If provided, returns only the last N lines of the file. May be combined with head ' +
|
|
31
|
+
'(no longer mutually exclusive): head+tail returns the first head lines, a ' +
|
|
32
|
+
'`... [N lines skipped] ...` marker, then the last tail lines.'),
|
|
33
|
+
head: z
|
|
34
|
+
.number()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('If provided, returns only the first N lines of the file. May be combined with tail ' +
|
|
37
|
+
'(no longer mutually exclusive): head+tail returns the first head lines, a ' +
|
|
38
|
+
'`... [N lines skipped] ...` marker, then the last tail lines.'),
|
|
29
39
|
});
|
|
30
40
|
const ReadBinaryArgsSchema = z.object({
|
|
31
41
|
path: z.string().describe('Path to the binary file to read'),
|
|
@@ -44,6 +54,12 @@ const WriteFileArgsSchema = z.object({
|
|
|
44
54
|
const EditOperation = z.object({
|
|
45
55
|
oldText: z.string().describe('Text to search for - must match exactly'),
|
|
46
56
|
newText: z.string().describe('Text to replace with'),
|
|
57
|
+
replaceAll: z
|
|
58
|
+
.boolean()
|
|
59
|
+
.default(false)
|
|
60
|
+
.describe('Replace all occurrences of oldText. Default false requires a unique match: if oldText ' +
|
|
61
|
+
'appears more than once the edit fails so you can add surrounding context to disambiguate; ' +
|
|
62
|
+
'set true to replace every occurrence.'),
|
|
47
63
|
});
|
|
48
64
|
const EditFileArgsSchema = z.object({
|
|
49
65
|
path: z.string(),
|
|
@@ -274,14 +290,46 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
274
290
|
const normalizedNew = this.normalizeLineEndings(newContent);
|
|
275
291
|
return createTwoFilesPatch(filepath, filepath, normalizedOriginal, normalizedNew, 'original', 'modified');
|
|
276
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Count non-overlapping exact occurrences of `search` in `content`.
|
|
295
|
+
* Uses an indexOf scan (no regex) so arbitrary text is matched literally.
|
|
296
|
+
*/
|
|
297
|
+
countOccurrences(content, search) {
|
|
298
|
+
if (search === '')
|
|
299
|
+
return 0;
|
|
300
|
+
let count = 0;
|
|
301
|
+
let offset = 0;
|
|
302
|
+
let idx = content.indexOf(search, offset);
|
|
303
|
+
while (idx !== -1) {
|
|
304
|
+
count++;
|
|
305
|
+
offset = idx + search.length;
|
|
306
|
+
idx = content.indexOf(search, offset);
|
|
307
|
+
}
|
|
308
|
+
return count;
|
|
309
|
+
}
|
|
277
310
|
async applyFileEdits(filePath, edits, dryRun = false) {
|
|
278
311
|
const content = this.normalizeLineEndings(await fs.readFile(filePath, 'utf-8'));
|
|
279
312
|
let modifiedContent = content;
|
|
313
|
+
const summaries = [];
|
|
314
|
+
let editIndex = 0;
|
|
280
315
|
for (const edit of edits) {
|
|
316
|
+
editIndex++;
|
|
281
317
|
const normalizedOld = this.normalizeLineEndings(edit.oldText);
|
|
282
318
|
const normalizedNew = this.normalizeLineEndings(edit.newText);
|
|
283
|
-
|
|
284
|
-
|
|
319
|
+
const occurrences = this.countOccurrences(modifiedContent, normalizedOld);
|
|
320
|
+
if (occurrences > 0) {
|
|
321
|
+
if (occurrences > 1 && edit.replaceAll !== true) {
|
|
322
|
+
// Ambiguous match: refuse rather than silently editing the first occurrence.
|
|
323
|
+
throw new Error(`Found ${occurrences} occurrences of the oldText in ${filePath}. ` +
|
|
324
|
+
'Provide more surrounding context to make it unique, or set replaceAll: true.\n' +
|
|
325
|
+
edit.oldText);
|
|
326
|
+
}
|
|
327
|
+
// split/join replaces every occurrence without regex escaping and, unlike
|
|
328
|
+
// String.replace, does NOT interpret `$`-patterns ($&, $`, $', $$) in the
|
|
329
|
+
// replacement text; for a unique match (occurrences === 1) it replaces exactly
|
|
330
|
+
// that one occurrence.
|
|
331
|
+
modifiedContent = modifiedContent.split(normalizedOld).join(normalizedNew);
|
|
332
|
+
summaries.push(`edit ${editIndex}: replaced ${occurrences} occurrence(s)`);
|
|
285
333
|
continue;
|
|
286
334
|
}
|
|
287
335
|
const oldLines = normalizedOld.split('\n');
|
|
@@ -315,6 +363,9 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
315
363
|
if (!matchFound) {
|
|
316
364
|
throw new Error(`Could not find exact match for edit:\n${edit.oldText}`);
|
|
317
365
|
}
|
|
366
|
+
// Fuzzy (trim-based line) match applied: flag it so the model knows the edit
|
|
367
|
+
// landed on a near-match, not an exact one.
|
|
368
|
+
summaries.push(`edit ${editIndex}: applied via fuzzy line-match (no exact match)`);
|
|
318
369
|
}
|
|
319
370
|
const diff = this.createUnifiedDiff(content, modifiedContent, filePath);
|
|
320
371
|
let numBackticks = 3;
|
|
@@ -325,7 +376,9 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
325
376
|
if (!dryRun) {
|
|
326
377
|
await fs.writeFile(filePath, modifiedContent, 'utf-8');
|
|
327
378
|
}
|
|
328
|
-
|
|
379
|
+
// Per-edit machine-readable summary, prepended so the diff block stays intact.
|
|
380
|
+
const summaryBlock = summaries.length > 0 ? `${summaries.join('\n')}\n\n` : '';
|
|
381
|
+
return summaryBlock + formattedDiff;
|
|
329
382
|
}
|
|
330
383
|
formatSize(bytes) {
|
|
331
384
|
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
@@ -406,6 +459,24 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
406
459
|
await fileHandle.close();
|
|
407
460
|
}
|
|
408
461
|
}
|
|
462
|
+
/**
|
|
463
|
+
* Returns the first `head` lines and the last `tail` lines of a file, separated by a
|
|
464
|
+
* `... [N lines skipped] ...` marker. When the two windows cover or overlap the whole
|
|
465
|
+
* file (`head + tail >= total`) the entire file is returned unchanged (no marker, no
|
|
466
|
+
* duplicated lines).
|
|
467
|
+
*/
|
|
468
|
+
async headAndTailFile(filePath, head, tail) {
|
|
469
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
470
|
+
const lines = this.normalizeLineEndings(content).split('\n');
|
|
471
|
+
const total = lines.length;
|
|
472
|
+
if (head + tail >= total) {
|
|
473
|
+
return content;
|
|
474
|
+
}
|
|
475
|
+
const skipped = total - head - tail;
|
|
476
|
+
const headContent = lines.slice(0, head).join('\n');
|
|
477
|
+
const tailContent = lines.slice(total - tail).join('\n');
|
|
478
|
+
return headContent + '\n... [' + skipped + ' lines skipped] ...\n' + tailContent;
|
|
479
|
+
}
|
|
409
480
|
createReadBinaryTool() {
|
|
410
481
|
return createGthTool(async (args) => {
|
|
411
482
|
if (!this.binaryFormats || !Array.isArray(this.binaryFormats)) {
|
|
@@ -471,7 +542,7 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
471
542
|
displayInfo(`\n📁 Reading file: ${args.path}\n`);
|
|
472
543
|
const validPath = await this.validatePath(args.path);
|
|
473
544
|
if (args.head && args.tail) {
|
|
474
|
-
|
|
545
|
+
return await this.headAndTailFile(validPath, args.head, args.tail);
|
|
475
546
|
}
|
|
476
547
|
if (args.tail) {
|
|
477
548
|
return await this.tailFile(validPath, args.tail);
|
|
@@ -487,7 +558,9 @@ export default class GthFileSystemToolkit extends BaseToolkit {
|
|
|
487
558
|
'if the file cannot be read. Use this tool when you need to examine ' +
|
|
488
559
|
"the contents of a single file. Use the 'head' parameter to read only " +
|
|
489
560
|
"the first N lines of a file, or the 'tail' parameter to read only " +
|
|
490
|
-
|
|
561
|
+
"the last N lines of a file. The 'head' and 'tail' parameters may be " +
|
|
562
|
+
'combined to get the first N lines, a `... [N lines skipped] ...` ' +
|
|
563
|
+
'marker, and the last M lines in a single call. Only works within allowed directories.',
|
|
491
564
|
schema: ReadFileArgsSchema,
|
|
492
565
|
}, 'read'),
|
|
493
566
|
createGthTool(async (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GthFileSystemToolkit.js","sourceRoot":"","sources":["../../src/tools/GthFileSystemToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE/F;;;GAGG;AAEH,4BAA4B;AAC5B,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE/D,wDAAwD;AACxD,SAAS,aAAa,CACpB,EAAyC,EACzC,MAIC,EACD,iBAAmC;IAEnC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,8DAA8D;IAC7D,YAAoB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC5D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;CAChG,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5D,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC,QAAQ,EAAE;SACV,QAAQ,CACP,gGAAgG,CACjG;CACJ,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC3F,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACtB,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5D,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACjG,CAAC,CAAC;AAqBH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,KAAK,CAA4B;IACzB,kBAAkB,CAAW;IAC7B,cAAc,CAGpB;IACM,aAAa,CAAgC;IAErD,YAAY,UAAuC,EAAE;QACnD,KAAK,EAAE,CAAC;QACR,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CACvD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,iBAAuC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,8DAA8D;YAC9D,MAAM,QAAQ,GAAI,IAAY,CAAC,iBAAiB,CAAC;YACjD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,CAAS;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACjC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,cAAc,CAClE,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,aAAqB;QACjD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,YAAY,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,aAAqB;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC,CAAC;QAEpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEzD,mEAAmE;QACnE,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAW,EAAE;YACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC;QAEF,4DAA4D;QAC5D,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,qDAAqD,QAAQ,WAAW,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEpD,sFAAsF;YACtF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,QAAQ,CAAC;YAChB,8DAA8D;QAChE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,mGAAmG;gBACnG,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,OAAO,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBACH,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;wBAE5D,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BAC1C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;wBAClF,CAAC;wBAED,OAAO,QAAQ,CAAC,CAAC,yDAAyD;wBAC1E,8DAA8D;oBAChE,CAAC;oBAAC,OAAO,WAAgB,EAAE,CAAC;wBAC1B,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAClC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB;wBAC7D,CAAC;6BAAM,CAAC;4BACN,MAAM,WAAW,CAAC,CAAC,mBAAmB;wBACxC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,mBAAmB;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,SAAS;YACxB,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;YACtB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,OAAe,EACf,kBAA4B,EAAE;QAE9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,WAAW,GAAa,CAAC,QAAQ,CAAC,CAAC;QAEzC,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,OAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;oBACvC,aAAa,EAAE,IAAI;oBACnB,QAAQ,EAAE,MAAM;iBACjB,CAAC,CAAa,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAEnD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAElC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC;wBACzE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;oBAEH,IAAI,aAAa,EAAE,CAAC;wBAClB,SAAS;oBACX,CAAC;oBAED,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,iBAAiB,EAAE,EACnB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,OAAO,CACxB,CAAC;oBAEF,IAAI,YAAY,EAAE,CAAC;wBACjB,SAAS;oBACX,CAAC;oBAED,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC;oBAED,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtC,IACE,CAAC,WAAW;wBACZ,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU;wBAC1C,KAAK,CAAC,cAAc,EAAE,EACtB,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACtC,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpC,CAAC;wBAAC,MAAM,CAAC;4BACP,WAAW,GAAG,KAAK,CAAC;wBACtB,CAAC;oBACH,CAAC;oBAED,IAAI,WAAW,EAAE,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,iBAAiB,CACvB,eAAuB,EACvB,UAAkB,EAClB,WAAmB,MAAM;QAEzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE5D,OAAO,mBAAmB,CACxB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAAgB,EAChB,KAAkD,EAClD,MAAM,GAAG,KAAK;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAEhF,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAElE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;wBACzD,IAAI,CAAC,KAAK,CAAC;4BAAE,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAChD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;4BAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;4BAC3D,OAAO,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBACrF,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,CAAC;oBAEH,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;oBACrD,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1C,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAExE,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC/C,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAEhG,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3C,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,QAAgB;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAE5B,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,QAAQ,GAAG,QAAQ,CAAC;YACxB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,OAAO,QAAQ,GAAG,CAAC,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC5C,QAAQ,IAAI,IAAI,CAAC;gBAEjB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,SAAS;oBAAE,MAAM;gBAEtB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;gBAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,QAAgB;QACvD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjC,OAAO,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;oBAAE,MAAM;gBAClC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAE7D,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACxC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;4BAAE,MAAM;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,OAAO,aAAa,CAClB,KAAK,EAAE,IAA0C,EAAmB,EAAE;YACpE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9D,OAAO,6FAA6F,CAAC;YACvG,CAAC;YAED,WAAW,CAAC,6BAA6B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACxD,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,mEAAmE,CAAC;YAC7E,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,YAAY,GAAG,gBAAgB,CACnC,SAAS,EACT,iBAAiB,EAAE,EACnB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,OAAO,CACxB,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,mEAAmE,CAAC;YAC7E,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,UAAU,GAA4B,IAAI,CAAC;YAC/C,IAAI,YAAY,GAA8B,IAAI,CAAC;YAEnD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC/E,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;oBAC/B,YAAY,GAAG,YAAY,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzE,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;oBAC9B,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,OAAO,eAAe,GAAG,gFAAgF,CAAC;YAC5G,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;YACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAEhD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAElE,uEAAuE;gBACvE,6FAA6F;gBAC7F,mEAAmE;gBACnE,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAClD,OAAO,wBAAwB,UAAU,SAAS,WAAW,SAAS,QAAQ,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC;YACzG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,8BAA8B,OAAO,EAAE,CAAC;YACjD,CAAC;QACH,CAAC,EACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,wFAAwF;gBACxF,wDAAwD;YAC1D,MAAM,EAAE,oBAAoB;SAC7B,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,MAAM,KAAK,GAA8B;YACvC,aAAa,CACX,KAAK,EAAE,IAAwC,EAAmB,EAAE;gBAClE,WAAW,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBACjF,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;gBAED,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,EACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,6DAA6D;oBAC7D,sEAAsE;oBACtE,qEAAqE;oBACrE,uEAAuE;oBACvE,oEAAoE;oBACpE,oEAAoE;gBACtE,MAAM,EAAE,kBAAkB;aAC3B,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAAiD,EAAmB,EAAE;gBAC3E,WAAW,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;oBACxC,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;wBACpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACtD,OAAO,GAAG,QAAQ,MAAM,OAAO,IAAI,CAAC;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC5E,OAAO,GAAG,QAAQ,aAAa,YAAY,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,EACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,mEAAmE;oBACnE,mEAAmE;oBACnE,sEAAsE;oBACtE,oEAAoE;oBACpE,8DAA8D;gBAChE,MAAM,EAAE,2BAA2B;aACpC,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAAyC,EAAmB,EAAE;gBACnE,WAAW,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC,EACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EACT,+EAA+E;oBAC/E,wEAAwE;oBACxE,mFAAmF;gBACrF,MAAM,EAAE,mBAAmB;aAC5B,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,EAAE,IAAwC,EAAmB,EAAE;gBAClE,WAAW,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC,EACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,gFAAgF;oBAChF,uEAAuE;oBACvE,wCAAwC;oBACxC,6DAA6D;oBAC7D,sFAAsF;oBACtF,2EAA2E;oBAC3E,8CAA8C;oBAC9C,8EAA8E;gBAChF,MAAM,EAAE,kBAAkB;aAC3B,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,EAAE,IAA+C,EAAmB,EAAE;gBACzE,WAAW,CAAC,4BAA4B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,EACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EACT,2EAA2E;oBAC3E,wEAAwE;oBACxE,yEAAyE;oBACzE,kGAAkG;gBACpG,MAAM,EAAE,yBAAyB;aAClC,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,EAAE,IAA6C,EAAmB,EAAE;gBACvE,WAAW,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClD,OAAO,CAAC,gBAAgB,CACtB,QAAQ,EACR,iBAAiB,EAAE,EACnB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,OAAO,CACxB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO,eAAe;qBACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;qBAC3E,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,2EAA2E;oBAC3E,kFAAkF;oBAClF,6EAA6E;oBAC7E,mFAAmF;gBACrF,MAAM,EAAE,uBAAuB;aAChC,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAAsD,EAAmB,EAAE;gBAChF,WAAW,CAAC,sCAAsC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClD,OAAO,CAAC,gBAAgB,CACtB,QAAQ,EACR,iBAAiB,EAAE,EACnB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,OAAO,CACxB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACvC,OAAO;4BACL,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;4BAChC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;4BAChC,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;yBACnB,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,aAAa,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC3B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oBACzB,CAAC;oBACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CACxC,CAAC,KAAK,EAAE,EAAE,CACR,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAChE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAClE,EAAE,CACL,CAAC;gBAEF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;gBACxE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;gBACtE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1D,CAAC,CACF,CAAC;gBAEF,MAAM,OAAO,GAAG;oBACd,EAAE;oBACF,UAAU,UAAU,WAAW,SAAS,cAAc;oBACtD,kBAAkB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBAC/C,CAAC;gBAEF,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC,EACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EACT,4FAA4F;oBAC5F,kFAAkF;oBAClF,0EAA0E;oBAC1E,mFAAmF;gBACrF,MAAM,EAAE,gCAAgC;aACzC,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAA6C,EAAmB,EAAE;gBACvE,WAAW,CAAC,iCAAiC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBAS5D,MAAM,SAAS,GAAG,KAAK,EAAE,WAAmB,EAAwB,EAAE;oBACpE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBACrE,MAAM,MAAM,GAAgB,EAAE,CAAC;oBAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;oBAE3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,SAAS,GAAc;4BAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;yBACjD,CAAC;wBACF,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC1C,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC3B,CAAC;wBAED,8CAA8C;wBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBACpD,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,iBAAiB,EAAE,EACnB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,OAAO,CACxB,CAAC;wBAEF,IAAI,YAAY,EAAE,CAAC;4BACjB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC3B,CAAC;wBAED,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;4BAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4BACnD,SAAS,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;wBAChD,CAAC;wBAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACzB,CAAC;oBAED,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,EACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,0EAA0E;oBAC1E,uFAAuF;oBACvF,qGAAqG;oBACrG,0GAA0G;gBAC5G,MAAM,EAAE,uBAAuB;aAChC,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAAwC,EAAmB,EAAE;gBAClE,WAAW,CAAC,eAAe,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;gBACnE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChE,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBAChD,OAAO,sBAAsB,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YACpE,CAAC,EACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,2EAA2E;oBAC3E,wEAAwE;oBACxE,0EAA0E;oBAC1E,gHAAgH;gBAClH,MAAM,EAAE,kBAAkB;aAC3B,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,EAAE,IAA2C,EAAmB,EAAE;gBACrE,WAAW,CAAC,uBAAuB,IAAI,CAAC,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACtE,CAAC,EACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,mEAAmE;oBACnE,yEAAyE;oBACzE,2EAA2E;oBAC3E,oFAAoF;oBACpF,2CAA2C;gBAC7C,MAAM,EAAE,qBAAqB;aAC9B,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAA2C,EAAmB,EAAE;gBACrE,WAAW,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;qBACxB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;qBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,8EAA8E;oBAC9E,8EAA8E;oBAC9E,wEAAwE;oBACxE,4EAA4E;gBAC9E,MAAM,EAAE,qBAAqB;aAC9B,EACD,MAAM,CACP;YAED,aAAa,CACX,KAAK,EAAE,IAA0C,EAAmB,EAAE;gBACpE,WAAW,CAAC,uBAAuB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,CAAC,IAAI,yDAAyD,CAC/F,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,OAAO,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC,EACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EACT,sEAAsE;oBACtE,2DAA2D;oBAC3D,wCAAwC;gBAC1C,MAAM,EAAE,oBAAoB;aAC7B,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,EAAE,IAA+C,EAAmB,EAAE;gBACzE,WAAW,CACT,4BAA4B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CACjF,CAAC;gBACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErD,yCAAyC;gBACzC,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,IAAI,gDAAgD,CAChG,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC;gBAC/E,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,OAAO,oDAAoD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,wDAAwD;oBACxD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,IAAI,wDAAwD,CAC1F,CAAC;oBACJ,CAAC;oBACD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC1B,OAAO,yCAAyC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC,EACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EACT,6FAA6F;oBAC7F,6FAA6F;oBAC7F,6DAA6D;oBAC7D,wCAAwC;gBAC1C,MAAM,EAAE,yBAAyB;aAClC,EACD,OAAO,CACR;YAED,aAAa,CACX,KAAK,IAAqB,EAAE;gBAC1B,OAAO,yBAAyB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,CAAC,EACD;gBACE,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EACT,yEAAyE;oBACzE,uFAAuF;gBACzF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;aACrB,EACD,MAAM,CACP;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"GthFileSystemToolkit.js","sourceRoot":"","sources":["../../src/tools/GthFileSystemToolkit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaunt-sloth/agent",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.13",
|
|
4
4
|
"description": "Deep agent runtime for Gaunt Sloth: tools, middleware, MCP/A2A clients and the AG-UI server",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Andrew Kondratev",
|
|
@@ -50,9 +50,10 @@
|
|
|
50
50
|
"diff": "^9.0.0",
|
|
51
51
|
"express": "^5.2.1",
|
|
52
52
|
"langchain": "^1.5.2",
|
|
53
|
+
"undici": "^7.16.0",
|
|
53
54
|
"uuid": ">=11.1.1",
|
|
54
55
|
"zod": "^4.0.0",
|
|
55
|
-
"@gaunt-sloth/core": "2.0.0-alpha.
|
|
56
|
+
"@gaunt-sloth/core": "2.0.0-alpha.13"
|
|
56
57
|
},
|
|
57
58
|
"files": [
|
|
58
59
|
"./dist/*",
|