@mcp-abap-adt/llm-agent-server-libs 19.1.2 → 19.2.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 (107) hide show
  1. package/dist/factories/controller-factory.d.ts +18 -4
  2. package/dist/factories/controller-factory.d.ts.map +1 -1
  3. package/dist/factories/controller-factory.js +50 -10
  4. package/dist/factories/controller-factory.js.map +1 -1
  5. package/dist/generated/version.d.ts +1 -1
  6. package/dist/generated/version.js +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/pipelines/controller.d.ts.map +1 -1
  12. package/dist/pipelines/controller.js +41 -0
  13. package/dist/pipelines/controller.js.map +1 -1
  14. package/dist/pipelines/dag.d.ts.map +1 -1
  15. package/dist/pipelines/dag.js +2 -1
  16. package/dist/pipelines/dag.js.map +1 -1
  17. package/dist/pipelines/flat.d.ts.map +1 -1
  18. package/dist/pipelines/flat.js +2 -1
  19. package/dist/pipelines/flat.js.map +1 -1
  20. package/dist/pipelines/linear.d.ts.map +1 -1
  21. package/dist/pipelines/linear.js +2 -1
  22. package/dist/pipelines/linear.js.map +1 -1
  23. package/dist/pipelines/register-skill-sources.d.ts +21 -0
  24. package/dist/pipelines/register-skill-sources.d.ts.map +1 -0
  25. package/dist/pipelines/register-skill-sources.js +57 -0
  26. package/dist/pipelines/register-skill-sources.js.map +1 -0
  27. package/dist/pipelines/server-context.d.ts +37 -1
  28. package/dist/pipelines/server-context.d.ts.map +1 -1
  29. package/dist/pipelines/server-context.js.map +1 -1
  30. package/dist/smart-agent/config.d.ts.map +1 -1
  31. package/dist/smart-agent/config.js +4 -0
  32. package/dist/smart-agent/config.js.map +1 -1
  33. package/dist/smart-agent/controller/artifacts.d.ts +116 -0
  34. package/dist/smart-agent/controller/artifacts.d.ts.map +1 -0
  35. package/dist/smart-agent/controller/artifacts.js +192 -0
  36. package/dist/smart-agent/controller/artifacts.js.map +1 -0
  37. package/dist/smart-agent/controller/board.d.ts +73 -0
  38. package/dist/smart-agent/controller/board.d.ts.map +1 -0
  39. package/dist/smart-agent/controller/board.js +233 -0
  40. package/dist/smart-agent/controller/board.js.map +1 -0
  41. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +67 -7
  42. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  43. package/dist/smart-agent/controller/controller-coordinator-handler.js +923 -61
  44. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  45. package/dist/smart-agent/controller/finalizer.d.ts +48 -0
  46. package/dist/smart-agent/controller/finalizer.d.ts.map +1 -0
  47. package/dist/smart-agent/controller/finalizer.js +126 -0
  48. package/dist/smart-agent/controller/finalizer.js.map +1 -0
  49. package/dist/smart-agent/controller/memorizer.d.ts +2 -2
  50. package/dist/smart-agent/controller/memorizer.d.ts.map +1 -1
  51. package/dist/smart-agent/controller/memorizer.js +2 -2
  52. package/dist/smart-agent/controller/memorizer.js.map +1 -1
  53. package/dist/smart-agent/controller/outcome.d.ts +28 -0
  54. package/dist/smart-agent/controller/outcome.d.ts.map +1 -0
  55. package/dist/smart-agent/controller/outcome.js +30 -0
  56. package/dist/smart-agent/controller/outcome.js.map +1 -0
  57. package/dist/smart-agent/controller/planner.d.ts +28 -5
  58. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  59. package/dist/smart-agent/controller/planner.js +111 -29
  60. package/dist/smart-agent/controller/planner.js.map +1 -1
  61. package/dist/smart-agent/controller/reviewer.d.ts +48 -0
  62. package/dist/smart-agent/controller/reviewer.d.ts.map +1 -0
  63. package/dist/smart-agent/controller/reviewer.js +116 -0
  64. package/dist/smart-agent/controller/reviewer.js.map +1 -0
  65. package/dist/smart-agent/controller/run-scope.d.ts +50 -0
  66. package/dist/smart-agent/controller/run-scope.d.ts.map +1 -0
  67. package/dist/smart-agent/controller/run-scope.js +99 -0
  68. package/dist/smart-agent/controller/run-scope.js.map +1 -0
  69. package/dist/smart-agent/controller/session-bundle.d.ts +5 -0
  70. package/dist/smart-agent/controller/session-bundle.d.ts.map +1 -1
  71. package/dist/smart-agent/controller/session-bundle.js +27 -0
  72. package/dist/smart-agent/controller/session-bundle.js.map +1 -1
  73. package/dist/smart-agent/controller/types.d.ts +117 -7
  74. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  75. package/dist/smart-agent/controller/types.js +30 -1
  76. package/dist/smart-agent/controller/types.js.map +1 -1
  77. package/dist/smart-agent/embedder-knowledge-index.d.ts +28 -0
  78. package/dist/smart-agent/embedder-knowledge-index.d.ts.map +1 -0
  79. package/dist/smart-agent/embedder-knowledge-index.js +71 -0
  80. package/dist/smart-agent/embedder-knowledge-index.js.map +1 -0
  81. package/dist/smart-agent/jsonl-knowledge-backend.d.ts +26 -10
  82. package/dist/smart-agent/jsonl-knowledge-backend.d.ts.map +1 -1
  83. package/dist/smart-agent/jsonl-knowledge-backend.js +81 -9
  84. package/dist/smart-agent/jsonl-knowledge-backend.js.map +1 -1
  85. package/dist/smart-agent/pg-pool.d.ts +58 -0
  86. package/dist/smart-agent/pg-pool.d.ts.map +1 -0
  87. package/dist/smart-agent/pg-pool.js +149 -0
  88. package/dist/smart-agent/pg-pool.js.map +1 -0
  89. package/dist/smart-agent/skill-plugins-config.d.ts +97 -0
  90. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -0
  91. package/dist/smart-agent/skill-plugins-config.js +318 -0
  92. package/dist/smart-agent/skill-plugins-config.js.map +1 -0
  93. package/dist/smart-agent/skill-plugins-config.test.d.ts +2 -0
  94. package/dist/smart-agent/skill-plugins-config.test.d.ts.map +1 -0
  95. package/dist/smart-agent/skill-plugins-config.test.js.map +1 -0
  96. package/dist/smart-agent/skill-plugins-host-factory.d.ts +98 -0
  97. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -0
  98. package/dist/smart-agent/skill-plugins-host-factory.js +284 -0
  99. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -0
  100. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +2 -0
  101. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +1 -0
  102. package/dist/smart-agent/skill-plugins-host-factory.test.js.map +1 -0
  103. package/dist/smart-agent/smart-server.d.ts +25 -0
  104. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  105. package/dist/smart-agent/smart-server.js +139 -6
  106. package/dist/smart-agent/smart-server.js.map +1 -1
  107. package/package.json +9 -7
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Assemble a live {@link ISkillPluginHost} from a normalized
3
+ * {@link SkillPluginsConfig}.
4
+ *
5
+ * This is the WIRING layer for the skill plugin-host: it resolves the serving
6
+ * embedder, maps each config `source` to an {@link ISkillSource}, selects the
7
+ * catalog + store providers by config type, and returns either an INGEST host
8
+ * (materialises sources at `load()`) or a RECALL-ONLY host (serves an
9
+ * already-materialised catalog through a read-only backend).
10
+ *
11
+ * Dependencies are INJECTED so the factory is unit-testable with stubs:
12
+ * - `resolveEmbedder` — the embedder resolver (the server passes its own
13
+ * `resolveEmbedder` from `@mcp-abap-adt/llm-agent-rag`; tests pass a stub).
14
+ * - `makePgPool` — OPTIONAL pg `Pool` provider. The repo avoids a hard `pg`
15
+ * dependency, so a `postgres` catalog requires the caller to inject one;
16
+ * absent → a `postgres` catalog throws at build time.
17
+ * - `makeStoreProvider` / `makeCatalogStore` — OPTIONAL test seams to inject a
18
+ * mock Qdrant store / pg catalog without real I/O (the live path builds them
19
+ * from config). When provided they fully replace the config-driven build.
20
+ *
21
+ * Startup lifecycle (`await host.load()` + ctx exposure) is owned by SmartServer.
22
+ */
23
+ import { makeHttpTransport, makeInMemoryStoreProvider, makeInProcessCatalogStore, makePgCatalogReader, makePgCatalogStore, makeQdrantBackendProvider, makeQdrantClient, makeQdrantReader, makeQdrantStoreProvider, makeSkillPluginHost, pointId, resolveSkillSourceStrategy, } from '@mcp-abap-adt/llm-agent-libs';
24
+ /**
25
+ * Host-code constant: the retrievalText composition + chunking contract version.
26
+ * Must agree between the embedder that WROTE a generation and the one that
27
+ * QUERIES it (carried in every published manifest).
28
+ */
29
+ const RETRIEVAL_SCHEMA_VERSION = 1;
30
+ /**
31
+ * Build a `records` source's {@link ISkillSource}: wrap the pre-supplied records
32
+ * into an `acquire()` returning `{ collections, records }`, STAMPING the
33
+ * configured `id` as each record's `sourceId` and deriving a single-collection
34
+ * catalog from the distinct groups present.
35
+ */
36
+ function makeRecordsSource(src) {
37
+ // Validate + stamp eagerly so a malformed record fails loudly at acquire().
38
+ const records = src.records.map((raw, ix) => {
39
+ const r = raw;
40
+ if (typeof r.group !== 'string' || r.group.length === 0) {
41
+ throw new Error(`skillPlugins source '${src.id}': record[${ix}] is missing a non-empty 'group'`);
42
+ }
43
+ if (typeof r.id !== 'string' || r.id.length === 0) {
44
+ throw new Error(`skillPlugins source '${src.id}': record[${ix}] is missing a non-empty 'id'`);
45
+ }
46
+ return {
47
+ id: r.id,
48
+ sourceId: src.id, // STAMP the configured source id
49
+ group: r.group,
50
+ name: typeof r.name === 'string' ? r.name : r.id,
51
+ retrievalText: typeof r.retrievalText === 'string'
52
+ ? r.retrievalText
53
+ : (r.content ?? ''),
54
+ content: typeof r.content === 'string' ? r.content : '',
55
+ provenance: typeof r.provenance === 'string' ? r.provenance : r.id,
56
+ };
57
+ });
58
+ // Derive one SkillGroupInfo per distinct group present in the records.
59
+ const collections = new Map();
60
+ for (const r of records) {
61
+ if (!collections.has(r.group)) {
62
+ collections.set(r.group, {
63
+ group: r.group,
64
+ description: r.group,
65
+ collection: r.group,
66
+ });
67
+ }
68
+ }
69
+ const result = {
70
+ collections: [...collections.values()],
71
+ records,
72
+ };
73
+ return { acquire: async () => result };
74
+ }
75
+ /** Map every config source to a `{ id, source }` ingest entry. */
76
+ function buildSources(cfg) {
77
+ const out = [];
78
+ for (const src of cfg.sources ?? []) {
79
+ if ('records' in src) {
80
+ out.push({ id: src.id, source: makeRecordsSource(src) });
81
+ continue;
82
+ }
83
+ // Fetched (registry) source → resolve the named strategy.
84
+ const strategy = resolveSkillSourceStrategy(src.strategy ?? 'one-group-per-plugin');
85
+ out.push({
86
+ id: src.id,
87
+ source: strategy({
88
+ source: src.id,
89
+ enabled: src.enabled ?? [],
90
+ transport: makeHttpTransport({ registry: src.registry ?? '' }),
91
+ chunk: cfg.chunk,
92
+ ...(src.strategyConfig !== undefined
93
+ ? { strategyConfig: src.strategyConfig }
94
+ : {}),
95
+ }),
96
+ });
97
+ }
98
+ return out;
99
+ }
100
+ /** Build the catalog store by `catalog.type`. */
101
+ function buildCatalogStore(cfg, deps) {
102
+ if (deps.makeCatalogStore)
103
+ return deps.makeCatalogStore(cfg);
104
+ if (cfg.catalog.type === 'in-process')
105
+ return makeInProcessCatalogStore();
106
+ // postgres
107
+ if (!deps.makePgPool) {
108
+ throw new Error('skillPlugins: postgres catalog requires a pg pool provider (inject deps.makePgPool)');
109
+ }
110
+ return makePgCatalogStore({
111
+ pool: deps.makePgPool(cfg.catalog.connectionString),
112
+ ...(cfg.catalog.table !== undefined ? { table: cfg.catalog.table } : {}),
113
+ });
114
+ }
115
+ /**
116
+ * Assemble a live {@link ISkillPluginHost} from a normalized
117
+ * {@link SkillPluginsConfig}. INGEST when sources are present (default), else a
118
+ * RECALL-ONLY host over a read-only backend (requires a persistent store).
119
+ *
120
+ * The caller owns `host.load()` (SmartServer runs it once at startup).
121
+ */
122
+ export async function buildSkillHostFromConfig(cfg, deps) {
123
+ const embedder = deps.resolveEmbedder({
124
+ ...(cfg.embedder?.provider !== undefined
125
+ ? { embedder: cfg.embedder.provider }
126
+ : {}),
127
+ ...(cfg.embedder?.model !== undefined ? { model: cfg.embedder.model } : {}),
128
+ });
129
+ const embed = (text, options) => embedder.embed(text, options).then((r) => r.vector);
130
+ // ---- RECALL-ONLY (loadOnStartup:false) --------------------------------
131
+ // Serve an already-materialised catalog through a READ-ONLY backend (least
132
+ // privilege — no write credentials). Requires a persistent store + catalog.
133
+ if (cfg.loadOnStartup === false) {
134
+ if (cfg.store.type !== 'qdrant' || cfg.catalog.type !== 'postgres') {
135
+ throw new Error('skillPlugins: recall-only (loadOnStartup:false) requires a qdrant store + postgres catalog');
136
+ }
137
+ // Recall-only MUST use a READ pool (no DDL) — a read-only-credentialed
138
+ // process would crash trying to CREATE TABLE with the write pool.
139
+ if (!deps.makePgReadPool) {
140
+ throw new Error('skillPlugins: recall-only postgres catalog requires a read pool provider');
141
+ }
142
+ const makeReadPool = deps.makePgReadPool;
143
+ const collection = cfg.store.collection ?? 'skills';
144
+ const backendProvider = makeQdrantBackendProvider({
145
+ reader: makeQdrantReader({
146
+ url: cfg.store.url,
147
+ ...(cfg.store.apiKey !== undefined
148
+ ? { apiKey: cfg.store.apiKey }
149
+ : {}),
150
+ collection,
151
+ }),
152
+ catalogReader: makePgCatalogReader({
153
+ pool: makeReadPool(cfg.catalog.connectionString),
154
+ ...(cfg.catalog.table !== undefined
155
+ ? { table: cfg.catalog.table }
156
+ : {}),
157
+ }),
158
+ collection,
159
+ });
160
+ return makeSkillPluginHost({
161
+ backendProvider,
162
+ embedder,
163
+ // embeddingSpaceId is mandatory for a persistent store (parse-time enforced).
164
+ embeddingSpaceId: cfg.embeddingSpaceId,
165
+ retrievalSchemaVersion: RETRIEVAL_SCHEMA_VERSION,
166
+ ...(cfg.dimension !== undefined ? { dimension: cfg.dimension } : {}),
167
+ // OMIT the key when unset so the recall host derives ALL collections from
168
+ // the catalog; an explicit list selects only those.
169
+ ...(cfg.serveCollections
170
+ ? { serveCollections: cfg.serveCollections }
171
+ : {}),
172
+ ...(cfg.recallTimeoutMs !== undefined
173
+ ? { recallTimeoutMs: cfg.recallTimeoutMs }
174
+ : {}),
175
+ });
176
+ }
177
+ // ---- INGEST -----------------------------------------------------------
178
+ const storeProvider = deps.makeStoreProvider
179
+ ? deps.makeStoreProvider(cfg)
180
+ : cfg.store.type === 'in-memory'
181
+ ? makeInMemoryStoreProvider({ embed })
182
+ : makeQdrantStoreProvider({
183
+ client: makeQdrantClient({
184
+ url: cfg.store.url,
185
+ ...(cfg.store.apiKey !== undefined
186
+ ? { apiKey: cfg.store.apiKey }
187
+ : {}),
188
+ collection: cfg.store.collection ?? 'skills',
189
+ }),
190
+ collection: cfg.store.collection ?? 'skills',
191
+ catalogStore: buildCatalogStore(cfg, deps),
192
+ embed,
193
+ pointId,
194
+ now: () => Date.now(),
195
+ retiredGraceMs: cfg.retiredGraceMs,
196
+ orphanGraceMs: cfg.orphanGraceMs,
197
+ });
198
+ const sources = buildSources(cfg);
199
+ return makeSkillPluginHost({
200
+ sources,
201
+ storeProvider,
202
+ embedder,
203
+ embeddingSpaceId: cfg.embeddingSpaceId ??
204
+ `${cfg.embedder?.provider ?? 'default'}:${cfg.embedder?.model ?? 'default'}`,
205
+ retrievalSchemaVersion: RETRIEVAL_SCHEMA_VERSION,
206
+ ...(cfg.dimension !== undefined ? { dimension: cfg.dimension } : {}),
207
+ strict: cfg.strict,
208
+ catalogCasMaxAttempts: cfg.catalogCasMaxAttempts,
209
+ ...(cfg.recallTimeoutMs !== undefined
210
+ ? { recallTimeoutMs: cfg.recallTimeoutMs }
211
+ : {}),
212
+ });
213
+ }
214
+ /**
215
+ * Fail-loud validation of the served-group subset AFTER `host.load()`, against
216
+ * the host's materialised `groups()`. A typo in `serveCollections` /
217
+ * `controllerSkillGroup` would otherwise SILENTLY disable skills (the filter in
218
+ * `registerSkillSources` drops unknown names) — the spec requires a STARTUP
219
+ * config error instead.
220
+ *
221
+ * Pure + side-effect-free so it is unit-testable without a full server: pass the
222
+ * loaded host and the normalized config.
223
+ */
224
+ export function validateServedGroups(host, cfg) {
225
+ const available = host.groups().map((g) => g.group);
226
+ const availableSet = new Set(available);
227
+ if (cfg.serveCollections !== undefined) {
228
+ const unknown = cfg.serveCollections.filter((g) => !availableSet.has(g));
229
+ if (unknown.length > 0) {
230
+ throw new Error(`skillPlugins: serveCollections names unknown group(s) [${unknown.join(', ')}] — available groups: [${available.join(', ')}]`);
231
+ }
232
+ }
233
+ // `controllerSkillGroup` (CONTROLLER PLANNER recall) and `serveCollections`
234
+ // (ASSEMBLER pipelines) are INDEPENDENT channels — the controller group is
235
+ // recalled on its own path that bypasses the assembler, so it need NOT be in
236
+ // serveCollections. Validate existence only.
237
+ if (cfg.controllerSkillGroup !== undefined) {
238
+ if (!availableSet.has(cfg.controllerSkillGroup)) {
239
+ throw new Error(`skillPlugins: controllerSkillGroup '${cfg.controllerSkillGroup}' is not an available group — available groups: [${available.join(', ')}]`);
240
+ }
241
+ }
242
+ }
243
+ /**
244
+ * Build → `await host.load()` → {@link validateServedGroups} as ONE fail-fast
245
+ * unit, ending any pg pools the build captured into `pools` if ANY step throws.
246
+ *
247
+ * The server registers a `closeFns` cleanup that ends these pools, but that
248
+ * registration happens much LATER in `start()` — if `load()` or validation
249
+ * throws, `start()` never returns a handle, so `close()` is never callable and
250
+ * the captured pools would leak open sockets (blocking process exit). Running
251
+ * the cleanup HERE on failure closes that gap; the normal-path pools are still
252
+ * ended by the later `closeFns` registration.
253
+ *
254
+ * `buildHost` is a thunk so the pool-capturing side effect (the server pushes
255
+ * each created pool into `pools` from its `makePgPool`/`makePgReadPool`) has
256
+ * already happened by the time we catch — i.e. we end exactly what was created.
257
+ * Side-effect-free of the server instance → unit-testable with a fake host.
258
+ */
259
+ export async function initSkillHost(buildHost, cfg, pools) {
260
+ try {
261
+ const host = await buildHost();
262
+ await host.load();
263
+ // Fail loud on a misconfigured served-group subset (a typo'd
264
+ // serveCollections/controllerSkillGroup silently disables skills).
265
+ validateServedGroups(host, cfg);
266
+ if (cfg.controllerSkillGroup !== undefined) {
267
+ // Controller recall is an independent channel; eager-probe its group too so an
268
+ // incompatible controller-only group fails at STARTUP (not at first planner recall).
269
+ // host.load() only eager-probes the SERVED set (serveCollections ?? all), so a
270
+ // controllerSkillGroup OUTSIDE serveCollections would otherwise skip startup
271
+ // compat-checking. activeManifest() throws SkillsIncompatibleError on a
272
+ // serving-descriptor mismatch — inside this try, so a throw still ends the pools.
273
+ await host.rag(cfg.controllerSkillGroup).activeManifest();
274
+ }
275
+ return host;
276
+ }
277
+ catch (e) {
278
+ // `allSettled` so one pool's end() error does not mask the original.
279
+ await Promise.allSettled(pools.map((p) => p.end()));
280
+ pools.length = 0;
281
+ throw e;
282
+ }
283
+ }
284
+ //# sourceMappingURL=skill-plugins-host-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-plugins-host-factory.js","sourceRoot":"","sources":["../../src/smart-agent/skill-plugins-host-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skill-plugins-host-factory.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-plugins-host-factory.test.d.ts","sourceRoot":"","sources":["../../src/smart-agent/skill-plugins-host-factory.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-plugins-host-factory.test.js","sourceRoot":"","sources":["../../src/smart-agent/skill-plugins-host-factory.test.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,13 @@ export interface SmartServerConfig {
160
160
  skills?: SmartServerSkillsConfig;
161
161
  /** Pre-built skill manager injected via DI. Takes precedence over `skills` config. */
162
162
  skillManager?: ISkillManager;
163
+ /**
164
+ * Skill PLUGIN-HOST config (the `skillPlugins:` YAML key) — a SEPARATE feature
165
+ * from `skills:` above. It feeds consumer-supplied domain skills to the agnostic
166
+ * engine through a grouped skills-RAG (gnostification). When omitted, no host is
167
+ * built and behaviour is unchanged. See {@link SkillPluginsConfig}.
168
+ */
169
+ skillPlugins?: SkillPluginsConfig;
163
170
  /** Pre-built MCP clients injected via DI. Takes precedence over `mcp` config. */
164
171
  mcpClients?: IMcpClient[];
165
172
  /** Client adapters for auto-detecting prompt-based clients (e.g. Cline). */
@@ -212,7 +219,11 @@ export interface SmartServerHandle {
212
219
  requestLogger: IRequestLogger;
213
220
  }
214
221
  import type { ISessionMetaStore, SessionMetaRow } from './session-meta-store.js';
222
+ import type { SkillPluginsConfig } from './skill-plugins-config.js';
215
223
  export { generateConfigTemplate, loadYamlConfig, type ResolveConfigArgs, resolveCoordinatorActivation, resolveCoordinatorDispatch, resolveCoordinatorPlanning, resolveEnvVars, resolveSmartServerConfig, resolveToolSelectionStrategy, YAML_TEMPLATE, type YamlConfig, } from './config.js';
224
+ export { makePgPool, makePgReadPool } from './pg-pool.js';
225
+ export { parseSkillPluginsConfig, type SkillPluginsCatalogConfig, type SkillPluginsConfig, type SkillPluginsFetchedSource, type SkillPluginsRecordsSource, type SkillPluginsSource, type SkillPluginsStoreConfig, } from './skill-plugins-config.js';
226
+ export { type BuildSkillHostDeps, buildSkillHostFromConfig, type IClosablePool, initSkillHost, validateServedGroups, } from './skill-plugins-host-factory.js';
216
227
  /**
217
228
  * GLOBAL per-worker heavy clients — built once, injected by reference per
218
229
  * session. In addition to LLM/embedder clients, the worker's OWN declared
@@ -462,6 +473,19 @@ export declare class SmartServer {
462
473
  * semantic distance). Undefined when no embedder is configured.
463
474
  */
464
475
  private _resolvedEmbedder?;
476
+ /**
477
+ * The live skill plugin-host, built ONCE in `start()` from `skillPlugins:`
478
+ * config and `await host.load()`-ed before serving. Held so `buildServerCtx`
479
+ * can thread it onto every pipeline context. Undefined when `skillPlugins:` is
480
+ * absent (everything unchanged).
481
+ */
482
+ private _skillHost?;
483
+ /**
484
+ * pg pools created for the skill plugin-host's `postgres` catalog. Captured at
485
+ * build time so the server can close their real sockets on shutdown (a closer
486
+ * is registered in `closeFns`); otherwise live PG sockets outlive `close()`.
487
+ */
488
+ private _skillPgPools;
465
489
  /** Normalized LLM map + pipeline fallback + main temperature — captured in
466
490
  * `start()` so buildServerCtx can hand the raw role-LLM materials to the
467
491
  * context factory (mirrors the inline DAG/linear resolution). */
@@ -526,6 +550,7 @@ export declare class SmartServer {
526
550
  private readonly _sessionCloseFns;
527
551
  constructor(config: SmartServerConfig);
528
552
  start(): Promise<SmartServerHandle>;
553
+ private _start;
529
554
  /**
530
555
  * Build a `SmartAgent` instance from a nested sub-agent config.
531
556
  *
@@ -1 +1 @@
1
- {"version":3,"file":"smart-server.d.ts","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-server.d.ts","sourceRoot":"","sources":["../../src/smart-agent/smart-server.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { pathToFileURL } from 'node:url';
9
9
  import { AdapterValidationError, buildExternalResults, normalizeAndValidateExternalTools, QueryEmbedding, toToolCallDelta, } from '@mcp-abap-adt/llm-agent';
10
10
  import { ClaudeSkillManager, CodexSkillManager, ConfigWatcher, FileSystemPluginLoader, FileSystemSkillManager, getDefaultPluginDirs, HealthChecker, InMemoryKnowledgeBackend, KnowledgeRag, makeLlm, mergePluginExports, SessionGraphFactory, SessionLogger, SessionRegistry, SmartAgentBuilder, SmartAgentSubAgent, } from '@mcp-abap-adt/llm-agent-libs';
11
11
  import { MCPClientWrapper, McpClientAdapter, } from '@mcp-abap-adt/llm-agent-mcp';
12
- import { makeRag } from '@mcp-abap-adt/llm-agent-rag';
12
+ import { makeRag, prefetchEmbedderFactories, resolveEmbedder, } from '@mcp-abap-adt/llm-agent-rag';
13
13
  import { PACKAGE_VERSION } from '../generated/version.js';
14
14
  import { resolveAgentEmbedder } from './resolve-agent-embedder.js';
15
15
  import { resolveSessionIdentity } from './session-identity-resolver.js';
@@ -77,9 +77,15 @@ import { LinearPipelinePlugin } from '../pipelines/linear.js';
77
77
  import { createServerPipelineContext, } from '../pipelines/server-context.js';
78
78
  import { StepperPipelinePlugin } from '../pipelines/stepper.js';
79
79
  import { normalizeLlmConfig, resolveLlmConfig, resolveLlmConfigStrict, resolveToolSelectionStrategy, } from './config.js';
80
+ import { makeKnowledgeSemanticIndex } from './embedder-knowledge-index.js';
80
81
  import { JsonlKnowledgeBackend } from './jsonl-knowledge-backend.js';
82
+ import { makePgPool, makePgReadPool } from './pg-pool.js';
81
83
  import { InMemorySessionMetaStore } from './session-meta-store.js';
84
+ import { buildSkillHostFromConfig, initSkillHost, } from './skill-plugins-host-factory.js';
82
85
  export { generateConfigTemplate, loadYamlConfig, resolveCoordinatorActivation, resolveCoordinatorDispatch, resolveCoordinatorPlanning, resolveEnvVars, resolveSmartServerConfig, resolveToolSelectionStrategy, YAML_TEMPLATE, } from './config.js';
86
+ export { makePgPool, makePgReadPool } from './pg-pool.js';
87
+ export { parseSkillPluginsConfig, } from './skill-plugins-config.js';
88
+ export { buildSkillHostFromConfig, initSkillHost, validateServedGroups, } from './skill-plugins-host-factory.js';
83
89
  /**
84
90
  * Drain every cached worker's `close` (if any), then clear the cache map.
85
91
  * Used by config-reload (PUT /v1/config + hot-reload — Fix #14/18/21) and by
@@ -439,6 +445,19 @@ export class SmartServer {
439
445
  * semantic distance). Undefined when no embedder is configured.
440
446
  */
441
447
  _resolvedEmbedder;
448
+ /**
449
+ * The live skill plugin-host, built ONCE in `start()` from `skillPlugins:`
450
+ * config and `await host.load()`-ed before serving. Held so `buildServerCtx`
451
+ * can thread it onto every pipeline context. Undefined when `skillPlugins:` is
452
+ * absent (everything unchanged).
453
+ */
454
+ _skillHost;
455
+ /**
456
+ * pg pools created for the skill plugin-host's `postgres` catalog. Captured at
457
+ * build time so the server can close their real sockets on shutdown (a closer
458
+ * is registered in `closeFns`); otherwise live PG sockets outlive `close()`.
459
+ */
460
+ _skillPgPools = [];
442
461
  /** Normalized LLM map + pipeline fallback + main temperature — captured in
443
462
  * `start()` so buildServerCtx can hand the raw role-LLM materials to the
444
463
  * context factory (mirrors the inline DAG/linear resolution). */
@@ -505,6 +524,30 @@ export class SmartServer {
505
524
  this.cfg = config;
506
525
  }
507
526
  async start() {
527
+ // Startup pg-pool cleanup must span the ENTIRE start(): host.load() (via
528
+ // initSkillHost) creates pg pools, but fallible work AFTER it — makeRag,
529
+ // builder.build(), server.listen — can still throw/reject before the handle
530
+ // is returned and `closeFns` becomes callable. Without this guard those
531
+ // pools would leak open sockets and block process exit. initSkillHost keeps
532
+ // its own catch-cleanup (it clears the array, so this finally then no-ops —
533
+ // no double-end; pool end() is idempotent regardless). No-op when
534
+ // skillPlugins is unconfigured (_skillPgPools stays empty).
535
+ let started = false;
536
+ try {
537
+ // Single success path: the handle is only produced once server.listen
538
+ // succeeds (a listen error rejects this promise → finally cleans up).
539
+ const handle = await this._start();
540
+ started = true;
541
+ return handle;
542
+ }
543
+ finally {
544
+ if (!started) {
545
+ await Promise.allSettled(this._skillPgPools.map((p) => p.end()));
546
+ this._skillPgPools = [];
547
+ }
548
+ }
549
+ }
550
+ async _start() {
508
551
  const log = this.cfg.log ?? this.noop;
509
552
  const fileLogger = {
510
553
  log: (e) => log(e),
@@ -644,6 +687,53 @@ export class SmartServer {
644
687
  // Hold the resolved embedder so buildServerCtx can thread it onto every
645
688
  // pipeline context (the controller pipeline needs it for target-state).
646
689
  this._resolvedEmbedder = resolvedEmbedder;
690
+ // ---- Skill plugin-host (the `skillPlugins:` feature) ------------------
691
+ // Build the host ONCE from config and `load()` it before serving, so its
692
+ // fixed serving collection set is established at startup. Reuses the SAME
693
+ // embedder-resolution path as the agent RAG (prefetch + resolveEmbedder from
694
+ // llm-agent-rag). Absent `skillPlugins:` → no host, behaviour unchanged.
695
+ if (this.cfg.skillPlugins) {
696
+ const skillCfg = this.cfg.skillPlugins;
697
+ const reuseAgentEmbedder = skillCfg.embedder === undefined && resolvedEmbedder !== undefined;
698
+ // Prefetch the named embedder factory only when we will actually build a
699
+ // dedicated one (the agent embedder is already prefetched + wrapped).
700
+ if (!reuseAgentEmbedder) {
701
+ await prefetchEmbedderFactories([
702
+ skillCfg.embedder?.provider ?? 'ollama',
703
+ ]);
704
+ }
705
+ // Build → load → validate as one fail-fast unit. If ANY step throws, the
706
+ // captured pg pools are ended INSIDE initSkillHost (the later closeFns
707
+ // cleanup never runs when start() rejects before returning a handle), so
708
+ // the pools cannot leak open sockets on a startup failure.
709
+ this._skillHost = await initSkillHost(() => buildSkillHostFromConfig(skillCfg, {
710
+ resolveEmbedder: (ec) => reuseAgentEmbedder
711
+ ? resolvedEmbedder
712
+ : resolveEmbedder(ec, {
713
+ extraFactories: mergedEmbedderFactories,
714
+ }),
715
+ // Real pg `Pool` provider for a `postgres` catalog (qdrant
716
+ // deployment). Lazily imports `pg` and ensures the catalog table
717
+ // exists on first use; pass the configured table so the DDL targets
718
+ // the SAME table the catalog store reads/writes. Absent
719
+ // skillPlugins.catalog.type:postgres this is never invoked.
720
+ makePgPool: (connectionString) => {
721
+ const pool = makePgPool(connectionString, skillCfg.catalog.type === 'postgres'
722
+ ? skillCfg.catalog.table
723
+ : undefined);
724
+ this._skillPgPools.push(pool);
725
+ return pool;
726
+ },
727
+ // READ-ONLY pg pool for the recall-only path — NEVER runs DDL, so a
728
+ // recall-only process with read-only pg credentials does not crash
729
+ // attempting to CREATE the catalog table it only reads.
730
+ makePgReadPool: (connectionString) => {
731
+ const pool = makePgReadPool(connectionString);
732
+ this._skillPgPools.push(pool);
733
+ return pool;
734
+ },
735
+ }), skillCfg, this._skillPgPools);
736
+ }
647
737
  // ---- RAG resolution (interface-only) ----------------------------------
648
738
  // Resolve the tools/history stores and any named collections HERE so the
649
739
  // coordinator gate below can read the final `toolsRag`/`resolvedEmbedder`,
@@ -795,6 +885,12 @@ export class SmartServer {
795
885
  }
796
886
  }
797
887
  const closeFns = [closeAgent];
888
+ // Close any pg pools created for the skill plugin-host's postgres catalog so
889
+ // their sockets do not outlive server shutdown.
890
+ closeFns.push(async () => {
891
+ for (const p of this._skillPgPools)
892
+ await p.end();
893
+ });
798
894
  // Stepper-owned MCP clients (connected from YAML mcp: block when no
799
895
  // DI/plugin clients existed). Dispose on server shutdown.
800
896
  // TODO: IMcpClient does not currently expose a close() method; add
@@ -1241,6 +1337,10 @@ export class SmartServer {
1241
1337
  */
1242
1338
  async buildSharedPipelineInfra(input) {
1243
1339
  const { toolsRag, resolvedEmbedder, mcpClients } = input;
1340
+ // Record the resolved embedder BEFORE building the knowledge backend so the
1341
+ // backend can attach the embedder-backed semantic index (controller recall).
1342
+ if (resolvedEmbedder)
1343
+ this._resolvedEmbedder = resolvedEmbedder;
1244
1344
  this.buildKnowledgeBackend();
1245
1345
  // MCP clients for the callMcp bridge. DI/plugin clients win; otherwise
1246
1346
  // connect the YAML `mcp:` block ONCE (connect is not safe to invoke twice
@@ -1259,12 +1359,21 @@ export class SmartServer {
1259
1359
  * No MCP dependency — safe to call BEFORE the MCP client set is resolved.
1260
1360
  */
1261
1361
  buildKnowledgeBackend() {
1362
+ if (this._stepperKnowledgeBackend)
1363
+ return;
1262
1364
  const logDir = this.cfg.logDir;
1263
- if (!this._stepperKnowledgeBackend) {
1264
- this._stepperKnowledgeBackend = logDir
1265
- ? new JsonlKnowledgeBackend(logDir)
1266
- : new InMemoryKnowledgeBackend();
1267
- }
1365
+ // Attach an embedder-backed semantic index whenever an embedder is resolved —
1366
+ // for ANY pipeline. Do NOT throw here: buildKnowledgeBackend runs
1367
+ // unconditionally at startup and a flat/stepper deployment without an embedder
1368
+ // is valid; only the CONTROLLER mandates embedding recall, enforced at the
1369
+ // ControllerFactory boundary, not globally. With an index, the controller's
1370
+ // results-RAG recall ranks by meaning instead of recency.
1371
+ const semantic = this._resolvedEmbedder
1372
+ ? makeKnowledgeSemanticIndex(this._resolvedEmbedder)
1373
+ : undefined;
1374
+ this._stepperKnowledgeBackend = logDir
1375
+ ? new JsonlKnowledgeBackend(logDir, semantic)
1376
+ : new InMemoryKnowledgeBackend(semantic);
1268
1377
  }
1269
1378
  /**
1270
1379
  * Build `_toolsRagHandle` — a real IToolsRagHandle over the tools RAG store +
@@ -1481,6 +1590,30 @@ export class SmartServer {
1481
1590
  // target-state semantic distance).
1482
1591
  stepperKnowledgeBackend: this._stepperKnowledgeBackend ?? new InMemoryKnowledgeBackend(),
1483
1592
  embedder: this._resolvedEmbedder,
1593
+ // Skill plugin-host (built + loaded once in start()); undefined when no
1594
+ // `skillPlugins:` config — pipelines that don't read it are unaffected.
1595
+ ...(this._skillHost
1596
+ ? {
1597
+ skillHost: this._skillHost,
1598
+ skillRecall: {
1599
+ k: this.cfg.skillPlugins?.k ?? 4,
1600
+ ...(this.cfg.skillPlugins?.threshold !== undefined
1601
+ ? { threshold: this.cfg.skillPlugins.threshold }
1602
+ : {}),
1603
+ ...(this.cfg.skillPlugins?.controllerSkillGroup !== undefined
1604
+ ? {
1605
+ controllerSkillGroup: this.cfg.skillPlugins.controllerSkillGroup,
1606
+ }
1607
+ : {}),
1608
+ ...(this.cfg.skillPlugins?.maxInjectChars !== undefined
1609
+ ? { maxInjectChars: this.cfg.skillPlugins.maxInjectChars }
1610
+ : {}),
1611
+ ...(this.cfg.skillPlugins?.serveCollections !== undefined
1612
+ ? { serveCollections: this.cfg.skillPlugins.serveCollections }
1613
+ : {}),
1614
+ },
1615
+ }
1616
+ : {}),
1484
1617
  // External tools are NOT carried on this build-time ctx: definitions arrive
1485
1618
  // per-REQUEST (HTTP body.tools) and the controller routes them per-request
1486
1619
  // via PipelineContext.externalTools inside the coordinator handler.