@lvy-jsd/dsh-tool-manager 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +99 -2
  2. package/cordis.patch.yml +13 -0
  3. package/lib/exempt.d.ts +45 -0
  4. package/lib/exempt.d.ts.map +1 -0
  5. package/lib/exempt.js +122 -0
  6. package/lib/exempt.js.map +1 -0
  7. package/lib/index.d.ts +1 -0
  8. package/lib/index.d.ts.map +1 -1
  9. package/lib/index.js +243 -34
  10. package/lib/index.js.map +1 -1
  11. package/lib/manifest.d.ts +21 -0
  12. package/lib/manifest.d.ts.map +1 -0
  13. package/lib/manifest.js +112 -0
  14. package/lib/manifest.js.map +1 -0
  15. package/lib/metadata.d.ts +38 -0
  16. package/lib/metadata.d.ts.map +1 -0
  17. package/lib/metadata.js +102 -0
  18. package/lib/metadata.js.map +1 -0
  19. package/lib/router/bm25.d.ts +21 -0
  20. package/lib/router/bm25.d.ts.map +1 -0
  21. package/lib/router/bm25.js +63 -0
  22. package/lib/router/bm25.js.map +1 -0
  23. package/lib/router/index.d.ts +9 -0
  24. package/lib/router/index.d.ts.map +1 -0
  25. package/lib/router/index.js +422 -0
  26. package/lib/router/index.js.map +1 -0
  27. package/lib/router/sidecar.d.ts +34 -0
  28. package/lib/router/sidecar.d.ts.map +1 -0
  29. package/lib/router/sidecar.js +156 -0
  30. package/lib/router/sidecar.js.map +1 -0
  31. package/lib/router/types.d.ts +164 -0
  32. package/lib/router/types.d.ts.map +1 -0
  33. package/lib/router/types.js +7 -0
  34. package/lib/router/types.js.map +1 -0
  35. package/lib/settings.d.ts +32 -0
  36. package/lib/settings.d.ts.map +1 -0
  37. package/lib/settings.js +93 -0
  38. package/lib/settings.js.map +1 -0
  39. package/lib/types.d.ts +137 -1
  40. package/lib/types.d.ts.map +1 -1
  41. package/package.json +8 -4
  42. package/sidecar/bin/tool-router-sidecar +0 -0
  43. package/src/exempt.ts +148 -0
  44. package/src/index.ts +245 -35
  45. package/src/manifest.ts +116 -0
  46. package/src/metadata.ts +123 -0
  47. package/src/router/bm25.ts +68 -0
  48. package/src/router/index.ts +440 -0
  49. package/src/router/sidecar.ts +159 -0
  50. package/src/router/types.ts +149 -0
  51. package/src/settings.ts +108 -0
  52. package/src/types.ts +134 -3
package/lib/index.js CHANGED
@@ -9,12 +9,22 @@
9
9
  // are provided by other plugins through the `toolCatalog` service.
10
10
  import { defineTool } from '@deepseek-ai/dsh-tools';
11
11
  import { buildCatalog, resolveTarget, toolsUnder, UNCATEGORIZED } from './catalog.js';
12
+ import { createMetadataStore, defaultMetadataFile } from './metadata.js';
13
+ import { createExemptStore, defaultExemptFile } from './exempt.js';
14
+ import { defaultManifestFile, syncManifest } from './manifest.js';
15
+ import { createSettingsStore, defaultSettingsFile } from './settings.js';
12
16
  import { createVisibilityController } from './visibility.js';
13
17
  import { createRegistries, readManifestAnnotations, listPluginPackages } from './service.js';
18
+ import { registerRouter } from './router/index.js';
14
19
  export { buildCatalog, resolveTarget, toolsUnder, estimateTokens, summary, shortName, structuralGroup, DEFAULT_CATEGORIES, UNCATEGORIZED, MISC_GROUP, OVERRIDE_PRIORITY } from './catalog.js';
15
20
  export const name = 'tool-manager';
16
21
  export const inject = ['tools'];
17
22
  export const ENTRY_TOOLS = ['tools_ls', 'tools_load', 'tools_unload'];
23
+ // Host transports that are not capabilities: never listed, loaded or restricted.
24
+ // `run_code` carries every call in DSH's PTC mode; the host refuses to restrict
25
+ // it and adds it to the view after all restrictions, so treating it as a hidden
26
+ // tool would block PTC mode outright.
27
+ export const HOST_RESERVED = ['run_code'];
18
28
  // Always visible and never listed in the directory. Names the host does not
19
29
  // have are ignored, so this list survives DSH renames. Config `pinned` adds to
20
30
  // it; config `unpin` removes from it.
@@ -43,13 +53,43 @@ function pad(text, width) {
43
53
  }
44
54
  export function apply(ctx, config = {}) {
45
55
  const logger = (typeof ctx.logger === 'function' ? ctx.logger('tool-manager') : ctx.logger) ?? console;
56
+ // Values a UI may edit live in their own file, which wins per key over the
57
+ // plugin config: an operator editing cordis.patch.yml must not have a stale
58
+ // panel overwrite it on the next click, and a panel edit must not be undone
59
+ // by the next restart.
60
+ const settings = createSettingsStore({
61
+ file: config.settingsFile ?? defaultSettingsFile(),
62
+ base: { pinned: config.pinned, unpin: config.unpin, highRisk: config.highRisk },
63
+ logger,
64
+ });
65
+ // Panel-edited tool metadata (group, category, risk, summary). Applied after
66
+ // every other annotation, so an edit corrects a package declaration instead of
67
+ // being overruled by it.
68
+ const metadata = createMetadataStore({ file: config.metadataFile ?? defaultMetadataFile(), logger });
46
69
  // Model routes whose tool list is handed to an external client once per
47
70
  // session and never refreshed (Claude Code receives DSH tools through an MCP
48
71
  // bridge at startup). Narrowing such a session hides tools it can then never
49
72
  // load, and the client already lazy-loads schemas itself (ToolSearch), so
50
- // these agents are left unrestricted. Config `exemptProviders` replaces the
51
- // default list; [] restricts every route.
52
- const exemptProviders = new Set(config.exemptProviders ?? ['claude-code']);
73
+ // these agents are left unrestricted.
74
+ //
75
+ // The list in force comes from the exemption file when it exists, else from
76
+ // config `exemptProviders` (default ["claude-code"]; [] restricts every
77
+ // route). A file entry can also name a single session id, so one session can
78
+ // be exempted without touching the route it uses.
79
+ const exemptions = createExemptStore({
80
+ file: config.exemptFile ?? defaultExemptFile(),
81
+ configProviders: config.exemptProviders ?? ['claude-code'],
82
+ logger,
83
+ });
84
+ /** Session id used to match a per-session exemption, with the agent id as fallback. */
85
+ function sessionIdOf(agent) {
86
+ const id = agent?.session?.id ?? agent?.id;
87
+ return id === undefined || id === null || id === '' ? undefined : String(id);
88
+ }
89
+ /** Why this agent is not narrowed, if it is not. */
90
+ function exemptionOf(agent) {
91
+ return exemptions.reasonFor(providerOf(agent), sessionIdOf(agent));
92
+ }
53
93
  /** The route an agent's next request will use: latest model/selection, else its options. */
54
94
  const selectionScan = new WeakMap(); // session -> incremental scan
55
95
  function providerOf(agent) {
@@ -78,13 +118,74 @@ export function apply(ctx, config = {}) {
78
118
  // load before it executes. With no gate, high-risk loads are refused.
79
119
  const riskGates = new Set();
80
120
  const pinnedSet = () => {
81
- const set = new Set([...DEFAULT_PINNED, ...(config.pinned ?? [])]);
82
- for (const n of config.unpin ?? [])
121
+ const current = settings.effective();
122
+ const set = new Set([...DEFAULT_PINNED, ...current.pinned]);
123
+ for (const n of current.unpin)
83
124
  set.delete(n);
84
125
  for (const n of ENTRY_TOOLS)
85
126
  set.add(n);
86
127
  return set;
87
128
  };
129
+ /**
130
+ * Configuration as one object for UIs. `extraPinned`/`unpinned` show the
131
+ * settings file, so the panel edits exactly what it displays; `pinned` is the
132
+ * resulting always-on set, defaults and entry tools included.
133
+ */
134
+ function configSnapshot() {
135
+ const current = settings.effective();
136
+ return {
137
+ pinned: [...pinnedSet()],
138
+ entryTools: [...ENTRY_TOOLS],
139
+ extraPinned: [...current.pinned],
140
+ unpinned: [...current.unpin],
141
+ highRisk: [...current.highRisk],
142
+ exemptProviders: [...exemptions.effective().providers],
143
+ exemptSessions: [...exemptions.effective().sessions],
144
+ exemptFile: exemptions.file,
145
+ hasExemptFile: exemptions.present(),
146
+ defaults: [...DEFAULT_PINNED],
147
+ settingsFile: settings.file,
148
+ // An empty file is not an override, so count keys rather than existence.
149
+ hasSettings: Object.keys(settings.stored()).length > 0,
150
+ };
151
+ }
152
+ /**
153
+ * One tool's metadata plus every layer behind it, so the panel can show what
154
+ * is declared, what was edited, and what the model actually gets. A tool that
155
+ * is pinned away or not registered is reported as missing rather than absent,
156
+ * so the UI can explain why there is nothing to edit.
157
+ */
158
+ function toolMetaSnapshot(name) {
159
+ const entry = getCatalog().tools.get(name);
160
+ const declared = { ...annotationForLayers(name) };
161
+ return {
162
+ name,
163
+ found: entry !== undefined,
164
+ effective: entry?.annotation ?? declared,
165
+ edited: metadata.get(name) ?? {},
166
+ declared,
167
+ group: entry?.group ?? declared.group ?? '',
168
+ category: entry?.category ?? declared.category ?? '',
169
+ summary: entry?.summary ?? declared.summary ?? '',
170
+ highRisk: entry?.highRisk === true,
171
+ path: entry ? `/${entry.category}/${entry.group}/${entry.short}` : '',
172
+ missing: entry === undefined,
173
+ };
174
+ }
175
+ /**
176
+ * The declared metadata only: package.json first, runtime annotate() after,
177
+ * with panel edits left out so the UI can tell the two apart.
178
+ */
179
+ function annotationForLayers(name) {
180
+ manifestAnnotations ??= readManifestAnnotations(ctx, logger);
181
+ const merged = {};
182
+ for (const annotation of [...manifestAnnotations, ...registries.annotations]) {
183
+ const hit = typeof annotation.match === 'string' ? annotation.match === name : annotation.match.test(name);
184
+ if (hit)
185
+ Object.assign(merged, annotation.meta);
186
+ }
187
+ return merged;
188
+ }
88
189
  // --- catalog -----------------------------------------------------------------
89
190
  // The directory is built per agent: global tools plus tools registered in the
90
191
  // agent's ancestor scopes (its preset). In the DSH web profile most tools
@@ -131,7 +232,7 @@ export function apply(ctx, config = {}) {
131
232
  if (!byName.has(s.name))
132
233
  byName.set(s.name, s);
133
234
  }
134
- const schemas = [...byName.values()].filter((s) => !pinned.has(s.name));
235
+ const schemas = [...byName.values()].filter((s) => !pinned.has(s.name) && !HOST_RESERVED.includes(s.name));
135
236
  const key = schemas.map((s) => s.name).sort().join('\n');
136
237
  const cached = catalogs.get(key);
137
238
  if (cached)
@@ -140,12 +241,20 @@ export function apply(ctx, config = {}) {
140
241
  manifestAnnotations ??= readManifestAnnotations(ctx, logger);
141
242
  const catalog = buildCatalog(schemas, {
142
243
  classifiers: [...registries.classifiers],
143
- // Package declarations first, runtime annotate() after, so runtime wins.
144
- annotations: [...manifestAnnotations, ...registries.annotations],
244
+ // Package declarations first, runtime annotate() after, so runtime wins —
245
+ // and panel edits last of all, so they win over both.
246
+ annotations: [...manifestAnnotations, ...registries.annotations, ...metadata.annotations()],
145
247
  categories: Object.fromEntries(registries.categories),
146
- highRisk: config.highRisk ?? [],
248
+ highRisk: settings.effective().highRisk,
147
249
  });
148
250
  catalogs.set(key, catalog);
251
+ // A client that receives its tool list once per session cannot discover the
252
+ // directory by asking, so it gets the index as a file instead. Written here,
253
+ // after every rebuild, so it cannot drift from what tools_load would answer.
254
+ // An empty path turns it off.
255
+ const manifestFile = config.manifestFile ?? defaultManifestFile();
256
+ if (manifestFile)
257
+ syncManifest(catalog, manifestFile, logger);
149
258
  ctx.emit('tool-catalog/after-rebuild', { catalog });
150
259
  return catalog;
151
260
  };
@@ -157,10 +266,7 @@ export function apply(ctx, config = {}) {
157
266
  // The catalog is rebuilt lazily after any registry change.
158
267
  invalidate,
159
268
  onStateChange: (agent, state) => ctx.emit('tool-catalog/state-changed', { agent, state }),
160
- isExempt: (agent) => {
161
- const provider = providerOf(agent);
162
- return provider !== undefined && exemptProviders.has(provider);
163
- },
269
+ isExempt: (agent) => exemptionOf(agent).exempt,
164
270
  logger,
165
271
  });
166
272
  if (typeof ctx.inject === 'function') {
@@ -227,8 +333,11 @@ export function apply(ctx, config = {}) {
227
333
  /** Replace an agent's loaded state (e.g. restored after a restart). */
228
334
  importState: (agent, state) => visibility.importState(agent, state),
229
335
  allowFor: (agent) => visibility.allowFor(agent),
336
+ deniedFor: (agent) => [...deniedFor(agent)],
230
337
  /** True when the agent's model route is in `exemptProviders` (never narrowed). */
231
338
  isExempt: (agent) => visibility.isExempt(agent),
339
+ /** Why an agent is exempt, so the panel can label a route-wide exemption. */
340
+ exemptionOf: (agent) => exemptionOf(agent),
232
341
  /**
233
342
  * Load/unload on behalf of an agent, through the same path as the entry
234
343
  * tools (hooks, vetoes, risk gates and persistence all apply). Returns the
@@ -246,14 +355,69 @@ export function apply(ctx, config = {}) {
246
355
  return { agent, id: String(agent.id), parentId: parent ? String(parent.id) : null };
247
356
  });
248
357
  },
249
- /** Effective configuration, for UI display. */
250
- config: () => ({
251
- pinned: [...pinnedSet()],
252
- entryTools: [...ENTRY_TOOLS],
253
- extraPinned: config.pinned ?? [],
254
- unpinned: config.unpin ?? [],
255
- highRisk: config.highRisk ?? [],
256
- }),
358
+ /** Effective configuration, for UI display and editing. */
359
+ config: () => configSnapshot(),
360
+ /**
361
+ * Persist UI-edited settings and apply them at once. The catalog is rebuilt
362
+ * because a changed always-on or high-risk list changes every directory.
363
+ */
364
+ updateConfig(patch) {
365
+ settings.update(patch);
366
+ invalidate();
367
+ visibility.refresh();
368
+ ctx.emit('tool-catalog/settings-changed', { config: configSnapshot() });
369
+ return configSnapshot();
370
+ },
371
+ /** Re-read the settings file, for after an external edit. */
372
+ reloadConfig() {
373
+ settings.reload();
374
+ invalidate();
375
+ visibility.refresh();
376
+ ctx.emit('tool-catalog/settings-changed', { config: configSnapshot() });
377
+ return configSnapshot();
378
+ },
379
+ /**
380
+ * Exempt one session from narrowing, or stop exempting it. Written to the
381
+ * exemption file, so the choice survives a restart and is reversible by
382
+ * editing or deleting that one file.
383
+ */
384
+ setExemptSession(sessionId, exempt) {
385
+ exemptions.setSession(String(sessionId), exempt);
386
+ // An exemption installs or lifts a restriction, so re-apply it now.
387
+ visibility.refresh();
388
+ ctx.emit('tool-catalog/settings-changed', { config: configSnapshot() });
389
+ return configSnapshot();
390
+ },
391
+ /** Re-read the exemption file, for after an external edit. */
392
+ reloadExempt() {
393
+ exemptions.reload();
394
+ visibility.refresh();
395
+ ctx.emit('tool-catalog/settings-changed', { config: configSnapshot() });
396
+ return configSnapshot();
397
+ },
398
+ /** Metadata of one tool, with the layers that decide each field. */
399
+ toolMeta: (name) => toolMetaSnapshot(String(name)),
400
+ /**
401
+ * Edit metadata from the panel. The store wins over the package
402
+ * declaration, and the catalog is rebuilt so the Directory tab moves the
403
+ * tool at once.
404
+ */
405
+ updateToolMeta(name, meta) {
406
+ metadata.set(String(name), meta);
407
+ invalidate();
408
+ visibility.refresh();
409
+ ctx.emit('tool-catalog/metadata-changed', { name: String(name) });
410
+ return toolMetaSnapshot(String(name));
411
+ },
412
+ /** Drop every edited field of one tool, falling back to its declaration. */
413
+ clearToolMeta(name) {
414
+ metadata.clear(String(name));
415
+ invalidate();
416
+ visibility.refresh();
417
+ ctx.emit('tool-catalog/metadata-changed', { name: String(name) });
418
+ return toolMetaSnapshot(String(name));
419
+ },
420
+ metadataFile: () => metadata.file,
257
421
  /** Enabled plugin packages on this host: `{ name, dir, manifest }[]`. */
258
422
  packages: () => listPluginPackages(ctx),
259
423
  /** Registered extension points, so a UI can show what is active. */
@@ -299,6 +463,13 @@ export function apply(ctx, config = {}) {
299
463
  },
300
464
  };
301
465
  ctx.provide('toolCatalog', service);
466
+ // --- the retrieval + routing layer ---------------------------------------------
467
+ //
468
+ // The router reuses the toolCatalog service just provided: it indexes the same
469
+ // catalog, loads through the same path, and reports the same token budget. It
470
+ // adds tools_find / tools_route / skills_find / skills_route on top of the
471
+ // directory tools above.
472
+ registerRouter(ctx, config, service);
302
473
  // --- direct calls of a hidden tool -----------------------------------------------
303
474
  //
304
475
  // A tool this plugin hid is still a registered tool: the model may call it by
@@ -353,17 +524,47 @@ export function apply(ctx, config = {}) {
353
524
  ctx.emit('tool-catalog/auto-loaded', { agent, name });
354
525
  return undefined;
355
526
  }
527
+ // --- tools another layer hides ---------------------------------------------------
528
+ // Our allowlist intersects with every other restriction on the agent (MCP
529
+ // connector governance, its per-session injection, other plugins), so a tool
530
+ // can be pinned or loaded here and still never reach the model. The host's
531
+ // final view tells them apart; without it nothing is reported.
532
+ function deniedFor(agent) {
533
+ const allow = agent ? visibility.allowFor(agent) : null;
534
+ if (!agent || !allow || typeof ctx.tools.view !== 'function')
535
+ return new Set();
536
+ let visible;
537
+ try {
538
+ visible = ctx.tools.view(agent).visible;
539
+ }
540
+ catch {
541
+ return new Set();
542
+ }
543
+ if (!visible)
544
+ return new Set();
545
+ const cat = getCatalog(agent);
546
+ return new Set(allow.filter((name) => cat.tools.has(name) && !visible.has(name)));
547
+ }
548
+ const warnedDenied = new Set();
549
+ function warnDenied(names) {
550
+ const fresh = names.filter((name) => !warnedDenied.has(name));
551
+ if (!fresh.length)
552
+ return;
553
+ for (const name of fresh)
554
+ warnedDenied.add(name);
555
+ logger?.warn?.(`tool-manager: loaded but hidden by another restriction: ${fresh.join(', ')}. If these are MCP tools, check the connector's governance rules and set the connection to "always inject" (per-session injection narrows on top of this plugin).`);
556
+ }
356
557
  // --- listing -------------------------------------------------------------------
357
558
  function visibleSetFor(agent) {
358
559
  const allow = agent ? visibility.allowFor(agent) : null;
359
560
  return allow ? new Set(allow) : null;
360
561
  }
361
- function toolLine(tool, visible, withPath = false) {
562
+ function toolLine(tool, visible, denied, withPath = false) {
362
563
  const marks = `${visible?.has(tool.name) ? '*' : ' '}${tool.highRisk ? '!' : ' '}`;
363
564
  const label = withPath ? `/${tool.category}/${tool.group}/${tool.short}` : tool.short;
364
- return ` ${marks} ${pad(label, withPath ? 48 : 34)}${pad(fmtTokens(tool.tokens), 11)}${tool.summary}`;
565
+ return ` ${marks} ${pad(label, withPath ? 48 : 34)}${pad(fmtTokens(tool.tokens), 11)}${denied.has(tool.name) ? '[denied] ' : ''}${tool.summary}`;
365
566
  }
366
- function listing(cat, node, visible) {
567
+ function listing(cat, node, visible, denied = new Set()) {
367
568
  const count = (tools) => ({
368
569
  n: tools.length,
369
570
  loaded: tools.filter((t) => visible?.has(t.name)).length,
@@ -371,7 +572,7 @@ export function apply(ctx, config = {}) {
371
572
  });
372
573
  const lines = [];
373
574
  if (node.kind === 'root') {
374
- lines.push('/ (categories; * = loaded, ! = high risk; tools_ls with query searches everything)');
575
+ lines.push('/ (categories; * = loaded, ! = high risk, [denied] = loaded but blocked by another plugin; tools_ls with query searches everything)');
375
576
  for (const category of cat.categories.values()) {
376
577
  const c = count(category.groups.flatMap((g) => g.tools));
377
578
  if (c.n === 0 && category.name !== UNCATEGORIZED)
@@ -389,11 +590,11 @@ export function apply(ctx, config = {}) {
389
590
  else if (node.kind === 'group') {
390
591
  lines.push(`/${node.group.category}/${node.group.name}/`);
391
592
  for (const tool of node.group.tools)
392
- lines.push(toolLine(tool, visible));
593
+ lines.push(toolLine(tool, visible, denied));
393
594
  }
394
595
  else if (node.kind === 'tool') {
395
596
  const t = node.tool;
396
- lines.push(`/${t.category}/${t.group}/${t.short}`, ` name: ${t.name}`, ` ${t.summary}`, ` schema ${fmtTokens(t.tokens)}${t.highRisk ? ' · high risk: load it on its own' : ''}${visible?.has(t.name) ? ' · loaded' : ''}`);
597
+ lines.push(`/${t.category}/${t.group}/${t.short}`, ` name: ${t.name}`, ` ${t.summary}`, ` schema ${fmtTokens(t.tokens)}${t.highRisk ? ' · high risk: load it on its own' : ''}${visible?.has(t.name) ? ' · loaded' : ''}${denied.has(t.name) ? ' · denied by another plugin (e.g. an MCP connector rule): not callable' : ''}`);
397
598
  }
398
599
  return lines.join('\n');
399
600
  }
@@ -407,12 +608,12 @@ export function apply(ctx, config = {}) {
407
608
  return words.every((w) => hay.includes(w));
408
609
  });
409
610
  }
410
- function search(cat, node, query, visible) {
611
+ function search(cat, node, query, visible, denied = new Set()) {
411
612
  const hits = matchingTools(cat, node, query);
412
613
  if (!hits.length)
413
614
  return `No tools match "${query}".`;
414
615
  const shown = hits.slice(0, 40);
415
- return [`${hits.length} match(es) for "${query}" (load by path or full name):`, ...shown.map((t) => toolLine(t, visible, true)), hits.length > shown.length ? ` … ${hits.length - shown.length} more; narrow the query or the path` : ''].filter(Boolean).join('\n');
616
+ return [`${hits.length} match(es) for "${query}" (load by path or full name):`, ...shown.map((t) => toolLine(t, visible, denied, true)), hits.length > shown.length ? ` … ${hits.length - shown.length} more; narrow the query or the path` : ''].filter(Boolean).join('\n');
416
617
  }
417
618
  function agentOf(exec) {
418
619
  if (!exec?.agent)
@@ -485,10 +686,16 @@ export function apply(ctx, config = {}) {
485
686
  const after = visibility.allowFor(agent) ?? [];
486
687
  const added = after.filter((n) => !before.has(n));
487
688
  ctx.emit('tool-catalog/after-load', { agent, targets, added });
488
- const tokens = added.reduce((sum, n) => sum + (cat.tools.get(n)?.tokens ?? 0), 0);
689
+ const denied = deniedFor(agent);
690
+ const blocked = added.filter((n) => denied.has(n));
691
+ const callable = added.filter((n) => !denied.has(n));
692
+ if (blocked.length)
693
+ warnDenied(blocked);
694
+ const tokens = callable.reduce((sum, n) => sum + (cat.tools.get(n)?.tokens ?? 0), 0);
489
695
  return [
490
- added.length ? `Loaded ${added.length} tool(s), ${fmtTokens(tokens)}; callable from your next step:` : 'Nothing new loaded.',
491
- ...added.map((n) => ` ${n}`),
696
+ callable.length ? `Loaded ${callable.length} tool(s), ${fmtTokens(tokens)}; callable from your next step:` : 'Nothing new loaded.',
697
+ ...callable.map((n) => ` ${n}`),
698
+ ...(blocked.length ? [`Denied by another plugin (e.g. an MCP connector rule), not callable even when loaded: ${blocked.join(', ')}`] : []),
492
699
  ...notes,
493
700
  ].join('\n');
494
701
  }
@@ -552,8 +759,10 @@ export function apply(ctx, config = {}) {
552
759
  const node = resolveTarget(cat, args.path ?? '/', [...registries.resolvers]);
553
760
  if (node.kind === 'missing')
554
761
  return `No such path: ${node.target}. Start from tools_ls("/") or search with tools_ls({query}).`;
555
- const visible = visibleSetFor(exec?.agent);
556
- return args.query ? search(cat, node, args.query, visible) : listing(cat, node, visible);
762
+ const agent = exec?.agent;
763
+ const visible = visibleSetFor(agent);
764
+ const denied = deniedFor(agent);
765
+ return args.query ? search(cat, node, args.query, visible, denied) : listing(cat, node, visible, denied);
557
766
  },
558
767
  }));
559
768
  ctx.tools.register(defineTool({
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,mEAAmE;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAK7L,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAA;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;AAErE,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,sCAAsC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC,CAAA;AAEzC,4EAA4E;AAC5E,+EAA+E;AAC/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW;IACX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IACnF,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IACvG,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa;IACzG,aAAa;IACb,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa;IACnG,sCAAsC;IACtC,QAAQ;IACR,4EAA4E;IAC5E,mCAAmC;IACnC,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW;CAC/F,CAAA;AAED,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,CAAC,KAAc,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;CACnF,CAAA;AAEV,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;AACnE,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa;IACtC,OAAO,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAgB,EAAE,SAAqB,EAAE;IAC7D,MAAM,MAAM,GAAW,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAA;IAC9G,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,uBAAuB;IACvB,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,mBAAmB,EAAE;QAClD,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC/E,MAAM;KACP,CAAC,CAAA;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,yBAAyB;IACzB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACpG,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,sCAAsC;IACtC,EAAE;IACF,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,kDAAkD;IAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE;QAC9C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC;QAC1D,MAAM;KACP,CAAC,CAAA;IAEF,uFAAuF;IACvF,SAAS,WAAW,CAAC,KAAY;QAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,CAAA;QAC1C,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,oDAAoD;IACpD,SAAS,WAAW,CAAC,KAAY;QAC/B,OAAO,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,4FAA4F;IAC5F,MAAM,aAAa,GAAG,IAAI,OAAO,EAAyD,CAAA,CAAC,8BAA8B;IACzH,SAAS,UAAU,CAAC,KAAY;QAC9B,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAA;QAC9B,IAAI,CAAC;YACH,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;gBAC1E,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;oBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAClC,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ;wBAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;gBACpG,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAI,CAAA;gBACvB,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAChC,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;YACzC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QACD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAA;IACzE,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE7C,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5C,KAAK,MAAM,CAAC,IAAI,WAAW;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED;;;;OAIG;IACH,SAAS,cAAc;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;QACpC,OAAO;YACL,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC;YACxB,UAAU,EAAE,CAAC,GAAG,WAAW,CAAC;YAC5B,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC/B,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;YACtD,cAAc,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;YACpD,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE;YACnC,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC;YAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,yEAAyE;YACzE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;SACvD,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,gBAAgB,CAAC,IAAY;QACpC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAa,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAA;QAC3D,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,KAAK,KAAK,SAAS;YAC1B,SAAS,EAAE,KAAK,EAAE,UAAU,IAAI,QAAQ;YACxC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAChC,QAAQ;YACR,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC3C,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE;YACpD,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE;YACjD,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI;YAClC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;YACrE,OAAO,EAAE,KAAK,KAAK,SAAS;SAC7B,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,mBAAmB,CAAC,IAAY;QACvC,mBAAmB,KAAK,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,mBAAmB,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7E,MAAM,GAAG,GAAG,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1G,IAAI,GAAG;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,gFAAgF;IAChF,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA,CAAE,gCAAgC;IAC7E,IAAI,mBAAmB,GAAwB,IAAI,CAAA;IACnD,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACvC,UAAU,EAAE,CAAA;QACZ,UAAU,EAAE,OAAO,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,SAAS,QAAQ,CAAC,UAA0D,EAAE,IAAY;QACxF,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC5F,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,CAAA;IACrG,CAAC;IAED,4EAA4E;IAC5E,SAAS,gBAAgB,CAAC,KAAwB;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,KAAK,IAAI,OAAO,MAAM,EAAE,WAAW,KAAK,UAAU;YAAE,OAAO,EAAE,CAAA;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,GAAG,GAAiB,EAAE,CAAA;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,GAAG;gBAAE,SAAQ;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9F,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+EAA+E;IAC/E,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE;QAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAqB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1G,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAA;QAC3C,mBAAmB,KAAK,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE;YACpC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC;YACxC,0EAA0E;YAC1E,sDAAsD;YACtD,WAAW,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC3F,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACrD,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ;SACxC,CAAC,CAAA;QACF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC1B,4EAA4E;QAC5E,6EAA6E;QAC7E,6EAA6E;QAC7E,8BAA8B;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,mBAAmB,EAAE,CAAA;QACjE,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAC7D,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QACnD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,EAAE;QACjD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;QAC9B,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACzC,UAAU;QACV,2DAA2D;QAC3D,UAAU;QACV,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACzF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM;QAC9C,MAAM;KACP,CAAC,CAAA;IAEF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,EAAE,CAAC,wEAAwE,CAAC,CAAA;IACzF,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAA;IAEtE,4EAA4E;IAC5E,sEAAsE;IACtE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAiD,EAAE,IAAmB,EAAE,EAAE;QAC5H,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,GAAG,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,EAAE,CAAA;QAC5F,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAK,CAAC,IAAI,CAAC,CAAA;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QACnE,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAA;IAExC,kFAAkF;IAClF,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,wBAAwB,EAAE,UAAU,CAAC,wBAAwB;QAC7D;;;;WAIG;QACH,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;QACzD;;;;WAIG;QACH,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;QACvD;;;WAGG;QACH,gBAAgB,CAAC,OAAiB,EAAE;YAClC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE,CAAA;YAChD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,gDAAgD;QAChD,OAAO;YACL,mBAAmB,GAAG,IAAI,CAAA;YAC1B,UAAU,EAAE,CAAA;YACZ,UAAU,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QACD,mEAAmE;QACnE,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QACzC,OAAO,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/G,mGAAmG;QACnG,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;QACpD,sEAAsE;QACtE,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;QAC5D,uEAAuE;QACvE,WAAW,EAAE,CAAC,KAAY,EAAE,KAA+B,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QACpG,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,kFAAkF;QAClF,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,6EAA6E;QAC7E,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QACjD;;;;;WAKG;QACH,IAAI,EAAE,CAAC,KAAY,EAAE,OAA0B,EAAE,OAAqB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/G,MAAM,EAAE,CAAC,KAAY,EAAE,OAA0B,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;QACnF,+DAA+D;QAC/D,MAAM,EAAE,GAAG,EAAE;YACX,yEAAyE;YACzE,gEAAgE;YAChE,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACzC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACrF,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,2DAA2D;QAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;QAC9B;;;WAGG;QACH,YAAY,CAAC,KAAK;YAChB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,UAAU,EAAE,CAAA;YACZ,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,EAAE,CAAA;QACzB,CAAC;QACD,6DAA6D;QAC7D,YAAY;YACV,QAAQ,CAAC,MAAM,EAAE,CAAA;YACjB,UAAU,EAAE,CAAA;YACZ,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,EAAE,CAAA;QACzB,CAAC;QACD;;;;WAIG;QACH,gBAAgB,CAAC,SAAiB,EAAE,MAAe;YACjD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;YAChD,oEAAoE;YACpE,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,EAAE,CAAA;QACzB,CAAC;QACD,8DAA8D;QAC9D,YAAY;YACV,UAAU,CAAC,MAAM,EAAE,CAAA;YACnB,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,EAAE,CAAA;QACzB,CAAC;QACD,oEAAoE;QACpE,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D;;;;WAIG;QACH,cAAc,CAAC,IAAI,EAAE,IAAI;YACvB,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;YAChC,UAAU,EAAE,CAAA;YACZ,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,4EAA4E;QAC5E,aAAa,CAAC,IAAI;YAChB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5B,UAAU,EAAE,CAAA;YACZ,UAAU,CAAC,OAAO,EAAE,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI;QACjC,yEAAyE;QACzE,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC;QACvC,oEAAoE;QACpE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YACjB,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;YAClG,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9F,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE;SAC5C,CAAC;QACF;;;WAGG;QACH,IAAI,EAAE,CAAC,KAAa,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAA;YACtC,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;aACjC,CAAC,CAAC,CAAA;QACL,CAAC;QACD,kFAAkF;QAClF,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACzD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBACvC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAA;YACnD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KAC2B,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IAEnC,kFAAkF;IAClF,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,yBAAyB;IACzB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpC,oFAAoF;IACpF,EAAE;IACF,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,iBAAiB;IACjB,EAAE;IACF,sEAAsE;IACtE,oEAAoE;IACpE,+EAA+E;IAC/E,wDAAwD;IACxD,8EAA8E;IAC9E,uEAAuE;IACvE,KAAK,UAAU,gBAAgB,CAAC,KAAY,EAAE,IAAY;QACxD,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QAC5C,0EAA0E;QAC1E,4EAA4E;QAC5E,2BAA2B;QAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,IAAI,qEAAqE,IAAI,+BAA+B,CAAA;QACzH,CAAC;QACD,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,IAAI,cAAc,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;QACzD,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,yEAAyE;YACzE,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,IAAI,IAAI,kEAAkE,CAAA;QACnF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,+DAA+D;IAC/D,SAAS,SAAS,CAAC,KAAwB;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QAC9E,IAAI,OAAmD,CAAA;QACvD,IAAI,CAAC;YACH,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,EAAE,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,SAAS,UAAU,CAAC,KAAwB;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAM;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,EAAE,IAAI,EAAE,CAAC,2DAA2D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mKAAmK,CAAC,CAAA;IAChQ,CAAC;IAED,kFAAkF;IAClF,SAAS,aAAa,CAAC,KAAwB;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED,SAAS,QAAQ,CAAC,IAAe,EAAE,OAA2B,EAAE,MAAmB,EAAE,QAAQ,GAAG,KAAK;QACnG,MAAM,KAAK,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACrF,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IACnJ,CAAC;IAED,SAAS,OAAO,CAAC,GAAY,EAAE,IAAiB,EAAE,OAA2B,EAAE,SAAsB,IAAI,GAAG,EAAE;QAC5G,MAAM,KAAK,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,CAAC;YAC9C,CAAC,EAAE,KAAK,CAAC,MAAM;YACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACxD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD,CAAC,CAAA;QACF,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,sIAAsI,CAAC,CAAA;YAClJ,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa;oBAAE,SAAQ;gBAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;YACjK,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;YACnE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC9H,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;YACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QAClF,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACpU,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,8FAA8F;IAC9F,SAAS,aAAa,CAAC,GAAY,EAAE,IAAiB,EAAE,KAAc;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5E,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAA;YAC/E,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,MAAM,CAAC,GAAY,EAAE,IAAiB,EAAE,KAAa,EAAE,OAA2B,EAAE,SAAsB,IAAI,GAAG,EAAE;QAC1H,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,mBAAmB,KAAK,IAAI,CAAA;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,mBAAmB,KAAK,gCAAgC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/Q,CAAC;IAED,SAAS,OAAO,CAAC,IAAqC;QACpD,IAAI,CAAC,IAAI,EAAE,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvF,OAAO,IAAI,CAAC,KAAc,CAAA;IAC5B,CAAC;IAED,oFAAoF;IAEpF;;;;;OAKG;IACH,KAAK,UAAU,WAAW,CAAC,KAAY,EAAE,OAA0B,EAAE,EAAE,YAAY,GAAG,KAAK,KAAkB,EAAE;QAC7G,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5I,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAA;oBAC5H,SAAQ;gBACV,CAAC;gBACD,wEAAwE;gBACxE,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;wBAC5C,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;4BAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,uEAAuE,CAAC,CAAA;4BAC/F,SAAQ;wBACV,CAAC;wBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC3B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAChC,IAAI,YAAY;4BAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACrD,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC1G,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC5B,IAAI,YAAY;wBAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;wBAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;oBACvE,IAAI,KAAK,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,mCAAmC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;gBACzH,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,uEAAuE,CAAC,CAAA;wBACpG,SAAQ;oBACV,CAAC;oBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACrC,IAAI,YAAY;wBAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,MAAM;YAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACpF,OAAO;YACL,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,QAAQ,CAAC,MAAM,aAAa,SAAS,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,qBAAqB;YAClI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yFAAyF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1I,GAAG,KAAK;SACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;IAED,yDAAyD;IACzD,KAAK,UAAU,aAAa,CAAC,KAAY,EAAE,OAA0B;QACnE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;oBAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,GAAG,CAAC,KAAK,EAAE,CAAA;oBACnD,SAAQ;gBACV,CAAC;gBACD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;wBAC5C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC9B,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACtC,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC1G,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC/B,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;wBAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACzC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAClE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAA;IACrI,CAAC;IAED,oFAAoF;IACpF,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,yXAAyX;QAC3X,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4FAA4F,EAAE;YACnI,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0GAA0G,EAAE;SACnJ;QACD,MAAM,EAAE,WAAW;QACnB,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI;QAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YACtB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAA0B,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,iBAAiB,IAAI,CAAC,MAAM,8DAA8D,CAAA;YAC9H,MAAM,KAAK,GAAG,IAAI,EAAE,KAA0B,CAAA;YAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC1G,CAAC;KACF,CAAC,CAAC,CAAA;IAEH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,qaAAqa;QACva,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yCAAyC,EAAE;YAC7H,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2DAA2D,EAAE;SAC5G;QACD,MAAM,EAAE,WAAW;QACnB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YACtB,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC,CAAA;QACrG,CAAC;KACF,CAAC,CAAC,CAAA;IAEH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,kKAAkK;QACpK,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iDAAiD,EAAE;SACtI;QACD,MAAM,EAAE,WAAW;QACnB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YACtB,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QACzD,CAAC;KACF,CAAC,CAAC,CAAA;AACL,CAAC;AAQD,0DAA0D;AAC1D,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,MAAM,CAAE,KAAkD,EAAE,OAAO,IAAI,KAAK,CAAC,CAAA;AACtF,CAAC;AAED,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,21 @@
1
+ import type { Catalog, Logger } from './types.js';
2
+ /** Where the manifest goes unless a deployment points elsewhere. */
3
+ export declare function defaultManifestFile(): string;
4
+ /**
5
+ * The catalog as markdown: category, then group, then tool names with their
6
+ * summaries. Summaries are cut to one line so a group of 30 tools stays
7
+ * scannable, and the counts let a reader judge a load before making it.
8
+ */
9
+ export declare function renderManifest(catalog: Catalog): string;
10
+ /** Write atomically; a crash cannot leave a half-written prompt. */
11
+ export declare function writeManifest(file: string, text: string, logger?: Logger): boolean;
12
+ /** Write the manifest for this catalog, if it changed. */
13
+ export declare function syncManifest(catalog: Catalog, file: string, logger?: Logger): boolean;
14
+ /**
15
+ * The `@` line a CLAUDE.md needs to pull the manifest in.
16
+ *
17
+ * `@` has to open the line or follow whitespace, and a path with spaces is
18
+ * escaped — the same rules Claude Code applies to its own imports.
19
+ */
20
+ export declare function manifestImport(file: string): string;
21
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEjD,oEAAoE;AACpE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAyBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAoBvD;AAWD,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAalF;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAErF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}