@mcp-abap-adt/llm-agent-server-libs 26.0.0 → 28.0.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 (158) hide show
  1. package/dist/builders/controller-skill-pipeline-builder.d.ts +6 -5
  2. package/dist/builders/controller-skill-pipeline-builder.d.ts.map +1 -1
  3. package/dist/builders/controller-skill-pipeline-builder.js +49 -54
  4. package/dist/builders/controller-skill-pipeline-builder.js.map +1 -1
  5. package/dist/factories/controller-factory.d.ts +13 -10
  6. package/dist/factories/controller-factory.d.ts.map +1 -1
  7. package/dist/factories/controller-factory.js +33 -12
  8. package/dist/factories/controller-factory.js.map +1 -1
  9. package/dist/generated/version.d.ts +1 -1
  10. package/dist/generated/version.js +1 -1
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/pipelines/controller-subagents.d.ts +11 -0
  16. package/dist/pipelines/controller-subagents.d.ts.map +1 -0
  17. package/dist/pipelines/controller-subagents.js +77 -0
  18. package/dist/pipelines/controller-subagents.js.map +1 -0
  19. package/dist/pipelines/controller.d.ts +11 -10
  20. package/dist/pipelines/controller.d.ts.map +1 -1
  21. package/dist/pipelines/controller.js +14 -65
  22. package/dist/pipelines/controller.js.map +1 -1
  23. package/dist/pipelines/coordinator-resolvers.d.ts +6 -11
  24. package/dist/pipelines/coordinator-resolvers.d.ts.map +1 -1
  25. package/dist/pipelines/coordinator-resolvers.js +7 -17
  26. package/dist/pipelines/coordinator-resolvers.js.map +1 -1
  27. package/dist/pipelines/dag.d.ts +9 -9
  28. package/dist/pipelines/dag.d.ts.map +1 -1
  29. package/dist/pipelines/dag.js +11 -22
  30. package/dist/pipelines/dag.js.map +1 -1
  31. package/dist/pipelines/flat.d.ts +4 -7
  32. package/dist/pipelines/flat.d.ts.map +1 -1
  33. package/dist/pipelines/flat.js +3 -8
  34. package/dist/pipelines/flat.js.map +1 -1
  35. package/dist/pipelines/linear.d.ts +8 -10
  36. package/dist/pipelines/linear.d.ts.map +1 -1
  37. package/dist/pipelines/linear.js +18 -11
  38. package/dist/pipelines/linear.js.map +1 -1
  39. package/dist/pipelines/parsers.d.ts +0 -3
  40. package/dist/pipelines/parsers.d.ts.map +1 -1
  41. package/dist/pipelines/parsers.js +4 -19
  42. package/dist/pipelines/parsers.js.map +1 -1
  43. package/dist/pipelines/server-context.d.ts +0 -5
  44. package/dist/pipelines/server-context.d.ts.map +1 -1
  45. package/dist/pipelines/server-context.js.map +1 -1
  46. package/dist/pipelines/stepper.d.ts +5 -4
  47. package/dist/pipelines/stepper.d.ts.map +1 -1
  48. package/dist/pipelines/stepper.js +5 -4
  49. package/dist/pipelines/stepper.js.map +1 -1
  50. package/dist/smart-agent/build-dag-coordinator-deps.d.ts +11 -22
  51. package/dist/smart-agent/build-dag-coordinator-deps.d.ts.map +1 -1
  52. package/dist/smart-agent/build-dag-coordinator-deps.js +21 -78
  53. package/dist/smart-agent/build-dag-coordinator-deps.js.map +1 -1
  54. package/dist/smart-agent/build-stepper-root.d.ts.map +1 -1
  55. package/dist/smart-agent/build-stepper-root.js +0 -1
  56. package/dist/smart-agent/build-stepper-root.js.map +1 -1
  57. package/dist/smart-agent/config-validator.d.ts +8 -1
  58. package/dist/smart-agent/config-validator.d.ts.map +1 -1
  59. package/dist/smart-agent/config-validator.js +200 -62
  60. package/dist/smart-agent/config-validator.js.map +1 -1
  61. package/dist/smart-agent/config.d.ts +7 -7
  62. package/dist/smart-agent/config.d.ts.map +1 -1
  63. package/dist/smart-agent/config.js +24 -11
  64. package/dist/smart-agent/config.js.map +1 -1
  65. package/dist/smart-agent/controller/types.d.ts +22 -15
  66. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  67. package/dist/smart-agent/controller/types.js.map +1 -1
  68. package/dist/smart-agent/http/config-route-handler.d.ts +2 -0
  69. package/dist/smart-agent/http/config-route-handler.d.ts.map +1 -1
  70. package/dist/smart-agent/http/config-route-handler.js +20 -0
  71. package/dist/smart-agent/http/config-route-handler.js.map +1 -1
  72. package/dist/smart-agent/llm/role-llm-resolver.d.ts +23 -11
  73. package/dist/smart-agent/llm/role-llm-resolver.d.ts.map +1 -1
  74. package/dist/smart-agent/llm/role-llm-resolver.js +65 -37
  75. package/dist/smart-agent/llm/role-llm-resolver.js.map +1 -1
  76. package/dist/smart-agent/llm-config-map.d.ts +9 -1
  77. package/dist/smart-agent/llm-config-map.d.ts.map +1 -1
  78. package/dist/smart-agent/llm-config-map.js +27 -5
  79. package/dist/smart-agent/llm-config-map.js.map +1 -1
  80. package/dist/smart-agent/pipeline-settings.d.ts +50 -0
  81. package/dist/smart-agent/pipeline-settings.d.ts.map +1 -0
  82. package/dist/smart-agent/pipeline-settings.js +174 -0
  83. package/dist/smart-agent/pipeline-settings.js.map +1 -0
  84. package/dist/smart-agent/pipeline.d.ts +3 -63
  85. package/dist/smart-agent/pipeline.d.ts.map +1 -1
  86. package/dist/smart-agent/pipeline.js +3 -2
  87. package/dist/smart-agent/pipeline.js.map +1 -1
  88. package/dist/smart-agent/rag-config.d.ts +155 -0
  89. package/dist/smart-agent/rag-config.d.ts.map +1 -0
  90. package/dist/smart-agent/rag-config.js +62 -0
  91. package/dist/smart-agent/rag-config.js.map +1 -0
  92. package/dist/smart-agent/resolve-agent-embedder.d.ts +11 -10
  93. package/dist/smart-agent/resolve-agent-embedder.d.ts.map +1 -1
  94. package/dist/smart-agent/resolve-agent-embedder.js +37 -36
  95. package/dist/smart-agent/resolve-agent-embedder.js.map +1 -1
  96. package/dist/smart-agent/resolve-config-sections.d.ts +1 -1
  97. package/dist/smart-agent/resolve-config-sections.d.ts.map +1 -1
  98. package/dist/smart-agent/resolve-config-sections.js +124 -30
  99. package/dist/smart-agent/resolve-config-sections.js.map +1 -1
  100. package/dist/smart-agent/select-pipeline-plugin.d.ts +8 -0
  101. package/dist/smart-agent/select-pipeline-plugin.d.ts.map +1 -0
  102. package/dist/smart-agent/select-pipeline-plugin.js +26 -0
  103. package/dist/smart-agent/select-pipeline-plugin.js.map +1 -0
  104. package/dist/smart-agent/session-lifecycle/index.d.ts +38 -4
  105. package/dist/smart-agent/session-lifecycle/index.d.ts.map +1 -1
  106. package/dist/smart-agent/session-lifecycle/index.js +11 -1
  107. package/dist/smart-agent/session-lifecycle/index.js.map +1 -1
  108. package/dist/smart-agent/session-lifecycle/session-rag-registry.d.ts +39 -0
  109. package/dist/smart-agent/session-lifecycle/session-rag-registry.d.ts.map +1 -0
  110. package/dist/smart-agent/session-lifecycle/session-rag-registry.js +109 -0
  111. package/dist/smart-agent/session-lifecycle/session-rag-registry.js.map +1 -0
  112. package/dist/smart-agent/skill-plugins-config.d.ts +3 -2
  113. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -1
  114. package/dist/smart-agent/skill-plugins-config.js +12 -1
  115. package/dist/smart-agent/skill-plugins-config.js.map +1 -1
  116. package/dist/smart-agent/skill-plugins-host-factory.d.ts +9 -0
  117. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -1
  118. package/dist/smart-agent/skill-plugins-host-factory.js +12 -6
  119. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -1
  120. package/dist/smart-agent/smart-server.d.ts +90 -78
  121. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  122. package/dist/smart-agent/smart-server.js +201 -152
  123. package/dist/smart-agent/smart-server.js.map +1 -1
  124. package/dist/smart-agent/worker-llm.d.ts +18 -0
  125. package/dist/smart-agent/worker-llm.d.ts.map +1 -0
  126. package/dist/smart-agent/worker-llm.js +59 -0
  127. package/dist/smart-agent/worker-llm.js.map +1 -0
  128. package/dist/smart-agent/workers/worker-registry.d.ts +6 -14
  129. package/dist/smart-agent/workers/worker-registry.d.ts.map +1 -1
  130. package/dist/smart-agent/workers/worker-registry.js +2 -11
  131. package/dist/smart-agent/workers/worker-registry.js.map +1 -1
  132. package/dist/smart-agent/yaml-loader.d.ts +1 -1
  133. package/dist/smart-agent/yaml-loader.d.ts.map +1 -1
  134. package/dist/smart-agent/yaml-loader.js +20 -17
  135. package/dist/smart-agent/yaml-loader.js.map +1 -1
  136. package/package.json +9 -8
  137. package/dist/smart-agent/mcp/mcp-content.d.ts +0 -19
  138. package/dist/smart-agent/mcp/mcp-content.d.ts.map +0 -1
  139. package/dist/smart-agent/mcp/mcp-content.js +0 -31
  140. package/dist/smart-agent/mcp/mcp-content.js.map +0 -1
  141. package/dist/smart-agent/mcp/require-mcp-timeout.d.ts +0 -20
  142. package/dist/smart-agent/mcp/require-mcp-timeout.d.ts.map +0 -1
  143. package/dist/smart-agent/mcp/require-mcp-timeout.js +0 -23
  144. package/dist/smart-agent/mcp/require-mcp-timeout.js.map +0 -1
  145. package/dist/smart-agent/mcp-readiness-monitor.d.ts +0 -38
  146. package/dist/smart-agent/mcp-readiness-monitor.d.ts.map +0 -1
  147. package/dist/smart-agent/mcp-readiness-monitor.js +0 -81
  148. package/dist/smart-agent/mcp-readiness-monitor.js.map +0 -1
  149. package/dist/smart-agent/mcp-readiness-registry.d.ts +0 -37
  150. package/dist/smart-agent/mcp-readiness-registry.d.ts.map +0 -1
  151. package/dist/smart-agent/mcp-readiness-registry.js +0 -55
  152. package/dist/smart-agent/mcp-readiness-registry.js.map +0 -1
  153. package/dist/smart-agent/skill-plugins-config.test.d.ts +0 -2
  154. package/dist/smart-agent/skill-plugins-config.test.d.ts.map +0 -1
  155. package/dist/smart-agent/skill-plugins-config.test.js.map +0 -1
  156. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +0 -2
  157. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +0 -1
  158. package/dist/smart-agent/skill-plugins-host-factory.test.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { isBuiltInEmbedderProvider } from './rag-config.js';
1
2
  import { get } from './yaml-loader.js';
2
3
  const VALID_PROVIDERS = [
3
4
  'openai',
@@ -16,11 +17,25 @@ export class ConfigValidationError extends Error {
16
17
  constructor(issues) {
17
18
  super(`Configuration error in smart-server.yaml:\n${issues
18
19
  .map((i) => ` - ${i}`)
19
- .join('\n')}\nSet these fields in your YAML and restart.`);
20
+ .join('\n')}\nFix these fields in your YAML and restart.`);
20
21
  this.name = 'ConfigValidationError';
21
22
  }
22
23
  }
23
- function checkLlmRole(label, role, requireModel, env, issues, skipRuntime = false) {
24
+ function checkCredentialRef(label, value, issues) {
25
+ if (value !== undefined &&
26
+ (typeof value !== 'string' || value.length === 0)) {
27
+ issues.push(`${label}.credentialRef: must be a non-empty string naming a credential (omit it for the default)`);
28
+ }
29
+ }
30
+ function checkLlmRole(label, role, requireModel, issues, skipRuntime = false) {
31
+ // A secret arriving from the file is refused, not ignored: a key silently dropped
32
+ // would leave an operator believing it was used. A loaded object is not a fresh
33
+ // literal, so no excess-property check ever sees it — this boundary is the only
34
+ // place it can be caught (§4.6.3).
35
+ if (role?.apiKey !== undefined) {
36
+ issues.push(`${label}.apiKey: secrets are no longer read from configuration — remove it and, if this role needs an account other than the default, name it with ${label}.credentialRef (your composition root resolves the name).`);
37
+ }
38
+ checkCredentialRef(label, role?.credentialRef, issues);
24
39
  const provider = role?.provider;
25
40
  if (!provider) {
26
41
  issues.push(`${label}.provider: required (one of: openai, anthropic, deepseek, sap-ai-sdk, ollama)`);
@@ -32,68 +47,109 @@ function checkLlmRole(label, role, requireModel, env, issues, skipRuntime = fals
32
47
  issues.push(`${label}.provider: "${provider}" is invalid (one of: openai, anthropic, deepseek, sap-ai-sdk, ollama)`);
33
48
  return;
34
49
  }
35
- // Structural checks above always run. The credential + model-required checks
36
- // below are provider-runtime concerns; skip them when the caller injects its
37
- // own makeLlm/embedder (embeddable path).
38
50
  if (skipRuntime)
39
51
  return;
40
52
  if (requireModel && !role?.model) {
41
53
  issues.push(`${label}.model: required (string)`);
42
54
  }
43
- if (provider === 'openai' ||
44
- provider === 'anthropic' ||
45
- provider === 'deepseek') {
46
- if (!role?.apiKey) {
47
- issues.push(`${provider} requires ${label}.apiKey to resolve to a non-empty value (typically via \${${provider.toUpperCase()}_API_KEY} env reference).`);
48
- }
49
- }
50
- else if (provider === 'sap-ai-sdk') {
51
- if (!env.AICORE_SERVICE_KEY) {
52
- issues.push('sap-ai-sdk requires the AICORE_SERVICE_KEY env var to be set with the SAP AI Core service-key JSON content. None found.');
55
+ // No credential check. Whether a key or a service key is held is known only to
56
+ // the composition root, which resolves credentialRef — the api-key and
57
+ // AICORE_SERVICE_KEY rules left with the credential (§4.6.2).
58
+ }
59
+ const IN_MEMORY_ONLY_KEYS = [
60
+ 'dedupThreshold',
61
+ 'vectorWeight',
62
+ 'keywordWeight',
63
+ ];
64
+ function checkRag(rag, issues, skipRuntime = false) {
65
+ for (const key of Object.keys(rag)) {
66
+ if (key !== 'store' && key !== 'embedder') {
67
+ issues.push(`rag.${key}: unknown key — rag holds store: and embedder:`);
53
68
  }
54
69
  }
55
- // ollama: no credential check.
56
- }
57
- function checkRagStore(label, store, issues, skipRuntime = false) {
58
- if (!store)
70
+ const store = rag.store;
71
+ if (store === undefined ||
72
+ store === null ||
73
+ typeof store !== 'object' ||
74
+ Array.isArray(store)) {
75
+ issues.push('rag.store: required (a mapping with type: in-memory | qdrant | hana-vector | pg-vector)');
59
76
  return;
60
- const ragType = store.type;
77
+ }
78
+ const s = store;
79
+ const ragType = s.type;
61
80
  if (!ragType) {
62
- issues.push(`${label}.type: required (one of: in-memory, qdrant, hana-vector, pg-vector)`);
81
+ issues.push('rag.store.type: required (one of: in-memory, qdrant, hana-vector, pg-vector)');
63
82
  }
64
83
  else if (ragType === 'ollama' || ragType === 'openai') {
65
- issues.push(`${label}.type: "${ragType}" is an embedder, not a store — use \`type: in-memory\` with \`embedder: ${ragType}\` (or a real store: qdrant, hana-vector, pg-vector)`);
84
+ issues.push(`rag.store.type: "${ragType}" is an embedder, not a store — use \`store: { type: in-memory }\` with \`embedder: { provider: ${ragType} }\` (or a real store: qdrant, hana-vector, pg-vector)`);
66
85
  }
67
86
  else if (!VALID_RAG_TYPES.includes(ragType)) {
68
- issues.push(`${label}.type: "${ragType}" is invalid (one of: in-memory, qdrant, hana-vector, pg-vector)`);
87
+ issues.push(`rag.store.type: "${ragType}" is invalid (one of: in-memory, qdrant, hana-vector, pg-vector)`);
69
88
  }
70
89
  else {
71
- if (ragType === 'qdrant' && !store.url) {
72
- issues.push(`${label}.url: required for ${label}.type qdrant`);
90
+ if (ragType === 'qdrant' && !s.url) {
91
+ issues.push('rag.store.url: required for rag.store.type qdrant');
73
92
  }
74
93
  if ((ragType === 'hana-vector' || ragType === 'pg-vector') &&
75
- !store.collectionName) {
76
- issues.push(`${label}.collectionName: required for ${label}.type ${ragType}`);
94
+ !s.collectionName) {
95
+ issues.push(`rag.store.collectionName: required for rag.store.type ${ragType}`);
77
96
  }
97
+ if (ragType !== 'in-memory') {
98
+ for (const k of IN_MEMORY_ONLY_KEYS) {
99
+ if (s[k] !== undefined) {
100
+ issues.push(`rag.store.${k}: read only by the in-memory store — remove it (a ${ragType} store never read it)`);
101
+ }
102
+ }
103
+ }
104
+ }
105
+ checkCredentialRef('rag.store', s.credentialRef, issues);
106
+ const rawEmbedder = rag.embedder;
107
+ if (rawEmbedder !== undefined &&
108
+ (rawEmbedder === null ||
109
+ typeof rawEmbedder !== 'object' ||
110
+ Array.isArray(rawEmbedder))) {
111
+ issues.push('rag.embedder: must be a mapping (provider, model, …)');
112
+ return;
113
+ }
114
+ const e = rawEmbedder;
115
+ const provider = e?.provider;
116
+ const factory = e?.factory;
117
+ if (provider !== undefined && factory !== undefined) {
118
+ issues.push('rag.embedder: name either provider (a built-in) or factory (one you registered), not both');
119
+ }
120
+ else if (factory !== undefined) {
121
+ if (typeof factory !== 'string' || factory.length === 0) {
122
+ issues.push('rag.embedder.factory: must be a non-empty string naming a registered factory');
123
+ }
124
+ // A consumer factory receives EmbedderFactoryConfig only (url, model, timeoutMs) and
125
+ // closes over its own credential, so these would be dropped without a word.
126
+ for (const k of ['credentialRef', 'resourceGroup', 'scenario']) {
127
+ if (e?.[k] !== undefined) {
128
+ issues.push(`rag.embedder.${k}: not read for a factory — a consumer factory closes over its own ` +
129
+ 'configuration and credential; remove it');
130
+ }
131
+ }
132
+ }
133
+ else if (provider === 'deepseek' || provider === 'anthropic') {
134
+ issues.push(`rag.embedder.provider: "${provider}" provider has no embedder; embedding-capable providers are ollama, openai, sap-ai-core`);
78
135
  }
79
- // Blocklist (NOT allowlist): consumers can register custom embedder
80
- // factories, so only known embedder-less providers are hard-rejected here.
81
- const embedder = store.embedder;
82
- if (embedder === 'deepseek' || embedder === 'anthropic') {
83
- issues.push(`${label}.embedder: "${embedder}" provider has no embedder; embedding-capable providers are ollama, openai, sap-ai-core`);
136
+ else if (provider !== undefined && !isBuiltInEmbedderProvider(provider)) {
137
+ issues.push(`rag.embedder.provider: "${provider}" is not a built-in embedder (openai, sap-ai-core, sap-aicore, ollama) — ` +
138
+ 'an embedder you registered in extraFactories is named with rag.embedder.factory');
84
139
  }
85
- // Require model when an embedder is used: vector stores always use an
86
- // embedder; in-memory uses one only when embedder is explicitly set.
140
+ if (e && factory === undefined)
141
+ checkCredentialRef('rag.embedder', e.credentialRef, issues);
87
142
  const usesEmbedder = ragType === 'qdrant' ||
88
143
  ragType === 'hana-vector' ||
89
144
  ragType === 'pg-vector' ||
90
- (ragType === 'in-memory' && embedder != null);
91
- if (!skipRuntime && usesEmbedder && !store.model) {
92
- issues.push(`${label}.model: required when an embedder is used (e.g. bge-m3 for ollama)`);
145
+ (ragType === 'in-memory' && e !== undefined);
146
+ // Every built-in constructor requires a model; a factory decides for itself.
147
+ if (!skipRuntime && usesEmbedder && factory === undefined && !e?.model) {
148
+ issues.push('rag.embedder.model: required when an embedder is used (e.g. bge-m3 for ollama)');
93
149
  }
94
150
  }
95
- function validateLlmEntry(label, cfg, required, env, issues, skipRuntime = false) {
96
- checkLlmRole(label, cfg, required, env, issues, skipRuntime);
151
+ function validateLlmEntry(label, cfg, required, issues, skipRuntime = false) {
152
+ checkLlmRole(label, cfg, required, issues, skipRuntime);
97
153
  }
98
154
  /**
99
155
  * Fail-loud migration guard for the clean break to `pipeline: { name, config }`.
@@ -122,35 +178,111 @@ export function assertNoLegacyPipelineConfig(yaml) {
122
178
  'Pin a version <= 18 for the old behavior.');
123
179
  }
124
180
  }
125
- export function validateResolvedConfig(_resolved, yaml, env, opts = {}) {
181
+ /** Keys of the flat `rag:` shape this major removed (the `embedder: <name>` string
182
+ * form is caught separately — `embedder` is also the new section's name). */
183
+ const LEGACY_FLAT_RAG_KEYS = [
184
+ 'type',
185
+ 'url',
186
+ 'model',
187
+ 'collectionName',
188
+ 'dedupThreshold',
189
+ 'vectorWeight',
190
+ 'keywordWeight',
191
+ 'connectionString',
192
+ 'host',
193
+ 'port',
194
+ 'database',
195
+ 'schema',
196
+ 'dimension',
197
+ 'autoCreateSchema',
198
+ 'poolMax',
199
+ 'connectTimeout',
200
+ 'maxBatchSize',
201
+ 'resourceGroup',
202
+ 'scenario',
203
+ 'timeoutMs',
204
+ 'apiKey',
205
+ 'user',
206
+ 'password',
207
+ ];
208
+ const SECRET_FIELDS = ['apiKey', 'user', 'password'];
209
+ /**
210
+ * Fail-loud migration guard for the store/embedder split (spec §4.6.4). A flat key
211
+ * silently dropped would leave a store the operator believes configured, and a
212
+ * secret silently dropped would leave one they believe authenticated.
213
+ */
214
+ export function assertNoLegacyRagShape(yaml) {
215
+ const rag = yaml.rag;
216
+ if (rag === null || typeof rag !== 'object' || Array.isArray(rag))
217
+ return;
218
+ const r = rag;
219
+ const flat = LEGACY_FLAT_RAG_KEYS.filter((k) => r[k] !== undefined);
220
+ if (typeof r.embedder === 'string')
221
+ flat.push('embedder: <name>');
222
+ if (flat.length > 0) {
223
+ throw new Error(`The flat 'rag:' section is no longer supported (found: ${flat.join(', ')}). ` +
224
+ 'It described two independently authenticated targets as one, so it splits: ' +
225
+ 'rag.store holds type, url, collectionName, connectionString/host/port/database/schema ' +
226
+ 'and the pool/schema settings — plus dedupThreshold, vectorWeight and keywordWeight, ' +
227
+ 'for type in-memory only; rag.embedder holds provider (a built-in: openai, sap-ai-core, ' +
228
+ 'ollama — was rag.embedder) or factory (a consumer-registered embedder), model, url, ' +
229
+ 'resourceGroup, scenario and maxBatchSize. apiKey, user and password do not move: remove ' +
230
+ 'them and name the account with rag.store.credentialRef or rag.embedder.credentialRef.');
231
+ }
232
+ for (const section of ['store', 'embedder']) {
233
+ const s = r[section];
234
+ if (s === null || typeof s !== 'object' || Array.isArray(s))
235
+ continue;
236
+ const secrets = SECRET_FIELDS.filter((k) => s[k] !== undefined);
237
+ if (secrets.length > 0) {
238
+ throw new Error(`${secrets.map((k) => `rag.${section}.${k}`).join(', ')}: secrets are no longer read ` +
239
+ `from configuration — remove ${secrets.length > 1 ? 'them' : 'it'} and name the ` +
240
+ `account with rag.${section}.credentialRef (your composition root resolves the name).`);
241
+ }
242
+ }
243
+ const embedder = r.embedder;
244
+ if (embedder !== null &&
245
+ typeof embedder === 'object' &&
246
+ embedder.apiBaseUrl !== undefined) {
247
+ throw new Error("rag.embedder.apiBaseUrl: SAP AI Core's address comes from the credential entry — the same " +
248
+ 'service key (<REF>_SERVICE_KEY in the shipped server) that holds the credential — and is ' +
249
+ 'never also written in YAML. Remove it; name the account with rag.embedder.credentialRef ' +
250
+ 'if it is not the default one.');
251
+ }
252
+ }
253
+ export function validateResolvedConfig(_resolved, yaml, _env, opts = {}) {
126
254
  const issues = [];
127
255
  const skip = opts.skipProviderRuntimeChecks === true;
128
- // LLM is always sourced from the top-level `llm:` block now — the legacy
129
- // `pipeline.llm.*` override has been removed with the `pipeline: {name,config}`
130
- // migration. Read from the raw YAML so we can distinguish flat vs map shape.
131
- // `resolved.llm` is always constructed as a flat object by
132
- // resolveSmartServerConfig, so it cannot be used to detect the map shape.
133
256
  const rawLlm = get(yaml, 'llm');
134
257
  if (rawLlm === undefined) {
135
- issues.push('llm: required (top-level llm.main or a flat llm block)');
136
- }
137
- else if (typeof rawLlm.provider === 'string') {
138
- // Flat shape — existing behaviour.
139
- validateLlmEntry('llm', rawLlm, true, env, issues, skip);
258
+ // A DAG worker file names keys of the MAIN file's llm: map (§4.6.7) and is
259
+ // resolved with its own llm: stripped, so it has no section to require.
260
+ if (opts.requireLlmSection !== false) {
261
+ issues.push('llm: required (top-level llm.main or a flat llm block)');
262
+ }
140
263
  }
141
264
  else {
142
- // Map shape — llm.main is required; every named entry is validated.
143
- const map = rawLlm;
144
- if (!map.main) {
145
- issues.push("llm.main: required when 'llm' is a named map");
265
+ // Checked before the shape is decided: a flat block that lost its provider
266
+ // is read as a map below, and would otherwise report `llm.apiKey.provider`.
267
+ if (rawLlm.apiKey !== undefined) {
268
+ checkLlmRole('llm', { apiKey: rawLlm.apiKey, provider: 'openai' }, false, issues, true);
146
269
  }
147
- else {
148
- validateLlmEntry('llm.main', map.main, true, env, issues, skip);
270
+ if (typeof rawLlm.provider === 'string') {
271
+ validateLlmEntry('llm', rawLlm, true, issues, skip);
149
272
  }
150
- for (const [name, entry] of Object.entries(map)) {
151
- if (name === 'main')
152
- continue;
153
- validateLlmEntry(`llm.${name}`, entry, true, env, issues, skip);
273
+ else {
274
+ const map = rawLlm;
275
+ if (!map.main) {
276
+ issues.push("llm.main: required when 'llm' is a named map");
277
+ }
278
+ else {
279
+ validateLlmEntry('llm.main', map.main, true, issues, skip);
280
+ }
281
+ for (const [name, entry] of Object.entries(map)) {
282
+ if (name === 'main' || name === 'apiKey')
283
+ continue;
284
+ validateLlmEntry(`llm.${name}`, entry, true, issues, skip);
285
+ }
154
286
  }
155
287
  }
156
288
  // Pipeline selection shape: `pipeline:` must name a pipeline (string or
@@ -184,8 +316,14 @@ export function validateResolvedConfig(_resolved, yaml, env, opts = {}) {
184
316
  }
185
317
  });
186
318
  }
187
- if (get(yaml, 'rag')) {
188
- checkRagStore('rag', get(yaml, 'rag'), issues, skip);
319
+ const rawRag = get(yaml, 'rag');
320
+ if (rawRag !== undefined && rawRag !== null) {
321
+ if (typeof rawRag !== 'object' || Array.isArray(rawRag)) {
322
+ issues.push('rag: must be a mapping with store: and, optionally, embedder:');
323
+ }
324
+ else {
325
+ checkRag(rawRag, issues, skip);
326
+ }
189
327
  }
190
328
  // NOTE: the legacy `pipeline.rag.{name}` multistore was removed with the
191
329
  // `pipeline: {name,config}` migration; the top-level `rag:` block is the sole
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/smart-agent/config-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/smart-agent/config-validator.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { SmartServerConfig } from './smart-server.js';
5
5
  import type { YamlConfig } from './yaml-loader.js';
6
6
  export type { FinalizerYaml, YamlCoordinator, } from '../pipelines/coordinator-resolvers.js';
7
7
  export { buildFinalizer, resolveCoordinatorActivation, resolveCoordinatorDispatch, resolveCoordinatorDispatchKind, resolveCoordinatorPlanning, resolveToolSelectionStrategy, } from '../pipelines/coordinator-resolvers.js';
8
- export { assertNoLegacyPipelineConfig, ConfigValidationError, } from './config-validator.js';
8
+ export { assertNoLegacyPipelineConfig, assertNoLegacyRagShape, ConfigValidationError, } from './config-validator.js';
9
9
  export type { LlmConfigMap, NormalizedLlmMap } from './llm-config-map.js';
10
10
  export { normalizeLlmConfig, resolveLlmConfig, resolveLlmConfigStrict, resolveReviewerLlmName, } from './llm-config-map.js';
11
11
  export type { YamlConfig } from './yaml-loader.js';
@@ -13,7 +13,6 @@ export { generateConfigTemplate, loadYamlConfig, resolveEnvVars, YAML_TEMPLATE,
13
13
  export interface ResolveConfigArgs {
14
14
  port?: string | boolean;
15
15
  host?: string | boolean;
16
- 'llm-api-key'?: string | boolean;
17
16
  'llm-model'?: string | boolean;
18
17
  'llm-temperature'?: string | boolean;
19
18
  'rag-type'?: string | boolean;
@@ -22,7 +21,6 @@ export interface ResolveConfigArgs {
22
21
  'rag-collection-name'?: string | boolean;
23
22
  'rag-vector-weight'?: string | boolean;
24
23
  'rag-keyword-weight'?: string | boolean;
25
- 'qdrant-api-key'?: string | boolean;
26
24
  'mcp-type'?: string | boolean;
27
25
  'mcp-url'?: string | boolean;
28
26
  'mcp-command'?: string | boolean;
@@ -41,11 +39,13 @@ export interface ResolveSmartServerConfigOptions {
41
39
  * block in `yaml` will cause an error.
42
40
  */
43
41
  configPath?: string;
44
- /** When true, SKIP provider-runtime validation — credential checks
45
- * (apiKey / AICORE_SERVICE_KEY) and `*.model` required — keeping STRUCTURAL
46
- * checks. Set by embeddable callers that inject their own makeLlm + embedder.
47
- * Default false → server behaviour unchanged. */
42
+ /** When true, SKIP provider-runtime validation — `*.model` required — keeping
43
+ * STRUCTURAL checks, which include refusing a secret field. Set by embeddable
44
+ * callers that inject their own embedder. Default false. */
48
45
  skipProviderRuntimeChecks?: boolean;
46
+ /** When false, a missing `llm:` section is not an error. Set only for a DAG
47
+ * worker file, whose models are keys of the main file's map (§4.6.7). */
48
+ requireLlmSection?: boolean;
49
49
  }
50
50
  export declare function resolveSmartServerConfig(args?: ResolveConfigArgs, yaml?: YamlConfig, env?: NodeJS.ProcessEnv, options?: ResolveSmartServerConfigOptions): Omit<SmartServerConfig, 'log'>;
51
51
  export type { CompositionNode, StepperCompositionSpec, StepperCoordinatorConfig, StepperMode, } from './stepper-config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,YAAY,EACV,aAAa,EACb,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAiGD,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;sDAGkD;IAClD,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,iBAAsB,EAC5B,IAAI,GAAE,UAAe,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE,+BAAoC,GAC5C,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CA8DhC;AAED,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,YAAY,EACV,aAAa,EACb,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AA4HD,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;iEAE6D;IAC7D,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;8EAC0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,iBAAsB,EAC5B,IAAI,GAAE,UAAe,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE,+BAAoC,GAC5C,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAkEhC;AAED,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -2,14 +2,27 @@
2
2
  * Shared config utilities for SmartServer.
3
3
  */
4
4
  import path from 'node:path';
5
- import { assertNoLegacyPipelineConfig, validateResolvedConfig, } from './config-validator.js';
5
+ import { assertNoLegacyPipelineConfig, assertNoLegacyRagShape, validateResolvedConfig, } from './config-validator.js';
6
+ import { normalizeLlmConfig } from './llm-config-map.js';
6
7
  import { resolveAgentSection, resolveLlmSection, resolveMcpSection, resolvePipelineSelection, resolvePromptsSection, resolveRagSection, } from './resolve-config-sections.js';
7
8
  import { parseSkillPluginsConfig } from './skill-plugins-config.js';
9
+ import { assertWorkerLlmConfig, parseWorkerLlm } from './worker-llm.js';
8
10
  import { get, loadYamlConfig } from './yaml-loader.js';
9
11
  export { buildFinalizer, resolveCoordinatorActivation, resolveCoordinatorDispatch, resolveCoordinatorDispatchKind, resolveCoordinatorPlanning, resolveToolSelectionStrategy, } from '../pipelines/coordinator-resolvers.js';
10
- export { assertNoLegacyPipelineConfig, ConfigValidationError, } from './config-validator.js';
12
+ export { assertNoLegacyPipelineConfig, assertNoLegacyRagShape, ConfigValidationError, } from './config-validator.js';
11
13
  export { normalizeLlmConfig, resolveLlmConfig, resolveLlmConfigStrict, resolveReviewerLlmName, } from './llm-config-map.js';
12
14
  export { generateConfigTemplate, loadYamlConfig, resolveEnvVars, YAML_TEMPLATE, } from './yaml-loader.js';
15
+ /** Resolve a DAG worker file (§4.6.7): its `llm` is read as keys of the main
16
+ * file's map, and the rest resolves like a main file minus the llm: section. */
17
+ function resolveWorkerConfig(name, args, subYaml, env, subConfigPath) {
18
+ const { llm: rawLlm, ...withoutLlm } = subYaml;
19
+ const llm = parseWorkerLlm(name, rawLlm);
20
+ const { llm: _none, ...rest } = resolveSmartServerConfig(args, withoutLlm, env, {
21
+ configPath: subConfigPath,
22
+ requireLlmSection: false,
23
+ });
24
+ return { ...rest, llm };
25
+ }
13
26
  /**
14
27
  * Recursively parse the top-level `subagents:` block from a YAML config.
15
28
  *
@@ -73,11 +86,9 @@ function parseSubAgents(yaml, configPath, args, env) {
73
86
  if (unsupported.length > 0) {
74
87
  throw new Error(`subagent '${name}': unsupported fields [${unsupported.join(', ')}]`);
75
88
  }
76
- // Recursive call — we just verified the sub YAML has no `subagents:`, so
77
- // the parseSubAgents call inside will short-circuit to undefined.
78
- const subResolved = resolveSmartServerConfig(args, subYaml, env, {
79
- configPath: subConfigPath,
80
- });
89
+ // The worker file names keys of THIS file's llm: map (§4.6.7); the key
90
+ // check runs in resolveSmartServerConfig once this file's map is validated.
91
+ const subResolved = resolveWorkerConfig(name, args, subYaml, env, subConfigPath);
81
92
  out.push({ name, description, config: subResolved });
82
93
  }
83
94
  return out;
@@ -87,13 +98,11 @@ export function resolveSmartServerConfig(args = {}, yaml = {}, env = process.env
87
98
  // legacy `coordinator:`/`pipeline:` config gets the actionable migration error
88
99
  // rather than the generic "pipeline requires a name" diagnostic.
89
100
  assertNoLegacyPipelineConfig(yaml);
90
- // API key derives solely from the top-level `llm:` block now (the legacy
91
- // `pipeline.llm.main.apiKey` override was removed with the schema migration).
92
- const apiKey = get(yaml, 'llm', 'apiKey') ?? '';
101
+ assertNoLegacyRagShape(yaml);
93
102
  const resolved = {
94
103
  port: Number(args.port ?? get(yaml, 'port') ?? env.PORT ?? 4004),
95
104
  host: args.host ?? get(yaml, 'host') ?? '0.0.0.0',
96
- llm: resolveLlmSection(yaml, apiKey),
105
+ llm: resolveLlmSection(yaml),
97
106
  rag: resolveRagSection(yaml, args),
98
107
  mcp: resolveMcpSection(yaml, args),
99
108
  agent: resolveAgentSection(yaml, args),
@@ -128,7 +137,11 @@ export function resolveSmartServerConfig(args = {}, yaml = {}, env = process.env
128
137
  };
129
138
  validateResolvedConfig(resolved, yaml, env, {
130
139
  skipProviderRuntimeChecks: options.skipProviderRuntimeChecks,
140
+ requireLlmSection: options.requireLlmSection,
131
141
  });
142
+ // Worker files named keys of THIS file's llm: map; now that the map is
143
+ // validated, check every named key has an entry (§4.6.7).
144
+ assertWorkerLlmConfig(resolved.subAgentConfigs, normalizeLlmConfig(resolved.llm));
132
145
  return resolved;
133
146
  }
134
147
  export { parseStepperCoordinatorConfig } from './stepper-config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { CallOptions, LlmUsage, Message, SerializableStrategyState, StreamToolCall } from '@mcp-abap-adt/llm-agent';
2
- import type { SmartServerLlmConfig } from '../smart-server.js';
3
2
  import type { PlanDecision } from './artifacts.js';
4
3
  export type SubagentResult = {
5
4
  kind: 'content';
@@ -170,18 +169,24 @@ export interface SessionBundle {
170
169
  * runId). */
171
170
  writeOrdinal?: number;
172
171
  }
173
- /** A controller subagent role: a standalone LLM config plus an OPTIONAL
174
- * per-role `hint`. The hint is appended to that role's system prompt and gives
175
- * the role extra OPERATIONAL guidance about running within the pipeline — how
176
- * to build the plan, how to execute a step, what to be strict about. Its main
177
- * purpose is to scaffold WEAKER models: a capable model (Opus / Sonnet) usually
178
- * needs none, while a smaller executor/planner model (e.g. gpt-4o-mini) may
179
- * need the extra steering. It is NOT a domain description and must NOT prescribe
180
- * tool names: the planner plans by intent (it is shown no tool catalog) and the
181
- * executor selects the right tool per step; richer per-situation procedures
182
- * belong to the skills RAG. Absent hint → the role runs on the bare agnostic
183
- * prompt. */
184
- export type ControllerSubagentConfig = SmartServerLlmConfig & {
172
+ /** A controller subagent role: an OPTIONAL key of the top-level `llm:` map plus
173
+ * an OPTIONAL per-role `hint`. A named `llm` resolves through
174
+ * `ctx.resolveNamedLlm(key)` — strictly, so a misspelled key is an error; an
175
+ * omitted one resolves the role's own name through `ctx.resolveLlm(role)`
176
+ * (§4.6.7). A model — its provider, temperature, account — is configured once,
177
+ * in `llm:`; a role that wants a colder model names a colder entry.
178
+ *
179
+ * The hint is appended to that role's system prompt and gives the role extra
180
+ * OPERATIONAL guidance about running within the pipeline — how to build the
181
+ * plan, how to execute a step, what to be strict about. Its main purpose is to
182
+ * scaffold WEAKER models: a capable model (Opus / Sonnet) usually needs none,
183
+ * while a smaller executor/planner model (e.g. gpt-4o-mini) may need the extra
184
+ * steering. It is NOT a domain description and must NOT prescribe tool names:
185
+ * the planner plans by intent (it is shown no tool catalog) and the executor
186
+ * selects the right tool per step; richer per-situation procedures belong to
187
+ * the skills RAG. Absent hint → the role runs on the bare agnostic prompt. */
188
+ export type ControllerSubagentConfig = {
189
+ llm?: string;
185
190
  hint?: string;
186
191
  };
187
192
  export interface ControllerConfig {
@@ -189,7 +194,9 @@ export interface ControllerConfig {
189
194
  evaluator: ControllerSubagentConfig;
190
195
  planner: ControllerSubagentConfig;
191
196
  executor: ControllerSubagentConfig;
192
- /** Optional; default to the planner's config when absent (no breaking change). */
197
+ /** Optional. An ABSENT block means the planner's instance — the planner's
198
+ * key, or the planner's default when it named none (§4.6.7). A PRESENT block
199
+ * without `llm` resolves this role's own name. */
193
200
  reviewer?: ControllerSubagentConfig;
194
201
  finalizer?: ControllerSubagentConfig;
195
202
  };
@@ -216,7 +223,7 @@ export interface ControllerConfig {
216
223
  maxFinalizeRetries?: number;
217
224
  /** In-process re-ask budget for judge (reviewer) provider/malformed failures. */
218
225
  maxReviewRetries?: number;
219
- /** Board render budget (§B). Defaulted in parseConfig; validated at load. */
226
+ /** Board render budget (§B). Defaulted in parseControllerSettings; validated at load. */
220
227
  maxDigestChars?: number;
221
228
  maxIntentChars?: number;
222
229
  maxActiveSteps?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/types.ts"],"names":[],"mappings":"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"}