@mcp-abap-adt/llm-agent-server-libs 19.1.1 → 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 (120) hide show
  1. package/dist/factories/controller-factory.d.ts +62 -0
  2. package/dist/factories/controller-factory.d.ts.map +1 -0
  3. package/dist/factories/controller-factory.js +100 -0
  4. package/dist/factories/controller-factory.js.map +1 -0
  5. package/dist/factories/cyclic-factory.d.ts +1 -1
  6. package/dist/factories/cyclic-factory.d.ts.map +1 -1
  7. package/dist/factories/cyclic-factory.js.map +1 -1
  8. package/dist/factories/deep-stepper-factory.d.ts +1 -1
  9. package/dist/factories/deep-stepper-factory.d.ts.map +1 -1
  10. package/dist/factories/index.d.ts +2 -0
  11. package/dist/factories/index.d.ts.map +1 -1
  12. package/dist/factories/index.js +1 -0
  13. package/dist/factories/index.js.map +1 -1
  14. package/dist/factories/planned-factory.d.ts +1 -1
  15. package/dist/factories/planned-factory.d.ts.map +1 -1
  16. package/dist/factories/planned-factory.js.map +1 -1
  17. package/dist/generated/version.d.ts +1 -1
  18. package/dist/generated/version.js +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/pipelines/controller.d.ts +1 -0
  24. package/dist/pipelines/controller.d.ts.map +1 -1
  25. package/dist/pipelines/controller.js +53 -31
  26. package/dist/pipelines/controller.js.map +1 -1
  27. package/dist/pipelines/dag.d.ts.map +1 -1
  28. package/dist/pipelines/dag.js +2 -1
  29. package/dist/pipelines/dag.js.map +1 -1
  30. package/dist/pipelines/flat.d.ts.map +1 -1
  31. package/dist/pipelines/flat.js +2 -1
  32. package/dist/pipelines/flat.js.map +1 -1
  33. package/dist/pipelines/linear.d.ts.map +1 -1
  34. package/dist/pipelines/linear.js +2 -1
  35. package/dist/pipelines/linear.js.map +1 -1
  36. package/dist/pipelines/register-skill-sources.d.ts +21 -0
  37. package/dist/pipelines/register-skill-sources.d.ts.map +1 -0
  38. package/dist/pipelines/register-skill-sources.js +57 -0
  39. package/dist/pipelines/register-skill-sources.js.map +1 -0
  40. package/dist/pipelines/server-context.d.ts +37 -1
  41. package/dist/pipelines/server-context.d.ts.map +1 -1
  42. package/dist/pipelines/server-context.js.map +1 -1
  43. package/dist/smart-agent/config.d.ts.map +1 -1
  44. package/dist/smart-agent/config.js +4 -0
  45. package/dist/smart-agent/config.js.map +1 -1
  46. package/dist/smart-agent/controller/artifacts.d.ts +116 -0
  47. package/dist/smart-agent/controller/artifacts.d.ts.map +1 -0
  48. package/dist/smart-agent/controller/artifacts.js +192 -0
  49. package/dist/smart-agent/controller/artifacts.js.map +1 -0
  50. package/dist/smart-agent/controller/board.d.ts +73 -0
  51. package/dist/smart-agent/controller/board.d.ts.map +1 -0
  52. package/dist/smart-agent/controller/board.js +233 -0
  53. package/dist/smart-agent/controller/board.js.map +1 -0
  54. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +67 -7
  55. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  56. package/dist/smart-agent/controller/controller-coordinator-handler.js +923 -61
  57. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  58. package/dist/smart-agent/controller/finalizer.d.ts +48 -0
  59. package/dist/smart-agent/controller/finalizer.d.ts.map +1 -0
  60. package/dist/smart-agent/controller/finalizer.js +126 -0
  61. package/dist/smart-agent/controller/finalizer.js.map +1 -0
  62. package/dist/smart-agent/controller/memorizer.d.ts +2 -2
  63. package/dist/smart-agent/controller/memorizer.d.ts.map +1 -1
  64. package/dist/smart-agent/controller/memorizer.js +2 -2
  65. package/dist/smart-agent/controller/memorizer.js.map +1 -1
  66. package/dist/smart-agent/controller/outcome.d.ts +28 -0
  67. package/dist/smart-agent/controller/outcome.d.ts.map +1 -0
  68. package/dist/smart-agent/controller/outcome.js +30 -0
  69. package/dist/smart-agent/controller/outcome.js.map +1 -0
  70. package/dist/smart-agent/controller/planner.d.ts +28 -5
  71. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  72. package/dist/smart-agent/controller/planner.js +111 -29
  73. package/dist/smart-agent/controller/planner.js.map +1 -1
  74. package/dist/smart-agent/controller/reviewer.d.ts +48 -0
  75. package/dist/smart-agent/controller/reviewer.d.ts.map +1 -0
  76. package/dist/smart-agent/controller/reviewer.js +116 -0
  77. package/dist/smart-agent/controller/reviewer.js.map +1 -0
  78. package/dist/smart-agent/controller/run-scope.d.ts +50 -0
  79. package/dist/smart-agent/controller/run-scope.d.ts.map +1 -0
  80. package/dist/smart-agent/controller/run-scope.js +99 -0
  81. package/dist/smart-agent/controller/run-scope.js.map +1 -0
  82. package/dist/smart-agent/controller/session-bundle.d.ts +5 -0
  83. package/dist/smart-agent/controller/session-bundle.d.ts.map +1 -1
  84. package/dist/smart-agent/controller/session-bundle.js +27 -0
  85. package/dist/smart-agent/controller/session-bundle.js.map +1 -1
  86. package/dist/smart-agent/controller/types.d.ts +117 -7
  87. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  88. package/dist/smart-agent/controller/types.js +30 -1
  89. package/dist/smart-agent/controller/types.js.map +1 -1
  90. package/dist/smart-agent/embedder-knowledge-index.d.ts +28 -0
  91. package/dist/smart-agent/embedder-knowledge-index.d.ts.map +1 -0
  92. package/dist/smart-agent/embedder-knowledge-index.js +71 -0
  93. package/dist/smart-agent/embedder-knowledge-index.js.map +1 -0
  94. package/dist/smart-agent/jsonl-knowledge-backend.d.ts +26 -10
  95. package/dist/smart-agent/jsonl-knowledge-backend.d.ts.map +1 -1
  96. package/dist/smart-agent/jsonl-knowledge-backend.js +81 -9
  97. package/dist/smart-agent/jsonl-knowledge-backend.js.map +1 -1
  98. package/dist/smart-agent/pg-pool.d.ts +58 -0
  99. package/dist/smart-agent/pg-pool.d.ts.map +1 -0
  100. package/dist/smart-agent/pg-pool.js +149 -0
  101. package/dist/smart-agent/pg-pool.js.map +1 -0
  102. package/dist/smart-agent/skill-plugins-config.d.ts +97 -0
  103. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -0
  104. package/dist/smart-agent/skill-plugins-config.js +318 -0
  105. package/dist/smart-agent/skill-plugins-config.js.map +1 -0
  106. package/dist/smart-agent/skill-plugins-config.test.d.ts +2 -0
  107. package/dist/smart-agent/skill-plugins-config.test.d.ts.map +1 -0
  108. package/dist/smart-agent/skill-plugins-config.test.js.map +1 -0
  109. package/dist/smart-agent/skill-plugins-host-factory.d.ts +98 -0
  110. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -0
  111. package/dist/smart-agent/skill-plugins-host-factory.js +284 -0
  112. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -0
  113. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +2 -0
  114. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +1 -0
  115. package/dist/smart-agent/skill-plugins-host-factory.test.js.map +1 -0
  116. package/dist/smart-agent/smart-server.d.ts +25 -0
  117. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  118. package/dist/smart-agent/smart-server.js +139 -6
  119. package/dist/smart-agent/smart-server.js.map +1 -1
  120. package/package.json +9 -7
@@ -0,0 +1,62 @@
1
+ import type { BuiltCoordinator, CallOptions, IEmbedder, IKnowledgeRagHandle, IPipelineFactory, LlmTool, PipelineFactoryDepsBase } from '@mcp-abap-adt/llm-agent';
2
+ import type { KnowledgeBackend } from '@mcp-abap-adt/llm-agent-libs';
3
+ import type { ControllerConfig } from '../smart-agent/controller/types.js';
4
+ /**
5
+ * Runtime dependencies for {@link ControllerFactory}. Like the Stepper factory
6
+ * deps, it extends {@link PipelineFactoryDepsBase} — the three controller roles
7
+ * ('evaluator' | 'planner' | 'executor') are resolved lazily via `makeRoleLlm`
8
+ * and wrapped into subagent clients by the factory — and adds the handler's
9
+ * run-time deps (knowledge backend/RAG, optional embedder, tool selection).
10
+ */
11
+ export interface ControllerFactoryDeps extends PipelineFactoryDepsBase {
12
+ /** Durable knowledge backend (session bundle + episodic artifacts). */
13
+ backend: KnowledgeBackend;
14
+ /** Per-sessionId knowledge RAG factory. */
15
+ knowledgeRagFor: (sessionId: string) => IKnowledgeRagHandle | Promise<IKnowledgeRagHandle>;
16
+ /** ALWAYS required: results-RAG recall ranks by embedding similarity in every
17
+ * persistence mode (and distance target-state, if used). `build()` throws when
18
+ * absent — optional here only so the dep object can be assembled incrementally. */
19
+ embedder?: IEmbedder;
20
+ /** Semantic top-K tool selection over the vectorized MCP catalog. */
21
+ selectTools: (query: string, k?: number, options?: CallOptions) => Promise<readonly LlmTool[]>;
22
+ /** Optional override marking a tool as consumer-supplied (test-only). */
23
+ isExternalTool?: (toolName: string) => boolean;
24
+ /**
25
+ * Optional controller-own skills recall hook. When present, the planner queries
26
+ * it before each create-plan/replan and injects a bounded "Relevant skills"
27
+ * block into the prompt. The controller pipeline builds this from the skill
28
+ * plugin-host + configured group. Absent → the planner prompt is byte-identical
29
+ * to the agnostic path (the measurement toggle).
30
+ */
31
+ skillsRecall?: (goal: string, options?: CallOptions) => Promise<string>;
32
+ }
33
+ /**
34
+ * Builder-factory for the `controller` pipeline — the code-level (no-YAML)
35
+ * counterpart to the Stepper `*Factory` classes. Implements
36
+ * {@link IPipelineFactory} (`kind: 'controller'`): it resolves the three role
37
+ * LLMs via `makeRoleLlm`, wraps them as subagent clients, and assembles a
38
+ * {@link ControllerCoordinatorHandler}, returning a {@link BuiltCoordinator}
39
+ * (`{ handler }`) ready to attach via `builder.withStepperCoordinator(handler)`.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * import { ControllerFactory } from '@mcp-abap-adt/llm-agent-server-libs/controller';
44
+ * const { handler } = await new ControllerFactory().build(config, {
45
+ * // role is typed as string by the base deps — resolve it explicitly. reviewer/
46
+ * // finalizer are only requested when their subagent block is present; map them
47
+ * // to config.subagents.reviewer ?? planner (likewise finalizer) for a 5-role config.
48
+ * makeRoleLlm: (role) =>
49
+ * makeLlm(
50
+ * config.subagents[role as keyof typeof config.subagents] ??
51
+ * config.subagents.planner,
52
+ * ),
53
+ * callMcp, backend, knowledgeRagFor, embedder, selectTools,
54
+ * });
55
+ * const handle = await builder.withStepperCoordinator(handler).build();
56
+ * ```
57
+ */
58
+ export declare class ControllerFactory implements IPipelineFactory<ControllerConfig, ControllerFactoryDeps> {
59
+ readonly kind: "controller";
60
+ build(config: ControllerConfig, deps: ControllerFactoryDeps): Promise<BuiltCoordinator>;
61
+ }
62
+ //# sourceMappingURL=controller-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-factory.d.ts","sourceRoot":"","sources":["../../src/factories/controller-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,uEAAuE;IACvE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,2CAA2C;IAC3C,eAAe,EAAE,CACf,SAAS,EAAE,MAAM,KACd,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD;;wFAEoF;IACpF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qEAAqE;IACrE,WAAW,EAAE,CACX,KAAK,EAAE,MAAM,EACb,CAAC,CAAC,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IACjC,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBACX,YAAW,gBAAgB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IAEpE,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IAEhC,KAAK,CACT,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;CAyE7B"}
@@ -0,0 +1,100 @@
1
+ import { validateBoardBudget } from '../smart-agent/controller/board.js';
2
+ import { ControllerCoordinatorHandler } from '../smart-agent/controller/controller-coordinator-handler.js';
3
+ import { LlmFinalizer } from '../smart-agent/controller/finalizer.js';
4
+ import { LlmReviewer } from '../smart-agent/controller/reviewer.js';
5
+ import { makeSubagentClient } from '../smart-agent/controller/subagent-client.js';
6
+ /**
7
+ * Builder-factory for the `controller` pipeline — the code-level (no-YAML)
8
+ * counterpart to the Stepper `*Factory` classes. Implements
9
+ * {@link IPipelineFactory} (`kind: 'controller'`): it resolves the three role
10
+ * LLMs via `makeRoleLlm`, wraps them as subagent clients, and assembles a
11
+ * {@link ControllerCoordinatorHandler}, returning a {@link BuiltCoordinator}
12
+ * (`{ handler }`) ready to attach via `builder.withStepperCoordinator(handler)`.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { ControllerFactory } from '@mcp-abap-adt/llm-agent-server-libs/controller';
17
+ * const { handler } = await new ControllerFactory().build(config, {
18
+ * // role is typed as string by the base deps — resolve it explicitly. reviewer/
19
+ * // finalizer are only requested when their subagent block is present; map them
20
+ * // to config.subagents.reviewer ?? planner (likewise finalizer) for a 5-role config.
21
+ * makeRoleLlm: (role) =>
22
+ * makeLlm(
23
+ * config.subagents[role as keyof typeof config.subagents] ??
24
+ * config.subagents.planner,
25
+ * ),
26
+ * callMcp, backend, knowledgeRagFor, embedder, selectTools,
27
+ * });
28
+ * const handle = await builder.withStepperCoordinator(handler).build();
29
+ * ```
30
+ */
31
+ export class ControllerFactory {
32
+ kind = 'controller';
33
+ async build(config, deps) {
34
+ // results-RAG recall is embedding-based in EVERY persistence mode → require an
35
+ // embedder AND a semantic-recall-capable backend. The embedder alone is not
36
+ // enough: a programmatic caller could pass an embedder PLUS a plain backend with
37
+ // no index, and recall would silently degrade to insertion order. Assert BOTH at
38
+ // the controller boundary, fail loud at build time.
39
+ if (!deps.embedder) {
40
+ throw new Error("pipeline 'controller' requires an embedder: results-RAG recall ranks by " +
41
+ 'embedding similarity (and distance target-state, if used). Provide deps.embedder.');
42
+ }
43
+ if (!deps.backend.semanticRecallCapable) {
44
+ throw new Error("pipeline 'controller' requires a semantic-recall-capable knowledge backend " +
45
+ '(one built with an embedder-backed index); the injected backend reports ' +
46
+ 'semanticRecallCapable=false, so recall would degrade to insertion order. ' +
47
+ 'Build the backend via buildKnowledgeBackend (with a resolved embedder) or ' +
48
+ 'inject a semantic-capable one.');
49
+ }
50
+ const b = config.budgets;
51
+ validateBoardBudget({
52
+ maxDigestChars: b.maxDigestChars ?? 500,
53
+ maxIntentChars: b.maxIntentChars ?? 120,
54
+ maxActiveSteps: b.maxActiveSteps ?? 16,
55
+ maxBoardChars: b.maxBoardChars ?? 12000,
56
+ keepRecentDigests: b.keepRecentDigests ?? 8,
57
+ });
58
+ const [evaluatorLlm, plannerLlm, executorLlm] = await Promise.all([
59
+ deps.makeRoleLlm('evaluator'),
60
+ deps.makeRoleLlm('planner'),
61
+ deps.makeRoleLlm('executor'),
62
+ ]);
63
+ // reviewer/finalizer default to the planner's LLM when their subagent config is
64
+ // absent (3-role config); the factory only resolves a distinct role LLM when the
65
+ // subagent block is present, so a 3-role config needs no resolver change.
66
+ const reviewerLlm = config.subagents.reviewer
67
+ ? await deps.makeRoleLlm('reviewer')
68
+ : plannerLlm;
69
+ const finalizerLlm = config.subagents.finalizer
70
+ ? await deps.makeRoleLlm('finalizer')
71
+ : plannerLlm;
72
+ const handler = new ControllerCoordinatorHandler({
73
+ evaluator: makeSubagentClient(evaluatorLlm),
74
+ planner: makeSubagentClient(plannerLlm),
75
+ executor: makeSubagentClient(executorLlm),
76
+ backend: deps.backend,
77
+ knowledgeRagFor: deps.knowledgeRagFor,
78
+ embedder: deps.embedder,
79
+ callMcp: (name, args) => deps.callMcp(name, args),
80
+ selectTools: deps.selectTools,
81
+ ...(deps.isExternalTool ? { isExternalTool: deps.isExternalTool } : {}),
82
+ ...(deps.skillsRecall ? { skillsRecall: deps.skillsRecall } : {}),
83
+ reviewer: new LlmReviewer(makeSubagentClient(reviewerLlm)),
84
+ finalizer: new LlmFinalizer(makeSubagentClient(finalizerLlm), {
85
+ budget: 12000,
86
+ perResultCap: 4000,
87
+ }),
88
+ config,
89
+ models: {
90
+ evaluator: evaluatorLlm.model ?? 'unknown',
91
+ planner: plannerLlm.model ?? 'unknown',
92
+ executor: executorLlm.model ?? 'unknown',
93
+ reviewer: reviewerLlm.model ?? 'unknown',
94
+ finalizer: finalizerLlm.model ?? 'unknown',
95
+ },
96
+ });
97
+ return { handler };
98
+ }
99
+ }
100
+ //# sourceMappingURL=controller-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-factory.js","sourceRoot":"","sources":["../../src/factories/controller-factory.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ export declare function buildStepperCoordinator(spec: StepperCompositionSpec, de
41
41
  * Cyclic Stepper variant: no planner, a single cyclic-ReAct executor loop.
42
42
  * Preset: `{ planner: 'none', executor: 'cyclic-react' }`.
43
43
  */
44
- export declare class CyclicFactory implements IPipelineFactory<StepperFactoryConfig> {
44
+ export declare class CyclicFactory implements IPipelineFactory<StepperFactoryConfig, StepperFactoryDeps> {
45
45
  readonly kind: "cyclic";
46
46
  build(config: StepperFactoryConfig, deps: StepperFactoryDeps): Promise<BuiltCoordinator>;
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cyclic-factory.d.ts","sourceRoot":"","sources":["../../src/factories/cyclic-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,kEAAkE;IAClE,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrE,sDAAsD;IACtD,QAAQ,EAAE,eAAe,CAAC;IAC1B,8CAA8C;IAC9C,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,kCAAkC;IAClC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,qEAAqE;IACrE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,sBAAsB,EACtB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,gBAAgB,CAAC,oBAAoB,CAAC;IAC1E,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
1
+ {"version":3,"file":"cyclic-factory.d.ts","sourceRoot":"","sources":["../../src/factories/cyclic-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,kEAAkE;IAClE,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrE,sDAAsD;IACtD,QAAQ,EAAE,eAAe,CAAC;IAC1B,8CAA8C;IAC9C,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,kCAAkC;IAClC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,qEAAqE;IACrE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,sBAAsB,EACtB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED;;;GAGG;AACH,qBAAa,aACX,YAAW,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAErE,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"cyclic-factory.js","sourceRoot":"","sources":["../../src/factories/cyclic-factory.ts"],"names":[],"mappings":"AASA,OAAO,EACL,oBAAoB,GAErB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAmC1F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA4B,EAC5B,IAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;QAC5C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CACrC,oBAAoB,CAAC,IAAI,EAAE;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE;YACpC,UAAU;YACV,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACJ,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,QAAiB,CAAC;IAElC,KAAK,CACH,MAA4B,EAC5B,IAAwB;QAExB,OAAO,uBAAuB,CAC5B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EACxD,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"cyclic-factory.js","sourceRoot":"","sources":["../../src/factories/cyclic-factory.ts"],"names":[],"mappings":"AASA,OAAO,EACL,oBAAoB,GAErB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAmC1F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA4B,EAC5B,IAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;QAC5C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CACrC,oBAAoB,CAAC,IAAI,EAAE;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE;YACpC,UAAU;YACV,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACJ,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAGf,IAAI,GAAG,QAAiB,CAAC;IAElC,KAAK,CACH,MAA4B,EAC5B,IAAwB;QAExB,OAAO,uBAAuB,CAC5B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EACxD,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -5,7 +5,7 @@ import { type StepperFactoryConfig, type StepperFactoryDeps } from './cyclic-fac
5
5
  * executor delegates sub-goals to child Steppers (subagents).
6
6
  * Preset: `{ planner: 'llm', executor: 'recursive' }`.
7
7
  */
8
- export declare class DeepStepperFactory implements IPipelineFactory<StepperFactoryConfig> {
8
+ export declare class DeepStepperFactory implements IPipelineFactory<StepperFactoryConfig, StepperFactoryDeps> {
9
9
  readonly kind: "deep-stepper";
10
10
  build(config: StepperFactoryConfig, deps: StepperFactoryDeps): Promise<BuiltCoordinator>;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deep-stepper-factory.d.ts","sourceRoot":"","sources":["../../src/factories/deep-stepper-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,qBAAa,kBACX,YAAW,gBAAgB,CAAC,oBAAoB,CAAC;IAEjD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
1
+ {"version":3,"file":"deep-stepper-factory.d.ts","sourceRoot":"","sources":["../../src/factories/deep-stepper-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,qBAAa,kBACX,YAAW,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAErE,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
@@ -1,3 +1,5 @@
1
+ export type { ControllerFactoryDeps } from './controller-factory.js';
2
+ export { ControllerFactory } from './controller-factory.js';
1
3
  export type { StepperFactoryConfig, StepperFactoryDeps, } from './cyclic-factory.js';
2
4
  export { buildStepperCoordinator, CyclicFactory } from './cyclic-factory.js';
3
5
  export { DagFactory } from './dag-factory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { ControllerFactory } from './controller-factory.js';
1
2
  export { buildStepperCoordinator, CyclicFactory } from './cyclic-factory.js';
2
3
  export { DagFactory } from './dag-factory.js';
3
4
  export { DeepStepperFactory } from './deep-stepper-factory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -5,7 +5,7 @@ import { type StepperFactoryConfig, type StepperFactoryDeps } from './cyclic-fac
5
5
  * cyclic-ReAct executor runs each step.
6
6
  * Preset: `{ planner: 'llm', executor: 'cyclic-react' }`.
7
7
  */
8
- export declare class PlannedFactory implements IPipelineFactory<StepperFactoryConfig> {
8
+ export declare class PlannedFactory implements IPipelineFactory<StepperFactoryConfig, StepperFactoryDeps> {
9
9
  readonly kind: "planned";
10
10
  build(config: StepperFactoryConfig, deps: StepperFactoryDeps): Promise<BuiltCoordinator>;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"planned-factory.d.ts","sourceRoot":"","sources":["../../src/factories/planned-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,qBAAa,cAAe,YAAW,gBAAgB,CAAC,oBAAoB,CAAC;IAC3E,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
1
+ {"version":3,"file":"planned-factory.d.ts","sourceRoot":"","sources":["../../src/factories/planned-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,qBAAa,cACX,YAAW,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAErE,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,KAAK,CACH,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAM7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"planned-factory.js","sourceRoot":"","sources":["../../src/factories/planned-factory.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,SAAkB,CAAC;IAEnC,KAAK,CACH,MAA4B,EAC5B,IAAwB;QAExB,OAAO,uBAAuB,CAC5B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,EACvD,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"planned-factory.js","sourceRoot":"","sources":["../../src/factories/planned-factory.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAGhB,IAAI,GAAG,SAAkB,CAAC;IAEnC,KAAK,CACH,MAA4B,EAC5B,IAAwB;QAExB,OAAO,uBAAuB,CAC5B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,EACvD,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -1,2 +1,2 @@
1
- export declare const PACKAGE_VERSION = "19.1.1";
1
+ export declare const PACKAGE_VERSION = "19.2.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by scripts/generate-version.js — do not edit
2
- export const PACKAGE_VERSION = '19.1.1';
2
+ export const PACKAGE_VERSION = '19.2.0';
3
3
  //# sourceMappingURL=version.js.map
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './smart-agent/build-dag-coordinator-deps.js';
4
4
  export * from './smart-agent/build-stepper-root.js';
5
5
  export * from './smart-agent/config.js';
6
6
  export * from './smart-agent/jsonl-knowledge-backend.js';
7
+ export { makePgPool, makePgReadPool } from './smart-agent/pg-pool.js';
7
8
  export * from './smart-agent/pipeline.js';
8
9
  export * from './smart-agent/resolve-agent-embedder.js';
9
10
  export * from './smart-agent/session-identity-resolver.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './smart-agent/build-dag-coordinator-deps.js';
4
4
  export * from './smart-agent/build-stepper-root.js';
5
5
  export * from './smart-agent/config.js';
6
6
  export * from './smart-agent/jsonl-knowledge-backend.js';
7
+ export { makePgPool, makePgReadPool } from './smart-agent/pg-pool.js';
7
8
  export * from './smart-agent/pipeline.js';
8
9
  export * from './smart-agent/resolve-agent-embedder.js';
9
10
  export * from './smart-agent/session-identity-resolver.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { IPipelineInstance, IPipelinePlugin } from '@mcp-abap-adt/llm-agent';
2
2
  import type { ControllerConfig } from '../smart-agent/controller/types.js';
3
3
  import type { IControllerServerPipelineContext } from './server-context.js';
4
+ export { ControllerFactory, type ControllerFactoryDeps, } from '../factories/controller-factory.js';
4
5
  export { ControllerCoordinatorHandler, type ControllerHandlerDeps, } from '../smart-agent/controller/controller-coordinator-handler.js';
5
6
  export { type ISubagentClient, makeSubagentClient, } from '../smart-agent/controller/subagent-client.js';
6
7
  export type { ControllerConfig, SessionBundle, } from '../smart-agent/controller/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/pipelines/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAM5E,OAAO,EACL,4BAA4B,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EACL,KAAK,eAAe,EACpB,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,wBACX,YAAW,eAAe,CAAC,gBAAgB,CAAC;IAE5C,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IA0CrC,KAAK,CACT,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,gCAAgC,GACpC,OAAO,CAAC,iBAAiB,CAAC;CAuD9B"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/pipelines/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAM5E,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EACL,KAAK,eAAe,EACpB,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,wBACX,YAAW,eAAe,CAAC,gBAAgB,CAAC;IAE5C,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IA+CrC,KAAK,CACT,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,gCAAgC,GACpC,OAAO,CAAC,iBAAiB,CAAC;CAuE9B"}
@@ -1,10 +1,10 @@
1
- import { ControllerCoordinatorHandler, } from '../smart-agent/controller/controller-coordinator-handler.js';
2
- import { makeSubagentClient } from '../smart-agent/controller/subagent-client.js';
1
+ import { ControllerFactory, } from '../factories/controller-factory.js';
3
2
  import { buildMcpBridge } from '../smart-agent/smart-server.js';
4
3
  // Re-export the controller building blocks so embedders (no-YAML) can compose
5
- // the coordinator directly onto their own SmartAgentBuilder via
6
- // `builder.withStepperCoordinator(new ControllerCoordinatorHandler(deps))`,
7
- // without going through the plugin/registry.
4
+ // the coordinator in code preferably via the `ControllerFactory`
5
+ // (`const { handler } = await new ControllerFactory().build(config, deps)` then
6
+ // `builder.withStepperCoordinator(handler)`), or directly with the handler.
7
+ export { ControllerFactory, } from '../factories/controller-factory.js';
8
8
  export { ControllerCoordinatorHandler, } from '../smart-agent/controller/controller-coordinator-handler.js';
9
9
  export { makeSubagentClient, } from '../smart-agent/controller/subagent-client.js';
10
10
  /**
@@ -46,23 +46,16 @@ export class ControllerPipelinePlugin {
46
46
  maxRetries: 3,
47
47
  maxRewinds: 5,
48
48
  maxToolCalls: 10,
49
+ maxDigestChars: 500,
50
+ maxIntentChars: 120,
51
+ maxActiveSteps: 16,
52
+ maxBoardChars: 12000,
53
+ keepRecentDigests: 8,
49
54
  ...budgetsRaw,
50
55
  },
51
56
  };
52
57
  }
53
58
  async build(cfg, ctx) {
54
- // Embedder is only needed for distance-based target-state strategies.
55
- // consumer-confirm needs none, so an embedder-less deployment can use it.
56
- const needsEmbedder = cfg.targetState.strategy === 'semantic-distance' ||
57
- cfg.targetState.strategy === 'auto';
58
- if (needsEmbedder && !ctx.embedder) {
59
- throw new Error(`pipeline 'controller' targetState.strategy '${cfg.targetState.strategy}' requires an embedder (semantic distance); configure rag.embedder or use strategy: consumer-confirm`);
60
- }
61
- const [evaluatorLlm, plannerLlm, executorLlm] = await Promise.all([
62
- ctx.makeLlm(cfg.subagents.evaluator),
63
- ctx.makeLlm(cfg.subagents.planner),
64
- ctx.makeLlm(cfg.subagents.executor),
65
- ]);
66
59
  const mcpClients = ctx.mcpClients ?? [];
67
60
  const mcpBridge = buildMcpBridge(mcpClients);
68
61
  // INTERNAL tools reach the executor/planner via SEMANTIC selection over the
@@ -72,26 +65,55 @@ export class ControllerPipelinePlugin {
72
65
  // yields [] and the loop runs with external tools only.
73
66
  const toolsRag = ctx.toolsRag;
74
67
  const selectTools = (query, k, options) => toolsRag ? toolsRag.query(query, k, options) : Promise.resolve([]);
75
- // NOTE: external-tool routing is decided PER-REQUEST inside the handler from
76
- // `ctx.externalTools` (the client-supplied tools for that request). We do NOT
77
- // wire `isExternalTool` here the build-time server ctx never carries them.
68
+ // Controller-OWN skills recall hook (B4). The controller pipeline builds its
69
+ // subagent prompts itself (it does NOT use the context-assembler), so it needs
70
+ // its own recall: query the configured controller skill group and format a
71
+ // bounded "Relevant skills" block the planner injects into create-plan/replan.
72
+ // Wired ONLY when a host AND a controller group are present; otherwise left
73
+ // undefined so the planner prompt stays byte-identical to the agnostic path.
74
+ // `controllerSkillGroup` is an INDEPENDENT channel from `serveCollections`
75
+ // (assembler pipelines); the group's existence is validated at startup, so we
76
+ // gate purely on host + group presence and do NOT couple to serveCollections.
77
+ const skillHost = ctx.skillHost;
78
+ const group = ctx.skillRecall?.controllerSkillGroup;
79
+ // Resolve the recall handle ONCE (the host memoises it anyway; this is the
80
+ // correct shape — no per-recall rag(group) lookup, and the wrapper's dimension/
81
+ // verdict cache is shared across recalls).
82
+ const skillRagHandle = skillHost && group ? skillHost.rag(group) : undefined;
83
+ const skillsRecall = skillRagHandle
84
+ ? async (goal, options) => {
85
+ const k = ctx.skillRecall?.k ?? 4;
86
+ const maxInjectChars = ctx.skillRecall?.maxInjectChars ?? 4000;
87
+ const queryOpts = ctx.skillRecall?.threshold !== undefined
88
+ ? { k, threshold: ctx.skillRecall.threshold }
89
+ : { k };
90
+ const hits = await skillRagHandle.query(goal, queryOpts, options);
91
+ if (hits.length === 0)
92
+ return '';
93
+ let block = 'Relevant skills:\n';
94
+ for (const h of hits) {
95
+ const next = `${block}- ${h.record.content}\n`;
96
+ if (next.length > maxInjectChars)
97
+ break;
98
+ block = next;
99
+ }
100
+ return block.trimEnd();
101
+ }
102
+ : undefined;
103
+ // The factory resolves the three role LLMs via makeRoleLlm, wraps them as
104
+ // subagent clients, validates the embedder requirement, and builds the
105
+ // handler. external-tool routing is decided PER-REQUEST inside the handler
106
+ // from `ctx.externalTools`, so we do NOT wire `isExternalTool` here.
78
107
  const deps = {
79
- evaluator: makeSubagentClient(evaluatorLlm),
80
- planner: makeSubagentClient(plannerLlm),
81
- executor: makeSubagentClient(executorLlm),
108
+ makeRoleLlm: (role) => ctx.makeLlm(cfg.subagents[role]),
109
+ callMcp: (name, args) => mcpBridge(name, args),
82
110
  backend: ctx.stepperKnowledgeBackend,
83
111
  knowledgeRagFor: (sessionId) => ctx.knowledgeRagFor(sessionId),
84
112
  embedder: ctx.embedder,
85
- callMcp: (name, args) => mcpBridge(name, args),
86
113
  selectTools,
87
- config: cfg,
88
- models: {
89
- evaluator: evaluatorLlm.model ?? 'unknown',
90
- planner: plannerLlm.model ?? 'unknown',
91
- executor: executorLlm.model ?? 'unknown',
92
- },
114
+ ...(skillsRecall ? { skillsRecall } : {}),
93
115
  };
94
- const handler = new ControllerCoordinatorHandler(deps);
116
+ const { handler } = await new ControllerFactory().build(cfg, deps);
95
117
  const builder = await ctx.createAgentBuilder();
96
118
  const handle = await builder.withStepperCoordinator(handler).build();
97
119
  return { agent: handle.agent, close: () => handle.close() };
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/pipelines/controller.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,4BAA4B,GAE7B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,8EAA8E;AAC9E,gEAAgE;AAChE,4EAA4E;AAC5E,6CAA6C;AAC7C,OAAO,EACL,4BAA4B,GAE7B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAEL,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AAMtD;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IAG1B,IAAI,GAAG,YAAY,CAAC;IAE7B,WAAW,CAAC,GAAY;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;QACnD,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU,EAAE,CAAC;YACjE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,mDAAmD,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QAC1E,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAGhD,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAElE,OAAO;YACL,SAAS,EAAE,SAA0C;YACrD,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,UAAU;gBAClC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,aAAa,CAAgC;YACjD,WAAW,EAAE;gBACX,QAAQ,EAAE,MAAM;gBAChB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,cAAc;aACiB;YACpC,aAAa,EAAE;gBACb,UAAU,EAAE,gBAAgB;gBAC5B,GAAG,gBAAgB;aACiB;YACtC,OAAO,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,EAAE;gBAChB,GAAG,UAAU;aACiB;SACjC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAqB,EACrB,GAAqC;QAErC,sEAAsE;QACtE,0EAA0E;QAC1E,MAAM,aAAa,GACjB,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,mBAAmB;YAChD,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC;QACtC,IAAI,aAAa,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,+CAA+C,GAAG,CAAC,WAAW,CAAC,QAAQ,sGAAsG,CAC9K,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAE7C,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,CAAU,EAAE,OAAqB,EAAE,EAAE,CACvE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAErE,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,IAAI,GAA0B;YAClC,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC;YACzC,OAAO,EAAE,GAAG,CAAC,uBAAuB;YACpC,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;YAC9D,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;YAC9C,WAAW;YACX,MAAM,EAAE,GAAG;YACX,MAAM,EAAE;gBACN,SAAS,EAAE,YAAY,CAAC,KAAK,IAAI,SAAS;gBAC1C,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;gBACtC,QAAQ,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;aACzC;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/pipelines/controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../src/pipelines/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,eAAe,CAAC,iBAAiB,CAAC;IAC1E,QAAQ,CAAC,IAAI,SAAS;IAEtB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB;IAQtC,KAAK,CACT,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAsB9B"}
1
+ {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../src/pipelines/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,eAAe,CAAC,iBAAiB,CAAC;IAC1E,QAAQ,CAAC,IAAI,SAAS;IAEtB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB;IAQtC,KAAK,CACT,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAsB9B"}
@@ -1,5 +1,6 @@
1
1
  import { DagCoordinatorHandler } from '@mcp-abap-adt/llm-agent-libs';
2
2
  import { buildDagCoordinatorDeps } from '../smart-agent/build-dag-coordinator-deps.js';
3
+ import { registerSkillSources } from './register-skill-sources.js';
3
4
  /**
4
5
  * Built-in `dag` pipeline plugin. Validates the raw DAG coordinator config
5
6
  * (requires a `planner`), assembles the coordinator deps via the shared
@@ -38,7 +39,7 @@ export class DagPipelinePlugin {
38
39
  throw new Error("pipeline 'dag': buildDagCoordinatorDeps returned undefined");
39
40
  }
40
41
  const handler = new DagCoordinatorHandler(deps);
41
- const builder = await ctx.createAgentBuilder();
42
+ const builder = registerSkillSources(await ctx.createAgentBuilder(), ctx);
42
43
  const handle = await builder.withStepperCoordinator(handler).build();
43
44
  return { agent: handle.agent, close: () => handle.close() };
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dag.js","sourceRoot":"","sources":["../../src/pipelines/dag.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAMvF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,KAAK,CAAC;IAEtB,WAAW,CAAC,GAAY;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;QACnD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAsB,EACtB,GAA2B;QAE3B,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC;YACzC,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,cAAc;YAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"dag.js","sourceRoot":"","sources":["../../src/pipelines/dag.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,KAAK,CAAC;IAEtB,WAAW,CAAC,GAAY;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;QACnD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAsB,EACtB,GAA2B;QAE3B,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC;YACzC,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,cAAc;YAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"flat.d.ts","sourceRoot":"","sources":["../../src/pipelines/flat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;GAKG;AACH,qBAAa,kBACX,YAAW,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjD,QAAQ,CAAC,IAAI,UAAU;IAEvB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAI9B,KAAK,CACT,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC3B,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAK9B"}
1
+ {"version":3,"file":"flat.d.ts","sourceRoot":"","sources":["../../src/pipelines/flat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;GAKG;AACH,qBAAa,kBACX,YAAW,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjD,QAAQ,CAAC,IAAI,UAAU;IAEvB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAI9B,KAAK,CACT,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC3B,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAK9B"}
@@ -1,3 +1,4 @@
1
+ import { registerSkillSources } from './register-skill-sources.js';
1
2
  /**
2
3
  * Built-in `flat` pipeline plugin. No coordinator — just builds a plain
3
4
  * {@link SmartAgent} with the base tool loop (no decomposition, planning, or
@@ -10,7 +11,7 @@ export class FlatPipelinePlugin {
10
11
  return {};
11
12
  }
12
13
  async build(_cfg, ctx) {
13
- const builder = await ctx.createAgentBuilder();
14
+ const builder = registerSkillSources(await ctx.createAgentBuilder(), ctx);
14
15
  const handle = await builder.build();
15
16
  return { agent: handle.agent, close: () => handle.close() };
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flat.js","sourceRoot":"","sources":["../../src/pipelines/flat.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAGpB,IAAI,GAAG,MAAM,CAAC;IAEvB,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAA2B,EAC3B,GAA2B;QAE3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"flat.js","sourceRoot":"","sources":["../../src/pipelines/flat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAGpB,IAAI,GAAG,MAAM,CAAC;IAEvB,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAA2B,EAC3B,GAA2B;QAE3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/pipelines/linear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,qBAAa,oBACX,YAAW,eAAe,CAAC,oBAAoB,CAAC;IAEhD,QAAQ,CAAC,IAAI,YAAY;IAEzB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAIzC,KAAK,CACT,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAU9B"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/pipelines/linear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,qBAAa,oBACX,YAAW,eAAe,CAAC,oBAAoB,CAAC;IAEhD,QAAQ,CAAC,IAAI,YAAY;IAEzB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAIzC,KAAK,CACT,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAU9B"}
@@ -1,5 +1,6 @@
1
1
  import { LinearFactory } from '../factories/index.js';
2
2
  import { parseLinearConfig } from './parsers.js';
3
+ import { registerSkillSources } from './register-skill-sources.js';
3
4
  /**
4
5
  * Built-in `linear` pipeline plugin. The raw config is resolved into
5
6
  * {@link CoordinatorHandlerDeps} (via {@link parseLinearConfig}) at build time
@@ -18,7 +19,7 @@ export class LinearPipelinePlugin {
18
19
  makeRoleLlm: (role) => ctx.resolveLlm(role),
19
20
  callMcp: (n, a, s) => ctx.callMcp(n, a, s).then(String),
20
21
  });
21
- const builder = await ctx.createAgentBuilder();
22
+ const builder = registerSkillSources(await ctx.createAgentBuilder(), ctx);
22
23
  const handle = await builder.withStepperCoordinator(handler).build();
23
24
  return { agent: handle.agent, close: () => handle.close() };
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../src/pipelines/linear.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMjD;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAGtB,IAAI,GAAG,QAAQ,CAAC;IAEzB,WAAW,CAAC,GAAY;QACtB,OAAO,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAyB,EACzB,GAA2B;QAE3B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;YACxD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../src/pipelines/linear.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAGtB,IAAI,GAAG,QAAQ,CAAC;IAEzB,WAAW,CAAC,GAAY;QACtB,OAAO,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAyB,EACzB,GAA2B;QAE3B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;YACxD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9D,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { SmartAgentBuilder } from '@mcp-abap-adt/llm-agent-libs';
2
+ import type { IServerPipelineContext } from './server-context.js';
3
+ /**
4
+ * Implicit assembler wiring (B3): when a skill plugin-host is present on the
5
+ * context, register each served skill group's RAG handle as one more
6
+ * {@link skillsRagSource} `IRag` source on the agent builder. Called ONCE at
7
+ * build time by the assembler-based pipelines (flat/default, linear) — the
8
+ * serving collection set is fixed at host load.
9
+ *
10
+ * Absent `ctx.skillHost` this is a NO-OP (zero behavior change).
11
+ *
12
+ * Each group is registered under its own collection name so distinct groups do
13
+ * not collide in the RAG registry; all derive from the same `relevant-skills`
14
+ * base key so the assembler renders them under one "Relevant Skills" header
15
+ * family. Recall sizing (`k`/`threshold`) comes from `ctx.skillRecall`, threaded
16
+ * from the `skillPlugins:` host config.
17
+ *
18
+ * @returns the same builder (fluent), for call-site chaining.
19
+ */
20
+ export declare function registerSkillSources(builder: SmartAgentBuilder, ctx: IServerPipelineContext): SmartAgentBuilder;
21
+ //# sourceMappingURL=register-skill-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-skill-sources.d.ts","sourceRoot":"","sources":["../../src/pipelines/register-skill-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAUlE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,sBAAsB,GAC1B,iBAAiB,CA+BnB"}