@mcp-abap-adt/llm-agent-server-libs 19.2.0 → 20.4.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 (179) hide show
  1. package/dist/builders/controller-skill-pipeline-builder.d.ts +57 -0
  2. package/dist/builders/controller-skill-pipeline-builder.d.ts.map +1 -0
  3. package/dist/builders/controller-skill-pipeline-builder.js +175 -0
  4. package/dist/builders/controller-skill-pipeline-builder.js.map +1 -0
  5. package/dist/factories/controller-factory.d.ts +2 -2
  6. package/dist/factories/controller-factory.d.ts.map +1 -1
  7. package/dist/factories/controller-factory.js +2 -1
  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 +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/pipelines/controller.d.ts +4 -2
  16. package/dist/pipelines/controller.d.ts.map +1 -1
  17. package/dist/pipelines/controller.js +33 -8
  18. package/dist/pipelines/controller.js.map +1 -1
  19. package/dist/pipelines/coordinator-resolvers.d.ts +68 -0
  20. package/dist/pipelines/coordinator-resolvers.d.ts.map +1 -0
  21. package/dist/pipelines/coordinator-resolvers.js +97 -0
  22. package/dist/pipelines/coordinator-resolvers.js.map +1 -0
  23. package/dist/pipelines/dag.d.ts +2 -2
  24. package/dist/pipelines/dag.js +2 -2
  25. package/dist/pipelines/parsers.d.ts +1 -1
  26. package/dist/pipelines/parsers.d.ts.map +1 -1
  27. package/dist/pipelines/parsers.js +5 -4
  28. package/dist/pipelines/parsers.js.map +1 -1
  29. package/dist/pipelines/register-skill-sources.d.ts.map +1 -1
  30. package/dist/pipelines/register-skill-sources.js +5 -0
  31. package/dist/pipelines/register-skill-sources.js.map +1 -1
  32. package/dist/pipelines/stepper.d.ts +2 -2
  33. package/dist/pipelines/stepper.js +2 -2
  34. package/dist/smart-agent/build-stepper-root.d.ts +3 -2
  35. package/dist/smart-agent/build-stepper-root.d.ts.map +1 -1
  36. package/dist/smart-agent/build-stepper-root.js +2 -1
  37. package/dist/smart-agent/build-stepper-root.js.map +1 -1
  38. package/dist/smart-agent/config-reload-watcher.d.ts +30 -0
  39. package/dist/smart-agent/config-reload-watcher.d.ts.map +1 -0
  40. package/dist/smart-agent/config-reload-watcher.js +101 -0
  41. package/dist/smart-agent/config-reload-watcher.js.map +1 -0
  42. package/dist/smart-agent/config-validator.d.ts +21 -0
  43. package/dist/smart-agent/config-validator.d.ts.map +1 -0
  44. package/dist/smart-agent/config-validator.js +196 -0
  45. package/dist/smart-agent/config-validator.js.map +1 -0
  46. package/dist/smart-agent/config.d.ts +16 -254
  47. package/dist/smart-agent/config.d.ts.map +1 -1
  48. package/dist/smart-agent/config.js +17 -904
  49. package/dist/smart-agent/config.js.map +1 -1
  50. package/dist/smart-agent/controller/board.d.ts +6 -3
  51. package/dist/smart-agent/controller/board.d.ts.map +1 -1
  52. package/dist/smart-agent/controller/board.js +21 -0
  53. package/dist/smart-agent/controller/board.js.map +1 -1
  54. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +16 -50
  55. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  56. package/dist/smart-agent/controller/controller-coordinator-handler.js +83 -371
  57. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  58. package/dist/smart-agent/controller/finalizer.d.ts +5 -0
  59. package/dist/smart-agent/controller/finalizer.d.ts.map +1 -1
  60. package/dist/smart-agent/controller/finalizer.js +12 -5
  61. package/dist/smart-agent/controller/finalizer.js.map +1 -1
  62. package/dist/smart-agent/controller/parser.d.ts +11 -0
  63. package/dist/smart-agent/controller/parser.d.ts.map +1 -0
  64. package/dist/smart-agent/controller/parser.js +77 -0
  65. package/dist/smart-agent/controller/parser.js.map +1 -0
  66. package/dist/smart-agent/controller/planner.d.ts +20 -16
  67. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  68. package/dist/smart-agent/controller/planner.js +58 -64
  69. package/dist/smart-agent/controller/planner.js.map +1 -1
  70. package/dist/smart-agent/controller/recall.d.ts +48 -0
  71. package/dist/smart-agent/controller/recall.d.ts.map +1 -0
  72. package/dist/smart-agent/controller/recall.js +196 -0
  73. package/dist/smart-agent/controller/recall.js.map +1 -0
  74. package/dist/smart-agent/controller/reviewer.d.ts.map +1 -1
  75. package/dist/smart-agent/controller/reviewer.js +1 -1
  76. package/dist/smart-agent/controller/reviewer.js.map +1 -1
  77. package/dist/smart-agent/controller/types.d.ts +8 -9
  78. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  79. package/dist/smart-agent/controller/usage-logging.d.ts +16 -0
  80. package/dist/smart-agent/controller/usage-logging.d.ts.map +1 -0
  81. package/dist/smart-agent/controller/usage-logging.js +39 -0
  82. package/dist/smart-agent/controller/usage-logging.js.map +1 -0
  83. package/dist/smart-agent/http/adapter-route-handler.d.ts +13 -0
  84. package/dist/smart-agent/http/adapter-route-handler.d.ts.map +1 -0
  85. package/dist/smart-agent/http/adapter-route-handler.js +76 -0
  86. package/dist/smart-agent/http/adapter-route-handler.js.map +1 -0
  87. package/dist/smart-agent/http/chat-route-handler.d.ts +15 -0
  88. package/dist/smart-agent/http/chat-route-handler.d.ts.map +1 -0
  89. package/dist/smart-agent/http/chat-route-handler.js +327 -0
  90. package/dist/smart-agent/http/chat-route-handler.js.map +1 -0
  91. package/dist/smart-agent/http/config-route-handler.d.ts +21 -0
  92. package/dist/smart-agent/http/config-route-handler.d.ts.map +1 -0
  93. package/dist/smart-agent/http/config-route-handler.js +149 -0
  94. package/dist/smart-agent/http/config-route-handler.js.map +1 -0
  95. package/dist/smart-agent/http/health-route-handler.d.ts +12 -0
  96. package/dist/smart-agent/http/health-route-handler.d.ts.map +1 -0
  97. package/dist/smart-agent/http/health-route-handler.js +19 -0
  98. package/dist/smart-agent/http/health-route-handler.js.map +1 -0
  99. package/dist/smart-agent/http/models-route-handler.d.ts +17 -0
  100. package/dist/smart-agent/http/models-route-handler.d.ts.map +1 -0
  101. package/dist/smart-agent/http/models-route-handler.js +65 -0
  102. package/dist/smart-agent/http/models-route-handler.js.map +1 -0
  103. package/dist/smart-agent/http/response-helpers.d.ts +31 -0
  104. package/dist/smart-agent/http/response-helpers.d.ts.map +1 -0
  105. package/dist/smart-agent/http/response-helpers.js +59 -0
  106. package/dist/smart-agent/http/response-helpers.js.map +1 -0
  107. package/dist/smart-agent/http/route-table.d.ts +44 -0
  108. package/dist/smart-agent/http/route-table.d.ts.map +1 -0
  109. package/dist/smart-agent/http/route-table.js +35 -0
  110. package/dist/smart-agent/http/route-table.js.map +1 -0
  111. package/dist/smart-agent/http/session-cookie.d.ts +10 -0
  112. package/dist/smart-agent/http/session-cookie.d.ts.map +1 -0
  113. package/dist/smart-agent/http/session-cookie.js +16 -0
  114. package/dist/smart-agent/http/session-cookie.js.map +1 -0
  115. package/dist/smart-agent/http/sessions-route-handler.d.ts +8 -0
  116. package/dist/smart-agent/http/sessions-route-handler.d.ts.map +1 -0
  117. package/dist/smart-agent/http/sessions-route-handler.js +54 -0
  118. package/dist/smart-agent/http/sessions-route-handler.js.map +1 -0
  119. package/dist/smart-agent/http/usage-route-handler.d.ts +12 -0
  120. package/dist/smart-agent/http/usage-route-handler.d.ts.map +1 -0
  121. package/dist/smart-agent/http/usage-route-handler.js +28 -0
  122. package/dist/smart-agent/http/usage-route-handler.js.map +1 -0
  123. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts +13 -0
  124. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts.map +1 -0
  125. package/dist/smart-agent/knowledge/make-knowledge-backend.js +18 -0
  126. package/dist/smart-agent/knowledge/make-knowledge-backend.js.map +1 -0
  127. package/dist/smart-agent/llm/role-llm-resolver.d.ts +30 -0
  128. package/dist/smart-agent/llm/role-llm-resolver.d.ts.map +1 -0
  129. package/dist/smart-agent/llm/role-llm-resolver.js +44 -0
  130. package/dist/smart-agent/llm/role-llm-resolver.js.map +1 -0
  131. package/dist/smart-agent/llm-config-map.d.ts +38 -0
  132. package/dist/smart-agent/llm-config-map.d.ts.map +1 -0
  133. package/dist/smart-agent/llm-config-map.js +75 -0
  134. package/dist/smart-agent/llm-config-map.js.map +1 -0
  135. package/dist/smart-agent/mcp-readiness-monitor.d.ts +38 -0
  136. package/dist/smart-agent/mcp-readiness-monitor.d.ts.map +1 -0
  137. package/dist/smart-agent/mcp-readiness-monitor.js +81 -0
  138. package/dist/smart-agent/mcp-readiness-monitor.js.map +1 -0
  139. package/dist/smart-agent/mcp-readiness-registry.d.ts +37 -0
  140. package/dist/smart-agent/mcp-readiness-registry.d.ts.map +1 -0
  141. package/dist/smart-agent/mcp-readiness-registry.js +55 -0
  142. package/dist/smart-agent/mcp-readiness-registry.js.map +1 -0
  143. package/dist/smart-agent/resolve-config-sections.d.ts +15 -0
  144. package/dist/smart-agent/resolve-config-sections.d.ts.map +1 -0
  145. package/dist/smart-agent/resolve-config-sections.js +212 -0
  146. package/dist/smart-agent/resolve-config-sections.js.map +1 -0
  147. package/dist/smart-agent/session-lifecycle/index.d.ts +117 -0
  148. package/dist/smart-agent/session-lifecycle/index.d.ts.map +1 -0
  149. package/dist/smart-agent/session-lifecycle/index.js +152 -0
  150. package/dist/smart-agent/session-lifecycle/index.js.map +1 -0
  151. package/dist/smart-agent/skill-plugins-config.d.ts +9 -1
  152. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -1
  153. package/dist/smart-agent/skill-plugins-config.js +27 -1
  154. package/dist/smart-agent/skill-plugins-config.js.map +1 -1
  155. package/dist/smart-agent/skill-plugins-host-factory.d.ts +14 -2
  156. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -1
  157. package/dist/smart-agent/skill-plugins-host-factory.js +16 -4
  158. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -1
  159. package/dist/smart-agent/smart-server.d.ts +151 -222
  160. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  161. package/dist/smart-agent/smart-server.js +529 -1385
  162. package/dist/smart-agent/smart-server.js.map +1 -1
  163. package/dist/smart-agent/stepper-config.d.ts +138 -0
  164. package/dist/smart-agent/stepper-config.d.ts.map +1 -0
  165. package/dist/smart-agent/stepper-config.js +216 -0
  166. package/dist/smart-agent/stepper-config.js.map +1 -0
  167. package/dist/smart-agent/tools-rag-handle.d.ts +10 -0
  168. package/dist/smart-agent/tools-rag-handle.d.ts.map +1 -0
  169. package/dist/smart-agent/tools-rag-handle.js +76 -0
  170. package/dist/smart-agent/tools-rag-handle.js.map +1 -0
  171. package/dist/smart-agent/workers/worker-registry.d.ts +159 -0
  172. package/dist/smart-agent/workers/worker-registry.d.ts.map +1 -0
  173. package/dist/smart-agent/workers/worker-registry.js +203 -0
  174. package/dist/smart-agent/workers/worker-registry.js.map +1 -0
  175. package/dist/smart-agent/yaml-loader.d.ts +7 -0
  176. package/dist/smart-agent/yaml-loader.d.ts.map +1 -0
  177. package/dist/smart-agent/yaml-loader.js +146 -0
  178. package/dist/smart-agent/yaml-loader.js.map +1 -0
  179. package/package.json +7 -7
@@ -0,0 +1,196 @@
1
+ import { get } from './yaml-loader.js';
2
+ const VALID_PROVIDERS = [
3
+ 'openai',
4
+ 'anthropic',
5
+ 'deepseek',
6
+ 'sap-ai-sdk',
7
+ 'ollama',
8
+ ];
9
+ const VALID_RAG_TYPES = [
10
+ 'in-memory',
11
+ 'qdrant',
12
+ 'hana-vector',
13
+ 'pg-vector',
14
+ ];
15
+ export class ConfigValidationError extends Error {
16
+ constructor(issues) {
17
+ super(`Configuration error in smart-server.yaml:\n${issues
18
+ .map((i) => ` - ${i}`)
19
+ .join('\n')}\nSet these fields in your YAML and restart.`);
20
+ this.name = 'ConfigValidationError';
21
+ }
22
+ }
23
+ function checkLlmRole(label, role, requireModel, env, issues, skipRuntime = false) {
24
+ const provider = role?.provider;
25
+ if (!provider) {
26
+ issues.push(`${label}.provider: required (one of: openai, anthropic, deepseek, sap-ai-sdk, ollama)`);
27
+ return;
28
+ }
29
+ // `as readonly string[]` is required so .includes() accepts an arbitrary
30
+ // string; do not "simplify" — it preserves the const-tuple narrowing.
31
+ if (!VALID_PROVIDERS.includes(provider)) {
32
+ issues.push(`${label}.provider: "${provider}" is invalid (one of: openai, anthropic, deepseek, sap-ai-sdk, ollama)`);
33
+ return;
34
+ }
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
+ if (skipRuntime)
39
+ return;
40
+ if (requireModel && !role?.model) {
41
+ issues.push(`${label}.model: required (string)`);
42
+ }
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.');
53
+ }
54
+ }
55
+ // ollama: no credential check.
56
+ }
57
+ function checkRagStore(label, store, issues, skipRuntime = false) {
58
+ if (!store)
59
+ return;
60
+ const ragType = store.type;
61
+ if (!ragType) {
62
+ issues.push(`${label}.type: required (one of: in-memory, qdrant, hana-vector, pg-vector)`);
63
+ }
64
+ 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)`);
66
+ }
67
+ else if (!VALID_RAG_TYPES.includes(ragType)) {
68
+ issues.push(`${label}.type: "${ragType}" is invalid (one of: in-memory, qdrant, hana-vector, pg-vector)`);
69
+ }
70
+ else {
71
+ if (ragType === 'qdrant' && !store.url) {
72
+ issues.push(`${label}.url: required for ${label}.type qdrant`);
73
+ }
74
+ if ((ragType === 'hana-vector' || ragType === 'pg-vector') &&
75
+ !store.collectionName) {
76
+ issues.push(`${label}.collectionName: required for ${label}.type ${ragType}`);
77
+ }
78
+ }
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`);
84
+ }
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.
87
+ const usesEmbedder = ragType === 'qdrant' ||
88
+ ragType === 'hana-vector' ||
89
+ 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)`);
93
+ }
94
+ }
95
+ function validateLlmEntry(label, cfg, required, env, issues, skipRuntime = false) {
96
+ checkLlmRole(label, cfg, required, env, issues, skipRuntime);
97
+ }
98
+ /**
99
+ * Fail-loud migration guard for the clean break to `pipeline: { name, config }`.
100
+ *
101
+ * Throws when the raw YAML still carries either:
102
+ * - a `coordinator:` block (the old runtime dispatch, removed in this major), OR
103
+ * - a `pipeline:` value in the LEGACY PipelineConfig shape — an object that
104
+ * carries `mcp`/`rag`/`stages`/`llm` but NO `name`.
105
+ *
106
+ * A new `pipeline: { name, ... }` object or a bare string shorthand
107
+ * (`pipeline: stepper`) passes untouched.
108
+ */
109
+ export function assertNoLegacyPipelineConfig(yaml) {
110
+ const hasCoordinator = yaml.coordinator !== undefined;
111
+ const rawPipeline = yaml.pipeline;
112
+ const isLegacyPipeline = rawPipeline !== undefined &&
113
+ rawPipeline !== null &&
114
+ typeof rawPipeline === 'object' &&
115
+ !Array.isArray(rawPipeline) &&
116
+ typeof rawPipeline.name !== 'string' &&
117
+ ['mcp', 'rag', 'stages', 'llm'].some((k) => rawPipeline[k] !== undefined);
118
+ if (hasCoordinator || isLegacyPipeline) {
119
+ throw new Error("Legacy 'coordinator:' / 'pipeline:' config is no longer supported (removed in this major). " +
120
+ 'Migrate to: pipeline: { name: <flat|linear|dag|stepper>, config: { ... } }. ' +
121
+ "(Stepper's knowledgeSeed moves under pipeline.config.knowledgeSeed.) " +
122
+ 'Pin a version <= 18 for the old behavior.');
123
+ }
124
+ }
125
+ export function validateResolvedConfig(_resolved, yaml, env, opts = {}) {
126
+ const issues = [];
127
+ 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
+ const rawLlm = get(yaml, 'llm');
134
+ 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);
140
+ }
141
+ 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");
146
+ }
147
+ else {
148
+ validateLlmEntry('llm.main', map.main, true, env, issues, skip);
149
+ }
150
+ for (const [name, entry] of Object.entries(map)) {
151
+ if (name === 'main')
152
+ continue;
153
+ validateLlmEntry(`llm.${name}`, entry, true, env, issues, skip);
154
+ }
155
+ }
156
+ // Pipeline selection shape: `pipeline:` must name a pipeline (string or
157
+ // { name } object). The plugin validates its own `config` dialect at build
158
+ // time — we only enforce the presence of a name here.
159
+ const rawPipeline = yaml.pipeline;
160
+ if (rawPipeline !== undefined && rawPipeline !== null) {
161
+ const ok = typeof rawPipeline === 'string' ||
162
+ (typeof rawPipeline === 'object' &&
163
+ typeof rawPipeline.name === 'string');
164
+ if (!ok) {
165
+ issues.push("pipeline: requires a 'name' (string, or { name, config }); built-ins: flat, linear, dag, stepper, controller, controller-weak");
166
+ }
167
+ }
168
+ if (get(yaml, 'mcp')) {
169
+ const rawMcpVal = yaml.mcp;
170
+ const mcpEntries = Array.isArray(rawMcpVal)
171
+ ? rawMcpVal
172
+ : [rawMcpVal];
173
+ mcpEntries.forEach((entry, i) => {
174
+ const label = Array.isArray(rawMcpVal) ? `mcp[${i}]` : 'mcp';
175
+ const mcpType = entry?.type;
176
+ if (mcpType && !['http', 'stdio', 'none'].includes(mcpType)) {
177
+ issues.push(`${label}.type: "${mcpType}" is invalid (one of: http, stdio, none)`);
178
+ }
179
+ if (mcpType === 'http' && !entry?.url) {
180
+ issues.push(`${label}.url: required when ${label}.type is http`);
181
+ }
182
+ if (mcpType === 'stdio' && !entry?.command) {
183
+ issues.push(`${label}.command: required when ${label}.type is stdio`);
184
+ }
185
+ });
186
+ }
187
+ if (get(yaml, 'rag')) {
188
+ checkRagStore('rag', get(yaml, 'rag'), issues, skip);
189
+ }
190
+ // NOTE: the legacy `pipeline.rag.{name}` multistore was removed with the
191
+ // `pipeline: {name,config}` migration; the top-level `rag:` block is the sole
192
+ // RAG source, validated above.
193
+ if (issues.length > 0)
194
+ throw new ConfigValidationError([...new Set(issues)]);
195
+ }
196
+ //# sourceMappingURL=config-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/smart-agent/config-validator.ts"],"names":[],"mappings":"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"}
@@ -1,95 +1,15 @@
1
1
  /**
2
2
  * Shared config utilities for SmartServer.
3
3
  */
4
- import type { IFinalizer, ILlm, ISubAgentContextBuilder, IToolSelectionStrategy, PlanNode } from '@mcp-abap-adt/llm-agent';
5
- import { AutoActivation, ExplicitActivation, HybridDispatch, OneShotPlanning, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch } from '@mcp-abap-adt/llm-agent-libs';
6
- import type { SmartServerConfig, SmartServerLlmConfig } from './smart-server.js';
7
- export type LlmConfigMap = Record<string, SmartServerLlmConfig>;
8
- export type NormalizedLlmMap = {
9
- main: SmartServerLlmConfig;
10
- } & LlmConfigMap;
11
- /**
12
- * Normalize the optional top-level `llm:` block.
13
- * - undefined → undefined (pipeline-only configs stay valid)
14
- * - flat shape (has `provider` | `apiKey` | `model` | `url`) → { main: flat } (backward compat)
15
- * - map shape → must include `main`; returned as NormalizedLlmMap
16
- */
17
- export declare function normalizeLlmConfig(input?: SmartServerLlmConfig | LlmConfigMap): NormalizedLlmMap | undefined;
18
- /**
19
- * Strict lookup: returns map[name] if explicitly present, else undefined.
20
- * Does NOT fall through to map.main. Use when the caller needs to
21
- * detect explicit-presence (e.g. to decide between an alias and the
22
- * named map entry).
23
- */
24
- export declare function resolveLlmConfigStrict(map: NormalizedLlmMap | undefined, name: string | undefined): SmartServerLlmConfig | undefined;
25
- /**
26
- * Resolve a per-role LLM config by name from a normalized map.
27
- * Lookup chain: map[name] → map.main → pipelineFallback.
28
- * When map is undefined, falls back to pipelineFallback (so pipeline-only
29
- * configs keep working with no top-level llm: block).
30
- *
31
- * The caller decides whether `undefined` is an error.
32
- */
33
- export declare function resolveLlmConfig(map: NormalizedLlmMap | undefined, name?: string, pipelineFallback?: SmartServerLlmConfig): SmartServerLlmConfig | undefined;
34
- /**
35
- * Read the reviewer block's LLM-name selector, accepting both the
36
- * preferred `reviewerLlm` field and the deprecated `plannerLlm` alias.
37
- * When the alias is used, calls `warn(message)`.
38
- */
39
- export declare function resolveReviewerLlmName(block: {
40
- reviewerLlm?: string;
41
- plannerLlm?: string;
42
- } | undefined, warn: (msg: string) => void): string | undefined;
43
- export interface YamlCoordinator {
44
- planning?: 'one-shot' | 'replan-on-error' | 'skill-steps';
45
- dispatch?: 'subagent' | 'self' | 'hybrid';
46
- activation?: 'auto' | 'explicit';
47
- plannerLlm?: 'main' | 'planner' | 'helper';
48
- maxSteps?: number;
49
- maxRetriesPerStep?: number;
50
- failPolicy?: 'abort' | 'continue';
51
- maxLayer?: number;
52
- planner?: {
53
- type?: string;
54
- plannerLlm?: 'main' | 'planner' | 'helper';
55
- } | Record<string, unknown>;
56
- interpreter?: {
57
- type?: string;
58
- } | Record<string, unknown>;
59
- reviewer?: {
60
- type?: string;
61
- reviewerLlm?: string;
62
- plannerLlm?: 'main' | 'planner' | 'helper';
63
- };
64
- finalizer?: {
65
- type?: 'passthrough' | 'llm' | 'template';
66
- finalizerLlm?: string;
67
- systemPrompt?: string;
68
- };
69
- errorStrategy?: {
70
- type?: string;
71
- maxReplans?: number;
72
- };
73
- stateOracle?: string;
74
- maxRoundTrips?: number;
75
- }
76
- export declare function resolveCoordinatorPlanning(name: string, plannerLlm: ILlm): OneShotPlanning | ReplanOnErrorPlanning | SkillStepsPlanning;
77
- /**
78
- * Default coordinator dispatch kind. Omitted → 'hybrid' for ALL planning kinds:
79
- * agentless steps — the synthesized answer-directly step (#155) and skill steps
80
- * without an explicit `agent:` — need a self-LLM fallback. Pin 'subagent'
81
- * explicitly for strict subagent-only routing.
82
- */
83
- export declare function resolveCoordinatorDispatchKind(explicit?: 'subagent' | 'self' | 'hybrid'): 'subagent' | 'self' | 'hybrid';
84
- export declare function resolveCoordinatorDispatch(name: string, fallbackLlm?: ILlm, contextBuilder?: ISubAgentContextBuilder): SubAgentDispatch | SelfDispatch | HybridDispatch;
85
- export declare function resolveCoordinatorActivation(name: string): AutoActivation | ExplicitActivation;
86
- export declare function resolveToolSelectionStrategy(name: string, params?: {
87
- minScore?: number;
88
- }): IToolSelectionStrategy;
89
- export declare class ConfigValidationError extends Error {
90
- constructor(issues: string[]);
91
- }
92
- export type YamlConfig = Record<string, unknown>;
4
+ import type { SmartServerConfig } from './smart-server.js';
5
+ import type { YamlConfig } from './yaml-loader.js';
6
+ export type { FinalizerYaml, YamlCoordinator, } from '../pipelines/coordinator-resolvers.js';
7
+ export { buildFinalizer, resolveCoordinatorActivation, resolveCoordinatorDispatch, resolveCoordinatorDispatchKind, resolveCoordinatorPlanning, resolveToolSelectionStrategy, } from '../pipelines/coordinator-resolvers.js';
8
+ export { assertNoLegacyPipelineConfig, ConfigValidationError, } from './config-validator.js';
9
+ export type { LlmConfigMap, NormalizedLlmMap } from './llm-config-map.js';
10
+ export { normalizeLlmConfig, resolveLlmConfig, resolveLlmConfigStrict, resolveReviewerLlmName, } from './llm-config-map.js';
11
+ export type { YamlConfig } from './yaml-loader.js';
12
+ export { generateConfigTemplate, loadYamlConfig, resolveEnvVars, YAML_TEMPLATE, } from './yaml-loader.js';
93
13
  export interface ResolveConfigArgs {
94
14
  port?: string | boolean;
95
15
  host?: string | boolean;
@@ -114,39 +34,6 @@ export interface ResolveConfigArgs {
114
34
  'plugin-dir'?: string;
115
35
  mode?: string | boolean;
116
36
  }
117
- 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 context and MCP tools based on analysis. (default)\nmode: smart\n\nllm:\n provider: deepseek # deepseek | openai | anthropic | sap-ai-sdk | ollama\n apiKey: ${DEEPSEEK_API_KEY} # not required for ollama / sap-ai-sdk\n model: deepseek-chat\n temperature: 0.7\n classifierTemperature: 0.1\n\nrag:\n type: in-memory # in-memory | qdrant | hana-vector | pg-vector\n embedder: ollama # Embedder to use: ollama | openai | sap-ai-core | <custom>\n url: http://localhost:11434\n model: bge-m3\n # resourceGroup: default # SAP AI Core resource group (sap-ai-core embedder)\n # scenario: orchestration # SAP AI Core scenario: orchestration (default) | foundation-models\n # collectionName: llm-agent # Collection/table name (qdrant | hana-vector | pg-vector)\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 # contextBudgetTokens: 4000 # Max tokens for RAG context in system prompt (0 = no limit)\n # semanticHistoryEnabled: false # Enable semantic history via RAG\n # historyRecencyWindow: 4 # Last N messages from client history in LLM context\n # historyTurnSummaryPrompt: \"...\" # LLM prompt for turn summarization\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 # ragTranslateEnabled: true # Translate non-ASCII RAG queries to English (default: true)\n # classificationEnabled: false # Enable for custom pipelines with multi-store routing\n # toolReselectPerIteration: false # Re-select tools via RAG on each tool-loop iteration\n # llmCallStrategy: streaming # streaming | non-streaming | fallback\n # streamMode: full # full | final \u2014 streaming behavior for tool loops\n # heartbeatIntervalMs: 5000 # SSE heartbeat interval during tool execution (ms)\n # healthTimeoutMs: 5000 # Health check probe timeout (ms); increase for slow providers (SAP AI Core: 15000)\n # retry: # LLM retry config for 429/5xx errors\n # maxAttempts: 3\n # backoffMs: 1000\n # retryOn: [429, 500, 502, 503]\n # retryOnMidStream: ['SSE stream'] # Substrings triggering mid-stream retry\n\n# --- Advanced Multi-Model LLM (optional) ------------------------------------\n# Assign different models for different internal roles via a top-level llm: map.\n# (The legacy pipeline.llm override was removed \u2014 use the top-level llm: map now.)\n# llm:\n# main:\n# provider: deepseek # deepseek | openai | anthropic | sap-ai-sdk\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# 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# plugins: # Explicit plugin module specifiers (npm packages or paths)\n# - \"@scope/my-pipeline-plugin\" # bare specifier resolved from cwd\n# - ./local-plugin.mjs # relative path resolved against cwd\n\n# subagents: # Optional: nested agents callable from pipeline\n# - name: code-reviewer # Used as stage config: { agent: code-reviewer }\n# description: | # Optional. Shown to the Coordinator planner LLM\n# Reviews code and returns # so it can pick this agent for the right step.\n# structured JSON.\n# config: ./agents/code-reviewer.yaml\n\n# pipeline: # Optional: select the request pipeline.\n# name: flat # flat (default) | linear | dag | stepper | <plugin>\n# config: # Opaque per-pipeline dialect (validated by the plugin)\n# mode: planned-react # e.g. stepper: cyclic-react | planned-react | deep-stepper\n# knowledgeSeed: [] # stepper: deployment-supplied tool guidance\n#\n# NOTE: the legacy 'coordinator:' block and the old 'pipeline:' shape\n# (mcp/rag/stages/llm overrides) were REMOVED in this major. A config that\n# still uses them fails loud at startup. Top-level 'llm:', 'mcp:', 'rag:' now\n# own those concerns; pipeline behavior moves under 'pipeline.config'.\n";
118
- export declare function resolveEnvVars(value: unknown, env?: NodeJS.ProcessEnv): unknown;
119
- export declare function loadYamlConfig(filePath: string, env?: NodeJS.ProcessEnv): YamlConfig;
120
- export declare function generateConfigTemplate(outputPath: string): void;
121
- export type FinalizerYaml = {
122
- type?: 'passthrough' | 'llm' | 'template';
123
- finalizerLlm?: string;
124
- systemPrompt?: string;
125
- };
126
- /**
127
- * Build the IFinalizer impl from `coordinator.finalizer:` YAML.
128
- *
129
- * Lookup chain for `type: llm`:
130
- * resolveLlmConfig(llmMap, cfg.finalizerLlm, pipelineFallback)
131
- * → top-level llm.<name> → llm.main → pipelineFallback (pipeline.llm.main)
132
- * → ConfigError if all three are missing.
133
- *
134
- * Absent block / `type: passthrough` → PassthroughFinalizer.
135
- * `type: template` → TemplateFinalizer.
136
- */
137
- export declare function buildFinalizer(cfg: FinalizerYaml | undefined, llmMap: NormalizedLlmMap | undefined, pipelineFallback: SmartServerLlmConfig | undefined, makeLlm: (config: SmartServerLlmConfig) => Promise<ILlm>): Promise<IFinalizer>;
138
- /**
139
- * Fail-loud migration guard for the clean break to `pipeline: { name, config }`.
140
- *
141
- * Throws when the raw YAML still carries either:
142
- * - a `coordinator:` block (the old runtime dispatch, removed in this major), OR
143
- * - a `pipeline:` value in the LEGACY PipelineConfig shape — an object that
144
- * carries `mcp`/`rag`/`stages`/`llm` but NO `name`.
145
- *
146
- * A new `pipeline: { name, ... }` object or a bare string shorthand
147
- * (`pipeline: stepper`) passes untouched.
148
- */
149
- export declare function assertNoLegacyPipelineConfig(yaml: YamlConfig): void;
150
37
  export interface ResolveSmartServerConfigOptions {
151
38
  /**
152
39
  * Filesystem path of the YAML config that produced `yaml`. Required for
@@ -154,138 +41,13 @@ export interface ResolveSmartServerConfigOptions {
154
41
  * block in `yaml` will cause an error.
155
42
  */
156
43
  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. */
48
+ skipProviderRuntimeChecks?: boolean;
157
49
  }
158
50
  export declare function resolveSmartServerConfig(args?: ResolveConfigArgs, yaml?: YamlConfig, env?: NodeJS.ProcessEnv, options?: ResolveSmartServerConfigOptions): Omit<SmartServerConfig, 'log'>;
159
- /**
160
- * Stepper coordinator modes.
161
- */
162
- export type StepperMode = 'cyclic-react' | 'planned-react' | 'deep-stepper';
163
- /**
164
- * Configuration for the recursive Stepper coordinator.
165
- */
166
- /**
167
- * A node of a declared composition tree. A leaf executes via the executor; a
168
- * node with a nested `flow` runs as a child Stepper (structural recursion —
169
- * the sub-cycle is declared and visible).
170
- */
171
- export interface CompositionNode {
172
- id: string;
173
- goal: string;
174
- dependsOn?: string[];
175
- flow?: StepperCompositionSpec;
176
- }
177
- /**
178
- * Front-end-agnostic description of a Stepper composition. Produced by BOTH the
179
- * yaml parser (`toCompositionSpec`) and a code builder; consumed by the runtime
180
- * (`buildFromComposition`). Recursive via `nodes[].flow`.
181
- */
182
- export interface StepperCompositionSpec {
183
- planner: 'none' | 'llm' | 'static';
184
- granularity: 'shallow' | 'detailed';
185
- plan?: PlanNode[];
186
- /** Declared composition nodes; a node with a nested `flow` is a sub-Stepper. */
187
- nodes?: CompositionNode[];
188
- executor: 'simple' | 'cyclic-react' | 'recursive';
189
- finalizer: 'llm';
190
- /** Optional system-prompt overrides (consumer-supplied via yaml/builder).
191
- * Undefined → the built-in STEPPER_PLANNER_SYSTEM / EXECUTOR_SYSTEM. */
192
- plannerSystemPrompt?: string;
193
- executorSystemPrompt?: string;
194
- /** 18.1 Evaluator: ON by default at all depths. Judges (sub-)prompt
195
- * completeness WITH the RAG context before planning. */
196
- evaluatorEnabled: boolean;
197
- evaluatorAtDepths: {
198
- has(depth: number): boolean;
199
- };
200
- evaluatorSystemPrompt?: string;
201
- reviewerAtDepths: {
202
- has(depth: number): boolean;
203
- };
204
- maxParallelSteps: number;
205
- maxDepth: number;
206
- tokenBudget: number;
207
- formalizeTask: boolean;
208
- }
209
- export interface StepperCoordinatorConfig {
210
- mode: StepperMode;
211
- reviewerAtDepths: {
212
- has(depth: number): boolean;
213
- };
214
- maxParallelSteps: number;
215
- maxDepth: number;
216
- tokenBudget: number;
217
- /**
218
- * Session-scope knowledge entries written into a NEW session's knowledge-RAG
219
- * before planning. A deployment/config PARAMETER (not agent code) — the
220
- * operator fills it with guidance for THEIR actual MCP tools (e.g. which read
221
- * tool reads what). Surfaced to the planner/executor as "Known facts", and the
222
- * executor enriches its tool-search query with these facts, so a tool named in
223
- * a seed takes priority over tools the bare-prompt MCP search would surface.
224
- * The runtime stays MCP-agnostic: tool knowledge lives here as data.
225
- */
226
- knowledgeSeed: ReadonlyArray<{
227
- content: string;
228
- artifactType: string;
229
- }>;
230
- /**
231
- * Opt-in (default false): formalize the raw prompt into a compact TaskSpec
232
- * (objective + scope + constraints + deliverable) ONCE at the root, then
233
- * thread it down to every planner and executor as a persistent anchor and as
234
- * the overall-intent prefix for tool search. Off → behaves exactly as before.
235
- */
236
- formalizeTask: boolean;
237
- /**
238
- * Resolved program flow (the composition the coordinator runs). Always
239
- * present: parsed from an explicit `coordinator.flow` block when given, else
240
- * derived from `mode` as a preset (so `mode` is now just a preset alias).
241
- *
242
- * - planner 'none' → trivial single-node plan (node goal = prompt)
243
- * 'llm' → LlmStepperPlanner (LLM decomposition)
244
- * 'static' → StaticPlanner (declarative `flow.plan`, no LLM)
245
- * - executor 'cyclic-react' → leaf ReAct loop, no recursion
246
- * 'recursive' → may spawn child Steppers up to maxDepth
247
- * - finalizer 'llm' (RootFinalizer). 'passthrough' is reserved (not yet built).
248
- */
249
- flow: {
250
- planner: 'none' | 'llm' | 'static';
251
- /** How much the LLM planner decomposes up front (eager): 'shallow' (few
252
- * high-level steps) | 'detailed' (full concrete-leaf decomposition).
253
- * Ignored by 'none'/'static'. Default 'shallow'. */
254
- granularity: 'shallow' | 'detailed';
255
- /** Leaf executor profile: 'simple' (single pass) | 'cyclic-react' (ReAct
256
- * loop) | 'recursive' (spawns child Steppers — lazy decomposition). */
257
- executor: 'simple' | 'cyclic-react' | 'recursive';
258
- finalizer: 'llm';
259
- /** Optional per-role system-prompt overrides:
260
- * `flow.planner.systemPrompt` / `flow.executor.systemPrompt`. */
261
- plannerSystemPrompt?: string;
262
- executorSystemPrompt?: string;
263
- /** 18.1 Evaluator (ON by default at all depths). Configure via
264
- * `flow.evaluator: { enabled?, atDepths?, systemPrompt? }`. */
265
- evaluatorEnabled: boolean;
266
- evaluatorAtDepths: {
267
- has(depth: number): boolean;
268
- };
269
- evaluatorSystemPrompt?: string;
270
- /** Declarative plan nodes, required when planner === 'static'. */
271
- plan?: PlanNode[];
272
- /**
273
- * Declared composition nodes (the "yaml is a tree" shape). A node with a
274
- * nested `flow` is a sub-Stepper. When present at the root, the planner is
275
- * effectively static over these nodes.
276
- */
277
- nodes?: CompositionNode[];
278
- };
279
- }
280
- /**
281
- * Parse stepper coordinator configuration from a raw config object.
282
- *
283
- * Supports:
284
- * - `mode` (string) — default 'planned-react'; one of cyclic-react | planned-react
285
- * - `stepper.maxParallelSteps` (number) — default 4
286
- * - `stepper.maxDepth` (number) — default 4
287
- * - `stepper.tokenBudget` (number) — default 1,000,000
288
- * - `stepper.reviewer.atDepths` (number[] | 'all') — default [0,1]; 'all' means accept any depth
289
- */
290
- export declare function parseStepperCoordinatorConfig(coord: Record<string, unknown>): StepperCoordinatorConfig;
51
+ export type { CompositionNode, StepperCompositionSpec, StepperCoordinatorConfig, StepperMode, } from './stepper-config.js';
52
+ export { parseStepperCoordinatorConfig } from './stepper-config.js';
291
53
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
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"}