@mcp-abap-adt/llm-agent-server-libs 25.0.0 → 27.0.1
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.
- package/dist/builders/controller-skill-pipeline-builder.d.ts +6 -5
- package/dist/builders/controller-skill-pipeline-builder.d.ts.map +1 -1
- package/dist/builders/controller-skill-pipeline-builder.js +49 -54
- package/dist/builders/controller-skill-pipeline-builder.js.map +1 -1
- package/dist/factories/controller-factory.d.ts +13 -10
- package/dist/factories/controller-factory.d.ts.map +1 -1
- package/dist/factories/controller-factory.js +33 -12
- package/dist/factories/controller-factory.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/pipelines/controller-subagents.d.ts +11 -0
- package/dist/pipelines/controller-subagents.d.ts.map +1 -0
- package/dist/pipelines/controller-subagents.js +77 -0
- package/dist/pipelines/controller-subagents.js.map +1 -0
- package/dist/pipelines/controller.d.ts +11 -10
- package/dist/pipelines/controller.d.ts.map +1 -1
- package/dist/pipelines/controller.js +14 -65
- package/dist/pipelines/controller.js.map +1 -1
- package/dist/pipelines/coordinator-resolvers.d.ts +6 -11
- package/dist/pipelines/coordinator-resolvers.d.ts.map +1 -1
- package/dist/pipelines/coordinator-resolvers.js +7 -17
- package/dist/pipelines/coordinator-resolvers.js.map +1 -1
- package/dist/pipelines/dag.d.ts +9 -9
- package/dist/pipelines/dag.d.ts.map +1 -1
- package/dist/pipelines/dag.js +11 -22
- package/dist/pipelines/dag.js.map +1 -1
- package/dist/pipelines/flat.d.ts +4 -7
- package/dist/pipelines/flat.d.ts.map +1 -1
- package/dist/pipelines/flat.js +3 -8
- package/dist/pipelines/flat.js.map +1 -1
- package/dist/pipelines/linear.d.ts +8 -10
- package/dist/pipelines/linear.d.ts.map +1 -1
- package/dist/pipelines/linear.js +18 -11
- package/dist/pipelines/linear.js.map +1 -1
- package/dist/pipelines/parsers.d.ts +0 -3
- package/dist/pipelines/parsers.d.ts.map +1 -1
- package/dist/pipelines/parsers.js +4 -19
- package/dist/pipelines/parsers.js.map +1 -1
- package/dist/pipelines/server-context.d.ts +0 -5
- package/dist/pipelines/server-context.d.ts.map +1 -1
- package/dist/pipelines/server-context.js.map +1 -1
- package/dist/pipelines/stepper.d.ts +5 -4
- package/dist/pipelines/stepper.d.ts.map +1 -1
- package/dist/pipelines/stepper.js +5 -4
- package/dist/pipelines/stepper.js.map +1 -1
- package/dist/smart-agent/build-dag-coordinator-deps.d.ts +11 -22
- package/dist/smart-agent/build-dag-coordinator-deps.d.ts.map +1 -1
- package/dist/smart-agent/build-dag-coordinator-deps.js +21 -78
- package/dist/smart-agent/build-dag-coordinator-deps.js.map +1 -1
- package/dist/smart-agent/build-stepper-root.d.ts.map +1 -1
- package/dist/smart-agent/build-stepper-root.js +0 -1
- package/dist/smart-agent/build-stepper-root.js.map +1 -1
- package/dist/smart-agent/config-validator.d.ts +8 -1
- package/dist/smart-agent/config-validator.d.ts.map +1 -1
- package/dist/smart-agent/config-validator.js +200 -62
- package/dist/smart-agent/config-validator.js.map +1 -1
- package/dist/smart-agent/config.d.ts +7 -7
- package/dist/smart-agent/config.d.ts.map +1 -1
- package/dist/smart-agent/config.js +24 -11
- package/dist/smart-agent/config.js.map +1 -1
- package/dist/smart-agent/controller/types.d.ts +22 -15
- package/dist/smart-agent/controller/types.d.ts.map +1 -1
- package/dist/smart-agent/controller/types.js.map +1 -1
- package/dist/smart-agent/http/config-route-handler.d.ts +2 -0
- package/dist/smart-agent/http/config-route-handler.d.ts.map +1 -1
- package/dist/smart-agent/http/config-route-handler.js +20 -0
- package/dist/smart-agent/http/config-route-handler.js.map +1 -1
- package/dist/smart-agent/llm/role-llm-resolver.d.ts +23 -11
- package/dist/smart-agent/llm/role-llm-resolver.d.ts.map +1 -1
- package/dist/smart-agent/llm/role-llm-resolver.js +65 -37
- package/dist/smart-agent/llm/role-llm-resolver.js.map +1 -1
- package/dist/smart-agent/llm-config-map.d.ts +9 -1
- package/dist/smart-agent/llm-config-map.d.ts.map +1 -1
- package/dist/smart-agent/llm-config-map.js +27 -5
- package/dist/smart-agent/llm-config-map.js.map +1 -1
- package/dist/smart-agent/pipeline-settings.d.ts +50 -0
- package/dist/smart-agent/pipeline-settings.d.ts.map +1 -0
- package/dist/smart-agent/pipeline-settings.js +174 -0
- package/dist/smart-agent/pipeline-settings.js.map +1 -0
- package/dist/smart-agent/pipeline.d.ts +3 -63
- package/dist/smart-agent/pipeline.d.ts.map +1 -1
- package/dist/smart-agent/pipeline.js +3 -2
- package/dist/smart-agent/pipeline.js.map +1 -1
- package/dist/smart-agent/rag-config.d.ts +155 -0
- package/dist/smart-agent/rag-config.d.ts.map +1 -0
- package/dist/smart-agent/rag-config.js +62 -0
- package/dist/smart-agent/rag-config.js.map +1 -0
- package/dist/smart-agent/resolve-agent-embedder.d.ts +11 -10
- package/dist/smart-agent/resolve-agent-embedder.d.ts.map +1 -1
- package/dist/smart-agent/resolve-agent-embedder.js +37 -36
- package/dist/smart-agent/resolve-agent-embedder.js.map +1 -1
- package/dist/smart-agent/resolve-config-sections.d.ts +1 -1
- package/dist/smart-agent/resolve-config-sections.d.ts.map +1 -1
- package/dist/smart-agent/resolve-config-sections.js +124 -30
- package/dist/smart-agent/resolve-config-sections.js.map +1 -1
- package/dist/smart-agent/select-pipeline-plugin.d.ts +8 -0
- package/dist/smart-agent/select-pipeline-plugin.d.ts.map +1 -0
- package/dist/smart-agent/select-pipeline-plugin.js +26 -0
- package/dist/smart-agent/select-pipeline-plugin.js.map +1 -0
- package/dist/smart-agent/session-lifecycle/index.d.ts +38 -4
- package/dist/smart-agent/session-lifecycle/index.d.ts.map +1 -1
- package/dist/smart-agent/session-lifecycle/index.js +11 -1
- package/dist/smart-agent/session-lifecycle/index.js.map +1 -1
- package/dist/smart-agent/session-lifecycle/session-rag-registry.d.ts +39 -0
- package/dist/smart-agent/session-lifecycle/session-rag-registry.d.ts.map +1 -0
- package/dist/smart-agent/session-lifecycle/session-rag-registry.js +109 -0
- package/dist/smart-agent/session-lifecycle/session-rag-registry.js.map +1 -0
- package/dist/smart-agent/skill-plugins-config.d.ts +3 -2
- package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -1
- package/dist/smart-agent/skill-plugins-config.js +12 -1
- package/dist/smart-agent/skill-plugins-config.js.map +1 -1
- package/dist/smart-agent/skill-plugins-host-factory.d.ts +9 -0
- package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -1
- package/dist/smart-agent/skill-plugins-host-factory.js +12 -6
- package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -1
- package/dist/smart-agent/smart-server.d.ts +90 -78
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js +201 -152
- package/dist/smart-agent/smart-server.js.map +1 -1
- package/dist/smart-agent/worker-llm.d.ts +18 -0
- package/dist/smart-agent/worker-llm.d.ts.map +1 -0
- package/dist/smart-agent/worker-llm.js +59 -0
- package/dist/smart-agent/worker-llm.js.map +1 -0
- package/dist/smart-agent/workers/worker-registry.d.ts +6 -14
- package/dist/smart-agent/workers/worker-registry.d.ts.map +1 -1
- package/dist/smart-agent/workers/worker-registry.js +2 -11
- package/dist/smart-agent/workers/worker-registry.js.map +1 -1
- package/dist/smart-agent/yaml-loader.d.ts +1 -1
- package/dist/smart-agent/yaml-loader.d.ts.map +1 -1
- package/dist/smart-agent/yaml-loader.js +20 -17
- package/dist/smart-agent/yaml-loader.js.map +1 -1
- package/package.json +8 -7
- package/dist/smart-agent/mcp/mcp-content.d.ts +0 -19
- package/dist/smart-agent/mcp/mcp-content.d.ts.map +0 -1
- package/dist/smart-agent/mcp/mcp-content.js +0 -31
- package/dist/smart-agent/mcp/mcp-content.js.map +0 -1
- package/dist/smart-agent/mcp/require-mcp-timeout.d.ts +0 -20
- package/dist/smart-agent/mcp/require-mcp-timeout.d.ts.map +0 -1
- package/dist/smart-agent/mcp/require-mcp-timeout.js +0 -23
- package/dist/smart-agent/mcp/require-mcp-timeout.js.map +0 -1
- package/dist/smart-agent/mcp-readiness-monitor.d.ts +0 -38
- package/dist/smart-agent/mcp-readiness-monitor.d.ts.map +0 -1
- package/dist/smart-agent/mcp-readiness-monitor.js +0 -81
- package/dist/smart-agent/mcp-readiness-monitor.js.map +0 -1
- package/dist/smart-agent/mcp-readiness-registry.d.ts +0 -37
- package/dist/smart-agent/mcp-readiness-registry.d.ts.map +0 -1
- package/dist/smart-agent/mcp-readiness-registry.js +0 -55
- package/dist/smart-agent/mcp-readiness-registry.js.map +0 -1
- package/dist/smart-agent/skill-plugins-config.test.d.ts +0 -2
- package/dist/smart-agent/skill-plugins-config.test.d.ts.map +0 -1
- package/dist/smart-agent/skill-plugins-config.test.js.map +0 -1
- package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +0 -2
- package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +0 -1
- 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')}\
|
|
20
|
+
.join('\n')}\nFix these fields in your YAML and restart.`);
|
|
20
21
|
this.name = 'ConfigValidationError';
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
function
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
77
|
+
}
|
|
78
|
+
const s = store;
|
|
79
|
+
const ragType = s.type;
|
|
61
80
|
if (!ragType) {
|
|
62
|
-
issues.push(
|
|
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(
|
|
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(
|
|
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' && !
|
|
72
|
-
issues.push(
|
|
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
|
-
!
|
|
76
|
-
issues.push(
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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' &&
|
|
91
|
-
|
|
92
|
-
|
|
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,
|
|
96
|
-
checkLlmRole(label, cfg, required,
|
|
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
|
-
|
|
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
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
-
//
|
|
143
|
-
|
|
144
|
-
if (
|
|
145
|
-
|
|
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
|
-
|
|
148
|
-
validateLlmEntry('llm
|
|
270
|
+
if (typeof rawLlm.provider === 'string') {
|
|
271
|
+
validateLlmEntry('llm', rawLlm, true, issues, skip);
|
|
149
272
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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
|
-
|
|
188
|
-
|
|
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 —
|
|
45
|
-
*
|
|
46
|
-
*
|
|
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;
|
|
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
|
-
//
|
|
77
|
-
//
|
|
78
|
-
const subResolved =
|
|
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
|
-
|
|
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
|
|
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":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,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;AAE/B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;
|
|
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:
|
|
174
|
-
* per-role `hint`.
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,IAAI;IACnB;;4DAEwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;mFAE+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;wFACoF;IACpF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,sDAAsD;AACtD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC;;;;;;;;kCAQkC;AAClC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,KAAK,CAazE;AAED;;;4EAG4E;AAC5E,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;kFAC8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAE9E;;;;;;;+EAO+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ;;kEAE8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX;mDAC+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAAC;IACvC;;;mFAG+E;IAC/E,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;IACjD,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB;;4EAEwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;yBAIqB;IACrB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAGhD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;+BAC2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAI5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;qFAEiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;kBAGc;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;+EAe+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE;QACT,SAAS,EAAE,wBAAwB,CAAC;QACpC,OAAO,EAAE,wBAAwB,CAAC;QAClC,QAAQ,EAAE,wBAAwB,CAAC;QACnC;;2DAEmD;QACnD,QAAQ,CAAC,EAAE,wBAAwB,CAAC;QACpC,SAAS,CAAC,EAAE,wBAAwB,CAAC;KACtC,CAAC;IACF,WAAW,EAAE;QACX,QAAQ,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,CAAC;QAC5D,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,aAAa,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,8FAA8F;QAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iFAAiF;QACjF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,8DAA8D;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iFAAiF;QACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,yFAAyF;QACzF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;iFACyE;QACzE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,0EAA0E;QAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;sCAEkC;IAClC,mBAAmB,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf;;;8BAG0B;IAC1B,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;wFAIoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;oFAKgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD;;oDAEgD;IAChD,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACxD;;sGAEkG;IAClG,MAAM,CAAC,CACL,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GACzC,IAAI,CAAC;CACT"}
|