@mcp-abap-adt/llm-agent 20.7.1 → 20.9.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 (66) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +8 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +8 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/interfaces/assert-client-descriptors.d.ts +6 -0
  7. package/dist/interfaces/assert-client-descriptors.d.ts.map +1 -0
  8. package/dist/interfaces/assert-client-descriptors.js +27 -0
  9. package/dist/interfaces/assert-client-descriptors.js.map +1 -0
  10. package/dist/interfaces/build-namespaced-tools.d.ts +21 -0
  11. package/dist/interfaces/build-namespaced-tools.d.ts.map +1 -0
  12. package/dist/interfaces/build-namespaced-tools.js +48 -0
  13. package/dist/interfaces/build-namespaced-tools.js.map +1 -0
  14. package/dist/interfaces/builder.d.ts +17 -1
  15. package/dist/interfaces/builder.d.ts.map +1 -1
  16. package/dist/interfaces/health.d.ts +11 -0
  17. package/dist/interfaces/health.d.ts.map +1 -1
  18. package/dist/interfaces/index.d.ts +4 -2
  19. package/dist/interfaces/index.d.ts.map +1 -1
  20. package/dist/interfaces/index.js +3 -1
  21. package/dist/interfaces/index.js.map +1 -1
  22. package/dist/interfaces/mcp-connection-strategy.d.ts +14 -0
  23. package/dist/interfaces/mcp-connection-strategy.d.ts.map +1 -1
  24. package/dist/interfaces/merge-offered-tools.d.ts +8 -0
  25. package/dist/interfaces/merge-offered-tools.d.ts.map +1 -0
  26. package/dist/interfaces/merge-offered-tools.js +14 -0
  27. package/dist/interfaces/merge-offered-tools.js.map +1 -0
  28. package/dist/interfaces/pipeline-plugin.d.ts +4 -0
  29. package/dist/interfaces/pipeline-plugin.d.ts.map +1 -1
  30. package/dist/interfaces/rag.d.ts +31 -0
  31. package/dist/interfaces/rag.d.ts.map +1 -1
  32. package/dist/interfaces/rag.js +10 -0
  33. package/dist/interfaces/rag.js.map +1 -1
  34. package/dist/interfaces/tool-catalog.d.ts +35 -0
  35. package/dist/interfaces/tool-catalog.d.ts.map +1 -0
  36. package/dist/interfaces/tool-catalog.js +7 -0
  37. package/dist/interfaces/tool-catalog.js.map +1 -0
  38. package/dist/interfaces/tool-namespace.d.ts +24 -0
  39. package/dist/interfaces/tool-namespace.d.ts.map +1 -0
  40. package/dist/interfaces/tool-namespace.js +20 -0
  41. package/dist/interfaces/tool-namespace.js.map +1 -0
  42. package/dist/interfaces/tool-record-key.d.ts +59 -0
  43. package/dist/interfaces/tool-record-key.d.ts.map +1 -0
  44. package/dist/interfaces/tool-record-key.js +40 -0
  45. package/dist/interfaces/tool-record-key.js.map +1 -0
  46. package/dist/resilience/batch-chunking-embedder.d.ts +23 -0
  47. package/dist/resilience/batch-chunking-embedder.d.ts.map +1 -0
  48. package/dist/resilience/batch-chunking-embedder.js +45 -0
  49. package/dist/resilience/batch-chunking-embedder.js.map +1 -0
  50. package/dist/resilience/circuit-breaker-embedder.d.ts +23 -3
  51. package/dist/resilience/circuit-breaker-embedder.d.ts.map +1 -1
  52. package/dist/resilience/circuit-breaker-embedder.js +25 -1
  53. package/dist/resilience/circuit-breaker-embedder.js.map +1 -1
  54. package/dist/resilience/embedder-resilience.d.ts +42 -0
  55. package/dist/resilience/embedder-resilience.d.ts.map +1 -0
  56. package/dist/resilience/embedder-resilience.js +66 -0
  57. package/dist/resilience/embedder-resilience.js.map +1 -0
  58. package/dist/resilience/index.d.ts +4 -1
  59. package/dist/resilience/index.d.ts.map +1 -1
  60. package/dist/resilience/index.js +4 -1
  61. package/dist/resilience/index.js.map +1 -1
  62. package/dist/resilience/retry-embedder.d.ts +79 -0
  63. package/dist/resilience/retry-embedder.d.ts.map +1 -0
  64. package/dist/resilience/retry-embedder.js +124 -0
  65. package/dist/resilience/retry-embedder.js.map +1 -0
  66. package/package.json +1 -1
package/README.md CHANGED
@@ -8,7 +8,7 @@ This package is the abstraction layer consumed by `@mcp-abap-adt/llm-agent-libs`
8
8
  - Shared types (Message, ToolCall, RagMetadata, CallOptions, Result, errors)
9
9
  - Lightweight RAG implementations (InMemoryRag, VectorRag, QdrantRag, InMemoryRagProvider, VectorRagProvider, QdrantRagProvider, SimpleRagRegistry, SimpleRagProviderRegistry, edit strategies, id strategies, corrections module, overlay rags, MCP tool factory)
10
10
  - Library helpers usable when embedding SmartAgent in your own server:
11
- - **Resilience**: `CircuitBreaker`, `CircuitBreakerLlm`, `CircuitBreakerEmbedder`, `FallbackRag`
11
+ - **Resilience**: `CircuitBreaker`, `CircuitBreakerLlm`, `FallbackRag`, and the embedder chain — `BatchChunkingEmbedder`, `RetryEmbedder`/`withRetry`, `CircuitBreakerEmbedder`/`withCircuitBreaker`, `composeResilientEmbedder` (all capability-preserving factories)
12
12
  - **LLM call policies**: `NonStreamingLlmCallStrategy`, `StreamingLlmCallStrategy`, `FallbackLlmCallStrategy`
13
13
  - **Tool cache**: `ToolCache`, `NoopToolCache`
14
14
  - **API adapters** (Anthropic Messages / OpenAI Chat Completions ↔ SmartAgent): `AnthropicApiAdapter`, `OpenAiApiAdapter`, with `NormalizedRequest` / `ApiRequestContext` / `ApiSseEvent` / `AdapterValidationError`
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { artifactIdentityKey, deepStableArgsKey, externalToolCallId, shortHash,
2
2
  export { ClarifySignal, NeedInfoSignal } from './coordinator-signals.js';
3
3
  export * from './errors/index.js';
4
4
  export * from './external-results.js';
5
+ export { assertClientDescriptors } from './interfaces/assert-client-descriptors.js';
5
6
  export * from './interfaces/index.js';
6
7
  export { BaseLLMProvider, type LLMProvider } from './llm/base-llm-provider.js';
7
8
  export { NeedsDecompositionError } from './needs-decomposition-error.js';
@@ -15,14 +16,20 @@ export { ToolCache } from './cache/tool-cache.js';
15
16
  export type { IToolCache } from './cache/types.js';
16
17
  export { CLIENT_PROVIDED_PREFIX, type ExternalToolValidationCode, type ExternalToolValidationError, normalizeAndValidateExternalTools, normalizeExternalTools, } from './external-tools-normalizer.js';
17
18
  export { AdapterValidationError, type ApiRequestContext, type ApiSseEvent, type ILlmApiAdapter, type NormalizedRequest, } from './interfaces/api-adapter.js';
19
+ export { buildNamespacedTools, type NamespaceClientInput, } from './interfaces/build-namespaced-tools.js';
18
20
  export type { IClientAdapter } from './interfaces/client-adapter.js';
21
+ export { mergeOfferedTools } from './interfaces/merge-offered-tools.js';
22
+ export { bindToolCallName, defaultToolNamespace, type IToolNamespace, type ToolNamespaceContext, } from './interfaces/tool-namespace.js';
19
23
  export type { ILogger, LogEvent } from './logger/types.js';
20
24
  export { FallbackLlmCallStrategy } from './policy/fallback-llm-call-strategy.js';
21
25
  export { NonStreamingLlmCallStrategy } from './policy/non-streaming-llm-call-strategy.js';
22
26
  export { StreamingLlmCallStrategy } from './policy/streaming-llm-call-strategy.js';
27
+ export { BatchChunkingEmbedder, DEFAULT_MAX_BATCH_SIZE, } from './resilience/batch-chunking-embedder.js';
23
28
  export { CircuitBreaker, type CircuitBreakerConfig, type CircuitState, } from './resilience/circuit-breaker.js';
24
- export { CircuitBreakerEmbedder } from './resilience/circuit-breaker-embedder.js';
29
+ export { CircuitBreakerEmbedder, CircuitBreakerEmbedderBase, withCircuitBreaker, } from './resilience/circuit-breaker-embedder.js';
25
30
  export { CircuitBreakerLlm } from './resilience/circuit-breaker-llm.js';
31
+ export { brandResilient, type ComposeResilienceOptions, composeResilientEmbedder, type EmbedderResilienceMetadata, getResilienceMetadata, RESILIENCE_META, } from './resilience/embedder-resilience.js';
26
32
  export { FallbackRag } from './resilience/fallback-rag.js';
33
+ export { type EmbedderRetryOptions, extractStatusCode, isRetryableStatus, RetryBatchEmbedder, RetryEmbedder, withRetry, } from './resilience/retry-embedder.js';
27
34
  export { getStreamToolCallName, toToolCallDelta, } from './tool-call-deltas.js';
28
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAI3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAI3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACL,cAAc,EACd,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export { artifactIdentityKey, deepStableArgsKey, externalToolCallId, shortHash,
3
3
  export { ClarifySignal, NeedInfoSignal } from './coordinator-signals.js';
4
4
  export * from './errors/index.js';
5
5
  export * from './external-results.js';
6
+ export { assertClientDescriptors } from './interfaces/assert-client-descriptors.js';
6
7
  export * from './interfaces/index.js';
7
8
  export { BaseLLMProvider } from './llm/base-llm-provider.js';
8
9
  export { NeedsDecompositionError } from './needs-decomposition-error.js';
@@ -19,14 +20,20 @@ export { ToolCache } from './cache/tool-cache.js';
19
20
  export { CLIENT_PROVIDED_PREFIX, normalizeAndValidateExternalTools, normalizeExternalTools, } from './external-tools-normalizer.js';
20
21
  // API adapter interfaces
21
22
  export { AdapterValidationError, } from './interfaces/api-adapter.js';
23
+ export { buildNamespacedTools, } from './interfaces/build-namespaced-tools.js';
24
+ export { mergeOfferedTools } from './interfaces/merge-offered-tools.js';
25
+ export { bindToolCallName, defaultToolNamespace, } from './interfaces/tool-namespace.js';
22
26
  export { FallbackLlmCallStrategy } from './policy/fallback-llm-call-strategy.js';
23
27
  // LLM call policies
24
28
  export { NonStreamingLlmCallStrategy } from './policy/non-streaming-llm-call-strategy.js';
25
29
  export { StreamingLlmCallStrategy } from './policy/streaming-llm-call-strategy.js';
30
+ export { BatchChunkingEmbedder, DEFAULT_MAX_BATCH_SIZE, } from './resilience/batch-chunking-embedder.js';
26
31
  // Resilience
27
32
  export { CircuitBreaker, } from './resilience/circuit-breaker.js';
28
- export { CircuitBreakerEmbedder } from './resilience/circuit-breaker-embedder.js';
33
+ export { CircuitBreakerEmbedder, CircuitBreakerEmbedderBase, withCircuitBreaker, } from './resilience/circuit-breaker-embedder.js';
29
34
  export { CircuitBreakerLlm } from './resilience/circuit-breaker-llm.js';
35
+ export { brandResilient, composeResilientEmbedder, getResilienceMetadata, RESILIENCE_META, } from './resilience/embedder-resilience.js';
30
36
  export { FallbackRag } from './resilience/fallback-rag.js';
37
+ export { extractStatusCode, isRetryableStatus, RetryBatchEmbedder, RetryEmbedder, withRetry, } from './resilience/retry-embedder.js';
31
38
  export { getStreamToolCallName, toToolCallDelta, } from './tool-call-deltas.js';
32
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAE3B,sEAAsE;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EAGtB,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,yBAAyB;AACzB,OAAO,EACL,sBAAsB,GAKvB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,oBAAoB;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,aAAa;AACb,OAAO,EACL,cAAc,GAGf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAE3B,sEAAsE;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EAGtB,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,yBAAyB;AACzB,OAAO,EACL,sBAAsB,GAKvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,GAErB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,oBAAoB;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,aAAa;AACb,OAAO,EACL,cAAc,GAGf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACL,cAAc,EAEd,wBAAwB,EAExB,qBAAqB,EACrB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IMcpClient } from './mcp-client.js';
2
+ import type { McpClientDescriptor } from './mcp-connection-strategy.js';
3
+ /** Fail-fast on a malformed connection result (a buggy custom strategy). No-op
4
+ * when descriptors are absent (a non-filtering strategy may omit them). */
5
+ export declare function assertClientDescriptors(clients: readonly IMcpClient[], descriptors: readonly McpClientDescriptor[] | undefined, configuredSlotCount?: number): void;
6
+ //# sourceMappingURL=assert-client-descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-client-descriptors.d.ts","sourceRoot":"","sources":["../../src/interfaces/assert-client-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;4EAC4E;AAC5E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,WAAW,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACvD,mBAAmB,CAAC,EAAE,MAAM,GAC3B,IAAI,CA+BN"}
@@ -0,0 +1,27 @@
1
+ /** Fail-fast on a malformed connection result (a buggy custom strategy). No-op
2
+ * when descriptors are absent (a non-filtering strategy may omit them). */
3
+ export function assertClientDescriptors(clients, descriptors, configuredSlotCount) {
4
+ if (!descriptors)
5
+ return;
6
+ const nonNegInt = (n) => Number.isInteger(n) && n >= 0;
7
+ if (descriptors.length !== clients.length)
8
+ throw new Error(`clientDescriptors length ${descriptors.length} !== clients length ${clients.length}`);
9
+ const seen = new Set();
10
+ let max = -1;
11
+ for (const d of descriptors) {
12
+ if (!nonNegInt(d.slotIndex))
13
+ throw new Error(`slotIndex must be a non-negative integer, got ${d.slotIndex}`);
14
+ if (seen.has(d.slotIndex))
15
+ throw new Error(`duplicate slotIndex ${d.slotIndex} in clientDescriptors`);
16
+ seen.add(d.slotIndex);
17
+ if (d.slotIndex > max)
18
+ max = d.slotIndex;
19
+ }
20
+ if (configuredSlotCount !== undefined) {
21
+ if (!nonNegInt(configuredSlotCount))
22
+ throw new Error(`configuredSlotCount must be a non-negative integer, got ${configuredSlotCount}`);
23
+ if (configuredSlotCount <= max)
24
+ throw new Error(`configuredSlotCount ${configuredSlotCount} must be > max slotIndex ${max}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=assert-client-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-client-descriptors.js","sourceRoot":"","sources":["../../src/interfaces/assert-client-descriptors.ts"],"names":[],"mappings":"AAGA;4EAC4E;AAC5E,MAAM,UAAU,uBAAuB,CACrC,OAA8B,EAC9B,WAAuD,EACvD,mBAA4B;IAE5B,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,SAAS,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,EAAE,CACtF,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,iDAAiD,CAAC,CAAC,SAAS,EAAE,CAC/D,CAAC;QACJ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uBAAuB,CAAC,CAAC,SAAS,uBAAuB,CAC1D,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;YAAE,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,2DAA2D,mBAAmB,EAAE,CACjF,CAAC;QACJ,IAAI,mBAAmB,IAAI,GAAG;YAC5B,MAAM,IAAI,KAAK,CACb,uBAAuB,mBAAmB,4BAA4B,GAAG,EAAE,CAC5E,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { IMcpClient } from './mcp-client.js';
2
+ import { type IToolNamespace } from './tool-namespace.js';
3
+ import type { McpTool } from './types.js';
4
+ export interface NamespaceClientInput {
5
+ slotIndex: number;
6
+ label?: string;
7
+ client: IMcpClient;
8
+ tools: McpTool[];
9
+ }
10
+ export declare function buildNamespacedTools(perClient: NamespaceClientInput[], ns: IToolNamespace): {
11
+ tools: McpTool[];
12
+ toolClientMap: Map<string, IMcpClient>;
13
+ /** Per exposed name → its source, so a vectorizer can build the record key from
14
+ * the ORIGINAL name + stable slotIndex (a flat tools[] index would not identify
15
+ * the owning client once a client has multiple tools). */
16
+ provenance: Map<string, {
17
+ slotIndex: number;
18
+ originalName: string;
19
+ }>;
20
+ };
21
+ //# sourceMappingURL=build-namespaced-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-namespaced-tools.d.ts","sourceRoot":"","sources":["../../src/interfaces/build-namespaced-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,oBAAoB,EAAE,EACjC,EAAE,EAAE,cAAc,GACjB;IACD,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC;;+DAE2D;IAC3D,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,CA6DA"}
@@ -0,0 +1,48 @@
1
+ import { bindToolCallName } from './tool-namespace.js';
2
+ const VALID_TOOL_NAME = /^[a-zA-Z0-9_-]+$/;
3
+ export function buildNamespacedTools(perClient, ns) {
4
+ // Defence in depth against a buggy custom connection strategy: slotIndex must be unique.
5
+ const slots = new Set();
6
+ for (const pc of perClient) {
7
+ if (slots.has(pc.slotIndex))
8
+ throw new Error(`buildNamespacedTools: duplicate slotIndex ${pc.slotIndex} in input`);
9
+ slots.add(pc.slotIndex);
10
+ }
11
+ // Collision = a tool name present in >= 2 clients.
12
+ const counts = new Map();
13
+ for (const pc of perClient)
14
+ for (const t of pc.tools)
15
+ counts.set(t.name, (counts.get(t.name) ?? 0) + 1);
16
+ const tools = [];
17
+ const toolClientMap = new Map();
18
+ const provenance = new Map(); // exposed → source
19
+ for (const pc of perClient) {
20
+ const prefix = pc.label ?? `s${pc.slotIndex}`;
21
+ for (const t of pc.tools) {
22
+ const colliding = (counts.get(t.name) ?? 0) > 1;
23
+ const exposed = ns.expose({ toolName: t.name, prefix, colliding });
24
+ // Per-name validity guard — the builder is the trust boundary for the strategy.
25
+ if (typeof exposed !== 'string' ||
26
+ exposed.length === 0 ||
27
+ exposed.length > 64 ||
28
+ !VALID_TOOL_NAME.test(exposed))
29
+ throw new Error(`IToolNamespace produced an invalid tool name ${JSON.stringify(exposed)} ` +
30
+ `for tool "${t.name}" on server slot ${pc.slotIndex}${pc.label ? ` (${pc.label})` : ''}; ` +
31
+ `must be non-empty, /^[a-zA-Z0-9_-]+$/, <= 64 chars.`);
32
+ // Global-uniqueness guard — the final exposed set (renamed AND bare) must be unique.
33
+ const prev = provenance.get(exposed);
34
+ if (prev)
35
+ throw new Error(`Tool name collision: "${exposed}" is produced by both ` +
36
+ `slot ${prev.slotIndex} tool "${prev.originalName}" and slot ${pc.slotIndex} tool "${t.name}". ` +
37
+ `Set distinct mcp[].name labels.`);
38
+ provenance.set(exposed, {
39
+ slotIndex: pc.slotIndex,
40
+ originalName: t.name,
41
+ });
42
+ tools.push({ ...t, name: exposed });
43
+ toolClientMap.set(exposed, exposed === t.name ? pc.client : bindToolCallName(pc.client, t.name));
44
+ }
45
+ }
46
+ return { tools, toolClientMap, provenance };
47
+ }
48
+ //# sourceMappingURL=build-namespaced-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-namespaced-tools.js","sourceRoot":"","sources":["../../src/interfaces/build-namespaced-tools.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ import type { AgentCallOptions, OrchestratorError, SmartAgentResponse } from './
4
4
  import type { ILlmApiAdapter } from './api-adapter.js';
5
5
  import type { ILlm } from './llm.js';
6
6
  import type { IMcpClient } from './mcp-client.js';
7
+ import type { McpClientDescriptor } from './mcp-connection-strategy.js';
7
8
  import type { IModelProvider } from './model-provider.js';
8
9
  import type { IRag, IRagRegistry } from './rag.js';
9
10
  import type { IRequestLogger } from './request-logger.js';
10
- import type { LlmStreamChunk, Result } from './types.js';
11
+ import type { LlmStreamChunk, LlmTool, Result } from './types.js';
11
12
  /**
12
13
  * Public API surface of SmartAgent for consumers.
13
14
  * The full SmartAgent class lives in @mcp-abap-adt/llm-agent-libs.
@@ -57,5 +58,20 @@ export interface SmartAgentHandle<T extends ISmartAgent = ISmartAgent> {
57
58
  getApiAdapter(name: string): ILlmApiAdapter | undefined;
58
59
  /** List all registered API adapter names. */
59
60
  listApiAdapters(): string[];
61
+ /** Namespaced tool catalog snapshot (colliding tool names disambiguated).
62
+ * Undefined when namespacing was not computed for this handle. */
63
+ namespacedTools?: readonly LlmTool[];
64
+ /** Maps a namespaced tool name back to its originating slot + original name.
65
+ * Undefined when namespacing was not computed for this handle. */
66
+ toolProvenance?: ReadonlyMap<string, {
67
+ slotIndex: number;
68
+ originalName: string;
69
+ }>;
70
+ /** Stable per-slot MCP client descriptors (slotIndex + label) backing the
71
+ * namespaced tool catalog. Undefined when namespacing was not computed. */
72
+ mcpClientDescriptors?: readonly McpClientDescriptor[];
73
+ /** Number of MCP client slots configured (including not-yet-connected ones).
74
+ * Undefined when namespacing was not computed for this handle. */
75
+ configuredSlotCount?: number;
60
76
  }
61
77
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/interfaces/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CACL,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1D,aAAa,CACX,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC7D;AAMD,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAM7E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACnE,2DAA2D;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,mDAAmD;IACnD,aAAa,EAAE,cAAc,CAAC;IAC9B,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oDAAoD;IACpD,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,yDAAyD;IACzD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,sFAAsF;IACtF,WAAW,EAAE,YAAY,CAAC;IAC1B;oFACgF;IAChF,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kEAAkE;IAClE,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,gDAAgD;IAChD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACxD,6CAA6C;IAC7C,eAAe,IAAI,MAAM,EAAE,CAAC;CAC7B"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/interfaces/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMlE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CACL,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1D,aAAa,CACX,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC7D;AAMD,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAM7E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACnE,2DAA2D;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,mDAAmD;IACnD,aAAa,EAAE,cAAc,CAAC;IAC9B,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oDAAoD;IACpD,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,yDAAyD;IACzD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,sFAAsF;IACtF,WAAW,EAAE,YAAY,CAAC;IAC1B;oFACgF;IAChF,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kEAAkE;IAClE,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,gDAAgD;IAChD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACxD,6CAA6C;IAC7C,eAAe,IAAI,MAAM,EAAE,CAAC;IAC5B;uEACmE;IACnE,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC;uEACmE;IACnE,cAAc,CAAC,EAAE,WAAW,CAC1B,MAAM,EACN;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAC5C,CAAC;IACF;gFAC4E;IAC5E,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD;uEACmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -8,6 +8,17 @@ export interface HealthComponentStatus {
8
8
  ok: boolean;
9
9
  error?: string;
10
10
  }>;
11
+ /**
12
+ * Startup MCP tool-catalog vectorization. Counters only — the full `failed`
13
+ * name list stays behind IToolCatalogReporter, since /health sits on a hot
14
+ * polling path. Absent when nothing was vectorized.
15
+ */
16
+ toolCatalog?: {
17
+ vectorized: number;
18
+ total: number;
19
+ complete: boolean;
20
+ clientFailures: number;
21
+ };
11
22
  }
12
23
  export interface CircuitBreakerStatus {
13
24
  index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/interfaces/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,CAAC;IAClC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/interfaces/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,CAAC;IAClC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B"}
@@ -20,7 +20,7 @@ export type { IKnowledgeRagHandle, IToolsRagHandle, KnowledgeEntry, KnowledgeEnt
20
20
  export type { ILlm } from './llm.js';
21
21
  export type { ILlmCallStrategy } from './llm-call-strategy.js';
22
22
  export type { IMcpClient } from './mcp-client.js';
23
- export type { ConnectionStrategyOptions, IMcpConnectionStrategy, McpClientFactory, McpClientFactoryResult, McpConnectionConfig, McpConnectionResult, } from './mcp-connection-strategy.js';
23
+ export type { ConnectionStrategyOptions, IMcpConnectionStrategy, McpClientDescriptor, McpClientFactory, McpClientFactoryResult, McpConnectionConfig, McpConnectionResult, } from './mcp-connection-strategy.js';
24
24
  export type { IMcpFailureClassifier, McpFailureKind, } from './mcp-failure-classifier.js';
25
25
  export type { IMcpRequestHeadersStrategy } from './mcp-request-headers-strategy.js';
26
26
  export type { CounterSnapshot, HistogramSnapshot, ICounter, IHistogram, IMetrics, MetricsSnapshot, } from './metrics.js';
@@ -34,7 +34,7 @@ export type { IPlanner, PlannerCatalogEntry, PlannerInput, PlannerResult, } from
34
34
  export type { IPluginLoader, IRagStoreConfig, ISmartAgentPlugin, IStageHandler, LoadedPlugins, PluginExports, RagScope, } from './plugin.js';
35
35
  export type { IQueryEmbedding } from './query-embedding.js';
36
36
  export type { EmbedderFactory, EmbedderFactoryConfig, IEmbedder, IEmbedderBatch, IEmbedResult, IIdStrategy, IRag, IRagBackendWriter, IRagEditor, IRagProvider, IRagProviderRegistry, IRagRegistry, RagCollectionMeta, RagCollectionScope, } from './rag.js';
37
- export { isBatchEmbedder } from './rag.js';
37
+ export { isBatchEmbedder, isBatchSizeLimited } from './rag.js';
38
38
  export type { ILlmRateLimiter } from './rate-limiter.js';
39
39
  export { type IReadinessReporter, isReadinessReporter, } from './readiness-reporter.js';
40
40
  export type { IRequestLogger, LlmCallEntry, LlmComponent, RagQueryEntry, RequestSummary, TokenBucket, TokenCategory, ToolCallEntry, } from './request-logger.js';
@@ -56,7 +56,9 @@ export type { ISubAgent, ISubAgentInput, ISubAgentResult, SubAgentCapabilities,
56
56
  export type { ISubAgentContextBuilder, SubAgentContextRequest, SubAgentContextResult, } from './subagent-context.js';
57
57
  export type { ITaskFormalizer, ITaskSpec } from './task-spec.js';
58
58
  export { renderTaskSpec } from './task-spec.js';
59
+ export { type IToolCatalogReporter, isToolCatalogReporter, type ToolCatalogStatus, } from './tool-catalog.js';
59
60
  export type { IToolLoopContextStrategy, JsonValue, SerializableStrategyState, ToolLoopContextBase, ToolLoopContextStrategyDeps, ToolLoopContextStrategyFactory, ToolRound, } from './tool-loop-context-strategy.js';
61
+ export { defaultToolRecordKey, type IToolRecordKey, type ToolKeyContext, toolNameFromRecord, } from './tool-record-key.js';
60
62
  export type { IToolSelectionStrategy } from './tool-selection-strategy.js';
61
63
  export type { ISpan, ITracer, SpanOptions, SpanStatus } from './tracer.js';
62
64
  export type { AgentConfig, CallOptions, ContextFrame, LlmFinishReason, LlmResponse, LlmStreamChunk, LlmTool, LlmToolCall, LlmToolCallDelta, LlmUsage, McpCallResult, McpTool, McpToolResult, ModelUsageEntry, RagMetadata, RagResult, Result, StreamHookContext, StreamToolCall, Subprompt, SubpromptType, TimingEntry, ToolCallRecord, ToolHeartbeat, TraceContext, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  export { OrchestratorError, } from './agent-contracts.js';
2
2
  export { InsufficientSignal } from './insufficient-signal.js';
3
- export { isBatchEmbedder } from './rag.js';
3
+ export { isBatchEmbedder, isBatchSizeLimited } from './rag.js';
4
4
  export { isReadinessReporter, } from './readiness-reporter.js';
5
5
  export { CatalogCasError, SkillsIncompatibleError } from './skills-rag.js';
6
6
  export { TokenLedger } from './stepper.js';
7
7
  export { renderTaskSpec } from './task-spec.js';
8
+ export { isToolCatalogReporter, } from './tool-catalog.js';
9
+ export { defaultToolRecordKey, toolNameFromRecord, } from './tool-record-key.js';
8
10
  export { AssemblerError, ClassifierError, isMcpUnavailable, LlmError, MCP_UNAVAILABLE_CODES, McpError, RagError, SkillError, SmartAgentError, } from './types.js';
9
11
  export { ValidatorError } from './validator.js';
10
12
  export { DefaultWaitStrategy } from './wait-strategy.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAiD9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAgG9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAEL,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAkDjC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA0B3E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuChD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAiD9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAiG9D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAkDjC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA0B3E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEL,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EACL,oBAAoB,EAGpB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AA8B9B,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,8 +1,20 @@
1
1
  import type { CallOptions, ILogger, IMcpClient } from '@mcp-abap-adt/llm-agent';
2
2
  import type { IMcpRequestHeadersStrategy } from './mcp-request-headers-strategy.js';
3
+ export interface McpClientDescriptor {
4
+ /** Original configured-array position — stable across reconnect / peer outage. */
5
+ slotIndex: number;
6
+ /** The server's config `name`, if set. */
7
+ label?: string;
8
+ }
3
9
  export interface McpConnectionResult {
4
10
  clients: IMcpClient[];
5
11
  toolsChanged: boolean;
12
+ /** Per-client stable identity, aligned by index with `clients`. Optional:
13
+ * strategies that never filter may omit it (array index === config index). */
14
+ clientDescriptors?: readonly McpClientDescriptor[];
15
+ /** Total configured servers (not the active count) — stabilizes the record-key
16
+ * form under a filtered active set. Optional; defaults to clients.length. */
17
+ configuredSlotCount?: number;
6
18
  }
7
19
  export interface IMcpConnectionStrategy {
8
20
  resolve(currentClients: IMcpClient[], options?: CallOptions): Promise<McpConnectionResult>;
@@ -13,6 +25,8 @@ export interface McpConnectionConfig {
13
25
  url?: string;
14
26
  command?: string;
15
27
  args?: string[];
28
+ /** Stable, human-readable label used as the namespace prefix for this server's colliding tools. */
29
+ name?: string;
16
30
  /** HTTP transport headers (e.g. `Accept`, reverse-proxy routing like
17
31
  * `x-sap-destination`). Additive — strategies that ignore it are unaffected. */
18
32
  headers?: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;uEAEmE;IACnE,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IACpD;+CAC2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"mcp-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD;kFAC8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;uEAEmE;IACnE,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IACpD;+CAC2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,8 @@
1
+ import type { LlmTool } from './types.js';
2
+ /**
3
+ * Concatenate internal (MCP, already namespace-unique) and external
4
+ * (client-provided) tools for the LLM. Fail-fast on any name in BOTH sets:
5
+ * the offered list must be unique so classifyToolCalls cannot double-classify.
6
+ */
7
+ export declare function mergeOfferedTools(internal: readonly LlmTool[], external: readonly LlmTool[]): LlmTool[];
8
+ //# sourceMappingURL=merge-offered-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-offered-tools.d.ts","sourceRoot":"","sources":["../../src/interfaces/merge-offered-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,OAAO,EAAE,CASX"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Concatenate internal (MCP, already namespace-unique) and external
3
+ * (client-provided) tools for the LLM. Fail-fast on any name in BOTH sets:
4
+ * the offered list must be unique so classifyToolCalls cannot double-classify.
5
+ */
6
+ export function mergeOfferedTools(internal, external) {
7
+ const internalNames = new Set(internal.map((x) => x.name));
8
+ for (const x of external)
9
+ if (internalNames.has(x.name))
10
+ throw new Error(`tool "${x.name}" is both an internal MCP tool (exposed name) and a ` +
11
+ `client-provided external tool — rename the external tool.`);
12
+ return [...internal, ...external];
13
+ }
14
+ //# sourceMappingURL=merge-offered-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-offered-tools.js","sourceRoot":"","sources":["../../src/interfaces/merge-offered-tools.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA4B,EAC5B,QAA4B;IAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,QAAQ;QACtB,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,SAAS,CAAC,CAAC,IAAI,sDAAsD;gBACnE,2DAA2D,CAC9D,CAAC;IACN,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;AACpC,CAAC"}
@@ -47,6 +47,10 @@ export interface IPipelineContext {
47
47
  ragRegistry?: IRagRegistry;
48
48
  callMcp(name: string, args: unknown, signal?: AbortSignal): Promise<McpCallResult>;
49
49
  mcpClients?: IMcpClient[];
50
+ /** Namespaced-tool-name → owning MCP client, for dispatching a namespaced
51
+ * tool call to its originating client. Undefined when namespacing is not
52
+ * in use for this pipeline. */
53
+ toolClientMap?: Map<string, IMcpClient>;
50
54
  subagents?: ReadonlyArray<{
51
55
  name: string;
52
56
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-plugin.d.ts","sourceRoot":"","sources":["../../src/interfaces/pipeline-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-plugin.d.ts","sourceRoot":"","sources":["../../src/interfaces/pipeline-plugin.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,22 @@ export interface IEmbedderBatch extends IEmbedder {
38
38
  embedBatch(texts: string[], options?: CallOptions): Promise<IEmbedResult[]>;
39
39
  }
40
40
  export declare function isBatchEmbedder(e: IEmbedder): e is IEmbedderBatch;
41
+ /**
42
+ * An embedder that declares a provider-imposed cap on `embedBatch` input size.
43
+ * Deliberately TINY and SEPARATE from IEmbedderBatch (ISP) — an embedder with
44
+ * no known cap simply does not implement it.
45
+ */
46
+ export interface IBatchSizeLimited {
47
+ /** Maximum number of texts accepted in a single embedBatch call. */
48
+ readonly maxBatchSize: number;
49
+ }
50
+ /**
51
+ * Value guard, NOT a key-presence guard: an implementer may declare
52
+ * `maxBatchSize?: number` and leave it undefined for models whose cap is
53
+ * unknown. Under ES2022 class fields that still creates an own property, so
54
+ * `'maxBatchSize' in e` would wrongly accept it.
55
+ */
56
+ export declare function isBatchSizeLimited(e: IEmbedder): e is IEmbedder & IBatchSizeLimited;
41
57
  export interface IRagEditor {
42
58
  upsert(text: string, metadata: RagMetadata, options?: CallOptions): Promise<Result<{
43
59
  id: string;
@@ -54,6 +70,21 @@ export interface IRagBackendWriter {
54
70
  deleteByIdRaw(id: string, options?: CallOptions): Promise<Result<boolean, RagError>>;
55
71
  clearAll?(): Promise<Result<void, RagError>>;
56
72
  upsertPrecomputedRaw?(id: string, text: string, vector: number[], metadata: RagMetadata, options?: CallOptions): Promise<Result<void, RagError>>;
73
+ /**
74
+ * Write many precomputed records in one call, backed by the store's native
75
+ * bulk API where one exists (Qdrant accepts many points per request).
76
+ *
77
+ * Optional and additive: a writer that does not implement it forces the
78
+ * caller onto the per-record path. All-or-nothing — a single `Result` for the
79
+ * whole batch, so a caller that needs to know which record failed must retry
80
+ * per-record on error.
81
+ */
82
+ upsertManyPrecomputedRaw?(items: ReadonlyArray<{
83
+ id: string;
84
+ text: string;
85
+ vector: number[];
86
+ metadata: RagMetadata;
87
+ }>, options?: CallOptions): Promise<Result<void, RagError>>;
57
88
  }
58
89
  export type RagCollectionScope = 'session' | 'user' | 'global';
59
90
  export interface RagCollectionMeta {
@@ -1 +1 @@
1
- {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACnE;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,qBAAqB,KAAK,SAAS,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,KAAK,CACH,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1C,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpE,6EAA6E;IAC7E,OAAO,CACL,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/C,uEAAuE;IACvE,MAAM,CAAC,IAAI,iBAAiB,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC7E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,cAAc,CAKjE;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,SAAS,GACX,CAAC,IAAI,SAAS,GAAG,iBAAiB,CAGpC;AAID,MAAM,WAAW,UAAU;IACzB,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,UAAU,CACR,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,uFAAuF;IACvF,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CACP,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnC,aAAa,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,oBAAoB,CAAC,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,CACvB,KAAK,EAAE,aAAa,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,WAAW,CAAC;KACvB,CAAC,EACF,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,IAAI,EACT,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,GAClD,IAAI,CAAC;IACR,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAChD,IAAI,IAAI,SAAS,iBAAiB,EAAE,CAAC;IAErC,qEAAqE;IACrE,gBAAgB,CAAC,MAAM,EAAE;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjD,kFAAkF;IAClF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhE,mFAAmF;IACnF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;CAClE;AAID,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAExD,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,MAAM,CAAC;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhE,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACpD,aAAa,IAAI,SAAS,MAAM,EAAE,CAAC;CACpC"}
@@ -2,4 +2,14 @@ export function isBatchEmbedder(e) {
2
2
  return ('embedBatch' in e &&
3
3
  typeof e.embedBatch === 'function');
4
4
  }
5
+ /**
6
+ * Value guard, NOT a key-presence guard: an implementer may declare
7
+ * `maxBatchSize?: number` and leave it undefined for models whose cap is
8
+ * unknown. Under ES2022 class fields that still creates an own property, so
9
+ * `'maxBatchSize' in e` would wrongly accept it.
10
+ */
11
+ export function isBatchSizeLimited(e) {
12
+ const v = e.maxBatchSize;
13
+ return typeof v === 'number' && Number.isSafeInteger(v) && v > 0;
14
+ }
5
15
  //# sourceMappingURL=rag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"AA2DA,MAAM,UAAU,eAAe,CAAC,CAAY;IAC1C,OAAO,CACL,YAAY,IAAI,CAAC;QACjB,OAAQ,CAA8B,CAAC,UAAU,KAAK,UAAU,CACjE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"AA2DA,MAAM,UAAU,eAAe,CAAC,CAAY;IAC1C,OAAO,CACL,YAAY,IAAI,CAAC;QACjB,OAAQ,CAA8B,CAAC,UAAU,KAAK,UAAU,CACjE,CAAC;AACJ,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,CAAY;IAEZ,MAAM,CAAC,GAAI,CAAgC,CAAC,YAAY,CAAC;IACzD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Result of an MCP tool-catalog vectorization run.
3
+ *
4
+ * Declared HERE, in the leaf contracts package, rather than next to
5
+ * vectorizeMcpTools: llm-agent must not depend on llm-agent-libs.
6
+ */
7
+ export interface ToolCatalogStatus {
8
+ /** Tools successfully listed across all MCP clients. */
9
+ total: number;
10
+ /** Tools whose write returned ok: true. */
11
+ vectorized: number;
12
+ /** Names of tools that failed to be written. */
13
+ failed: string[];
14
+ /** Clients whose listTools() failed; their tools never reached `total`. */
15
+ clientFailures: number;
16
+ /**
17
+ * false when any client failed to list, or any listed tool failed.
18
+ *
19
+ * Health keys off THIS, not off `vectorized === total`: a client that could
20
+ * not list contributes to neither counter, so the counters alone would read
21
+ * as a complete catalog.
22
+ */
23
+ complete: boolean;
24
+ }
25
+ /**
26
+ * Reports the last vectorization run. Deliberately TINY and SEPARATE from
27
+ * ISmartAgent (ISP), detected via {@link isToolCatalogReporter}.
28
+ */
29
+ export interface IToolCatalogReporter {
30
+ /** undefined = nothing was attempted (no store, or a store with no writer). */
31
+ getToolCatalogStatus(): ToolCatalogStatus | undefined;
32
+ }
33
+ /** Type guard: does `x` report tool-catalog status? */
34
+ export declare function isToolCatalogReporter(x: unknown): x is IToolCatalogReporter;
35
+ //# sourceMappingURL=tool-catalog.d.ts.map