@mcp-abap-adt/llm-agent 2.2.1 → 2.3.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/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/smart-agent/agent.d.ts +3 -0
  6. package/dist/smart-agent/agent.d.ts.map +1 -1
  7. package/dist/smart-agent/agent.js +100 -14
  8. package/dist/smart-agent/agent.js.map +1 -1
  9. package/dist/smart-agent/builder.d.ts +10 -0
  10. package/dist/smart-agent/builder.d.ts.map +1 -1
  11. package/dist/smart-agent/builder.js +10 -0
  12. package/dist/smart-agent/builder.js.map +1 -1
  13. package/dist/smart-agent/classifier/llm-classifier.d.ts +1 -1
  14. package/dist/smart-agent/classifier/llm-classifier.d.ts.map +1 -1
  15. package/dist/smart-agent/classifier/llm-classifier.js +8 -6
  16. package/dist/smart-agent/classifier/llm-classifier.js.map +1 -1
  17. package/dist/smart-agent/cli.d.ts +2 -0
  18. package/dist/smart-agent/cli.d.ts.map +1 -1
  19. package/dist/smart-agent/cli.js +4 -0
  20. package/dist/smart-agent/cli.js.map +1 -1
  21. package/dist/smart-agent/config.d.ts +2 -0
  22. package/dist/smart-agent/config.d.ts.map +1 -1
  23. package/dist/smart-agent/config.js +2 -2
  24. package/dist/smart-agent/config.js.map +1 -1
  25. package/dist/smart-agent/interfaces/index.d.ts +1 -0
  26. package/dist/smart-agent/interfaces/index.d.ts.map +1 -1
  27. package/dist/smart-agent/interfaces/index.js.map +1 -1
  28. package/dist/smart-agent/interfaces/types.d.ts +2 -2
  29. package/dist/smart-agent/interfaces/types.d.ts.map +1 -1
  30. package/dist/smart-agent/otel/index.d.ts +2 -0
  31. package/dist/smart-agent/otel/index.d.ts.map +1 -0
  32. package/dist/smart-agent/otel/index.js +2 -0
  33. package/dist/smart-agent/otel/index.js.map +1 -0
  34. package/dist/smart-agent/otel/otel-tracer-adapter.d.ts +15 -0
  35. package/dist/smart-agent/otel/otel-tracer-adapter.d.ts.map +1 -0
  36. package/dist/smart-agent/otel/otel-tracer-adapter.js +62 -0
  37. package/dist/smart-agent/otel/otel-tracer-adapter.js.map +1 -0
  38. package/dist/smart-agent/pipeline.d.ts +2 -0
  39. package/dist/smart-agent/pipeline.d.ts.map +1 -1
  40. package/dist/smart-agent/pipeline.js +2 -0
  41. package/dist/smart-agent/pipeline.js.map +1 -1
  42. package/dist/smart-agent/rag/ollama-rag.d.ts +3 -0
  43. package/dist/smart-agent/rag/ollama-rag.d.ts.map +1 -1
  44. package/dist/smart-agent/rag/ollama-rag.js +9 -2
  45. package/dist/smart-agent/rag/ollama-rag.js.map +1 -1
  46. package/dist/smart-agent/rag/openai-embedder.d.ts +3 -0
  47. package/dist/smart-agent/rag/openai-embedder.d.ts.map +1 -1
  48. package/dist/smart-agent/rag/openai-embedder.js +7 -1
  49. package/dist/smart-agent/rag/openai-embedder.js.map +1 -1
  50. package/dist/smart-agent/testing/index.d.ts +19 -0
  51. package/dist/smart-agent/testing/index.d.ts.map +1 -1
  52. package/dist/smart-agent/testing/index.js +37 -0
  53. package/dist/smart-agent/testing/index.js.map +1 -1
  54. package/dist/smart-agent/tracer/index.d.ts +3 -0
  55. package/dist/smart-agent/tracer/index.d.ts.map +1 -0
  56. package/dist/smart-agent/tracer/index.js +2 -0
  57. package/dist/smart-agent/tracer/index.js.map +1 -0
  58. package/dist/smart-agent/tracer/noop-tracer.d.ts +5 -0
  59. package/dist/smart-agent/tracer/noop-tracer.d.ts.map +1 -0
  60. package/dist/smart-agent/tracer/noop-tracer.js +16 -0
  61. package/dist/smart-agent/tracer/noop-tracer.js.map +1 -0
  62. package/dist/smart-agent/tracer/types.d.ts +17 -0
  63. package/dist/smart-agent/tracer/types.d.ts.map +1 -0
  64. package/dist/smart-agent/tracer/types.js +2 -0
  65. package/dist/smart-agent/tracer/types.js.map +1 -0
  66. package/package.json +17 -2
package/dist/index.d.ts CHANGED
@@ -14,5 +14,7 @@ export { type DeepSeekConfig, DeepSeekProvider, } from './llm-providers/deepseek
14
14
  export { type OpenAIConfig, OpenAIProvider } from './llm-providers/openai.js';
15
15
  export { type SapCoreAIConfig, SapCoreAIProvider, } from './llm-providers/sap-core-ai.js';
16
16
  export { type MCPClientConfig, MCPClientWrapper, type TransportType, } from './mcp/client.js';
17
+ export { NoopTracer } from './smart-agent/tracer/noop-tracer.js';
18
+ export type { ISpan, ITracer, SpanOptions, SpanStatus, } from './smart-agent/tracer/types.js';
17
19
  export type { AgentResponse, LLMProviderConfig, LLMResponse, Message, ToolCall, ToolResult, } from './types.js';
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,eAAe,EACpB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG9E,OAAO,EACL,KAAK,eAAe,EACpB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,eAAe,EACpB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG9E,OAAO,EACL,KAAK,eAAe,EACpB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -21,4 +21,6 @@ export { OpenAIProvider } from './llm-providers/openai.js';
21
21
  export { SapCoreAIProvider, } from './llm-providers/sap-core-ai.js';
22
22
  // MCP Client
23
23
  export { MCPClientWrapper, } from './mcp/client.js';
24
+ // Tracer
25
+ export { NoopTracer } from './smart-agent/tracer/noop-tracer.js';
24
26
  //# 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;;GAEG;AAEH,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8DAA8D;AAC9D,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAqB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,gBAAgB;AAChB,2DAA2D;AAC3D,OAAO,EAEL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,aAAa;AACb,OAAO,EAEL,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8DAA8D;AAC9D,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAqB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,gBAAgB;AAChB,2DAA2D;AAC3D,OAAO,EAEL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,aAAa;AACb,OAAO,EAEL,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC"}
@@ -7,6 +7,7 @@ import type { IRag } from './interfaces/rag.js';
7
7
  import { type CallOptions, type LlmStreamChunk, type Result, SmartAgentError } from './interfaces/types.js';
8
8
  import type { ILogger } from './logger/index.js';
9
9
  import type { IPromptInjectionDetector, IToolPolicy, SessionPolicy } from './policy/types.js';
10
+ import type { ITracer } from './tracer/types.js';
10
11
  export declare class OrchestratorError extends SmartAgentError {
11
12
  constructor(message: string, code?: string);
12
13
  }
@@ -25,6 +26,7 @@ export interface SmartAgentDeps {
25
26
  logger?: ILogger;
26
27
  toolPolicy?: IToolPolicy;
27
28
  injectionDetector?: IPromptInjectionDetector;
29
+ tracer?: ITracer;
28
30
  }
29
31
  export interface SmartAgentConfig {
30
32
  maxIterations: number;
@@ -57,6 +59,7 @@ export declare class SmartAgent {
57
59
  private readonly deps;
58
60
  private readonly config;
59
61
  private readonly toolAvailabilityRegistry;
62
+ private readonly tracer;
60
63
  constructor(deps: SmartAgentDeps, config: SmartAgentConfig);
61
64
  healthCheck(options?: CallOptions): Promise<Result<{
62
65
  llm: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { SmartAgentError, } from './interfaces/types.js';
3
3
  import { isToolContextUnavailableError, ToolAvailabilityRegistry, } from './policy/tool-availability-registry.js';
4
+ import { NoopTracer } from './tracer/noop-tracer.js';
4
5
  import { normalizeExternalTools } from './utils/external-tools-normalizer.js';
5
6
  import { getStreamToolCallName, toToolCallDelta, } from './utils/tool-call-deltas.js';
6
7
  export class OrchestratorError extends SmartAgentError {
@@ -31,10 +32,12 @@ export class SmartAgent {
31
32
  deps;
32
33
  config;
33
34
  toolAvailabilityRegistry;
35
+ tracer;
34
36
  constructor(deps, config) {
35
37
  this.deps = deps;
36
38
  this.config = config;
37
39
  this.toolAvailabilityRegistry = new ToolAvailabilityRegistry(this.config.toolUnavailableTtlMs);
40
+ this.tracer = deps.tracer ?? new NoopTracer();
38
41
  }
39
42
  async healthCheck(options) {
40
43
  const results = {
@@ -100,7 +103,10 @@ export class SmartAgent {
100
103
  return;
101
104
  }
102
105
  const traceId = options?.trace?.traceId ?? randomUUID();
103
- const pipelineT0 = Date.now();
106
+ const rootSpan = this.tracer.startSpan('smart_agent.process', {
107
+ traceId,
108
+ attributes: { 'smart_agent.mode': this.config.mode || 'smart' },
109
+ });
104
110
  let timeoutCleanup;
105
111
  let opts = options;
106
112
  if (this.config.timeoutMs) {
@@ -127,11 +133,15 @@ export class SmartAgent {
127
133
  const stream = this.deps.mainLlm.streamChat(messages, externalTools, opts);
128
134
  for await (const chunk of stream)
129
135
  yield chunk;
136
+ rootSpan.setStatus('ok');
137
+ rootSpan.end();
130
138
  return;
131
139
  }
132
140
  // 1. Unified Preparation
133
- const initResult = await this._preparePipeline(textOrMessages, opts, traceId, pipelineT0);
141
+ const initResult = await this._preparePipeline(textOrMessages, opts, rootSpan);
134
142
  if (!initResult.ok) {
143
+ rootSpan.setStatus('error', initResult.error.message);
144
+ rootSpan.end();
135
145
  yield initResult;
136
146
  return;
137
147
  }
@@ -151,11 +161,16 @@ export class SmartAgent {
151
161
  const combinedActionText = actions.map((a) => a.text).join(' ');
152
162
  const ragText = await this._toEnglishForRag(combinedActionText, opts);
153
163
  const k = this.config.ragQueryK ?? 10;
164
+ const ragSpan = this.tracer.startSpan('smart_agent.rag_query', {
165
+ parent: rootSpan,
166
+ attributes: { 'rag.k': k },
167
+ });
154
168
  const [fR, fbR, sR] = await Promise.all([
155
169
  this.deps.ragStores.facts.query(ragText, k, opts),
156
170
  this.deps.ragStores.feedback.query(ragText, k, opts),
157
171
  this.deps.ragStores.state.query(ragText, k, opts),
158
172
  ]);
173
+ ragSpan.end();
159
174
  const { tools: mcpTools } = await this._listAllTools(opts);
160
175
  const facts = fR.ok ? fR.value : [];
161
176
  const ragToolNames = new Set(facts
@@ -190,31 +205,58 @@ export class SmartAgent {
190
205
  });
191
206
  }
192
207
  // 3. Assemble Context once
193
- const mainAction = actions.length > 0
194
- ? actions[0]
195
- : subprompts.find((sp) => sp.type === 'chat') || subprompts[0];
208
+ const mainAction = actions.length > 1
209
+ ? {
210
+ type: 'action',
211
+ text: actions.map((a) => a.text).join('\n'),
212
+ context: actions.find((a) => a.context)?.context,
213
+ dependency: 'independent',
214
+ }
215
+ : actions.length === 1
216
+ ? actions[0]
217
+ : subprompts.find((sp) => sp.type === 'chat') || subprompts[0];
218
+ if (actions.length > 1) {
219
+ opts?.sessionLogger?.logStep('actions_merged', {
220
+ count: actions.length,
221
+ actions: actions.map((a) => ({
222
+ text: a.text,
223
+ dependency: a.dependency,
224
+ })),
225
+ });
226
+ }
227
+ const assembleSpan = this.tracer.startSpan('smart_agent.assemble', {
228
+ parent: rootSpan,
229
+ });
196
230
  const assembleResult = await this.deps.assembler.assemble(mainAction, retrieved, processedHistory, opts);
197
231
  if (!assembleResult.ok) {
232
+ assembleSpan.setStatus('error', assembleResult.error.message);
233
+ assembleSpan.end();
234
+ rootSpan.setStatus('error', assembleResult.error.message);
235
+ rootSpan.end();
198
236
  yield {
199
237
  ok: false,
200
238
  error: new OrchestratorError(assembleResult.error.message, 'ASSEMBLER_ERROR'),
201
239
  };
202
240
  return;
203
241
  }
242
+ assembleSpan.setStatus('ok');
243
+ assembleSpan.end();
204
244
  opts?.sessionLogger?.logStep(`final_context_assembled`, {
205
245
  messages: assembleResult.value,
206
246
  tools: finalTools.map((t) => t.name),
207
247
  });
208
248
  // 4. Single Streaming Loop
209
- const stream = this._runStreamingToolLoop(mainAction, retrieved, assembleResult.value, toolClientMap, opts, traceId, sessionId, mode === 'hard' ? [] : externalTools, finalTools);
249
+ const stream = this._runStreamingToolLoop(mainAction, retrieved, assembleResult.value, toolClientMap, opts, rootSpan, sessionId, mode === 'hard' ? [] : externalTools, finalTools);
210
250
  for await (const chunk of stream)
211
251
  yield chunk;
252
+ rootSpan.setStatus('ok');
212
253
  }
213
254
  finally {
255
+ rootSpan.end();
214
256
  timeoutCleanup?.();
215
257
  }
216
258
  }
217
- async _preparePipeline(textOrMessages, opts, _traceId, _pipelineT0) {
259
+ async _preparePipeline(textOrMessages, opts, parentSpan) {
218
260
  opts?.sessionLogger?.logStep('client_request', { textOrMessages });
219
261
  const text = typeof textOrMessages === 'string'
220
262
  ? textOrMessages
@@ -228,12 +270,20 @@ export class SmartAgent {
228
270
  if (res.ok)
229
271
  processedHistory = res.value;
230
272
  }
273
+ const classifySpan = this.tracer.startSpan('smart_agent.classify', {
274
+ parent: parentSpan,
275
+ });
231
276
  const classifyResult = await this.deps.classifier.classify(text, opts);
232
- if (!classifyResult.ok)
277
+ if (!classifyResult.ok) {
278
+ classifySpan.setStatus('error', classifyResult.error.message);
279
+ classifySpan.end();
233
280
  return {
234
281
  ok: false,
235
282
  error: new OrchestratorError(classifyResult.error.message, 'CLASSIFIER_ERROR'),
236
283
  };
284
+ }
285
+ classifySpan.setStatus('ok');
286
+ classifySpan.end();
237
287
  opts?.sessionLogger?.logStep('classifier_response', {
238
288
  subprompts: classifyResult.value,
239
289
  });
@@ -244,15 +294,25 @@ export class SmartAgent {
244
294
  ['feedback', this.deps.ragStores.feedback],
245
295
  ['state', this.deps.ragStores.state],
246
296
  ]);
247
- await Promise.allSettled(others.map(async (sp) => {
248
- const s = ragStoreMap.get(sp.type);
249
- if (s)
250
- await s.upsert(sp.text, this._buildRagMetadata(), opts);
251
- }));
297
+ if (others.length > 0) {
298
+ const upsertSpan = this.tracer.startSpan('smart_agent.rag_upsert', {
299
+ parent: parentSpan,
300
+ attributes: { 'rag.upsert_count': others.length },
301
+ });
302
+ await Promise.allSettled(others.map(async (sp) => {
303
+ const s = ragStoreMap.get(sp.type);
304
+ if (s)
305
+ await s.upsert(sp.text, this._buildRagMetadata(), opts);
306
+ }));
307
+ upsertSpan.end();
308
+ }
252
309
  const { toolClientMap } = await this._listAllTools(opts);
253
310
  return { ok: true, value: { subprompts, processedHistory, toolClientMap } };
254
311
  }
255
- async *_runStreamingToolLoop(_action, _retrieved, initialMessages, toolClientMap, opts, _traceId, sessionId, externalTools, activeTools) {
312
+ async *_runStreamingToolLoop(_action, _retrieved, initialMessages, toolClientMap, opts, parentSpan, sessionId, externalTools, activeTools) {
313
+ const toolLoopSpan = this.tracer.startSpan('smart_agent.tool_loop', {
314
+ parent: parentSpan,
315
+ });
256
316
  let toolCallCount = 0;
257
317
  let messages = initialMessages;
258
318
  const usage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
@@ -260,10 +320,14 @@ export class SmartAgent {
260
320
  let currentTools = activeTools;
261
321
  for (let iteration = 0;; iteration++) {
262
322
  if (opts?.signal?.aborted) {
323
+ toolLoopSpan.setStatus('error', 'Aborted');
324
+ toolLoopSpan.end();
263
325
  yield { ok: false, error: new OrchestratorError('Aborted', 'ABORTED') };
264
326
  return;
265
327
  }
266
328
  if (iteration >= this.config.maxIterations) {
329
+ toolLoopSpan.addEvent('iteration_limit_reached');
330
+ toolLoopSpan.end();
267
331
  yield {
268
332
  ok: true,
269
333
  value: { content: '', finishReason: 'length', usage },
@@ -282,12 +346,20 @@ export class SmartAgent {
282
346
  messages,
283
347
  tools: currentTools,
284
348
  });
349
+ const llmSpan = this.tracer.startSpan('smart_agent.llm_call', {
350
+ parent: toolLoopSpan,
351
+ attributes: { 'llm.iteration': iteration + 1 },
352
+ });
285
353
  const stream = this.deps.mainLlm.streamChat(messages, currentTools, opts);
286
354
  let content = '';
287
355
  let finishReason;
288
356
  const toolCallsMap = new Map();
289
357
  for await (const chunkResult of stream) {
290
358
  if (!chunkResult.ok) {
359
+ llmSpan.setStatus('error', chunkResult.error.message);
360
+ llmSpan.end();
361
+ toolLoopSpan.setStatus('error', chunkResult.error.message);
362
+ toolLoopSpan.end();
291
363
  yield {
292
364
  ok: false,
293
365
  error: new OrchestratorError(chunkResult.error.message, 'LLM_ERROR'),
@@ -337,6 +409,8 @@ export class SmartAgent {
337
409
  usage.totalTokens += chunk.usage.totalTokens;
338
410
  }
339
411
  }
412
+ llmSpan.setStatus('ok');
413
+ llmSpan.end();
340
414
  const toolCalls = Array.from(toolCallsMap.values()).map((tc) => {
341
415
  let args = {};
342
416
  try {
@@ -354,6 +428,8 @@ export class SmartAgent {
354
428
  });
355
429
  if (finishReason !== 'tool_calls' || toolCalls.length === 0) {
356
430
  opts?.sessionLogger?.logStep('final_response', { content, usage });
431
+ toolLoopSpan.setStatus('ok');
432
+ toolLoopSpan.end();
357
433
  yield {
358
434
  ok: true,
359
435
  value: { content: '', finishReason: finishReason || 'stop', usage },
@@ -427,6 +503,8 @@ export class SmartAgent {
427
503
  continue;
428
504
  }
429
505
  if (validExternalCalls.length > 0) {
506
+ toolLoopSpan.setStatus('ok');
507
+ toolLoopSpan.end();
430
508
  yield {
431
509
  ok: true,
432
510
  value: { content: '', finishReason: 'tool_calls', usage },
@@ -452,6 +530,8 @@ export class SmartAgent {
452
530
  for (const tc of internalCalls) {
453
531
  if (this.config.maxToolCalls !== undefined &&
454
532
  toolCallCount >= this.config.maxToolCalls) {
533
+ toolLoopSpan.addEvent('tool_call_limit_reached');
534
+ toolLoopSpan.end();
455
535
  yield {
456
536
  ok: true,
457
537
  value: { content: '', finishReason: 'length', usage },
@@ -468,12 +548,18 @@ export class SmartAgent {
468
548
  const client = toolClientMap.get(tc.name);
469
549
  if (!client)
470
550
  continue;
551
+ const toolSpan = this.tracer.startSpan('smart_agent.tool_call', {
552
+ parent: toolLoopSpan,
553
+ attributes: { 'tool.name': tc.name },
554
+ });
471
555
  const res = await client.callTool(tc.name, tc.arguments, opts);
472
556
  const text = !res.ok
473
557
  ? res.error.message
474
558
  : typeof res.value.content === 'string'
475
559
  ? res.value.content
476
560
  : JSON.stringify(res.value.content);
561
+ toolSpan.setStatus(res.ok ? 'ok' : 'error', res.ok ? undefined : text);
562
+ toolSpan.end();
477
563
  if (!res.ok && isToolContextUnavailableError(text)) {
478
564
  const entry = this.toolAvailabilityRegistry.block(sessionId, tc.name, text);
479
565
  currentTools = currentTools.filter((t) => t.name !== tc.name);
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import type { IMcpClient } from './interfaces/mcp-client.js';
22
22
  import { type TokenUsage } from './llm/token-counting-llm.js';
23
23
  import type { ILogger } from './logger/types.js';
24
24
  import type { IPromptInjectionDetector, IToolPolicy, SessionPolicy } from './policy/types.js';
25
+ import type { ITracer } from './tracer/types.js';
25
26
  export interface BuilderLlmConfig {
26
27
  /** DeepSeek API key (required for default LLM) */
27
28
  apiKey: string;
@@ -43,6 +44,12 @@ export interface BuilderRagConfig {
43
44
  model?: string;
44
45
  /** Cosine similarity dedup threshold. Default: 0.92 */
45
46
  dedupThreshold?: number;
47
+ /** Per-request timeout for embedding calls in milliseconds. Default: 30 000 */
48
+ timeoutMs?: number;
49
+ /** Semantic similarity weight 0..1. Default: 0.7 */
50
+ vectorWeight?: number;
51
+ /** Lexical matching weight 0..1. Default: 0.3 */
52
+ keywordWeight?: number;
46
53
  }
47
54
  export interface BuilderMcpConfig {
48
55
  type: 'http' | 'stdio';
@@ -110,6 +117,7 @@ export declare class SmartAgentBuilder {
110
117
  private _logger?;
111
118
  private _toolPolicy?;
112
119
  private _injectionDetector?;
120
+ private _tracer?;
113
121
  constructor(cfg: SmartAgentBuilderConfig);
114
122
  /** Override the main LLM used in the tool loop. */
115
123
  withMainLlm(llm: ILlm): this;
@@ -137,6 +145,8 @@ export declare class SmartAgentBuilder {
137
145
  withToolPolicy(policy: IToolPolicy): this;
138
146
  /** Set a prompt-injection detector. */
139
147
  withInjectionDetector(detector: IPromptInjectionDetector): this;
148
+ /** Set a tracer for pipeline span instrumentation. */
149
+ withTracer(tracer: ITracer): this;
140
150
  build(): Promise<SmartAgentHandle>;
141
151
  }
142
152
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/smart-agent/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/smart-agent/builder.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export class SmartAgentBuilder {
41
41
  _logger;
42
42
  _toolPolicy;
43
43
  _injectionDetector;
44
+ _tracer;
44
45
  constructor(cfg) {
45
46
  this.cfg = cfg;
46
47
  }
@@ -103,6 +104,11 @@ export class SmartAgentBuilder {
103
104
  this._injectionDetector = detector;
104
105
  return this;
105
106
  }
107
+ /** Set a tracer for pipeline span instrumentation. */
108
+ withTracer(tracer) {
109
+ this._tracer = tracer;
110
+ return this;
111
+ }
106
112
  // -------------------------------------------------------------------------
107
113
  // build()
108
114
  // -------------------------------------------------------------------------
@@ -145,7 +151,10 @@ export class SmartAgentBuilder {
145
151
  return new OllamaRag({
146
152
  ollamaUrl: r?.url,
147
153
  model: r?.model,
154
+ timeoutMs: r?.timeoutMs,
148
155
  dedupThreshold: r?.dedupThreshold,
156
+ vectorWeight: r?.vectorWeight,
157
+ keywordWeight: r?.keywordWeight,
149
158
  });
150
159
  }
151
160
  return new InMemoryRag({ dedupThreshold: r.dedupThreshold });
@@ -247,6 +256,7 @@ export class SmartAgentBuilder {
247
256
  ...(this._injectionDetector
248
257
  ? { injectionDetector: this._injectionDetector }
249
258
  : {}),
259
+ ...(this._tracer ? { tracer: this._tracer } : {}),
250
260
  }, agentCfg);
251
261
  return {
252
262
  agent,
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/smart-agent/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/smart-agent/builder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ISubpromptClassifier } from '../interfaces/classifier.js';
2
2
  import type { ILlm } from '../interfaces/llm.js';
3
3
  import { type CallOptions, ClassifierError, type Result, type Subprompt } from '../interfaces/types.js';
4
- export declare const DEFAULT_CLASSIFIER_PROMPT = "You are a Semantic Intent Analyzer. Decompose the user message into logical tasks.\nFor each task, identify:\n - \"type\": chat (greetings/math), action (tasks), fact (knowledge), state (context), feedback.\n - \"text\": the actual task description.\n - \"context\": the domain of the task (e.g., \"sap-abap\", \"math\", \"general\").\n - \"dependency\": \"independent\" or \"coupled\" (if it's part of a conditional chain).\n\nCRITICAL RULES:\n1. If tasks are conditionally linked (e.g., \"Do A, and IF it fails then do B\"), KEEP THEM TOGETHER in one \"action\" subprompt.\n2. If tasks are independent (e.g., \"Check weather AND add 5+5\"), SPLIT them.\n3. Be strictly neutral. Only assign \"sap-abap\" context if SAP terms are present.\n\nExample: \"Read table T100, if fails then read its structure. Also tell me a joke.\"\nResult: [\n {\"type\": \"action\", \"text\": \"Read content of table T100, if not possible read its structure\", \"context\": \"sap-abap\", \"dependency\": \"independent\"},\n {\"type\": \"chat\", \"text\": \"Tell a joke\", \"context\": \"general\", \"dependency\": \"independent\"}\n]\n\nReturn ONLY a JSON array.";
4
+ export declare const DEFAULT_CLASSIFIER_PROMPT = "You are a Semantic Intent Analyzer. Decompose the user message into logical tasks.\nFor each task, identify:\n - \"type\": chat (greetings/math), action (tasks), fact (knowledge), state (context), feedback.\n - \"text\": the actual task description.\n - \"context\": the domain of the task (e.g., \"sap-abap\", \"math\", \"general\").\n - \"dependency\": \"independent\", \"sequential\" (must run after previous action), or an ID of a subprompt this one depends on.\n\nCRITICAL RULES:\n1. If a message contains multiple sequential steps (e.g., \"Do A and then check B\"), SPLIT them into separate \"action\" subprompts with \"dependency\": \"sequential\" on the later steps.\n2. If tasks are independent (e.g., \"Check weather AND add 5+5\"), SPLIT them with \"dependency\": \"independent\".\n3. If a task is an atomic operation with a conditional fallback (e.g., \"Do A, if it fails do B\"), keep it as a SINGLE subprompt \u2014 the fallback is part of the same instruction.\n4. Be strictly neutral. Only assign \"sap-abap\" context if SAP terms are present.\n\nExample: \"Read table T100 and check its transport history. Also tell me a joke.\"\nResult: [\n {\"type\": \"action\", \"text\": \"Read content of table T100\", \"context\": \"sap-abap\", \"dependency\": \"independent\"},\n {\"type\": \"action\", \"text\": \"Check transport history of table T100\", \"context\": \"sap-abap\", \"dependency\": \"sequential\"},\n {\"type\": \"chat\", \"text\": \"Tell a joke\", \"context\": \"general\", \"dependency\": \"independent\"}\n]\n\nReturn ONLY a JSON array.";
5
5
  export interface LlmClassifierConfig {
6
6
  /** Override default system prompt. */
7
7
  systemPrompt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-classifier.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/classifier/llm-classifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,MAAM,EAEX,KAAK,SAAS,EAEf,MAAM,wBAAwB,CAAC;AAUhC,eAAO,MAAM,yBAAyB,ioCAkBZ,CAAC;AA4D3B,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,oBAAoB;IAKtD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;gBAGrC,GAAG,EAAE,IAAI,EAC1B,MAAM,CAAC,EAAE,mBAAmB;IAMxB,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;CAqCjD"}
1
+ {"version":3,"file":"llm-classifier.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/classifier/llm-classifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,MAAM,EAEX,KAAK,SAAS,EAEf,MAAM,wBAAwB,CAAC;AAUhC,eAAO,MAAM,yBAAyB,uiDAoBZ,CAAC;AA4D3B,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,oBAAoB;IAKtD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;gBAGrC,GAAG,EAAE,IAAI,EAC1B,MAAM,CAAC,EAAE,mBAAmB;IAMxB,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;CAqCjD"}