@mcp-abap-adt/llm-agent 5.13.0 → 5.14.2

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 (101) hide show
  1. package/dist/agents/sap-ai-core-direct-agent.d.ts +24 -0
  2. package/dist/agents/sap-ai-core-direct-agent.d.ts.map +1 -0
  3. package/dist/agents/sap-ai-core-direct-agent.js +117 -0
  4. package/dist/agents/sap-ai-core-direct-agent.js.map +1 -0
  5. package/dist/generated/version.d.ts +1 -1
  6. package/dist/generated/version.js +1 -1
  7. package/dist/index.d.ts +6 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/llm-providers/sap-ai-core-direct.d.ts +30 -0
  12. package/dist/llm-providers/sap-ai-core-direct.d.ts.map +1 -0
  13. package/dist/llm-providers/sap-ai-core-direct.js +178 -0
  14. package/dist/llm-providers/sap-ai-core-direct.js.map +1 -0
  15. package/dist/llm-providers/sap-core-ai.d.ts.map +1 -1
  16. package/dist/llm-providers/sap-core-ai.js +7 -1
  17. package/dist/llm-providers/sap-core-ai.js.map +1 -1
  18. package/dist/smart-agent/agent.d.ts +2 -0
  19. package/dist/smart-agent/agent.d.ts.map +1 -1
  20. package/dist/smart-agent/agent.js +1 -0
  21. package/dist/smart-agent/agent.js.map +1 -1
  22. package/dist/smart-agent/builder.d.ts +7 -1
  23. package/dist/smart-agent/builder.d.ts.map +1 -1
  24. package/dist/smart-agent/builder.js +158 -34
  25. package/dist/smart-agent/builder.js.map +1 -1
  26. package/dist/smart-agent/check-models-cli.js +0 -0
  27. package/dist/smart-agent/cli.js +0 -0
  28. package/dist/smart-agent/interfaces/rag.d.ts +8 -0
  29. package/dist/smart-agent/interfaces/rag.d.ts.map +1 -1
  30. package/dist/smart-agent/interfaces/rag.js +7 -1
  31. package/dist/smart-agent/interfaces/rag.js.map +1 -1
  32. package/dist/smart-agent/interfaces/request-logger.d.ts +16 -13
  33. package/dist/smart-agent/interfaces/request-logger.d.ts.map +1 -1
  34. package/dist/smart-agent/interfaces/tool-result-compactor.d.ts +11 -0
  35. package/dist/smart-agent/interfaces/tool-result-compactor.d.ts.map +1 -0
  36. package/dist/smart-agent/interfaces/tool-result-compactor.js +2 -0
  37. package/dist/smart-agent/interfaces/tool-result-compactor.js.map +1 -0
  38. package/dist/smart-agent/interfaces/types.d.ts +1 -0
  39. package/dist/smart-agent/interfaces/types.d.ts.map +1 -1
  40. package/dist/smart-agent/interfaces/types.js.map +1 -1
  41. package/dist/smart-agent/logger/default-request-logger.d.ts +2 -1
  42. package/dist/smart-agent/logger/default-request-logger.d.ts.map +1 -1
  43. package/dist/smart-agent/logger/default-request-logger.js +45 -31
  44. package/dist/smart-agent/logger/default-request-logger.js.map +1 -1
  45. package/dist/smart-agent/logger/noop-request-logger.d.ts.map +1 -1
  46. package/dist/smart-agent/logger/noop-request-logger.js +2 -1
  47. package/dist/smart-agent/logger/noop-request-logger.js.map +1 -1
  48. package/dist/smart-agent/pipeline/context.d.ts +2 -0
  49. package/dist/smart-agent/pipeline/context.d.ts.map +1 -1
  50. package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +1 -1
  51. package/dist/smart-agent/pipeline/handlers/tool-loop.js +6 -0
  52. package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -1
  53. package/dist/smart-agent/policy/truncating-tool-result-compactor.d.ts +19 -0
  54. package/dist/smart-agent/policy/truncating-tool-result-compactor.d.ts.map +1 -0
  55. package/dist/smart-agent/policy/truncating-tool-result-compactor.js +37 -0
  56. package/dist/smart-agent/policy/truncating-tool-result-compactor.js.map +1 -0
  57. package/dist/smart-agent/providers.d.ts +1 -1
  58. package/dist/smart-agent/providers.d.ts.map +1 -1
  59. package/dist/smart-agent/providers.js +19 -0
  60. package/dist/smart-agent/providers.js.map +1 -1
  61. package/dist/smart-agent/rag/ollama-rag.d.ts +3 -2
  62. package/dist/smart-agent/rag/ollama-rag.d.ts.map +1 -1
  63. package/dist/smart-agent/rag/ollama-rag.js +36 -0
  64. package/dist/smart-agent/rag/ollama-rag.js.map +1 -1
  65. package/dist/smart-agent/rag/openai-embedder.d.ts +3 -2
  66. package/dist/smart-agent/rag/openai-embedder.d.ts.map +1 -1
  67. package/dist/smart-agent/rag/openai-embedder.js +51 -0
  68. package/dist/smart-agent/rag/openai-embedder.js.map +1 -1
  69. package/dist/smart-agent/rag/qdrant-rag.d.ts +4 -2
  70. package/dist/smart-agent/rag/qdrant-rag.d.ts.map +1 -1
  71. package/dist/smart-agent/rag/qdrant-rag.js +21 -5
  72. package/dist/smart-agent/rag/qdrant-rag.js.map +1 -1
  73. package/dist/smart-agent/rag/sap-ai-core-embedder.d.ts +3 -2
  74. package/dist/smart-agent/rag/sap-ai-core-embedder.d.ts.map +1 -1
  75. package/dist/smart-agent/rag/sap-ai-core-embedder.js +22 -0
  76. package/dist/smart-agent/rag/sap-ai-core-embedder.js.map +1 -1
  77. package/dist/smart-agent/rag/vector-rag.d.ts +4 -2
  78. package/dist/smart-agent/rag/vector-rag.d.ts.map +1 -1
  79. package/dist/smart-agent/rag/vector-rag.js +45 -32
  80. package/dist/smart-agent/rag/vector-rag.js.map +1 -1
  81. package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts +1 -0
  82. package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts.map +1 -1
  83. package/dist/smart-agent/resilience/circuit-breaker-embedder.js +18 -0
  84. package/dist/smart-agent/resilience/circuit-breaker-embedder.js.map +1 -1
  85. package/dist/smart-agent/resilience/fallback-rag.d.ts +1 -0
  86. package/dist/smart-agent/resilience/fallback-rag.d.ts.map +1 -1
  87. package/dist/smart-agent/resilience/fallback-rag.js +16 -0
  88. package/dist/smart-agent/resilience/fallback-rag.js.map +1 -1
  89. package/dist/smart-agent/smart-server.d.ts +2 -0
  90. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  91. package/dist/smart-agent/smart-server.js +1 -0
  92. package/dist/smart-agent/smart-server.js.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/smart-agent/llm/token-counting-llm.d.ts +0 -29
  95. package/dist/smart-agent/llm/token-counting-llm.d.ts.map +0 -1
  96. package/dist/smart-agent/llm/token-counting-llm.js +0 -78
  97. package/dist/smart-agent/llm/token-counting-llm.js.map +0 -1
  98. package/dist/smart-agent/pipeline/handlers/present.d.ts +0 -25
  99. package/dist/smart-agent/pipeline/handlers/present.d.ts.map +0 -1
  100. package/dist/smart-agent/pipeline/handlers/present.js +0 -128
  101. package/dist/smart-agent/pipeline/handlers/present.js.map +0 -1
@@ -30,5 +30,27 @@ export class SapAiCoreEmbedder {
30
30
  }
31
31
  return embedding;
32
32
  }
33
+ async embedBatch(texts, _options) {
34
+ if (texts.length === 0)
35
+ return [];
36
+ const { OrchestrationEmbeddingClient } = await import('@sap-ai-sdk/orchestration');
37
+ const modelName = this
38
+ .model;
39
+ const client = new OrchestrationEmbeddingClient({ embeddings: { model: { name: modelName } } }, this.resourceGroup ? { resourceGroup: this.resourceGroup } : undefined);
40
+ const response = await client.embed({ input: texts });
41
+ const embeddings = response.getEmbeddings();
42
+ if (!embeddings || embeddings.length === 0) {
43
+ throw new Error('No embeddings returned from SAP AI Core batch');
44
+ }
45
+ const sorted = [...embeddings].sort((a, b) => a.index - b.index);
46
+ return sorted.map((e) => {
47
+ if (typeof e.embedding === 'string') {
48
+ const buffer = Buffer.from(e.embedding, 'base64');
49
+ const float32 = new Float32Array(buffer.buffer, buffer.byteOffset, buffer.length / 4);
50
+ return Array.from(float32);
51
+ }
52
+ return e.embedding;
53
+ });
54
+ }
33
55
  }
34
56
  //# sourceMappingURL=sap-ai-core-embedder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sap-ai-core-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,OAAO,iBAAiB;IACX,KAAK,CAAS;IACd,aAAa,CAAU;IAExC,YAAY,MAA+B;QACzC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,QAAsB;QAC9C,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACnD,2BAA2B,CAC5B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI;aACnB,KAAsE,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,4BAA4B,CAC7C,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAC9C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACvE,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAE5C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1C,mCAAmC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,YAAY,CAC9B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAClB,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"sap-ai-core-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/sap-ai-core-embedder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { IQueryEmbedding } from '../interfaces/query-embedding.js';
2
- import type { IEmbedder, IRag } from '../interfaces/rag.js';
2
+ import type { IEmbedder, IPrecomputedVectorRag } from '../interfaces/rag.js';
3
3
  import { type CallOptions, RagError, type RagMetadata, type RagResult, type Result } from '../interfaces/types.js';
4
4
  export interface VectorRagConfig {
5
5
  /** Cosine similarity threshold for dedup. Default: 0.92 */
@@ -11,7 +11,7 @@ export interface VectorRagConfig {
11
11
  /** Weight for keyword search (0..1). Default: 0.3 */
12
12
  keywordWeight?: number;
13
13
  }
14
- export declare class VectorRag implements IRag {
14
+ export declare class VectorRag implements IPrecomputedVectorRag {
15
15
  private readonly embedder;
16
16
  private records;
17
17
  private readonly index;
@@ -32,7 +32,9 @@ export declare class VectorRag implements IRag {
32
32
  * Uses pre-built InvertedIndex for O(1) DF lookups.
33
33
  */
34
34
  private bm25Score;
35
+ private upsertKnownVector;
35
36
  upsert(text: string, metadata: RagMetadata, options?: CallOptions): Promise<Result<void, RagError>>;
37
+ upsertPrecomputed(text: string, vector: number[], metadata: RagMetadata, _options?: CallOptions): Promise<Result<void, RagError>>;
36
38
  query(embedding: IQueryEmbedding, k: number, options?: CallOptions): Promise<Result<RagResult[], RagError>>;
37
39
  healthCheck(options?: CallOptions): Promise<Result<void, RagError>>;
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vector-rag.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/vector-rag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAUhC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,SAAU,YAAW,IAAI;IASlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;gBAGX,QAAQ,EAAE,SAAS,EACpC,MAAM,GAAE,eAAoB;IAQ9B,4DAA4D;IAC5D,aAAa,CAAC,MAAM,EAAE;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;IAOR,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,MAAM;IAYd;;;OAGG;IACH,OAAO,CAAC,SAAS;IA4BX,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAwD5B,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAwDnC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAc1E"}
1
+ {"version":3,"file":"vector-rag.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/rag/vector-rag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAUhC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,SAAU,YAAW,qBAAqB;IASnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;gBAGX,QAAQ,EAAE,SAAS,EACpC,MAAM,GAAE,eAAoB;IAQ9B,4DAA4D;IAC5D,aAAa,CAAC,MAAM,EAAE;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;IAOR,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,MAAM;IAYd;;;OAGG;IACH,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,iBAAiB;IA0CnB,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAsB5B,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,WAAW,EACrB,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAS5B,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAwDnC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAc1E"}
@@ -65,6 +65,40 @@ export class VectorRag {
65
65
  // Normalize to [0, 1] range (rough approximation for fusion)
66
66
  return Math.min(score / 5, 1.0);
67
67
  }
68
+ upsertKnownVector(text, vector, metadata) {
69
+ const newTokens = this.tokenize(text);
70
+ // Idempotent upsert: if metadata.id matches, replace in-place
71
+ if (metadata.id) {
72
+ for (let i = 0; i < this.records.length; i++) {
73
+ if (this.records[i].metadata.id === metadata.id) {
74
+ const oldTokens = this.tokenize(this.records[i].text);
75
+ this.records[i].text = text;
76
+ this.records[i].vector = vector;
77
+ this.records[i].metadata = {
78
+ ...this.records[i].metadata,
79
+ ...metadata,
80
+ };
81
+ this.index.update(i, oldTokens, newTokens);
82
+ return { ok: true, value: undefined };
83
+ }
84
+ }
85
+ }
86
+ for (let i = 0; i < this.records.length; i++) {
87
+ const rec = this.records[i];
88
+ if (this.cosine(rec.vector, vector) >= this.dedupThreshold) {
89
+ const oldTokens = this.tokenize(rec.text);
90
+ rec.text = text;
91
+ rec.vector = vector;
92
+ rec.metadata = { ...rec.metadata, ...metadata };
93
+ this.index.update(i, oldTokens, newTokens);
94
+ return { ok: true, value: undefined };
95
+ }
96
+ }
97
+ const docIdx = this.records.length;
98
+ this.records.push({ text, vector, metadata });
99
+ this.index.add(docIdx, newTokens);
100
+ return { ok: true, value: undefined };
101
+ }
68
102
  async upsert(text, metadata, options) {
69
103
  if (options?.signal?.aborted) {
70
104
  return { ok: false, error: new RagError('Aborted', 'ABORTED') };
@@ -76,38 +110,17 @@ export class VectorRag {
76
110
  }
77
111
  try {
78
112
  const vector = await this.embedder.embed(text, options);
79
- const newTokens = this.tokenize(text);
80
- // Idempotent upsert: if metadata.id matches, replace in-place
81
- if (metadata.id) {
82
- for (let i = 0; i < this.records.length; i++) {
83
- if (this.records[i].metadata.id === metadata.id) {
84
- const oldTokens = this.tokenize(this.records[i].text);
85
- this.records[i].text = text;
86
- this.records[i].vector = vector;
87
- this.records[i].metadata = {
88
- ...this.records[i].metadata,
89
- ...metadata,
90
- };
91
- this.index.update(i, oldTokens, newTokens);
92
- return { ok: true, value: undefined };
93
- }
94
- }
95
- }
96
- for (let i = 0; i < this.records.length; i++) {
97
- const rec = this.records[i];
98
- if (this.cosine(rec.vector, vector) >= this.dedupThreshold) {
99
- const oldTokens = this.tokenize(rec.text);
100
- rec.text = text;
101
- rec.vector = vector;
102
- rec.metadata = { ...rec.metadata, ...metadata };
103
- this.index.update(i, oldTokens, newTokens);
104
- return { ok: true, value: undefined };
105
- }
106
- }
107
- const docIdx = this.records.length;
108
- this.records.push({ text, vector, metadata });
109
- this.index.add(docIdx, newTokens);
110
- return { ok: true, value: undefined };
113
+ return this.upsertKnownVector(text, vector, metadata);
114
+ }
115
+ catch (err) {
116
+ if (err instanceof RagError)
117
+ return { ok: false, error: err };
118
+ return { ok: false, error: new RagError(String(err), 'UPSERT_ERROR') };
119
+ }
120
+ }
121
+ async upsertPrecomputed(text, vector, metadata, _options) {
122
+ try {
123
+ return this.upsertKnownVector(text, vector, metadata);
111
124
  }
112
125
  catch (err) {
113
126
  if (err instanceof RagError)
@@ -1 +1 @@
1
- {"version":3,"file":"vector-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/vector-rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/rag/vector-rag.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export declare class CircuitBreakerEmbedder implements IEmbedder {
12
12
  readonly breaker: CircuitBreaker;
13
13
  constructor(inner: IEmbedder, breaker: CircuitBreaker);
14
14
  embed(text: string, options?: CallOptions): Promise<number[]>;
15
+ embedBatch(texts: string[], options?: CallOptions): Promise<number[][]>;
15
16
  }
16
17
  //# sourceMappingURL=circuit-breaker-embedder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker-embedder.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/resilience/circuit-breaker-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,sBAAuB,YAAW,SAAS;IAEpD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc;gBADf,KAAK,EAAE,SAAS,EACxB,OAAO,EAAE,cAAc;IAG5B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAapE"}
1
+ {"version":3,"file":"circuit-breaker-embedder.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/resilience/circuit-breaker-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,sBAAuB,YAAW,SAAS;IAEpD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc;gBADf,KAAK,EAAE,SAAS,EACxB,OAAO,EAAE,cAAc;IAG5B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc7D,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAmBvB"}
@@ -4,6 +4,7 @@
4
4
  * When the circuit is open, calls throw an error rather than hitting the
5
5
  * underlying embedding service.
6
6
  */
7
+ import { isBatchEmbedder } from '../interfaces/rag.js';
7
8
  import { RagError } from '../interfaces/types.js';
8
9
  export class CircuitBreakerEmbedder {
9
10
  inner;
@@ -26,5 +27,22 @@ export class CircuitBreakerEmbedder {
26
27
  throw err;
27
28
  }
28
29
  }
30
+ async embedBatch(texts, options) {
31
+ if (!this.breaker.isCallPermitted) {
32
+ throw new RagError('Embedder circuit breaker is open', 'CIRCUIT_OPEN');
33
+ }
34
+ if (!isBatchEmbedder(this.inner)) {
35
+ throw new RagError('Inner embedder does not support batch embedding', 'EMBED_ERROR');
36
+ }
37
+ try {
38
+ const result = await this.inner.embedBatch(texts, options);
39
+ this.breaker.recordSuccess();
40
+ return result;
41
+ }
42
+ catch (err) {
43
+ this.breaker.recordFailure();
44
+ throw err;
45
+ }
46
+ }
29
47
  }
30
48
  //# sourceMappingURL=circuit-breaker-embedder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/resilience/circuit-breaker-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,OAAO,sBAAsB;IAEd;IACR;IAFX,YACmB,KAAgB,EACxB,OAAuB;QADf,UAAK,GAAL,KAAK,CAAW;QACxB,YAAO,GAAP,OAAO,CAAgB;IAC/B,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAqB;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"circuit-breaker-embedder.js","sourceRoot":"","sources":["../../../src/smart-agent/resilience/circuit-breaker-embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,OAAO,sBAAsB;IAEd;IACR;IAFX,YACmB,KAAgB,EACxB,OAAuB;QADf,UAAK,GAAL,KAAK,CAAW;QACxB,YAAO,GAAP,OAAO,CAAgB;IAC/B,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAqB;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,OAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,aAAa,CACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
@@ -17,6 +17,7 @@ export declare class FallbackRag implements IRag {
17
17
  constructor(primary: IRag, fallback: IRag, embedderBreaker: CircuitBreaker);
18
18
  upsert(text: string, metadata: RagMetadata, options?: CallOptions): Promise<Result<void, RagError>>;
19
19
  query(embedding: IQueryEmbedding, k: number, options?: CallOptions): Promise<Result<RagResult[], RagError>>;
20
+ upsertPrecomputed(text: string, vector: number[], metadata: RagMetadata, options?: CallOptions): Promise<Result<void, RagError>>;
20
21
  healthCheck(options?: CallOptions): Promise<Result<void, RagError>>;
21
22
  }
22
23
  //# sourceMappingURL=fallback-rag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-rag.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/resilience/fallback-rag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,WAAY,YAAW,IAAI;IAEpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,cAAc;IAG5C,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAQ5B,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAOnC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAG1E"}
1
+ {"version":3,"file":"fallback-rag.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/resilience/fallback-rag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,WAAY,YAAW,IAAI;IAEpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,cAAc;IAG5C,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAQ5B,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAOnC,iBAAiB,CACrB,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;IAiB5B,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAG1E"}
@@ -6,6 +6,7 @@
6
6
  * routes to fallback when the breaker is open.
7
7
  * - **healthCheck** — delegates to primary.
8
8
  */
9
+ import { supportsPrecomputed } from '../interfaces/rag.js';
9
10
  export class FallbackRag {
10
11
  primary;
11
12
  fallback;
@@ -28,6 +29,21 @@ export class FallbackRag {
28
29
  }
29
30
  return this.primary.query(embedding, k, options);
30
31
  }
32
+ async upsertPrecomputed(text, vector, metadata, options) {
33
+ const primaryResult = supportsPrecomputed(this.primary)
34
+ ? await this.primary.upsertPrecomputed(text, vector, metadata, options)
35
+ : await this.primary.upsert(text, metadata, options);
36
+ // Best-effort write to fallback
37
+ if (supportsPrecomputed(this.fallback)) {
38
+ this.fallback
39
+ .upsertPrecomputed(text, vector, metadata, options)
40
+ .catch(() => { });
41
+ }
42
+ else {
43
+ this.fallback.upsert(text, metadata, options).catch(() => { });
44
+ }
45
+ return primaryResult;
46
+ }
31
47
  async healthCheck(options) {
32
48
  return this.primary.healthCheck(options);
33
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/resilience/fallback-rag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,MAAM,OAAO,WAAW;IAEH;IACA;IACA;IAHnB,YACmB,OAAa,EACb,QAAc,EACd,eAA+B;QAF/B,YAAO,GAAP,OAAO,CAAM;QACb,aAAQ,GAAR,QAAQ,CAAM;QACd,oBAAe,GAAf,eAAe,CAAgB;IAC/C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,QAAqB,EACrB,OAAqB;QAErB,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAA0B,EAC1B,CAAS,EACT,OAAqB;QAErB,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"fallback-rag.js","sourceRoot":"","sources":["../../../src/smart-agent/resilience/fallback-rag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAU3D,MAAM,OAAO,WAAW;IAEH;IACA;IACA;IAHnB,YACmB,OAAa,EACb,QAAc,EACd,eAA+B;QAF/B,YAAO,GAAP,OAAO,CAAM;QACb,aAAQ,GAAR,QAAQ,CAAM;QACd,oBAAe,GAAf,eAAe,CAAgB;IAC/C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,QAAqB,EACrB,OAAqB;QAErB,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAA0B,EAC1B,CAAS,EACT,OAAqB;QAErB,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,MAAgB,EAChB,QAAqB,EACrB,OAAqB;QAErB,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;YACvE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvD,gCAAgC;QAChC,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ;iBACV,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;iBAClD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -130,6 +130,8 @@ export interface SmartServerConfig {
130
130
  apiAdapters?: ILlmApiAdapter[];
131
131
  /** Disable built-in adapter auto-registration. Default: false. */
132
132
  disableBuiltInAdapters?: boolean;
133
+ /** Skip startup model validation (useful for testing). Default: false. */
134
+ skipModelValidation?: boolean;
133
135
  }
134
136
  export interface SmartServerHandle {
135
137
  port: number;
@@ -1 +1 @@
1
- {"version":3,"file":"smart-server.d.ts","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-server.d.ts","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,7 @@ export class SmartServer {
160
160
  mcp: pipeline?.mcp ?? this.cfg.mcp,
161
161
  agent: this.cfg.agent,
162
162
  prompts: this.cfg.prompts,
163
+ skipModelValidation: this.cfg.skipModelValidation,
163
164
  })
164
165
  .withMainLlm(mainLlm)
165
166
  .withClassifierLlm(classifierLlm)
@@ -1 +1 @@
1
- {"version":3,"file":"smart-server.js","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-server.js","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/llm-agent",
3
- "version": "5.13.0",
3
+ "version": "5.14.2",
4
4
  "description": "Core components for building Smart LLM agents, plus a default MCP-orchestrated OpenAI-compatible server implementation.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,29 +0,0 @@
1
- import type { Message } from '../../types.js';
2
- import type { ILlm } from '../interfaces/llm.js';
3
- import type { CallOptions, LlmError, LlmResponse, LlmStreamChunk, LlmTool, Result } from '../interfaces/types.js';
4
- export interface TokenUsage {
5
- prompt_tokens: number;
6
- completion_tokens: number;
7
- total_tokens: number;
8
- requests: number;
9
- }
10
- /**
11
- * Decorator that wraps any ILlm and accumulates token usage from raw provider
12
- * responses. Compatible with OpenAI / DeepSeek (`usage.prompt_tokens`) and
13
- * Anthropic (`usage.input_tokens`) response shapes.
14
- */
15
- export declare class TokenCountingLlm implements ILlm {
16
- private readonly inner;
17
- private usage;
18
- constructor(inner: ILlm);
19
- /** Expose wrapped ILlm for auto-detection of IModelProvider. */
20
- get wrappedLlm(): ILlm;
21
- chat(messages: Message[], tools?: LlmTool[], options?: CallOptions): Promise<Result<LlmResponse, LlmError>>;
22
- streamChat(messages: Message[], tools?: LlmTool[], options?: CallOptions): AsyncIterable<Result<LlmStreamChunk, LlmError>>;
23
- healthCheck(options?: CallOptions): Promise<Result<boolean, LlmError>>;
24
- /** Returns a snapshot of accumulated usage. */
25
- getUsage(): TokenUsage;
26
- /** Resets all counters to zero. */
27
- resetUsage(): void;
28
- }
29
- //# sourceMappingURL=token-counting-llm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-counting-llm.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/llm/token-counting-llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,MAAM,EACP,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,IAAI;IAQ/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPlC,OAAO,CAAC,KAAK,CAKX;gBAE2B,KAAK,EAAE,IAAI;IAExC,gEAAgE;IAChE,IAAI,UAAU,IAAI,IAAI,CAErB;IAEK,IAAI,CACR,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAyBlC,UAAU,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAa5C,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAO5E,+CAA+C;IAC/C,QAAQ,IAAI,UAAU;IAItB,mCAAmC;IACnC,UAAU,IAAI,IAAI;CAQnB"}
@@ -1,78 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // TokenCountingLlm
3
- // ---------------------------------------------------------------------------
4
- /**
5
- * Decorator that wraps any ILlm and accumulates token usage from raw provider
6
- * responses. Compatible with OpenAI / DeepSeek (`usage.prompt_tokens`) and
7
- * Anthropic (`usage.input_tokens`) response shapes.
8
- */
9
- export class TokenCountingLlm {
10
- inner;
11
- usage = {
12
- prompt_tokens: 0,
13
- completion_tokens: 0,
14
- total_tokens: 0,
15
- requests: 0,
16
- };
17
- constructor(inner) {
18
- this.inner = inner;
19
- }
20
- /** Expose wrapped ILlm for auto-detection of IModelProvider. */
21
- get wrappedLlm() {
22
- return this.inner;
23
- }
24
- async chat(messages, tools, options) {
25
- const result = await this.inner.chat(messages, tools, options);
26
- if (result.ok) {
27
- this.usage.requests++;
28
- // biome-ignore lint/suspicious/noExplicitAny: raw provider payload has no stable type
29
- const u = result.value.raw?.usage;
30
- if (u) {
31
- this.usage.prompt_tokens +=
32
- u.prompt_tokens ??
33
- u.input_tokens ??
34
- 0;
35
- this.usage.completion_tokens +=
36
- u.completion_tokens ??
37
- u.output_tokens ??
38
- 0;
39
- this.usage.total_tokens +=
40
- u.total_tokens ??
41
- this.usage.prompt_tokens + this.usage.completion_tokens;
42
- }
43
- }
44
- return result;
45
- }
46
- async *streamChat(messages, tools, options) {
47
- const stream = this.inner.streamChat(messages, tools, options);
48
- for await (const chunk of stream) {
49
- if (chunk.ok && chunk.value.usage) {
50
- this.usage.requests++;
51
- this.usage.prompt_tokens += chunk.value.usage.promptTokens;
52
- this.usage.completion_tokens += chunk.value.usage.completionTokens;
53
- this.usage.total_tokens += chunk.value.usage.totalTokens;
54
- }
55
- yield chunk;
56
- }
57
- }
58
- async healthCheck(options) {
59
- if (!this.inner.healthCheck) {
60
- return { ok: true, value: true };
61
- }
62
- return this.inner.healthCheck(options);
63
- }
64
- /** Returns a snapshot of accumulated usage. */
65
- getUsage() {
66
- return { ...this.usage };
67
- }
68
- /** Resets all counters to zero. */
69
- resetUsage() {
70
- this.usage = {
71
- prompt_tokens: 0,
72
- completion_tokens: 0,
73
- total_tokens: 0,
74
- requests: 0,
75
- };
76
- }
77
- }
78
- //# sourceMappingURL=token-counting-llm.js.map