@mcp-abap-adt/llm-agent-libs 20.8.0 → 20.9.1

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 (61) hide show
  1. package/dist/agent/rag-orchestrator.d.ts.map +1 -1
  2. package/dist/agent/rag-orchestrator.js +4 -5
  3. package/dist/agent/rag-orchestrator.js.map +1 -1
  4. package/dist/agent.d.ts +6 -1
  5. package/dist/agent.d.ts.map +1 -1
  6. package/dist/agent.js +13 -11
  7. package/dist/agent.js.map +1 -1
  8. package/dist/builder-types.d.ts +2 -0
  9. package/dist/builder-types.d.ts.map +1 -1
  10. package/dist/builder-types.js.map +1 -1
  11. package/dist/builder.d.ts +17 -1
  12. package/dist/builder.d.ts.map +1 -1
  13. package/dist/builder.js +107 -4
  14. package/dist/builder.js.map +1 -1
  15. package/dist/coordinator/stepper/cyclic-react-executor.d.ts.map +1 -1
  16. package/dist/coordinator/stepper/cyclic-react-executor.js +7 -6
  17. package/dist/coordinator/stepper/cyclic-react-executor.js.map +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/interfaces/mcp-connection-strategy.d.ts +1 -1
  23. package/dist/interfaces/mcp-connection-strategy.d.ts.map +1 -1
  24. package/dist/interfaces/pipeline.d.ts +13 -1
  25. package/dist/interfaces/pipeline.d.ts.map +1 -1
  26. package/dist/mcp/tool-registry.d.ts +14 -2
  27. package/dist/mcp/tool-registry.d.ts.map +1 -1
  28. package/dist/mcp/tool-registry.js +46 -22
  29. package/dist/mcp/tool-registry.js.map +1 -1
  30. package/dist/mcp/vectorize-mcp-tools.d.ts +25 -2
  31. package/dist/mcp/vectorize-mcp-tools.d.ts.map +1 -1
  32. package/dist/mcp/vectorize-mcp-tools.js +169 -59
  33. package/dist/mcp/vectorize-mcp-tools.js.map +1 -1
  34. package/dist/pipeline/context.d.ts +16 -1
  35. package/dist/pipeline/context.d.ts.map +1 -1
  36. package/dist/pipeline/default-pipeline.d.ts.map +1 -1
  37. package/dist/pipeline/default-pipeline.js +2 -0
  38. package/dist/pipeline/default-pipeline.js.map +1 -1
  39. package/dist/pipeline/handlers/normalize-heartbeat-ms.d.ts +11 -0
  40. package/dist/pipeline/handlers/normalize-heartbeat-ms.d.ts.map +1 -0
  41. package/dist/pipeline/handlers/normalize-heartbeat-ms.js +24 -0
  42. package/dist/pipeline/handlers/normalize-heartbeat-ms.js.map +1 -0
  43. package/dist/pipeline/handlers/tool-loop-core.d.ts +1 -1
  44. package/dist/pipeline/handlers/tool-loop-core.d.ts.map +1 -1
  45. package/dist/pipeline/handlers/tool-loop-core.js +25 -18
  46. package/dist/pipeline/handlers/tool-loop-core.js.map +1 -1
  47. package/dist/pipeline/handlers/tool-loop.d.ts +1 -1
  48. package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
  49. package/dist/pipeline/handlers/tool-loop.js +23 -22
  50. package/dist/pipeline/handlers/tool-loop.js.map +1 -1
  51. package/dist/pipeline/handlers/tool-select.d.ts.map +1 -1
  52. package/dist/pipeline/handlers/tool-select.js +18 -14
  53. package/dist/pipeline/handlers/tool-select.js.map +1 -1
  54. package/dist/resilience/retry-llm.d.ts.map +1 -1
  55. package/dist/resilience/retry-llm.js +5 -3
  56. package/dist/resilience/retry-llm.js.map +1 -1
  57. package/dist/session/session-graph-factory.d.ts +24 -1
  58. package/dist/session/session-graph-factory.d.ts.map +1 -1
  59. package/dist/session/session-graph-factory.js +14 -1
  60. package/dist/session/session-graph-factory.js.map +1 -1
  61. package/package.json +14 -14
@@ -1,11 +1,26 @@
1
+ import { assertClientDescriptors, buildNamespacedTools, defaultToolNamespace, } from '@mcp-abap-adt/llm-agent';
2
+ import { isDebugArea } from '../logger/debug-areas.js';
3
+ import { NoopRequestLogger } from '../logger/noop-request-logger.js';
4
+ import { vectorizeMcpTools } from './vectorize-mcp-tools.js';
1
5
  export class McpToolRegistry {
2
6
  connectionStrategy;
3
7
  ragStores;
4
8
  activeClients;
5
- constructor(initialClients, connectionStrategy, ragStores) {
9
+ activeClientDescriptors = [];
10
+ configuredSlotCount;
11
+ requestLogger;
12
+ logger;
13
+ toolRecordKey;
14
+ toolNamespace;
15
+ constructor(initialClients, connectionStrategy, ragStores, deps) {
6
16
  this.connectionStrategy = connectionStrategy;
7
17
  this.ragStores = ragStores;
8
18
  this.activeClients = [...initialClients];
19
+ this.configuredSlotCount = this.activeClients.length;
20
+ this.requestLogger = deps?.requestLogger ?? new NoopRequestLogger();
21
+ this.logger = deps?.logger;
22
+ this.toolRecordKey = deps?.toolRecordKey;
23
+ this.toolNamespace = deps?.toolNamespace ?? defaultToolNamespace;
9
24
  }
10
25
  getActiveClients() {
11
26
  return this.activeClients;
@@ -15,6 +30,15 @@ export class McpToolRegistry {
15
30
  return;
16
31
  const result = await this.connectionStrategy.resolve(this.activeClients, opts);
17
32
  this.activeClients = result.clients;
33
+ assertClientDescriptors(result.clients, result.clientDescriptors, result.configuredSlotCount);
34
+ this.activeClientDescriptors =
35
+ result.clientDescriptors ??
36
+ this.activeClients.map((_, i) => ({ slotIndex: i }));
37
+ this.configuredSlotCount =
38
+ result.configuredSlotCount ?? this.activeClients.length;
39
+ if (isDebugArea('mcp')) {
40
+ console.error(`[mcp] tool-registry: resolved ${this.activeClients.length} active of ${this.configuredSlotCount} configured slot(s)`);
41
+ }
18
42
  if (result.toolsChanged) {
19
43
  await this.revectorizeTools(result.clients, opts);
20
44
  }
@@ -23,34 +47,34 @@ export class McpToolRegistry {
23
47
  const toolsRag = this.ragStores.tools ?? Object.values(this.ragStores)[0];
24
48
  if (!toolsRag)
25
49
  return;
26
- for (const client of clients) {
27
- const result = await client.listTools(opts);
28
- if (!result.ok)
29
- continue;
30
- for (const tool of result.value) {
31
- const text = `Tool: ${tool.name} — ${tool.description}`;
32
- await toolsRag.writer?.()?.upsertRaw(`tool:${tool.name}`, text, {});
33
- }
34
- }
50
+ // Reuse the single startup vectorization path so reconnect gets the same
51
+ // IToolRecordKey, the name stored in metadata, and batch/bulk writing —
52
+ // rather than a second hand-rolled loop that hardcoded `tool:${name}` and
53
+ // reintroduced the #240 collision on multi-server reconnects. `opts` carries
54
+ // the request signal so an aborted reconnect stops promptly.
55
+ await vectorizeMcpTools(clients, toolsRag, this.requestLogger, this.logger, this.toolRecordKey, opts, {
56
+ descriptors: this.activeClientDescriptors,
57
+ configuredSlotCount: this.configuredSlotCount,
58
+ toolNamespace: this.toolNamespace,
59
+ });
35
60
  }
36
61
  async resolve(opts) {
37
62
  await this.resolveActiveClients(opts);
38
- const tools = [];
39
- const toolClientMap = new Map();
40
63
  const settled = await Promise.allSettled(this.activeClients.map(async (client) => ({
41
64
  client,
42
65
  result: await client.listTools(opts),
43
66
  })));
44
- for (const e of settled) {
45
- if (e.status === 'fulfilled' && e.value.result.ok) {
46
- for (const t of e.value.result.value) {
47
- if (!toolClientMap.has(t.name)) {
48
- tools.push(t);
49
- toolClientMap.set(t.name, e.value.client);
50
- }
51
- }
52
- }
53
- }
67
+ const perClient = settled.flatMap((e, i) => e.status === 'fulfilled' && e.value.result.ok
68
+ ? [
69
+ {
70
+ slotIndex: this.activeClientDescriptors[i]?.slotIndex ?? i,
71
+ label: this.activeClientDescriptors[i]?.label,
72
+ client: e.value.client,
73
+ tools: e.value.result.value,
74
+ },
75
+ ]
76
+ : []);
77
+ const { tools, toolClientMap } = buildNamespacedTools(perClient, this.toolNamespace);
54
78
  return { tools, toolClientMap };
55
79
  }
56
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/mcp/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/mcp/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * Pure coordinators of catalog components — no builder state, no private fields.
11
11
  */
12
- import type { ILogger, IMcpClient, IRag, IRequestLogger, ISkillManager, ToolCatalogStatus } from '@mcp-abap-adt/llm-agent';
12
+ import type { CallOptions, ILogger, IMcpClient, IRag, IRequestLogger, ISkillManager, IToolNamespace, IToolRecordKey, LlmTool, McpClientDescriptor, ToolCatalogStatus } from '@mcp-abap-adt/llm-agent';
13
13
  /**
14
14
  * Alias of ToolCatalogStatus, which is declared in `@mcp-abap-adt/llm-agent`
15
15
  * so the leaf contracts package need not depend on this one.
@@ -20,6 +20,29 @@ import type { ILogger, IMcpClient, IRag, IRequestLogger, ISkillManager, ToolCata
20
20
  * failed to be written
21
21
  */
22
22
  export type ToolVectorizationSummary = ToolCatalogStatus;
23
- export declare function vectorizeMcpTools(clients: IMcpClient[], toolsRag: IRag | undefined, requestLogger: IRequestLogger, logger: ILogger | undefined): Promise<ToolVectorizationSummary | undefined>;
23
+ export declare function vectorizeMcpTools(clients: IMcpClient[], toolsRag: IRag | undefined, requestLogger: IRequestLogger, logger: ILogger | undefined, toolRecordKey?: IToolRecordKey, options?: CallOptions, ns?: {
24
+ descriptors?: readonly McpClientDescriptor[];
25
+ configuredSlotCount?: number;
26
+ toolNamespace?: IToolNamespace;
27
+ /**
28
+ * A snapshot already built by the caller (the builder's single
29
+ * `listTools()` pass, #244 addendum) — when present, this function skips
30
+ * its own Phase-1 listing + `buildNamespacedTools` call entirely and
31
+ * iterates this view instead, so the catalog is never listed twice and
32
+ * never diverges from what the caller (and the pipeline/registry) already
33
+ * agreed on. `clientFailures`/`total` seed the accounting below so
34
+ * `summary.complete` still reflects a partial-catalog failure instead of
35
+ * being hardcoded true.
36
+ */
37
+ prebuiltView?: {
38
+ tools: readonly LlmTool[];
39
+ provenance: ReadonlyMap<string, {
40
+ slotIndex: number;
41
+ originalName: string;
42
+ }>;
43
+ clientFailures: number;
44
+ total: number;
45
+ };
46
+ }): Promise<ToolVectorizationSummary | undefined>;
24
47
  export declare function vectorizeSkills(skillManager: ISkillManager, toolsRag: IRag, requestLogger: IRequestLogger, logger: ILogger | undefined): Promise<void>;
25
48
  //# sourceMappingURL=vectorize-mcp-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vectorize-mcp-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/vectorize-mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,OAAO,EACP,UAAU,EACV,IAAI,EAEJ,cAAc,EACd,aAAa,EAEb,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AA4DzD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,GAC1B,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAuJ/C;AAED,wBAAsB,eAAe,CACnC,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"vectorize-mcp-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/vectorize-mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,OAAO,EACP,UAAU,EACV,IAAI,EAEJ,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,OAAO,EACP,mBAAmB,EAGnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAiEzD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,GAAE,cAAqC,EACpD,OAAO,CAAC,EAAE,WAAW,EACrB,EAAE,CAAC,EAAE;IACH,WAAW,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;QAC1B,UAAU,EAAE,WAAW,CACrB,MAAM,EACN;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAC5C,CAAC;QACF,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,GACA,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAgR/C;AAED,wBAAsB,eAAe,CACnC,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -9,11 +9,14 @@
9
9
  *
10
10
  * Pure coordinators of catalog components — no builder state, no private fields.
11
11
  */
12
- import { isBatchEmbedder } from '@mcp-abap-adt/llm-agent';
12
+ import { assertClientDescriptors, buildNamespacedTools, DefaultWaitStrategy, defaultToolNamespace, defaultToolRecordKey, isBatchEmbedder, } from '@mcp-abap-adt/llm-agent';
13
13
  const MAX_NAMES_IN_LOG = 10;
14
14
  /** Preserved from the previous implementation — see the write loop below. */
15
15
  const SEQUENTIAL_PACING_EVERY = 5;
16
16
  const SEQUENTIAL_PACING_MS = 500;
17
+ // Stateless; honours signal, including one already aborted (unlike a raw
18
+ // addEventListener, which never fires for an event that already dispatched).
19
+ const pacingWait = new DefaultWaitStrategy();
17
20
  function toolText(name, description) {
18
21
  return `Tool: ${name} — ${description}`;
19
22
  }
@@ -27,11 +30,11 @@ function toolText(name, description) {
27
30
  * one aggregated record for the whole `embedBatch`; logging here as well would
28
31
  * produce N+1 records and inflate reported token usage.
29
32
  */
30
- async function writeOne(writer, id, text, vector, requestLogger, detail) {
33
+ async function writeOne(writer, id, text, vector, requestLogger, detail, metadata = {}, options) {
31
34
  const start = Date.now();
32
35
  const result = vector && writer.upsertPrecomputedRaw
33
- ? await writer.upsertPrecomputedRaw(id, text, vector, {})
34
- : await writer.upsertRaw(id, text, {});
36
+ ? await writer.upsertPrecomputedRaw(id, text, vector, metadata, options)
37
+ : await writer.upsertRaw(id, text, metadata, options);
35
38
  const ok = result?.ok === true;
36
39
  if (ok && vector === undefined) {
37
40
  const est = Math.ceil(text.length / 4);
@@ -49,80 +52,184 @@ async function writeOne(writer, id, text, vector, requestLogger, detail) {
49
52
  }
50
53
  return ok;
51
54
  }
52
- export async function vectorizeMcpTools(clients, toolsRag, requestLogger, logger) {
55
+ export async function vectorizeMcpTools(clients, toolsRag, requestLogger, logger, toolRecordKey = defaultToolRecordKey, options, ns) {
53
56
  const writer = toolsRag?.writer?.();
54
57
  // No store, or a deliberately read-only one: nothing is attempted, and the
55
58
  // status stays unknown rather than reporting a permanently incomplete
56
59
  // catalog for a configuration that never intended to write.
57
60
  if (!toolsRag || !writer)
58
61
  return undefined;
59
- const acc = { total: 0, vectorized: 0, failed: [], clientFailures: 0 };
62
+ // Fail-fast on a malformed connection result (a buggy custom strategy)
63
+ // before any listing/writing starts. A no-op when descriptors are absent.
64
+ assertClientDescriptors(clients, ns?.descriptors, ns?.configuredSlotCount);
65
+ const toolNamespace = ns?.toolNamespace ?? defaultToolNamespace;
66
+ // Cancellable: reconnect revectorization carries a request signal, so an
67
+ // aborted request must stop listing, embedding and writing rather than run to
68
+ // completion in the background.
69
+ if (options?.signal?.aborted)
70
+ return undefined;
71
+ const acc = {
72
+ total: ns?.prebuiltView?.total ?? 0,
73
+ vectorized: 0,
74
+ failed: [],
75
+ clientFailures: ns?.prebuiltView?.clientFailures ?? 0,
76
+ };
60
77
  // Why the batch path was abandoned, if it was. Reported once, inside the
61
78
  // summary line: swallowing it entirely would hide exactly the provider
62
79
  // message that made #236 diagnosable in the first place.
63
80
  let batchFailure;
64
81
  // biome-ignore lint/suspicious/noExplicitAny: reading the store's private embedder for batch optimisation
65
82
  const storeEmbedder = toolsRag.embedder;
66
- for (const adapter of clients) {
67
- // Only listing is guarded at client level. A write that throws must NOT be
68
- // charged to the client, must not abort the remaining tools, and must land
69
- // in `failed` — see the per-tool try/catch below.
70
- let tools;
71
- try {
72
- const toolsResult = await adapter.listTools();
73
- if (!toolsResult.ok) {
83
+ let tools;
84
+ let provenance;
85
+ if (ns?.prebuiltView) {
86
+ // The caller already listed every client and namespaced the full exposed
87
+ // set (index-preservingly) — reuse it verbatim rather than relisting.
88
+ tools = ns.prebuiltView.tools;
89
+ provenance = ns.prebuiltView.provenance;
90
+ }
91
+ else {
92
+ // ---- Phase 1: list every client BEFORE any namespacing/collision decision.
93
+ // Collision detection needs the FULL cross-client tool set — deciding
94
+ // per-client (the previous single-pass loop) could never see a name used
95
+ // by a client listed later, so it could not namespace at all.
96
+ const perClient = [];
97
+ for (let clientIndex = 0; clientIndex < clients.length; clientIndex++) {
98
+ if (options?.signal?.aborted)
99
+ break;
100
+ const adapter = clients[clientIndex];
101
+ const descriptor = ns?.descriptors?.[clientIndex];
102
+ // Only listing is guarded at client level. A write that throws must NOT be
103
+ // charged to the client, must not abort the remaining tools, and must land
104
+ // in `failed` — see the per-tool try/catch below.
105
+ let clientTools;
106
+ try {
107
+ const toolsResult = await adapter.listTools(options);
108
+ if (!toolsResult.ok) {
109
+ acc.clientFailures++;
110
+ continue;
111
+ }
112
+ clientTools = toolsResult.value;
113
+ }
114
+ catch {
74
115
  acc.clientFailures++;
75
116
  continue;
76
117
  }
77
- tools = toolsResult.value;
118
+ acc.total += clientTools.length;
119
+ perClient.push({
120
+ // Stable slotIndex from the connection result, not this loop's own
121
+ // index — a filtered active set must not re-map ids (#244).
122
+ slotIndex: descriptor?.slotIndex ?? clientIndex,
123
+ label: descriptor?.label,
124
+ client: adapter,
125
+ tools: clientTools,
126
+ });
78
127
  }
79
- catch {
80
- acc.clientFailures++;
81
- continue;
128
+ // ---- Phase 2: namespace the FULL exposed set, then embed/write it flat.
129
+ // `provenance` carries each exposed name's ORIGINAL name + stable slotIndex,
130
+ // which the record key needs (a flat index into `tools` would mis-map once
131
+ // a client exposes more than one tool).
132
+ const built = buildNamespacedTools(perClient, toolNamespace);
133
+ tools = built.tools;
134
+ provenance = built.provenance;
135
+ }
136
+ const configuredCount = ns?.configuredSlotCount ?? clients.length;
137
+ const keyFor = (originalName, slotIndex) => {
138
+ const id = toolRecordKey.key({
139
+ toolName: originalName,
140
+ clientIndex: slotIndex,
141
+ clientCount: configuredCount,
142
+ });
143
+ // Enforce the IToolRecordKey contract at write time: a key without the
144
+ // `tool:` prefix would be written and counted as vectorized, but every
145
+ // retrieval path (toolNameFromRecord) would ignore it — a silent
146
+ // unretrievable record. Fail fast instead.
147
+ if (!id.startsWith('tool:')) {
148
+ throw new Error(`IToolRecordKey produced "${id}" for tool "${originalName}"; a tool record id must start with "tool:" so retrieval can tell it apart from skills.`);
82
149
  }
83
- acc.total += tools.length;
84
- const texts = tools.map((t) => toolText(t.name, t.description));
85
- let vectors;
86
- if (storeEmbedder &&
87
- isBatchEmbedder(storeEmbedder) &&
88
- writer.upsertPrecomputedRaw !== undefined) {
89
- const start = Date.now();
90
- try {
91
- const results = await storeEmbedder.embedBatch(texts);
92
- vectors = results.map((r) => r.vector);
93
- const real = results.reduce((a, r) => r.usage
94
- ? {
95
- p: (a?.p ?? 0) + r.usage.promptTokens,
96
- t: (a?.t ?? 0) + r.usage.totalTokens,
97
- }
98
- : a, null);
99
- const est = texts.reduce((s, t) => s + Math.ceil(t.length / 4), 0);
100
- // The ONLY usage record for the batch path; writeOne stays silent when
101
- // it receives a precomputed vector.
102
- requestLogger.logLlmCall({
103
- component: 'embedding',
104
- model: 'embedder',
105
- promptTokens: real?.p ?? est,
106
- completionTokens: 0,
107
- totalTokens: real?.t ?? est,
108
- durationMs: Date.now() - start,
109
- estimated: real === null,
110
- scope: 'initialization',
111
- detail: 'tools',
112
- });
113
- }
114
- catch (err) {
115
- // Falls through to the sequential path below. Chunking and retry
116
- // already ran inside the embedder, so reaching here means the
117
- // provider is genuinely unusable for batch work.
118
- vectors = undefined;
119
- batchFailure ??= err instanceof Error ? err.message : String(err);
120
- }
150
+ return id;
151
+ };
152
+ // Text and metadata.name use the EXPOSED name (`t.name`, already renamed by
153
+ // buildNamespacedTools above); the record id uses the ORIGINAL name +
154
+ // stable slotIndex from provenance.
155
+ const texts = tools.map((t) => toolText(t.name, t.description));
156
+ // Computed once, outside any per-tool try/catch, so an invalid key strategy
157
+ // fails the boot fast rather than landing every tool in `failed`.
158
+ const ids = tools.map((t) => {
159
+ const p = provenance.get(t.name);
160
+ if (!p)
161
+ throw new Error(`vectorizeMcpTools: no provenance entry for exposed tool "${t.name}"`);
162
+ return keyFor(p.originalName, p.slotIndex);
163
+ });
164
+ let vectors;
165
+ if (storeEmbedder &&
166
+ isBatchEmbedder(storeEmbedder) &&
167
+ writer.upsertPrecomputedRaw !== undefined) {
168
+ const start = Date.now();
169
+ try {
170
+ const results = await storeEmbedder.embedBatch(texts, options);
171
+ vectors = results.map((r) => r.vector);
172
+ const real = results.reduce((a, r) => r.usage
173
+ ? {
174
+ p: (a?.p ?? 0) + r.usage.promptTokens,
175
+ t: (a?.t ?? 0) + r.usage.totalTokens,
176
+ }
177
+ : a, null);
178
+ const est = texts.reduce((s, t) => s + Math.ceil(t.length / 4), 0);
179
+ // The ONLY usage record for the batch path; writeOne stays silent when
180
+ // it receives a precomputed vector.
181
+ requestLogger.logLlmCall({
182
+ component: 'embedding',
183
+ model: 'embedder',
184
+ promptTokens: real?.p ?? est,
185
+ completionTokens: 0,
186
+ totalTokens: real?.t ?? est,
187
+ durationMs: Date.now() - start,
188
+ estimated: real === null,
189
+ scope: 'initialization',
190
+ detail: 'tools',
191
+ });
192
+ }
193
+ catch (err) {
194
+ // Falls through to the sequential path below. Chunking and retry
195
+ // already ran inside the embedder, so reaching here means the
196
+ // provider is genuinely unusable for batch work.
197
+ vectors = undefined;
198
+ batchFailure ??= err instanceof Error ? err.message : String(err);
121
199
  }
200
+ }
201
+ // Bulk fast path: when we have precomputed vectors AND the writer supports
202
+ // a native bulk upsert, write the whole catalog in one call instead of N.
203
+ // All-or-nothing, so on failure we fall through to the per-tool loop, which
204
+ // classifies exactly which record is bad.
205
+ let bulkWritten = false;
206
+ if (vectors && writer.upsertManyPrecomputedRaw) {
207
+ const bulk = await writer
208
+ .upsertManyPrecomputedRaw(tools.map((t, i) => ({
209
+ id: ids[i],
210
+ text: texts[i],
211
+ vector: vectors[i],
212
+ // Store the EXPOSED name so retrieval recovers it via
213
+ // toolNameFromRecord, independent of the key scheme.
214
+ metadata: { name: t.name },
215
+ })), options)
216
+ .catch((err) => ({
217
+ ok: false,
218
+ error: err instanceof Error ? err : new Error(String(err)),
219
+ }));
220
+ if (bulk.ok) {
221
+ acc.vectorized += tools.length;
222
+ bulkWritten = true;
223
+ }
224
+ // else: fall through to the per-tool loop below.
225
+ }
226
+ if (!bulkWritten) {
122
227
  for (let i = 0; i < tools.length; i++) {
228
+ if (options?.signal?.aborted)
229
+ break;
123
230
  let ok = false;
124
231
  try {
125
- ok = await writeOne(writer, `tool:${tools[i].name}`, texts[i], vectors?.[i], requestLogger, 'tools');
232
+ ok = await writeOne(writer, ids[i], texts[i], vectors?.[i], requestLogger, 'tools', { name: tools[i].name }, options);
126
233
  }
127
234
  catch {
128
235
  // A throwing write is this tool's failure, not the client's: the loop
@@ -142,7 +249,10 @@ export async function vectorizeMcpTools(clients, toolsRag, requestLogger, logger
142
249
  if (vectors === undefined &&
143
250
  (i + 1) % SEQUENTIAL_PACING_EVERY === 0 &&
144
251
  i < tools.length - 1) {
145
- await new Promise((r) => setTimeout(r, SEQUENTIAL_PACING_MS));
252
+ // Cancellable via DefaultWaitStrategy: an already-aborted signal returns
253
+ // immediately, so a request aborted during the preceding write does not
254
+ // sit through the full pause. The next loop iteration then breaks.
255
+ await pacingWait.wait(SEQUENTIAL_PACING_MS, options?.signal);
146
256
  }
147
257
  }
148
258
  }
@@ -195,7 +305,7 @@ export async function vectorizeSkills(skillManager, toolsRag, requestLogger, log
195
305
  const text = `Skill: ${s.name}\n${s.description}`;
196
306
  let ok = false;
197
307
  try {
198
- ok = await writeOne(writer, `skill:${s.name}`, text, undefined, requestLogger, 'skills');
308
+ ok = await writeOne(writer, `skill:${s.name}`, text, undefined, requestLogger, 'skills', { name: s.name });
199
309
  }
200
310
  catch {
201
311
  ok = false;
@@ -1 +1 @@
1
- {"version":3,"file":"vectorize-mcp-tools.js","sourceRoot":"","sources":["../../src/mcp/vectorize-mcp-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vectorize-mcp-tools.js","sourceRoot":"","sources":["../../src/mcp/vectorize-mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAajC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,6EAA6E;AAC7E,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,yEAAyE;AACzE,6EAA6E;AAC7E,MAAM,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAS7C,SAAS,QAAQ,CAAC,IAAY,EAAE,WAA+B;IAC7D,OAAO,SAAS,IAAI,MAAM,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,QAAQ,CACrB,MAAyB,EACzB,EAAU,EACV,IAAY,EACZ,MAA4B,EAC5B,aAA6B,EAC7B,MAA0B,EAC1B,WAAwB,EAAE,EAC1B,OAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,MAAM,GACV,MAAM,IAAI,MAAM,CAAC,oBAAoB;QACnC,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,aAAa,CAAC,UAAU,CAAC;YACvB,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,GAAG;YACjB,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,gBAAgB;YACvB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAqB,EACrB,QAA0B,EAC1B,aAA6B,EAC7B,MAA2B,EAC3B,gBAAgC,oBAAoB,EACpD,OAAqB,EACrB,EAuBC;IAED,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACpC,2EAA2E;IAC3E,sEAAsE;IACtE,4DAA4D;IAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,uEAAuE;IACvE,0EAA0E;IAC1E,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,EAAE,EAAE,aAAa,IAAI,oBAAoB,CAAC;IAChE,yEAAyE;IACzE,8EAA8E;IAC9E,gCAAgC;IAChC,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,GAAG,GAAQ;QACf,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;QACnC,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,IAAI,CAAC;KACtD,CAAC;IACF,yEAAyE;IACzE,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,YAAgC,CAAC;IACrC,0GAA0G;IAC1G,MAAM,aAAa,GAAI,QAAgB,CAAC,QAAiC,CAAC;IAE1E,IAAI,KAAyB,CAAC;IAC9B,IAAI,UAGH,CAAC;IAEF,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC;QACrB,yEAAyE;QACzE,sEAAsE;QACtE,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC9B,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,sEAAsE;QACtE,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YACtE,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;gBAAE,MAAM;YACpC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC;YAClD,2EAA2E;YAC3E,2EAA2E;YAC3E,kDAAkD;YAClD,IAAI,WAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACpB,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC;gBACb,mEAAmE;gBACnE,4DAA4D;gBAC5D,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,WAAW;gBAC/C,KAAK,EAAE,UAAU,EAAE,KAAK;gBACxB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,2EAA2E;QAC3E,wCAAwC;QACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC7D,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,EAAE,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAElE,MAAM,MAAM,GAAG,CAAC,YAAoB,EAAE,SAAiB,EAAU,EAAE;QACjE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC;YAC3B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;QACH,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,4BAA4B,EAAE,eAAe,YAAY,yFAAyF,CACnJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,4EAA4E;IAC5E,sEAAsE;IACtE,oCAAoC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YACJ,MAAM,IAAI,KAAK,CACb,4DAA4D,CAAC,CAAC,IAAI,GAAG,CACtE,CAAC;QACJ,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,OAA+B,CAAC;IACpC,IACE,aAAa;QACb,eAAe,CAAC,aAAa,CAAC;QAC9B,MAAM,CAAC,oBAAoB,KAAK,SAAS,EACzC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC;oBACE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY;oBACrC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW;iBACrC;gBACH,CAAC,CAAC,CAAC,EACP,IAAI,CACL,CAAC;YACF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,uEAAuE;YACvE,oCAAoC;YACpC,aAAa,CAAC,UAAU,CAAC;gBACvB,SAAS,EAAE,WAAW;gBACtB,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,IAAI,EAAE,CAAC,IAAI,GAAG;gBAC5B,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,GAAG;gBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,SAAS,EAAE,IAAI,KAAK,IAAI;gBACxB,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,8DAA8D;YAC9D,iDAAiD;YACjD,OAAO,GAAG,SAAS,CAAC;YACpB,YAAY,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,0CAA0C;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,OAAO,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,MAAM;aACtB,wBAAwB,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACV,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,MAAM,EAAG,OAAsB,CAAC,CAAC,CAAC;YAClC,sDAAsD;YACtD,qDAAqD;YACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SAC3B,CAAC,CAAC,EACH,OAAO,CACR;aACA,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3D,CAAC,CAAC,CAAC;QACN,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;YAC/B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,iDAAiD;IACnD,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;gBAAE,MAAM;YACpC,IAAI,EAAE,GAAG,KAAK,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,GAAG,MAAM,QAAQ,CACjB,MAAM,EACN,GAAG,CAAC,CAAC,CAAC,EACN,KAAK,CAAC,CAAC,CAAC,EACR,OAAO,EAAE,CAAC,CAAC,CAAC,EACZ,aAAa,EACb,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvB,OAAO,CACR,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,4CAA4C;gBAC5C,EAAE,GAAG,KAAK,CAAC;YACb,CAAC;YACD,IAAI,CAAC,EAAE;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;gBACnC,GAAG,CAAC,UAAU,EAAE,CAAC;YAEtB,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,qDAAqD;YACrD,IACE,OAAO,KAAK,SAAS;gBACrB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,uBAAuB,KAAK,CAAC;gBACvC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EACpB,CAAC;gBACD,yEAAyE;gBACzE,wEAAwE;gBACxE,mEAAmE;gBACnE,MAAM,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA6B;QACxC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,QAAQ,EAAE,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;KAC9D,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY;QAC5B,CAAC,CAAC,gEAAgE,YAAY,EAAE;QAChF,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,cAAc,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,aAAa,SAAS,EAAE;SACnF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB;YACtC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB,QAAQ;YACxD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,CAAC;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,OAAO,EACL,cAAc,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,cAAc;gBAC/D,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK,GAAG,IAAI,EAAE;gBAClD,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC;oBACzB,CAAC,CAAC,KAAK,OAAO,CAAC,cAAc,iCAAiC;oBAC9D,CAAC,CAAC,EAAE,CAAC;gBACP,SAAS;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAA2B,EAC3B,QAAc,EACd,aAA6B,EAC7B,MAA2B;IAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IACrD,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO;IAC7B,8EAA8E;IAC9E,6EAA6E;IAC7E,oBAAoB;IACpB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,QAAQ,CACjB,MAAM,EACN,SAAS,CAAC,CAAC,IAAI,EAAE,EACjB,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CACjB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,mCAAmC,CAAC,CAAC,IAAI,GAAG;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -15,8 +15,9 @@
15
15
  * The `tool-loop` stage streams. It uses `ctx.yield()` to push
16
16
  * SSE chunks back to the caller. All other stages are batch operations.
17
17
  */
18
- import type { CallOptions, IContextAssembler, IEmbedder, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, ILogger, IMcpClient, IMcpFailureClassifier, IQueryEmbedding, IQueryExpander, IRagProviderRegistry, IRagRegistry, IRequestLogger, ISkill, ISkillManager, ISubpromptClassifier, IToolCache, IToolSelectionStrategy, LlmStreamChunk, LlmTool, McpTool, Message, OnPartial, Plan, RagResult, Result, StepResult, SubAgentRegistry, Subprompt, TimingEntry, ToolLoopContextStrategyFactory } from '@mcp-abap-adt/llm-agent';
18
+ import type { CallOptions, IContextAssembler, IEmbedder, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, ILogger, IMcpClient, IMcpFailureClassifier, IQueryEmbedding, IQueryExpander, IRagProviderRegistry, IRagRegistry, IRequestLogger, ISkill, ISkillManager, ISubpromptClassifier, IToolCache, IToolNamespace, IToolSelectionStrategy, LlmStreamChunk, LlmTool, McpTool, Message, OnPartial, Plan, RagResult, Result, StepResult, SubAgentRegistry, Subprompt, TimingEntry, ToolLoopContextStrategyFactory } from '@mcp-abap-adt/llm-agent';
19
19
  import type { OrchestratorError, SmartAgentConfig, SmartAgentRagStores } from '../agent.js';
20
+ import type { McpClientDescriptor } from '../interfaces/mcp-connection-strategy.js';
20
21
  import type { IMetrics } from '../metrics/types.js';
21
22
  import type { PendingToolResultsRegistry } from '../policy/pending-tool-results-registry.js';
22
23
  import type { ToolAvailabilityRegistry } from '../policy/tool-availability-registry.js';
@@ -43,6 +44,20 @@ export interface PipelineContext {
43
44
  readonly ragRegistry: IRagRegistry | undefined;
44
45
  readonly ragProviderRegistry: IRagProviderRegistry | undefined;
45
46
  readonly mcpClients: IMcpClient[];
47
+ /**
48
+ * Per-client stable identity (slotIndex+label), aligned with `mcpClients`
49
+ * from the SAME `connectionStrategy.resolve()` snapshot — never drifts
50
+ * relative to `mcpClients` across a reconnect. Falls back to
51
+ * `{slotIndex:i}` at point-of-use when absent (e.g. caller-provided
52
+ * clients with no connection strategy).
53
+ */
54
+ readonly mcpClientDescriptors?: readonly McpClientDescriptor[];
55
+ /**
56
+ * Strategy that names colliding MCP tools when two+ clients expose the
57
+ * same bare tool name. Unset until the builder wires an override (Task
58
+ * 10); handlers fall back to `defaultToolNamespace` at point-of-use.
59
+ */
60
+ readonly toolNamespace?: IToolNamespace;
46
61
  readonly reranker: IReranker;
47
62
  readonly queryExpander: IQueryExpander;
48
63
  readonly toolCache: IToolCache;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/pipeline/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,IAAI,EACJ,SAAS,EACT,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,MAAM,WAAW,eAAe;IAG9B,qDAAqD;IACrD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5C,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC5D,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,aAAa,EAAE,cAAc,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,mHAAmH;IACnH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IACtD,wGAAwG;IACxG,QAAQ,CAAC,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;IAIzE,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,qDAAqD;IACrD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,4CAA4C;IAC5C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,cAAc,EAAE,eAAe,GAAG,SAAS,CAAC;IAC5C,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,gDAAgD;IAChD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+DAA+D;IAC/D,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,6CAA6C;IAC7C,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,8CAA8C;IAC9C,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,6DAA6D;IAC7D,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAIlB,6EAA6E;IAC7E,cAAc,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,aAAa,EAAE,OAAO,CAAC;IAIvB,gDAAgD;IAChD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kDAAkD;IAClD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAI1B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAItB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/pipeline/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"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"}
@@ -318,6 +318,8 @@ export class DefaultPipeline {
318
318
  ragRegistry: this.deps.ragRegistry,
319
319
  ragProviderRegistry: this.deps.ragProviderRegistry,
320
320
  mcpClients: this.deps.mcpClients,
321
+ mcpClientDescriptors: this.deps.mcpClientDescriptors,
322
+ toolNamespace: this.deps.toolNamespace,
321
323
  reranker: this.resolvedReranker,
322
324
  queryExpander: this.resolvedQueryExpander,
323
325
  toolCache: this.resolvedToolCache,