@mcp-abap-adt/llm-agent 2.9.2 → 2.10.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 (134) hide show
  1. package/dist/index.d.ts +11 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +7 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/smart-agent/agent.d.ts +18 -1
  6. package/dist/smart-agent/agent.d.ts.map +1 -1
  7. package/dist/smart-agent/agent.js +176 -21
  8. package/dist/smart-agent/agent.js.map +1 -1
  9. package/dist/smart-agent/builder.d.ts +114 -51
  10. package/dist/smart-agent/builder.d.ts.map +1 -1
  11. package/dist/smart-agent/builder.js +234 -110
  12. package/dist/smart-agent/builder.js.map +1 -1
  13. package/dist/smart-agent/cli.d.ts +1 -0
  14. package/dist/smart-agent/cli.d.ts.map +1 -1
  15. package/dist/smart-agent/cli.js +2 -0
  16. package/dist/smart-agent/cli.js.map +1 -1
  17. package/dist/smart-agent/config/config-watcher.d.ts +4 -0
  18. package/dist/smart-agent/config/config-watcher.d.ts.map +1 -1
  19. package/dist/smart-agent/config/config-watcher.js +8 -0
  20. package/dist/smart-agent/config/config-watcher.js.map +1 -1
  21. package/dist/smart-agent/config.d.ts +2 -1
  22. package/dist/smart-agent/config.d.ts.map +1 -1
  23. package/dist/smart-agent/config.js +46 -4
  24. package/dist/smart-agent/config.js.map +1 -1
  25. package/dist/smart-agent/interfaces/index.d.ts +1 -1
  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/rag.d.ts +16 -0
  29. package/dist/smart-agent/interfaces/rag.d.ts.map +1 -1
  30. package/dist/smart-agent/pipeline/condition-evaluator.d.ts +35 -0
  31. package/dist/smart-agent/pipeline/condition-evaluator.d.ts.map +1 -0
  32. package/dist/smart-agent/pipeline/condition-evaluator.js +143 -0
  33. package/dist/smart-agent/pipeline/condition-evaluator.js.map +1 -0
  34. package/dist/smart-agent/pipeline/context.d.ts +104 -0
  35. package/dist/smart-agent/pipeline/context.d.ts.map +1 -0
  36. package/dist/smart-agent/pipeline/context.js +19 -0
  37. package/dist/smart-agent/pipeline/context.js.map +1 -0
  38. package/dist/smart-agent/pipeline/default-pipeline.d.ts +45 -0
  39. package/dist/smart-agent/pipeline/default-pipeline.d.ts.map +1 -0
  40. package/dist/smart-agent/pipeline/default-pipeline.js +118 -0
  41. package/dist/smart-agent/pipeline/default-pipeline.js.map +1 -0
  42. package/dist/smart-agent/pipeline/executor.d.ts +54 -0
  43. package/dist/smart-agent/pipeline/executor.d.ts.map +1 -0
  44. package/dist/smart-agent/pipeline/executor.js +133 -0
  45. package/dist/smart-agent/pipeline/executor.js.map +1 -0
  46. package/dist/smart-agent/pipeline/handlers/assemble.d.ts +16 -0
  47. package/dist/smart-agent/pipeline/handlers/assemble.d.ts.map +1 -0
  48. package/dist/smart-agent/pipeline/handlers/assemble.js +57 -0
  49. package/dist/smart-agent/pipeline/handlers/assemble.js.map +1 -0
  50. package/dist/smart-agent/pipeline/handlers/classify.d.ts +21 -0
  51. package/dist/smart-agent/pipeline/handlers/classify.d.ts.map +1 -0
  52. package/dist/smart-agent/pipeline/handlers/classify.js +53 -0
  53. package/dist/smart-agent/pipeline/handlers/classify.js.map +1 -0
  54. package/dist/smart-agent/pipeline/handlers/expand.d.ts +16 -0
  55. package/dist/smart-agent/pipeline/handlers/expand.d.ts.map +1 -0
  56. package/dist/smart-agent/pipeline/handlers/expand.js +24 -0
  57. package/dist/smart-agent/pipeline/handlers/expand.js.map +1 -0
  58. package/dist/smart-agent/pipeline/handlers/index.d.ts +28 -0
  59. package/dist/smart-agent/pipeline/handlers/index.d.ts.map +1 -0
  60. package/dist/smart-agent/pipeline/handlers/index.js +39 -0
  61. package/dist/smart-agent/pipeline/handlers/index.js.map +1 -0
  62. package/dist/smart-agent/pipeline/handlers/rag-query.d.ts +25 -0
  63. package/dist/smart-agent/pipeline/handlers/rag-query.d.ts.map +1 -0
  64. package/dist/smart-agent/pipeline/handlers/rag-query.js +53 -0
  65. package/dist/smart-agent/pipeline/handlers/rag-query.js.map +1 -0
  66. package/dist/smart-agent/pipeline/handlers/rag-upsert.d.ts +17 -0
  67. package/dist/smart-agent/pipeline/handlers/rag-upsert.d.ts.map +1 -0
  68. package/dist/smart-agent/pipeline/handlers/rag-upsert.js +47 -0
  69. package/dist/smart-agent/pipeline/handlers/rag-upsert.js.map +1 -0
  70. package/dist/smart-agent/pipeline/handlers/rerank.d.ts +16 -0
  71. package/dist/smart-agent/pipeline/handlers/rerank.d.ts.map +1 -0
  72. package/dist/smart-agent/pipeline/handlers/rerank.js +38 -0
  73. package/dist/smart-agent/pipeline/handlers/rerank.js.map +1 -0
  74. package/dist/smart-agent/pipeline/handlers/summarize.d.ts +17 -0
  75. package/dist/smart-agent/pipeline/handlers/summarize.d.ts.map +1 -0
  76. package/dist/smart-agent/pipeline/handlers/summarize.js +47 -0
  77. package/dist/smart-agent/pipeline/handlers/summarize.js.map +1 -0
  78. package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts +32 -0
  79. package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +1 -0
  80. package/dist/smart-agent/pipeline/handlers/tool-loop.js +416 -0
  81. package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -0
  82. package/dist/smart-agent/pipeline/handlers/tool-select.d.ts +21 -0
  83. package/dist/smart-agent/pipeline/handlers/tool-select.d.ts.map +1 -0
  84. package/dist/smart-agent/pipeline/handlers/tool-select.js +95 -0
  85. package/dist/smart-agent/pipeline/handlers/tool-select.js.map +1 -0
  86. package/dist/smart-agent/pipeline/handlers/translate.d.ts +18 -0
  87. package/dist/smart-agent/pipeline/handlers/translate.d.ts.map +1 -0
  88. package/dist/smart-agent/pipeline/handlers/translate.js +39 -0
  89. package/dist/smart-agent/pipeline/handlers/translate.js.map +1 -0
  90. package/dist/smart-agent/pipeline/index.d.ts +14 -0
  91. package/dist/smart-agent/pipeline/index.d.ts.map +1 -0
  92. package/dist/smart-agent/pipeline/index.js +16 -0
  93. package/dist/smart-agent/pipeline/index.js.map +1 -0
  94. package/dist/smart-agent/pipeline/stage-handler.d.ts +36 -0
  95. package/dist/smart-agent/pipeline/stage-handler.d.ts.map +1 -0
  96. package/dist/smart-agent/pipeline/stage-handler.js +24 -0
  97. package/dist/smart-agent/pipeline/stage-handler.js.map +1 -0
  98. package/dist/smart-agent/pipeline/types.d.ts +129 -0
  99. package/dist/smart-agent/pipeline/types.d.ts.map +1 -0
  100. package/dist/smart-agent/pipeline/types.js +54 -0
  101. package/dist/smart-agent/pipeline/types.js.map +1 -0
  102. package/dist/smart-agent/pipeline.d.ts +22 -6
  103. package/dist/smart-agent/pipeline.d.ts.map +1 -1
  104. package/dist/smart-agent/pipeline.js +5 -142
  105. package/dist/smart-agent/pipeline.js.map +1 -1
  106. package/dist/smart-agent/plugins/index.d.ts +4 -0
  107. package/dist/smart-agent/plugins/index.d.ts.map +1 -0
  108. package/dist/smart-agent/plugins/index.js +3 -0
  109. package/dist/smart-agent/plugins/index.js.map +1 -0
  110. package/dist/smart-agent/plugins/loader.d.ts +67 -0
  111. package/dist/smart-agent/plugins/loader.d.ts.map +1 -0
  112. package/dist/smart-agent/plugins/loader.js +114 -0
  113. package/dist/smart-agent/plugins/loader.js.map +1 -0
  114. package/dist/smart-agent/plugins/types.d.ts +149 -0
  115. package/dist/smart-agent/plugins/types.d.ts.map +1 -0
  116. package/dist/smart-agent/plugins/types.js +111 -0
  117. package/dist/smart-agent/plugins/types.js.map +1 -0
  118. package/dist/smart-agent/providers.d.ts +76 -0
  119. package/dist/smart-agent/providers.d.ts.map +1 -0
  120. package/dist/smart-agent/providers.js +173 -0
  121. package/dist/smart-agent/providers.js.map +1 -0
  122. package/dist/smart-agent/rag/embedder-factories.d.ts +9 -0
  123. package/dist/smart-agent/rag/embedder-factories.d.ts.map +1 -0
  124. package/dist/smart-agent/rag/embedder-factories.js +27 -0
  125. package/dist/smart-agent/rag/embedder-factories.js.map +1 -0
  126. package/dist/smart-agent/rag/index.d.ts +7 -0
  127. package/dist/smart-agent/rag/index.d.ts.map +1 -1
  128. package/dist/smart-agent/rag/index.js +4 -0
  129. package/dist/smart-agent/rag/index.js.map +1 -1
  130. package/dist/smart-agent/smart-server.d.ts +25 -1
  131. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  132. package/dist/smart-agent/smart-server.js +122 -27
  133. package/dist/smart-agent/smart-server.js.map +1 -1
  134. package/package.json +2 -1
@@ -1,31 +1,24 @@
1
1
  /**
2
2
  * SmartAgentBuilder — fluent builder for SmartAgent.
3
3
  *
4
- * Wires together default implementations (DeepSeek LLM, Ollama/InMemory RAG,
5
- * MCP via HTTP or stdio) and allows overriding any component with a custom
6
- * implementation that satisfies the corresponding interface.
4
+ * Assembles a SmartAgent from interface-based components.
5
+ * The builder itself has NO knowledge of concrete providers
6
+ * all dependencies must be injected via `withXxx()` methods or
7
+ * resolved externally by the composition root (SmartServer, CLI).
7
8
  *
8
- * Usage — all defaults:
9
- * const { agent, getUsage, close } = await new SmartAgentBuilder({ llm: { apiKey } }).build();
10
- *
11
- * Usage — swap RAG and logger:
12
- * const handle = await new SmartAgentBuilder({ llm: { apiKey } })
9
+ * Usage:
10
+ * const handle = await new SmartAgentBuilder()
11
+ * .withMainLlm(myLlm)
13
12
  * .withRag({ facts: myRag, feedback: myRag, state: myRag })
14
- * .withLogger(myLogger)
15
13
  * .build();
16
14
  */
17
- import { DeepSeekAgent } from '../agents/deepseek-agent.js';
18
- import { DeepSeekProvider } from '../llm-providers/deepseek.js';
19
15
  import { MCPClientWrapper } from '../mcp/client.js';
20
- import { LlmAdapter } from './adapters/llm-adapter.js';
21
16
  import { McpClientAdapter } from './adapters/mcp-client-adapter.js';
22
17
  import { SmartAgent, } from './agent.js';
23
18
  import { LlmClassifier, } from './classifier/llm-classifier.js';
24
19
  import { ContextAssembler, } from './context/context-assembler.js';
25
- import { TokenCountingLlm } from './llm/token-counting-llm.js';
20
+ import { PipelineExecutor } from './pipeline/executor.js';
26
21
  import { InMemoryRag } from './rag/in-memory-rag.js';
27
- import { OllamaEmbedder, OllamaRag } from './rag/ollama-rag.js';
28
- import { QdrantRag } from './rag/qdrant-rag.js';
29
22
  import { CircuitBreaker, } from './resilience/circuit-breaker.js';
30
23
  import { CircuitBreakerLlm } from './resilience/circuit-breaker-llm.js';
31
24
  import { FallbackRag } from './resilience/fallback-rag.js';
@@ -34,7 +27,7 @@ import { FallbackRag } from './resilience/fallback-rag.js';
34
27
  // ---------------------------------------------------------------------------
35
28
  export class SmartAgentBuilder {
36
29
  cfg;
37
- // Custom overrides when set, the corresponding default is not created
30
+ // All components injected via fluent setters
38
31
  _mainLlm;
39
32
  _helperLlm;
40
33
  _classifierLlm;
@@ -53,29 +46,34 @@ export class SmartAgentBuilder {
53
46
  _outputValidator;
54
47
  _sessionManager;
55
48
  _circuitBreakerConfig;
56
- constructor(cfg) {
49
+ _getUsage;
50
+ _agentOverrides = {};
51
+ _pluginLoader;
52
+ _pipelineDefinition;
53
+ _customStageHandlers = new Map();
54
+ constructor(cfg = {}) {
57
55
  this.cfg = cfg;
58
56
  }
59
57
  // -------------------------------------------------------------------------
60
58
  // Fluent setters
61
59
  // -------------------------------------------------------------------------
62
- /** Override the main LLM used in the tool loop. */
60
+ /** Set the main LLM used in the tool loop (required). */
63
61
  withMainLlm(llm) {
64
62
  this._mainLlm = llm;
65
63
  return this;
66
64
  }
67
- /** Override the helper LLM used for summarization and translation. */
65
+ /** Set the helper LLM used for summarization and translation. */
68
66
  withHelperLlm(llm) {
69
67
  this._helperLlm = llm;
70
68
  return this;
71
69
  }
72
- /** Override the LLM used by the intent classifier. */
70
+ /** Set the LLM used by the intent classifier. If not set, mainLlm is used. */
73
71
  withClassifierLlm(llm) {
74
72
  this._classifierLlm = llm;
75
73
  return this;
76
74
  }
77
75
  /**
78
- * Override individual RAG stores. Unspecified stores use the default.
76
+ * Set individual RAG stores. Unspecified stores default to InMemoryRag.
79
77
  * Pass the same instance for all three to share a single store.
80
78
  */
81
79
  withRag(stores) {
@@ -155,75 +153,178 @@ export class SmartAgentBuilder {
155
153
  this._circuitBreakerConfig = config;
156
154
  return this;
157
155
  }
156
+ /** Set a custom token usage provider. */
157
+ withUsageProvider(getUsage) {
158
+ this._getUsage = getUsage;
159
+ return this;
160
+ }
161
+ // -------------------------------------------------------------------------
162
+ // Pipeline configuration (SmartAgentConfig parameters)
163
+ // -------------------------------------------------------------------------
164
+ /** Set the execution mode: 'smart' (full pipeline), 'hard' (MCP-only), 'pass' (direct LLM). */
165
+ withMode(mode) {
166
+ this._agentOverrides.mode = mode;
167
+ return this;
168
+ }
169
+ /** Set the maximum number of tool-loop iterations. */
170
+ withMaxIterations(n) {
171
+ this._agentOverrides.maxIterations = n;
172
+ return this;
173
+ }
174
+ /** Set the maximum number of tool calls per request. */
175
+ withMaxToolCalls(n) {
176
+ this._agentOverrides.maxToolCalls = n;
177
+ return this;
178
+ }
179
+ /** Set the request timeout in milliseconds. */
180
+ withTimeout(ms) {
181
+ this._agentOverrides.timeoutMs = ms;
182
+ return this;
183
+ }
184
+ /** Set the number of RAG results to retrieve per store. */
185
+ withRagQueryK(k) {
186
+ this._agentOverrides.ragQueryK = k;
187
+ return this;
188
+ }
189
+ /** Enable or disable query expansion for RAG queries. */
190
+ withQueryExpansion(enabled) {
191
+ this._agentOverrides.queryExpansionEnabled = enabled;
192
+ return this;
193
+ }
194
+ /** Enable or disable reasoning/strategy blocks in the response. */
195
+ withShowReasoning(enabled) {
196
+ this._agentOverrides.showReasoning = enabled;
197
+ return this;
198
+ }
199
+ /** Set the SSE heartbeat interval in milliseconds during tool execution. */
200
+ withHeartbeatInterval(ms) {
201
+ this._agentOverrides.heartbeatIntervalMs = ms;
202
+ return this;
203
+ }
204
+ /** Enable or disable the classification pipeline stage. When disabled, input is treated as a single action. */
205
+ withClassification(enabled) {
206
+ this._agentOverrides.classificationEnabled = enabled;
207
+ return this;
208
+ }
209
+ /** Set RAG retrieval mode: 'auto' (SAP context), 'always', or 'never'. */
210
+ withRagRetrieval(mode) {
211
+ this._agentOverrides.ragRetrievalMode = mode;
212
+ return this;
213
+ }
214
+ /** Enable or disable translation of non-ASCII RAG queries to English. */
215
+ withRagTranslation(enabled) {
216
+ this._agentOverrides.ragTranslationEnabled = enabled;
217
+ return this;
218
+ }
219
+ /** Enable or disable upserting classified subprompts to RAG stores. */
220
+ withRagUpsert(enabled) {
221
+ this._agentOverrides.ragUpsertEnabled = enabled;
222
+ return this;
223
+ }
224
+ /** Set the history message count threshold for auto-summarization. */
225
+ withHistorySummarization(limit) {
226
+ this._agentOverrides.historyAutoSummarizeLimit = limit;
227
+ return this;
228
+ }
229
+ /** Set the session token budget for multi-turn conversations. */
230
+ withSessionTokenBudget(budget) {
231
+ this._agentOverrides.sessionTokenBudget = budget;
232
+ return this;
233
+ }
234
+ // -------------------------------------------------------------------------
235
+ // Plugin loader
236
+ // -------------------------------------------------------------------------
237
+ /**
238
+ * Set a plugin loader for automatic plugin discovery.
239
+ *
240
+ * During `build()`, the loader's `load()` method is called and all
241
+ * discovered registrations are applied to the builder (stage handlers,
242
+ * embedder factories, reranker, query expander, output validator).
243
+ *
244
+ * The library ships {@link FileSystemPluginLoader} as the default.
245
+ * Consumers can provide their own `IPluginLoader` implementation to
246
+ * load plugins from npm packages, remote registries, or any other source.
247
+ *
248
+ * Explicit `withStageHandler()`, `withReranker()`, etc. calls take
249
+ * precedence over plugin-loaded registrations.
250
+ *
251
+ * @example Filesystem (default)
252
+ * ```ts
253
+ * import { FileSystemPluginLoader, getDefaultPluginDirs } from '@mcp-abap-adt/llm-agent';
254
+ * builder.withPluginLoader(new FileSystemPluginLoader({
255
+ * dirs: getDefaultPluginDirs(),
256
+ * }));
257
+ * ```
258
+ *
259
+ * @example Custom npm loader
260
+ * ```ts
261
+ * builder.withPluginLoader(new NpmPluginLoader(['my-plugin-a']));
262
+ * ```
263
+ */
264
+ withPluginLoader(loader) {
265
+ this._pluginLoader = loader;
266
+ return this;
267
+ }
268
+ // -------------------------------------------------------------------------
269
+ // Structured pipeline
270
+ // -------------------------------------------------------------------------
271
+ /**
272
+ * Set a structured pipeline definition.
273
+ *
274
+ * When set, SmartAgent uses the {@link PipelineExecutor} to run the
275
+ * defined stages instead of the default hardcoded flow.
276
+ *
277
+ * The pipeline can come from structured YAML or be built programmatically.
278
+ *
279
+ * @example
280
+ * ```ts
281
+ * builder.withPipeline({
282
+ * version: '1',
283
+ * stages: [
284
+ * { id: 'classify', type: 'classify' },
285
+ * { id: 'assemble', type: 'assemble' },
286
+ * { id: 'tool-loop', type: 'tool-loop' },
287
+ * ],
288
+ * });
289
+ * ```
290
+ */
291
+ withPipeline(pipeline) {
292
+ this._pipelineDefinition = pipeline;
293
+ return this;
294
+ }
295
+ /**
296
+ * Register a custom stage handler for the structured pipeline.
297
+ *
298
+ * Custom handlers extend the pipeline with domain-specific operations.
299
+ * The handler's `type` name can then be used in YAML stage definitions.
300
+ *
301
+ * @example
302
+ * ```ts
303
+ * builder.withStageHandler('custom-enrich', new MyEnrichHandler());
304
+ * // Then in YAML: { id: 'enrich', type: 'custom-enrich' }
305
+ * ```
306
+ */
307
+ withStageHandler(type, handler) {
308
+ this._customStageHandlers.set(type, handler);
309
+ return this;
310
+ }
158
311
  // -------------------------------------------------------------------------
159
312
  // build()
160
313
  // -------------------------------------------------------------------------
161
314
  async build() {
162
315
  const log = this._logger;
163
- // ---- Default LLM factory ---------------------------------------------
164
- const makeDefaultLlm = (temperature) => {
165
- const provider = new DeepSeekProvider({
166
- apiKey: this.cfg.llm.apiKey,
167
- model: this.cfg.llm.model ?? 'deepseek-chat',
168
- temperature,
169
- });
170
- const dummyMcp = new MCPClientWrapper({
171
- transport: 'embedded',
172
- listToolsHandler: async () => [],
173
- });
174
- const agent = new DeepSeekAgent({
175
- llmProvider: provider,
176
- mcpClient: dummyMcp,
177
- });
178
- return new TokenCountingLlm(new LlmAdapter(agent));
179
- };
180
- const defaultMainLlm = this._mainLlm
181
- ? null
182
- : makeDefaultLlm(this.cfg.llm.temperature ?? 0.7);
183
- const defaultClassifierLlm = this._classifierLlm
184
- ? null
185
- : makeDefaultLlm(this.cfg.llm.classifierTemperature ?? 0.1);
186
- const mainLlmCandidate = this._mainLlm ?? defaultMainLlm;
187
- const classifierLlmCandidate = this._classifierLlm ?? defaultClassifierLlm;
188
- if (!mainLlmCandidate || !classifierLlmCandidate) {
189
- throw new Error('Failed to initialize default LLM dependencies');
316
+ // ---- Validate required dependencies -----------------------------------
317
+ const mainLlm = this._mainLlm;
318
+ if (!mainLlm) {
319
+ throw new Error('Main LLM is required. Call .withMainLlm(llm) before .build().');
190
320
  }
191
- let mainLlm = mainLlmCandidate;
192
- const classifierLlm = classifierLlmCandidate;
193
- // ---- Default RAG factory ---------------------------------------------
194
- const makeDefaultRag = () => {
195
- const r = this.cfg.rag;
196
- if (r?.type === 'in-memory') {
197
- return new InMemoryRag({ dedupThreshold: r.dedupThreshold });
198
- }
199
- if (r?.type === 'qdrant') {
200
- if (!r.url)
201
- throw new Error('Qdrant URL is required');
202
- const embedder = new OllamaEmbedder({
203
- ollamaUrl: undefined,
204
- model: r.model,
205
- timeoutMs: r.timeoutMs,
206
- });
207
- return new QdrantRag({
208
- url: r.url,
209
- collectionName: r.collectionName ?? 'llm-agent',
210
- embedder,
211
- apiKey: r.apiKey,
212
- timeoutMs: r.timeoutMs,
213
- });
214
- }
215
- return new OllamaRag({
216
- ollamaUrl: r?.url,
217
- model: r?.model,
218
- timeoutMs: r?.timeoutMs,
219
- dedupThreshold: r?.dedupThreshold,
220
- vectorWeight: r?.vectorWeight,
221
- keywordWeight: r?.keywordWeight,
222
- });
223
- };
224
- let factsRag = this._ragStores?.facts ?? makeDefaultRag();
225
- let feedbackRag = this._ragStores?.feedback ?? makeDefaultRag();
226
- let stateRag = this._ragStores?.state ?? makeDefaultRag();
321
+ let wrappedMainLlm = mainLlm;
322
+ // Classifier defaults to main LLM if not provided
323
+ const classifierLlm = this._classifierLlm ?? mainLlm;
324
+ // RAG stores default to InMemoryRag if not provided
325
+ let factsRag = this._ragStores?.facts ?? new InMemoryRag();
326
+ let feedbackRag = this._ragStores?.feedback ?? new InMemoryRag();
327
+ let stateRag = this._ragStores?.state ?? new InMemoryRag();
227
328
  // ---- Circuit breaker wrapping ----------------------------------------
228
329
  const circuitBreakers = [];
229
330
  if (this._circuitBreakerConfig) {
@@ -237,7 +338,7 @@ export class SmartAgentBuilder {
237
338
  ...cbCfg,
238
339
  onStateChange: cbCfg.onStateChange ?? makeOnStateChange('llm'),
239
340
  });
240
- mainLlm = new CircuitBreakerLlm(mainLlm, llmBreaker);
341
+ wrappedMainLlm = new CircuitBreakerLlm(wrappedMainLlm, llmBreaker);
241
342
  circuitBreakers.push(llmBreaker);
242
343
  // Wrap RAG stores with FallbackRag using InMemoryRag fallback
243
344
  const embedderBreaker = new CircuitBreaker({
@@ -305,7 +406,7 @@ export class SmartAgentBuilder {
305
406
  }
306
407
  mcpClients = connected;
307
408
  }
308
- // ---- SmartAgent Config (needed for assembler) ------------------------
409
+ // ---- SmartAgent Config ------------------------------------------------
309
410
  const agentCfg = {
310
411
  maxIterations: 10,
311
412
  maxToolCalls: 30,
@@ -317,6 +418,8 @@ export class SmartAgentBuilder {
317
418
  ...(this.cfg.sessionPolicy
318
419
  ? { sessionPolicy: this.cfg.sessionPolicy }
319
420
  : {}),
421
+ // Fluent overrides take precedence over cfg.agent
422
+ ...this._agentOverrides,
320
423
  };
321
424
  // ---- Classifier -------------------------------------------------------
322
425
  const classifierCfg = {};
@@ -331,8 +434,42 @@ export class SmartAgentBuilder {
331
434
  if (this.cfg.prompts?.system)
332
435
  assemblerCfg.systemPromptPreamble = this.cfg.prompts.system;
333
436
  const assembler = this._assembler ?? new ContextAssembler(assemblerCfg);
437
+ // ---- Plugin loader (optional) -------------------------------------------
438
+ if (this._pluginLoader) {
439
+ const plugins = await this._pluginLoader.load();
440
+ // Plugin registrations act as defaults — explicit withXxx() wins
441
+ for (const [type, handler] of plugins.stageHandlers) {
442
+ if (!this._customStageHandlers.has(type)) {
443
+ this._customStageHandlers.set(type, handler);
444
+ }
445
+ }
446
+ if (plugins.reranker && !this._reranker) {
447
+ this._reranker = plugins.reranker;
448
+ }
449
+ if (plugins.queryExpander && !this._queryExpander) {
450
+ this._queryExpander = plugins.queryExpander;
451
+ }
452
+ if (plugins.outputValidator && !this._outputValidator) {
453
+ this._outputValidator = plugins.outputValidator;
454
+ }
455
+ }
456
+ // ---- Structured pipeline (optional) ------------------------------------
457
+ let pipelineExecutor;
458
+ let pipelineStages;
459
+ if (this._pipelineDefinition) {
460
+ const { buildDefaultHandlerRegistry } = await import('./pipeline/handlers/index.js');
461
+ const handlers = buildDefaultHandlerRegistry();
462
+ // Merge custom handlers (override built-ins if same name)
463
+ for (const [type, handler] of this._customStageHandlers) {
464
+ handlers.set(type, handler);
465
+ }
466
+ const tracer = this._tracer ??
467
+ new (await import('./tracer/noop-tracer.js')).NoopTracer();
468
+ pipelineExecutor = new PipelineExecutor(handlers, tracer);
469
+ pipelineStages = this._pipelineDefinition.stages;
470
+ }
334
471
  const agent = new SmartAgent({
335
- mainLlm,
472
+ mainLlm: wrappedMainLlm,
336
473
  helperLlm: this._helperLlm,
337
474
  mcpClients,
338
475
  ragStores: { facts: factsRag, feedback: feedbackRag, state: stateRag },
@@ -354,31 +491,18 @@ export class SmartAgentBuilder {
354
491
  ...(this._sessionManager
355
492
  ? { sessionManager: this._sessionManager }
356
493
  : {}),
357
- }, agentCfg);
494
+ }, agentCfg, pipelineExecutor, pipelineStages);
495
+ const zeroUsage = {
496
+ prompt_tokens: 0,
497
+ completion_tokens: 0,
498
+ total_tokens: 0,
499
+ requests: 0,
500
+ };
358
501
  return {
359
502
  agent,
360
- chat: (messages, tools, options) => mainLlm.chat(messages, tools, options),
361
- streamChat: (messages, tools, options) => mainLlm.streamChat(messages, tools, options),
362
- getUsage: () => {
363
- const main = defaultMainLlm?.getUsage() ?? {
364
- prompt_tokens: 0,
365
- completion_tokens: 0,
366
- total_tokens: 0,
367
- requests: 0,
368
- };
369
- const classifier = defaultClassifierLlm?.getUsage() ?? {
370
- prompt_tokens: 0,
371
- completion_tokens: 0,
372
- total_tokens: 0,
373
- requests: 0,
374
- };
375
- return {
376
- prompt_tokens: main.prompt_tokens + classifier.prompt_tokens,
377
- completion_tokens: main.completion_tokens + classifier.completion_tokens,
378
- total_tokens: main.total_tokens + classifier.total_tokens,
379
- requests: main.requests + classifier.requests,
380
- };
381
- },
503
+ chat: (messages, tools, options) => wrappedMainLlm.chat(messages, tools, options),
504
+ streamChat: (messages, tools, options) => wrappedMainLlm.streamChat(messages, tools, options),
505
+ getUsage: this._getUsage ?? (() => zeroUsage),
382
506
  close: async () => {
383
507
  for (const fn of closeFns)
384
508
  await fn();
@@ -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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"}
@@ -35,6 +35,7 @@
35
35
  * --prompt-system <text> System preamble for ContextAssembler
36
36
  * --prompt-classifier <text> Override classifier system prompt
37
37
  * --agent-show-reasoning Instruct the agent to explain its strategy
38
+ * --plugin-dir <path> Additional plugin directory (loaded after defaults)
38
39
  * --log-file <path> Log file path (default: smart-server.log)
39
40
  * --log-stdout Log to stdout instead of file
40
41
  * --help Show this help
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/smart-agent/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/smart-agent/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG"}
@@ -35,6 +35,7 @@
35
35
  * --prompt-system <text> System preamble for ContextAssembler
36
36
  * --prompt-classifier <text> Override classifier system prompt
37
37
  * --agent-show-reasoning Instruct the agent to explain its strategy
38
+ * --plugin-dir <path> Additional plugin directory (loaded after defaults)
38
39
  * --log-file <path> Log file path (default: smart-server.log)
39
40
  * --log-stdout Log to stdout instead of file
40
41
  * --help Show this help
@@ -91,6 +92,7 @@ const { values: args } = parseArgs({
91
92
  'prompt-system': { type: 'string' },
92
93
  'prompt-classifier': { type: 'string' },
93
94
  'agent-show-reasoning': { type: 'boolean' },
95
+ 'plugin-dir': { type: 'string' },
94
96
  'log-file': { type: 'string' },
95
97
  'log-stdout': { type: 'boolean' },
96
98
  help: { type: 'boolean', short: 'h' },
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/smart-agent/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/smart-agent/cli.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ export interface HotReloadableConfig {
17
17
  queryExpansionEnabled?: boolean;
18
18
  toolResultCacheTtlMs?: number;
19
19
  sessionTokenBudget?: number;
20
+ classificationEnabled?: boolean;
21
+ ragRetrievalMode?: 'auto' | 'always' | 'never';
22
+ ragTranslationEnabled?: boolean;
23
+ ragUpsertEnabled?: boolean;
20
24
  vectorWeight?: number;
21
25
  keywordWeight?: number;
22
26
  prompts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"config-watcher.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/config/config-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,cAAc,CAAC,EAAE;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAM5D,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAUb,qBAAqB;IACrB,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,kBAAkB;CAiD3B"}
1
+ {"version":3,"file":"config-watcher.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/config/config-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,cAAc,CAAC,EAAE;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAM5D,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAUb,qBAAqB;IACrB,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,kBAAkB;CA4D3B"}
@@ -84,6 +84,14 @@ export class ConfigWatcher extends EventEmitter {
84
84
  config.toolResultCacheTtlMs = Number(agent.toolResultCacheTtlMs);
85
85
  if (agent.sessionTokenBudget !== undefined)
86
86
  config.sessionTokenBudget = Number(agent.sessionTokenBudget);
87
+ if (agent.classificationEnabled !== undefined)
88
+ config.classificationEnabled = Boolean(agent.classificationEnabled);
89
+ if (agent.ragRetrievalMode !== undefined)
90
+ config.ragRetrievalMode = String(agent.ragRetrievalMode);
91
+ if (agent.ragTranslationEnabled !== undefined)
92
+ config.ragTranslationEnabled = Boolean(agent.ragTranslationEnabled);
93
+ if (agent.ragUpsertEnabled !== undefined)
94
+ config.ragUpsertEnabled = Boolean(agent.ragUpsertEnabled);
87
95
  if (rag.vectorWeight !== undefined)
88
96
  config.vectorWeight = Number(rag.vectorWeight);
89
97
  if (rag.keywordWeight !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"config-watcher.js","sourceRoot":"","sources":["../../../src/smart-agent/config/config-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-watcher.js","sourceRoot":"","sources":["../../../src/smart-agent/config/config-watcher.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,10 @@ export interface ResolveConfigArgs {
24
24
  'prompt-classifier'?: string | boolean;
25
25
  'agent-show-reasoning'?: boolean;
26
26
  'log-dir'?: string;
27
+ 'plugin-dir'?: string;
27
28
  mode?: string | boolean;
28
29
  }
29
- export declare const YAML_TEMPLATE = "port: 4004\nhost: 0.0.0.0\n\n# Request routing mode:\n# hard \u2014 Fully managed context. Ignores client history/system prompt. Uses RAG + internal MCP tools only.\n# pass \u2014 Transparent proxy. Logs everything but modifies nothing.\n# smart \u2014 Hybrid. Preserves client history but enriches it with RAG facts and MCP tools based on analysis. (default)\nmode: smart\n\nllm:\n apiKey: ${DEEPSEEK_API_KEY}\n model: deepseek-chat\n temperature: 0.7\n classifierTemperature: 0.1\n\nrag:\n type: ollama # ollama | in-memory | qdrant\n url: http://localhost:11434\n model: nomic-embed-text\n # collectionName: llm-agent # Qdrant collection name (qdrant type only)\n dedupThreshold: 0.92\n vectorWeight: 0.7 # Semantic similarity weight (0..1)\n keywordWeight: 0.3 # Lexical matching weight (0..1)\n\nmcp:\n # type: none | http | stdio\n # To disable MCP, set type to 'none'\n type: http\n url: http://localhost:3001/mcp/stream/http\n\nagent:\n externalToolsValidationMode: permissive # permissive | strict\n maxIterations: 10\n maxToolCalls: 30\n toolUnavailableTtlMs: 600000 # Temporary tool blacklist TTL (ms)\n ragQueryK: 10\n showReasoning: false # Explain strategy at start of response\n historyAutoSummarizeLimit: 10 # History length to trigger compression\n queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms\n toolResultCacheTtlMs: 300000 # Tool result cache TTL (ms); 0 to disable\n sessionTokenBudget: 0 # Multi-turn token budget; 0 to disable\n\n# --- Advanced Multi-Model Pipeline (optional) -------------------------------\n# Use this section to assign different models for different internal tasks.\n# pipeline:\n# llm:\n# main:\n# provider: deepseek # deepseek | openai | anthropic\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.7\n# classifier: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n# helper: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n#\n# rag:\n# facts:\n# type: ollama\n# url: http://localhost:11434\n# model: nomic-embed-text\n# dedupThreshold: 0.92\n# feedback:\n# type: in-memory\n# state:\n# type: in-memory\n#\n# mcp:\n# - type: http\n# url: http://localhost:3001/mcp/stream/http\n\n# prompts:\n# system: \"You are a helpful assistant specialized in SAP ABAP development.\"\n# classifier: |\n# You are an intent classifier... (see source for full default prompt)\n# reasoning: |\n# IMPORTANT: Always start your response with a brief <reasoning> block...\n# ragTranslate: |\n# Translate the user request to English for search purposes...\n# historySummary: |\n# Summarize the conversation so far...\n\nlog: smart-server.log # path to log file; omit for stdout\n# logDir: sessions # Directory for detailed session debug logs\n";
30
+ export declare const YAML_TEMPLATE = "port: 4004\nhost: 0.0.0.0\n\n# Request routing mode:\n# hard \u2014 Fully managed context. Ignores client history/system prompt. Uses RAG + internal MCP tools only.\n# pass \u2014 Transparent proxy. Logs everything but modifies nothing.\n# smart \u2014 Hybrid. Preserves client history but enriches it with RAG facts and MCP tools based on analysis. (default)\nmode: smart\n\nllm:\n apiKey: ${DEEPSEEK_API_KEY}\n model: deepseek-chat\n temperature: 0.7\n classifierTemperature: 0.1\n\nrag:\n type: ollama # ollama | in-memory | qdrant\n # embedder: ollama # Embedder to use: ollama | openai | <custom>\n url: http://localhost:11434\n model: nomic-embed-text\n # collectionName: llm-agent # Qdrant collection name (qdrant type only)\n dedupThreshold: 0.92\n vectorWeight: 0.7 # Semantic similarity weight (0..1)\n keywordWeight: 0.3 # Lexical matching weight (0..1)\n\nmcp:\n # type: none | http | stdio\n # To disable MCP, set type to 'none'\n type: http\n url: http://localhost:3001/mcp/stream/http\n\nagent:\n externalToolsValidationMode: permissive # permissive | strict\n maxIterations: 10\n maxToolCalls: 30\n toolUnavailableTtlMs: 600000 # Temporary tool blacklist TTL (ms)\n ragQueryK: 10\n showReasoning: false # Explain strategy at start of response\n historyAutoSummarizeLimit: 10 # History length to trigger compression\n queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms\n toolResultCacheTtlMs: 300000 # Tool result cache TTL (ms); 0 to disable\n sessionTokenBudget: 0 # Multi-turn token budget; 0 to disable\n # classificationEnabled: true # Enable/disable intent classification stage\n # ragRetrievalMode: auto # auto | always | never \u2014 controls RAG retrieval\n # ragTranslationEnabled: true # Translate non-ASCII RAG queries to English\n # ragUpsertEnabled: true # Upsert classified subprompts to RAG stores\n\n# --- Advanced Multi-Model Pipeline (optional) -------------------------------\n# Use this section to assign different models for different internal tasks.\n# pipeline:\n# llm:\n# main:\n# provider: deepseek # deepseek | openai | anthropic\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.7\n# classifier: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n# helper: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n#\n# rag:\n# facts:\n# type: qdrant\n# url: http://qdrant:6333\n# embedder: openai # ollama | openai | <custom registered name>\n# model: text-embedding-3-small\n# apiKey: ${OPENAI_API_KEY}\n# feedback:\n# type: in-memory\n# state:\n# type: in-memory\n#\n# mcp:\n# - type: http\n# url: http://localhost:3001/mcp/stream/http\n\n# --- Structured Pipeline (optional) -------------------------------------------\n# Replaces the hardcoded orchestration flow with a YAML-defined stage tree.\n# When absent, the default flow runs unchanged (full backwards compatibility).\n#\n# pipeline:\n# version: \"1\"\n# stages:\n# - id: classify\n# type: classify\n# - id: summarize\n# type: summarize\n# - id: rag-upsert\n# type: rag-upsert\n# - id: rag-retrieval\n# type: parallel\n# when: \"shouldRetrieve\"\n# stages:\n# - { id: translate, type: translate }\n# - { id: expand, type: expand }\n# after:\n# - id: rag-queries\n# type: parallel\n# stages:\n# - { id: facts, type: rag-query, config: { store: facts, k: 10 } }\n# - { id: feedback, type: rag-query, config: { store: feedback, k: 5 } }\n# - { id: state, type: rag-query, config: { store: state, k: 5 } }\n# - { id: rerank, type: rerank }\n# - { id: tool-select, type: tool-select }\n# - id: assemble\n# type: assemble\n# - id: tool-loop\n# type: tool-loop\n\n# prompts:\n# system: \"You are a helpful assistant specialized in SAP ABAP development.\"\n# classifier: |\n# You are an intent classifier... (see source for full default prompt)\n# reasoning: |\n# IMPORTANT: Always start your response with a brief <reasoning> block...\n# ragTranslate: |\n# Translate the user request to English for search purposes...\n# historySummary: |\n# Summarize the conversation so far...\n\nlog: smart-server.log # path to log file; omit for stdout\n# logDir: sessions # Directory for detailed session debug logs\n# pluginDir: ./my-plugins # Additional plugin directory (loaded after defaults)\n";
30
31
  export declare function resolveEnvVars(value: unknown, env?: NodeJS.ProcessEnv): unknown;
31
32
  export declare function loadYamlConfig(filePath: string, env?: NodeJS.ProcessEnv): YamlConfig;
32
33
  export declare function generateConfigTemplate(outputPath: string): void;