@plurnk/plurnk-mcp 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.defaults +11 -5
- package/README.md +13 -6
- package/SPEC.md +185 -54
- package/dist/ContentProjection.d.ts +11 -0
- package/dist/ContentProjection.d.ts.map +1 -0
- package/dist/ContentProjection.js +24 -0
- package/dist/ContentProjection.js.map +1 -0
- package/dist/McpExecutor.d.ts +1 -1
- package/dist/McpExecutor.d.ts.map +1 -1
- package/dist/McpExecutor.js +42 -50
- package/dist/McpExecutor.js.map +1 -1
- package/dist/McpResources.d.ts.map +1 -1
- package/dist/McpResources.js +27 -5
- package/dist/McpResources.js.map +1 -1
- package/dist/Module.d.ts +7 -2
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +92 -29
- package/dist/Module.js.map +1 -1
- package/dist/Summary.d.ts +3 -0
- package/dist/Summary.d.ts.map +1 -0
- package/dist/Summary.js +15 -0
- package/dist/Summary.js.map +1 -0
- package/dist/ToolPresentation.d.ts.map +1 -1
- package/dist/ToolPresentation.js +3 -23
- package/dist/ToolPresentation.js.map +1 -1
- package/dist/capabilityMatrix.js +37 -37
- package/dist/capabilityMatrix.js.map +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +114 -60
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -33
- package/dist/config.js.map +1 -1
- package/dist/inputRequired.d.ts +5 -2
- package/dist/inputRequired.d.ts.map +1 -1
- package/dist/inputRequired.js +31 -8
- package/dist/inputRequired.js.map +1 -1
- package/dist/mcp-watchdog.mjs +3 -2
- package/dist/subscriptions.d.ts +4 -2
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +27 -12
- package/dist/subscriptions.js.map +1 -1
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +11 -13
- package/dist/tasks.js.map +1 -1
- package/docs/mcp.md +37 -13
- package/package.json +6 -6
package/dist/Module.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
// {§mcp-module} — the MCP family beneath the shared workspace Functionality
|
|
2
3
|
// coordinator ({§functionality-adapter}). This module owns MCP protocol truth:
|
|
3
4
|
// definitions from the POSIX cascade, inert discovery, connection preparation
|
|
@@ -5,9 +6,11 @@
|
|
|
5
6
|
// teardown. The coordinator owns the lifecycle, durable workspace state, atomic
|
|
6
7
|
// publication, and both the client and model projections.
|
|
7
8
|
import { fileURLToPath } from "node:url";
|
|
9
|
+
import { mkdir, mkdtemp, rm } from "node:fs/promises";
|
|
10
|
+
import { join } from "node:path";
|
|
8
11
|
import { Problems, Validator, } from "@plurnk/plurnk-contracts";
|
|
9
12
|
import ServerConnection, { AuthorizationRequiredError, isClientCredentialsRejection, } from "./client.js";
|
|
10
|
-
import { expandedServerNames, overlayServerDefinitions, serviceDefinitions, serviceEnabledNames, summaryOverrides, } from "./config.js";
|
|
13
|
+
import { expandedServerNames, overlayServerDefinitions, retryDelayMs, retryPacing, serviceDefinitions, serviceEnabledNames, summaryOverrides, } from "./config.js";
|
|
11
14
|
import McpExecutor, { runtimeDecl, runtimeServerSummary, serverSummary } from "./McpExecutor.js";
|
|
12
15
|
import McpResources from "./McpResources.js";
|
|
13
16
|
const OWNER = "@plurnk/plurnk-mcp";
|
|
@@ -109,8 +112,10 @@ const catalogDetail = (executor) => {
|
|
|
109
112
|
prompts: catalog.prompts.length,
|
|
110
113
|
};
|
|
111
114
|
};
|
|
112
|
-
|
|
115
|
+
class Module {
|
|
113
116
|
#env;
|
|
117
|
+
#workspaceEnvironment;
|
|
118
|
+
#workspaceDirectory;
|
|
114
119
|
#summaries;
|
|
115
120
|
#expanded;
|
|
116
121
|
#defaults;
|
|
@@ -120,14 +125,14 @@ export default class Module {
|
|
|
120
125
|
#attachments = new Map();
|
|
121
126
|
#identities = new Map();
|
|
122
127
|
#pending = new Map();
|
|
123
|
-
#dirty = new
|
|
128
|
+
#dirty = new Map();
|
|
124
129
|
#connections = new Set();
|
|
125
130
|
#refreshTimers = new Map();
|
|
126
131
|
#retainWorkspace = new Map();
|
|
127
132
|
#handle;
|
|
128
133
|
#closed = false;
|
|
129
134
|
static init(options = {}) {
|
|
130
|
-
return new
|
|
135
|
+
return new _a(options.env ?? process.env);
|
|
131
136
|
}
|
|
132
137
|
constructor(environ) {
|
|
133
138
|
this.#env = environ;
|
|
@@ -137,12 +142,14 @@ export default class Module {
|
|
|
137
142
|
this.#expanded = new Set(expandedServerNames(environ));
|
|
138
143
|
}
|
|
139
144
|
async setup(seam) {
|
|
145
|
+
this.#workspaceEnvironment = (workspaceId) => seam.readWorkspaceEnvironment(workspaceId);
|
|
146
|
+
this.#workspaceDirectory = (workspaceId) => seam.workspaceStateDirectory(workspaceId, OWNER);
|
|
140
147
|
this.#handle = seam.registerFunctionalityAdapter({
|
|
141
148
|
family: FAMILY,
|
|
142
149
|
namespaceOwner: OWNER,
|
|
143
150
|
summary: "Manage MCP servers",
|
|
144
151
|
definitionSchema: MCP_DEFINITION,
|
|
145
|
-
example: { alias: "files", definition: { name: "files", transport: "stdio", command: "npx", args: ["-y", "@modelcontextprotocol/server-filesystem", "
|
|
152
|
+
example: { alias: "files", definition: { name: "files", transport: "stdio", command: "npx", args: ["-y", "@modelcontextprotocol/server-filesystem", "/absolute/project/path"] } },
|
|
146
153
|
docsDir: fileURLToPath(new URL("..", import.meta.url)),
|
|
147
154
|
discovery: {
|
|
148
155
|
details: "`source` is one MCP server URL or command line; the server is inspected without being attached, and the candidate carries the exact definition to add.",
|
|
@@ -152,8 +159,8 @@ export default class Module {
|
|
|
152
159
|
definition: structuredClone(definition),
|
|
153
160
|
enabled: this.#defaultEnabled.has(name),
|
|
154
161
|
})),
|
|
155
|
-
discover: (query) => this.#discover(query),
|
|
156
|
-
admit: async (input) => this.#admit(input),
|
|
162
|
+
discover: (query, identity, options) => this.#discover(query, identity, options),
|
|
163
|
+
admit: async (input, _identity, _caller, options) => this.#admit(input, options),
|
|
157
164
|
prepare: (preparation) => this.#prepare(preparation),
|
|
158
165
|
teardown: (snapshot, identity) => this.#teardown(snapshot, identity),
|
|
159
166
|
});
|
|
@@ -214,7 +221,7 @@ export default class Module {
|
|
|
214
221
|
// {§mcp-discovery} — inert: a direct target is probed and disconnected;
|
|
215
222
|
// caller configuration is parsed into candidates; registry search waits for
|
|
216
223
|
// a configured downstream registry.
|
|
217
|
-
async #discover(query) {
|
|
224
|
+
async #discover(query, identity, options = {}) {
|
|
218
225
|
this.#assertOpen();
|
|
219
226
|
const candidates = [];
|
|
220
227
|
if (query.configuration !== undefined) {
|
|
@@ -228,7 +235,7 @@ export default class Module {
|
|
|
228
235
|
for (const [name, definition] of definitions) {
|
|
229
236
|
candidates.push({
|
|
230
237
|
alias: name,
|
|
231
|
-
definition,
|
|
238
|
+
definition: _a.#launchOptions(definition, options),
|
|
232
239
|
provenance: { kind: "client-configuration", source: `PLURNK_MCP_${name.toUpperCase().replaceAll("-", "_")}` },
|
|
233
240
|
summary: `${definition.transport} ${definition.transport === "http" ? definition.url : definition.command}`,
|
|
234
241
|
});
|
|
@@ -239,16 +246,21 @@ export default class Module {
|
|
|
239
246
|
// split on whitespace (exact paths with spaces are added, not probed).
|
|
240
247
|
const source = query.source;
|
|
241
248
|
const [command = "", ...args] = source.trim().split(/\s+/u);
|
|
242
|
-
const definition = /^https?:\/\//u.test(source)
|
|
249
|
+
const definition = _a.#launchOptions(/^https?:\/\//u.test(source)
|
|
243
250
|
? { name: "discovered", transport: "http", url: source }
|
|
244
|
-
: { name: "discovered", transport: "stdio", command, args };
|
|
251
|
+
: { name: "discovered", transport: "stdio", command, args }, options);
|
|
245
252
|
Validator.assertMcpServerDefinition(definition);
|
|
246
|
-
const
|
|
253
|
+
const environment = await this.#workspaceEnvironment(identity.workspaceId);
|
|
254
|
+
let directory;
|
|
255
|
+
const connection = new ServerConnection(definition, environment(this.#env), {
|
|
256
|
+
environment: environment(),
|
|
257
|
+
workingDirectory: async () => directory ??= await mkdtemp(join(await this.#workspaceDirectory(identity.workspaceId), "discover-")),
|
|
247
258
|
onCatalogChanged: () => undefined,
|
|
248
259
|
onInfrastructureError: () => undefined,
|
|
249
260
|
});
|
|
250
261
|
this.#connections.add(connection);
|
|
251
262
|
const executor = new McpExecutor({ runtime: "discovered", glyph: "🔌" }, connection, () => () => undefined);
|
|
263
|
+
let failure;
|
|
252
264
|
try {
|
|
253
265
|
await executor.requireAvailable();
|
|
254
266
|
const catalog = executor.catalog;
|
|
@@ -270,19 +282,35 @@ export default class Module {
|
|
|
270
282
|
});
|
|
271
283
|
}
|
|
272
284
|
else {
|
|
273
|
-
|
|
285
|
+
failure = actionError("discover-failed", 502, `MCP target '${source}' could not be inspected.`, { source, retryable: true }, cause);
|
|
274
286
|
}
|
|
275
287
|
}
|
|
276
|
-
|
|
288
|
+
try {
|
|
277
289
|
await this.#closeOwned([connection]);
|
|
290
|
+
if (directory !== undefined)
|
|
291
|
+
await rm(directory, { recursive: true, force: true });
|
|
292
|
+
}
|
|
293
|
+
catch (cause) {
|
|
294
|
+
if (failure !== undefined)
|
|
295
|
+
throw new AggregateError([failure, cause], "MCP discovery and cleanup failed.");
|
|
296
|
+
throw cause;
|
|
278
297
|
}
|
|
298
|
+
if (failure !== undefined)
|
|
299
|
+
throw failure;
|
|
279
300
|
}
|
|
280
301
|
if (query.query !== undefined && query.source === undefined && query.configuration === undefined) {
|
|
281
302
|
throw actionError("registry-not-configured", 501, "MCP registry search requires a configured downstream registry; none is configured.", { query: query.query, recovery: "Discover an explicit source (URL or command) or configure a registry.", retryable: false });
|
|
282
303
|
}
|
|
283
304
|
return candidates;
|
|
284
305
|
}
|
|
285
|
-
#
|
|
306
|
+
static #launchOptions(definition, options) {
|
|
307
|
+
if (options.env === undefined || Object.keys(options.env).length === 0)
|
|
308
|
+
return definition;
|
|
309
|
+
if (definition.transport !== "stdio")
|
|
310
|
+
throw actionError("env-transport", 400, "An HTTP MCP server has no local process environment.", { retryable: false });
|
|
311
|
+
return { ...definition, env: { ...definition.env, ...options.env } };
|
|
312
|
+
}
|
|
313
|
+
#admit(input, options = {}) {
|
|
286
314
|
const params = objectOf(input) ?? {};
|
|
287
315
|
let definition;
|
|
288
316
|
try {
|
|
@@ -295,16 +323,26 @@ export default class Module {
|
|
|
295
323
|
if (alias !== definition.name) {
|
|
296
324
|
throw actionError("alias-mismatch", 400, `Alias '${alias}' must equal the definition's name '${definition.name}'.`, { alias, name: definition.name, retryable: false });
|
|
297
325
|
}
|
|
298
|
-
return { alias, definition };
|
|
326
|
+
return { alias, definition: _a.#launchOptions(definition, options) };
|
|
299
327
|
}
|
|
300
328
|
async #prepareAttachment(workspaceId, definition, connection) {
|
|
301
329
|
this.#assertOpen();
|
|
302
|
-
const
|
|
330
|
+
const environment = await this.#workspaceEnvironment(workspaceId);
|
|
331
|
+
const candidate = connection ?? new ServerConnection(definition, environment(this.#env), {
|
|
332
|
+
environment: environment(),
|
|
333
|
+
workingDirectory: async () => {
|
|
334
|
+
const directory = join(await this.#workspaceDirectory(workspaceId), "servers", definition.name);
|
|
335
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
336
|
+
return directory;
|
|
337
|
+
},
|
|
303
338
|
onCatalogChanged: (error) => {
|
|
304
339
|
if (error !== null) {
|
|
305
340
|
console.error(`MCP server '${definition.name}' catalog refresh failed:`, error);
|
|
306
341
|
return;
|
|
307
342
|
}
|
|
343
|
+
if (this.#closed)
|
|
344
|
+
return;
|
|
345
|
+
this.#dirty.set(this.#pendingKey(workspaceId, definition.name), Symbol());
|
|
308
346
|
this.#scheduleCatalogRefresh(workspaceId, definition.name);
|
|
309
347
|
},
|
|
310
348
|
onInfrastructureError: (error) => {
|
|
@@ -322,7 +360,7 @@ export default class Module {
|
|
|
322
360
|
executor,
|
|
323
361
|
runtime: {
|
|
324
362
|
namespaceOwner: OWNER,
|
|
325
|
-
decl: runtimeDecl(definition.name, runtimeServerSummary(definition.name, executor.catalog, this.#summaries.servers.get(definition.name)), this.#expanded.has(definition.name)),
|
|
363
|
+
decl: runtimeDecl(definition.name, runtimeServerSummary(definition.name, executor.catalog, this.#summaries.servers.get(definition.name)), this.#expanded.has(definition.name), executor.catalog.instructions),
|
|
326
364
|
executor,
|
|
327
365
|
availability,
|
|
328
366
|
scheme: new McpResources(definition.name, candidate, executor.catalog),
|
|
@@ -372,8 +410,11 @@ export default class Module {
|
|
|
372
410
|
const outcomes = new Map();
|
|
373
411
|
const fresh = [];
|
|
374
412
|
const consumedPending = new Map();
|
|
413
|
+
const refreshed = new Map();
|
|
375
414
|
try {
|
|
376
415
|
for (const [name, value] of enabled) {
|
|
416
|
+
const key = this.#pendingKey(workspaceId, name);
|
|
417
|
+
const invalidation = this.#dirty.get(key);
|
|
377
418
|
const definition = value;
|
|
378
419
|
const existing = previous.get(name);
|
|
379
420
|
const pending = this.#pending.get(this.#pendingKey(workspaceId, name));
|
|
@@ -427,7 +468,8 @@ export default class Module {
|
|
|
427
468
|
fresh.push(attachment);
|
|
428
469
|
}
|
|
429
470
|
next.set(name, attachment);
|
|
430
|
-
|
|
471
|
+
if (attachment !== existing)
|
|
472
|
+
refreshed.set(key, invalidation);
|
|
431
473
|
}
|
|
432
474
|
}
|
|
433
475
|
catch (cause) {
|
|
@@ -458,6 +500,17 @@ export default class Module {
|
|
|
458
500
|
snapshot: next,
|
|
459
501
|
commit: async () => {
|
|
460
502
|
this.#attachments.set(workspaceId, next);
|
|
503
|
+
// {§mcp-catalog-refresh-in-place} A published snapshot acknowledges only
|
|
504
|
+
// its captured invalidation, never a newer notification or an aborted candidate.
|
|
505
|
+
for (const [key, invalidation] of refreshed) {
|
|
506
|
+
if (this.#dirty.get(key) === invalidation)
|
|
507
|
+
this.#clearCatalogRefresh(key);
|
|
508
|
+
}
|
|
509
|
+
for (const key of this.#dirty.keys()) {
|
|
510
|
+
if (key.startsWith(`${workspaceId}:`) && !next.has(key.slice(`${workspaceId}:`.length))) {
|
|
511
|
+
this.#clearCatalogRefresh(key);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
461
514
|
const retained = new Set([...next.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []));
|
|
462
515
|
const pendingConnections = new Set([...this.#pending.values()].map(({ connection }) => connection));
|
|
463
516
|
const obsolete = [...previous.values()]
|
|
@@ -506,11 +559,9 @@ export default class Module {
|
|
|
506
559
|
if (pending.length > 0) {
|
|
507
560
|
throw new Error(`MCP workspace ${workspaceId} cannot cool with pending OAuth residency.`);
|
|
508
561
|
}
|
|
509
|
-
for (const
|
|
510
|
-
if (
|
|
511
|
-
|
|
512
|
-
clearTimeout(timer);
|
|
513
|
-
this.#refreshTimers.delete(key);
|
|
562
|
+
for (const key of this.#dirty.keys()) {
|
|
563
|
+
if (key.startsWith(`${workspaceId}:`))
|
|
564
|
+
this.#clearCatalogRefresh(key);
|
|
514
565
|
}
|
|
515
566
|
const attachments = snapshot ?? new Map();
|
|
516
567
|
const connections = [...attachments.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []);
|
|
@@ -576,16 +627,20 @@ export default class Module {
|
|
|
576
627
|
if (this.#closed)
|
|
577
628
|
return;
|
|
578
629
|
const key = this.#pendingKey(workspaceId, name);
|
|
579
|
-
if (this.#refreshTimers.has(key))
|
|
630
|
+
if (!this.#dirty.has(key) || this.#refreshTimers.has(key))
|
|
580
631
|
return;
|
|
581
|
-
const delay =
|
|
632
|
+
const delay = retryDelayMs(retryPacing(this.#env), attempt);
|
|
582
633
|
const timer = setTimeout(() => {
|
|
583
634
|
this.#refreshTimers.delete(key);
|
|
584
635
|
const identity = this.#identities.get(workspaceId);
|
|
585
|
-
if (identity === undefined || this.#closed)
|
|
636
|
+
if (identity === undefined || this.#closed) {
|
|
637
|
+
this.#dirty.delete(key);
|
|
586
638
|
return;
|
|
587
|
-
|
|
588
|
-
void this.#handleOrThrow().refresh(identity).
|
|
639
|
+
}
|
|
640
|
+
void this.#handleOrThrow().refresh(identity).then(() => {
|
|
641
|
+
if (this.#dirty.has(key))
|
|
642
|
+
this.#scheduleCatalogRefresh(workspaceId, name, attempt + 1);
|
|
643
|
+
}).catch((error) => {
|
|
589
644
|
if (statusOf(error) === 409) {
|
|
590
645
|
this.#scheduleCatalogRefresh(workspaceId, name, attempt + 1);
|
|
591
646
|
return;
|
|
@@ -596,6 +651,11 @@ export default class Module {
|
|
|
596
651
|
timer.unref();
|
|
597
652
|
this.#refreshTimers.set(key, timer);
|
|
598
653
|
}
|
|
654
|
+
#clearCatalogRefresh(key) {
|
|
655
|
+
this.#dirty.delete(key);
|
|
656
|
+
clearTimeout(this.#refreshTimers.get(key));
|
|
657
|
+
this.#refreshTimers.delete(key);
|
|
658
|
+
}
|
|
599
659
|
async close() {
|
|
600
660
|
if (this.#closed)
|
|
601
661
|
return;
|
|
@@ -603,6 +663,7 @@ export default class Module {
|
|
|
603
663
|
for (const timer of this.#refreshTimers.values())
|
|
604
664
|
clearTimeout(timer);
|
|
605
665
|
this.#refreshTimers.clear();
|
|
666
|
+
this.#dirty.clear();
|
|
606
667
|
const closing = this.#closeOwned([...this.#connections]);
|
|
607
668
|
this.#attachments.clear();
|
|
608
669
|
for (const pending of this.#pending.values())
|
|
@@ -613,4 +674,6 @@ export default class Module {
|
|
|
613
674
|
await closing;
|
|
614
675
|
}
|
|
615
676
|
}
|
|
677
|
+
_a = Module;
|
|
678
|
+
export default Module;
|
|
616
679
|
//# sourceMappingURL=Module.js.map
|
package/dist/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,2EAA2E;AAC3E,gFAAgF;AAChF,0DAA0D;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,OAAO,EACH,QAAQ,EACR,SAAS,GAOZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,gBAAgB,EAAE,EACrB,0BAA0B,EAC1B,4BAA4B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,oBAAoB,CAAC;AACnC,MAAM,MAAM,GAAG,KAAK,CAAC;AACrB,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAW,CAAC;AAClE,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAW,CAAC;AAC5E,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,wDAAwD,EAAW,CAAC;AACnG,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,gEAAgE,EAAW,CAAC;AAC5G,MAAM,WAAW,GAAG,CAChB,UAAgD,EAChD,QAAQ,GAAsB,EAAE,EACtB,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU;IACV,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;CAChE,CAAC,CAAC;AAuHH,MAAM,oBAAoB,GAAG,CAAC,UAAsB,EAAgC,EAAE,CAClF,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;AAqB1E,MAAM,iBAAkB,SAAQ,KAAK;IACxB,OAAO,CAAiB;IAEjC,YAAY,OAAuB,EAAE,KAAe;QAChD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,WAAW,GAAG,CAChB,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAU,GAAsC,EAAE,EAClD,KAAe,EACE,EAAE,CAAC,IAAI,iBAAiB,CACzC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;IACpD,KAAK,EAAE,gBAAgB;IACvB,GAAG,UAAU;CAChB,CAAC,EACF,KAAK,CACR,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAa,EAAE,CAC3C,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAElE,MAAM,gBAAgB,GAAG,CACrB,UAA+B,EAC/B,KAAc,EACd,UAAoB,EACH,EAAE;IACnB,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS;QAC1C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,cAAc,CAChB,CAAC,KAAK,EAAE,UAAU,CAAC,EACnB,eAAe,UAAU,CAAC,IAAI,mCAAmC,CACpE,CAAC;IACN,2EAA2E;IAC3E,kCAAkC;IAClC,IAAI,UAAU,CAAC,aAAa,EAAE,IAAI,KAAK,oBAAoB,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QACjG,OAAO,WAAW,CACd,iCAAiC,EACjC,GAAG,EACH,eAAe,UAAU,CAAC,IAAI,8FAA8F,EAC5H;YACI,MAAM,EAAE,UAAU,CAAC,IAAI;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ;YAC3C,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS,EAAE,KAAK;SACnB,EACD,aAAa,CAChB,CAAC;IACN,CAAC;IACD,OAAO,WAAW,CACd,oBAAoB,EACpB,GAAG,EACH,0BAA0B,UAAU,CAAC,IAAI,mBAAmB,EAC5D;QACI,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,IAAI;KAClB,EACD,aAAa,CAChB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,WAA0C,EAC7B,EAAE;IACf,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACpC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CACpE,CAAC;IACF,MAAM,MAAM,GAAG,OAAO;SACjB,MAAM,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;SACjF,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAkC,EAAE,CAChE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE,CAAC,CAAC,KAAgC;IAClC,CAAC,CAAC,IAAI,CAAC;AAEf,MAAM,gBAAgB,GAAG,CACrB,MAAyC,EACzC,OAA0B,EACtB,EAAE;IACN,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,WAAW,CACb,oBAAoB,EACpB,GAAG,EACH,6BAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACjD,EAAE,SAAS,EAAE,KAAK,EAAE,CACvB,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,GAAW,EACL,EAAE;IACR,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,WAAW,CACb,oBAAoB,EACpB,GAAG,EACH,IAAI,GAAG,+BAA+B,EACtC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CACnC,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA4B,EAAqB,EAAE;IAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACtG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAyB,EAAE,KAA0B,EAAW,EAAE,CACtF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEnD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAI,KAA4C,CAAC,OAAO;WAC7D,KAAyD,CAAC,MAAM,EAAE,OAAO,CAAC;IAClF,OAAO,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAqB,EAAU,EAAE;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,OAAO;QACH,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACvD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;QACnC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM;QACnD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;KAClC,CAAC;AACN,CAAC,CAAC;AAEF,MAAqB,MAAM;IACd,IAAI,CAAoB;IACjC,qBAAqB,CAA+C;IACpE,mBAAmB,CAA4C;IACtD,UAAU,CAA+D;IACzE,SAAS,CAAc;IACvB,SAAS,CAA2C;IACpD,eAAe,CAAsB;IAC9C,gFAAgF;IAChF,wDAAwD;IAC/C,YAAY,GAAG,IAAI,GAAG,EAA2C,CAAC;IAClE,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACnD,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnC,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChE,OAAO,CAAwC;IAC/C,OAAO,GAAG,KAAK,CAAC;IAEhB,MAAM,CAAC,IAAI,CAAC,OAAO,GAAkB,EAAE;QACnC,OAAO,IAAI,EAAM,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,YAAoB,OAA0B;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CACpB,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CACjF,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAqB;QAC7B,IAAI,CAAC,qBAAqB,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC;YAC7C,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,oBAAoB;YAC7B,gBAAgB,EAAE,cAAc;YAChC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,yCAAyC,EAAE,wBAAwB,CAAC,EAAE,EAAE;YACjL,OAAO,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,SAAS,EAAE;gBACP,OAAO,EAAE,wJAAwJ;aACpK;YACD,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpE,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;aAC1C,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;YAChF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;YAChF,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACvE,CAAC,CAAC;QACH,qDAAqD;QACrD,IAAI,CAAC,oBAAoB,CAAC;YACtB,IAAI,EAAE,8BAA8B;YACpC,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5G,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;SAC1F,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC;YACtB,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,WAAW,CAAC;gBACrB,MAAM,EAAE,eAAe;gBACvB,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,WAAW;aACvB,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACjC,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC;SACjG,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc;QACV,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,WAAmB,EAAE,IAAY;QACzC,OAAO,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,WAAmB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,0CAA0C,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAwC;QACtD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAChD,CAAC;QACF,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,SAAS;YACb,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IAC9F,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,oCAAoC;IACpC,KAAK,CAAC,SAAS,CAAC,KAAiC,EAAE,QAA2B,EAAE,OAAO,GAAyB,EAAE;QAC9G,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,UAAU,GAA6B,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,WAA6C,CAAC;YAClD,IAAI,CAAC;gBACD,WAAW,GAAG,wBAAwB,CAClC,eAAe,CAAC,KAAK,CAAC,aAAa,CAA4B,EAC/D,IAAI,CAAC,SAAS,CACjB,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,WAAW,CAAC,uBAAuB,EAAE,GAAG,EAAE,4CAA4C,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/H,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,EAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC;oBACtD,UAAU,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;oBAC7G,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE;iBAC9G,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,EAAM,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;gBACxD,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1E,SAAS,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3E,IAAI,SAA6B,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxE,WAAW,EAAE,WAAW,EAAE;gBAC1B,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;gBAClI,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;gBACjC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5G,IAAI,OAAgB,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;gBAC1H,UAAU,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE;oBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE;oBAC7C,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;iBACnD,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;oBAC9C,UAAU,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,YAAY;wBACnB,UAAU;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE;wBAC7C,OAAO,EAAE,sGAAsG;qBAClH,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,EAAE,eAAe,MAAM,2BAA2B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxI,CAAC;YACL,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrC,IAAI,SAAS,KAAK,SAAS;oBAAE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;gBAC3G,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,OAAO,CAAC;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC/F,MAAM,WAAW,CACb,yBAAyB,EACzB,GAAG,EACH,oFAAoF,EACpF,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,uEAAuE,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9H,CAAC;QACN,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,UAA+B,EAAE,OAA6B;QAChF,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAC1F,IAAI,UAAU,CAAC,SAAS,KAAK,OAAO;YAAE,MAAM,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,sDAAsD,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5J,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAO,GAAyB,EAAE;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,UAA+B,CAAC;QACpC,IAAI,CAAC;YACD,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAwB,CAAC,CAAC,CAAC;QACjI,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,uCAAuC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAChF,IAAI,KAAK,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,WAAW,CACb,gBAAgB,EAChB,GAAG,EACH,UAAU,KAAK,uCAAuC,UAAU,CAAC,IAAI,IAAI,EACzE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CACrD,CAAC;QACN,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,WAAmB,EACnB,UAA+B,EAC/B,UAA6B;QAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrF,WAAW,EAAE,WAAW,EAAE;YAC1B,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAChG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,IAAI,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBAChF,OAAO;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,IAAI,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAC5B,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EACzC,SAAS,EACT,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAC/B,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,EAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CACxB,CAAC;QACF,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACvD,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU;gBACV,UAAU,EAAE,SAAS;gBACrB,QAAQ;gBACR,OAAO,EAAE;oBACL,cAAc,EAAE,KAAK;oBACrB,IAAI,EAAE,WAAW,CACb,UAAU,CAAC,IAAI,EACf,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EACrG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAChC;oBACD,QAAQ;oBACR,YAAY;oBACZ,MAAM,EAAE,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC;iBACzE;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;gBAC9C,OAAO;oBACH,IAAI,EAAE,wBAAwB;oBAC9B,UAAU;oBACV,UAAU,EAAE,SAAS;oBACrB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;iBAC3C,CAAC;YACN,CAAC;YACD,IAAI,UAAmB,CAAC;YACxB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,wCAAwC;IACxC,KAAK,CAAC,QAAQ,CAAC,WAAwB;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAI,WAAW,CAAC,QAAmD,IAAI,IAAI,GAAG,EAAsB,CAAC;QACnH,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAoC,CAAC;YAC5E,IAAI,cAAc,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;gBAC3G,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC;gBAC7E,IAAI,cAAc,GAAG,CAAC;oBAAE,MAAM,WAAW,CACrC,aAAa,EAAE,GAAG,EAClB,eAAe,IAAI,SAAS,cAAc,qBAAqB,EAC/D,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CACpD,CAAC;YACN,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC5C,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;QACxD,IAAI,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,KAA4B,CAAC;gBAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvE,IACI,QAAQ,KAAK,SAAS;uBACnB,KAAK,KAAK,IAAI;uBACd,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;uBACrD,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;uBAC/C,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,EACvC,CAAC;oBACC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACzB,SAAS;gBACb,CAAC;gBACD,IAAI,UAAsB,CAAC;gBAC3B,MAAM,cAAc,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC3F,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS;uBACnC,KAAK,KAAK,IAAI;uBACd,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;uBAC/C,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;uBAClC,cAAc,KAAK,SAAS,CAAC;gBACpC,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;oBACpF,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAC9B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACrB,+EAA+E;oBAC/E,0EAA0E;oBAC1E,2EAA2E;oBAC3E,4EAA4E;oBAC5E,IAAI,CAAC;wBACD,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;oBACxF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,iEAAiE,EAAE,KAAK,CAAC,CAAC;wBAC3G,UAAU,GAAG,QAAQ,CAAC;oBAC1B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC;wBACD,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBACxE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,OAAO,KAAK,QAAQ;4BAAE,MAAM,KAAK,CAAC;wBACtC,MAAM,OAAO,GAAG,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wBACjG,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5F,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,kBAAkB,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;oBAC3G,CAAC;oBACD,4EAA4E;oBAC5E,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa;wBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3B,IAAI,UAAU,KAAK,QAAQ;oBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,+CAA+C,CAAC,CAAC;YACzH,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACpC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,QAAQ;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAC1G,KAAK,aAAa;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBAAC,MAAM;gBACrG,KAAK,wBAAwB;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBAAC,MAAM;YACvJ,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtH,OAAO;YACH,QAAQ;YACR,SAAS,EAAE,EAAE;YACb,QAAQ;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzC,yEAAyE;gBACzE,iFAAiF;gBACjF,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,YAAY;wBAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC9E,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;wBACtF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACnC,CAAC;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC7G,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;qBAClC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;qBAC/D,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9F,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC;oBAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;oBACpC,IAAI,UAAU,CAAC,IAAI,KAAK,wBAAwB;wBAAE,SAAS;oBAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC,UAAU;wBAAE,SAAS;oBAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;wBACnB,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;wBAC7C,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;qBAC9C,CAAC,CAAC;oBACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;4BAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC7E,CAAC;gBACL,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACrC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,WAAW,CACb,kCAAkC,EAClC,GAAG,EACH,wFAAwF,EACxF,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAClD,KAAK,CACR,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAiB,EAAE,QAA2B;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4CAA4C,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC;gBAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,WAAW,GAAI,QAAmD,IAAI,IAAI,GAAG,EAAsB,CAAC;QAC1G,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,KAAK,CAAC,cAAc,CAAC,QAA2B,EAAE,MAAyC;QACvF,gBAAgB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,oEAAoE;YACpE,yDAAyD;YACzD,MAAM,WAAW,CACb,mBAAmB,EACnB,GAAG,EACH,eAAe,KAAK,uCAAuC,EAC3D,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CACjE,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChI,MAAM,WAAW,CACb,uBAAuB,EACvB,GAAG,EACH,eAAe,KAAK,sDAAsD,EAC1E,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,iEAAiE,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9I,CAAC;QACN,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC7G,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC9G,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,WAAW,CACb,wBAAwB,EACxB,GAAG,EACH,uCAAuC,KAAK,2BAA2B,EACvE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAC9D,KAAK,CACR,CAAC;YACN,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,MAAyC;QAC1E,gBAAgB,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,WAAW,CACb,sBAAsB,EACtB,GAAG,EACH,eAAe,MAAM,wCAAwC,EAC7D,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAClD,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,CAAC,+BAA+B,EAAE,GAAG,EAAE,uDAAuD,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3I,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;YAClC,GAAG,EAAE,GAAY;YACjB,QAAQ,EAAE,QAAiB;YAC3B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAgB,EAAE,CAAC;SACrF,CAAC,CAAC;IACP,CAAC;IAED,yEAAyE;IACzE,iDAAiD;IACjD,uBAAuB,CAAC,WAAmB,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;QAClE,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClE,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACX,CAAC;YACD,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC7D,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,8BAA8B,EAAE,KAAK,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,oBAAoB,CAAC,GAAW;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../src/Summary.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,eAAO,MAAM,WAAW,SAAU,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAU/D,CAAC"}
|
package/dist/Summary.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** {§mcp-summary-derivation}: a bounded excerpt, not a generated capability claim. */
|
|
2
|
+
export const summaryLine = (text) => {
|
|
3
|
+
const normalized = text?.replaceAll(/\s+/gu, " ").trim();
|
|
4
|
+
if (normalized === undefined || normalized === "")
|
|
5
|
+
return undefined;
|
|
6
|
+
const boundary = /[.!?](?:\s|$)/u.exec(normalized);
|
|
7
|
+
const sentence = boundary === null ? normalized : normalized.slice(0, boundary.index + 1);
|
|
8
|
+
const cap = 80;
|
|
9
|
+
if (sentence.length <= cap)
|
|
10
|
+
return sentence;
|
|
11
|
+
const clipped = sentence.slice(0, cap + 1);
|
|
12
|
+
const wordBreak = clipped.lastIndexOf(" ");
|
|
13
|
+
return `${wordBreak > cap / 2 ? clipped.slice(0, wordBreak) : clipped.slice(0, cap)}…`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=Summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Summary.js","sourceRoot":"","sources":["../src/Summary.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAsB,EAAE;IACxE,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AAC3F,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolPresentation.d.ts","sourceRoot":"","sources":["../src/ToolPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolPresentation.d.ts","sourceRoot":"","sources":["../src/ToolPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAShE,eAAO,MAAM,YAAY,WACb,MAAM,UACN,SAAS,IAAI,EAAE,cACX,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KACxC,mBAuBF,CAAC"}
|
package/dist/ToolPresentation.js
CHANGED
|
@@ -1,29 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const boundary = /[.!?](?:\s|$)/u.exec(normalized);
|
|
4
|
-
const sentence = boundary === null ? normalized : normalized.slice(0, boundary.index + 1);
|
|
5
|
-
if (sentence.length <= cap)
|
|
6
|
-
return sentence;
|
|
7
|
-
const clipped = sentence.slice(0, cap + 1);
|
|
8
|
-
const wordBreak = clipped.lastIndexOf(" ");
|
|
9
|
-
return `${wordBreak > cap / 2 ? clipped.slice(0, wordBreak) : clipped.slice(0, cap)}…`;
|
|
10
|
-
};
|
|
11
|
-
// {§mcp-summary-derivation} — one tool one-liner: authored override, then the
|
|
12
|
-
// spec's display title, then the first sentence of the authored description,
|
|
13
|
-
// then the tool name. Never the container template.
|
|
1
|
+
import { summaryLine } from "./Summary.js";
|
|
2
|
+
// {§mcp-summary-derivation}: purpose first; label fallback follows MCP title precedence.
|
|
14
3
|
const toolSummary = (tool, override) => {
|
|
15
4
|
if (override !== undefined && override.trim() !== "")
|
|
16
5
|
return override.trim();
|
|
17
|
-
|
|
18
|
-
if (authored !== undefined && authored.trim() !== "")
|
|
19
|
-
return authored.trim();
|
|
20
|
-
return tool.name;
|
|
21
|
-
};
|
|
22
|
-
const firstSentenceOrEmpty = (description) => {
|
|
23
|
-
if (description === undefined)
|
|
24
|
-
return undefined;
|
|
25
|
-
const sentence = firstSentence(description);
|
|
26
|
-
return sentence.length === 0 ? undefined : sentence;
|
|
6
|
+
return summaryLine(tool.description) ?? summaryLine(tool.title) ?? summaryLine(tool.annotations?.title) ?? tool.name;
|
|
27
7
|
};
|
|
28
8
|
export const toolRegistry = (server, source, overrides) => {
|
|
29
9
|
const tools = source.toSorted((left, right) => left.name.localeCompare(right.name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolPresentation.js","sourceRoot":"","sources":["../src/ToolPresentation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ToolPresentation.js","sourceRoot":"","sources":["../src/ToolPresentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,yFAAyF;AACzF,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,QAAiB,EAAU,EAAE;IAC1D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7E,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;AACzH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,MAAc,EACd,MAAuB,EACvB,SAAuC,EACpB,EAAE;IACrB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;qBAC7F;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI;wBACd,IAAI,EAAE,SAAS;qBAClB;oBACD,WAAW,EAAE,IAAI,CAAC,WAAW;iBAChC;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3E,CAAC;QACN,CAAC,CAAC;KACL,CAAC;AACN,CAAC,CAAC"}
|