@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.
- package/dist/factories/controller-factory.d.ts +62 -0
- package/dist/factories/controller-factory.d.ts.map +1 -0
- package/dist/factories/controller-factory.js +100 -0
- package/dist/factories/controller-factory.js.map +1 -0
- package/dist/factories/cyclic-factory.d.ts +1 -1
- package/dist/factories/cyclic-factory.d.ts.map +1 -1
- package/dist/factories/cyclic-factory.js.map +1 -1
- package/dist/factories/deep-stepper-factory.d.ts +1 -1
- package/dist/factories/deep-stepper-factory.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +1 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/planned-factory.d.ts +1 -1
- package/dist/factories/planned-factory.d.ts.map +1 -1
- package/dist/factories/planned-factory.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pipelines/controller.d.ts +1 -0
- package/dist/pipelines/controller.d.ts.map +1 -1
- package/dist/pipelines/controller.js +53 -31
- package/dist/pipelines/controller.js.map +1 -1
- package/dist/pipelines/dag.d.ts.map +1 -1
- package/dist/pipelines/dag.js +2 -1
- package/dist/pipelines/dag.js.map +1 -1
- package/dist/pipelines/flat.d.ts.map +1 -1
- package/dist/pipelines/flat.js +2 -1
- package/dist/pipelines/flat.js.map +1 -1
- package/dist/pipelines/linear.d.ts.map +1 -1
- package/dist/pipelines/linear.js +2 -1
- package/dist/pipelines/linear.js.map +1 -1
- package/dist/pipelines/register-skill-sources.d.ts +21 -0
- package/dist/pipelines/register-skill-sources.d.ts.map +1 -0
- package/dist/pipelines/register-skill-sources.js +57 -0
- package/dist/pipelines/register-skill-sources.js.map +1 -0
- package/dist/pipelines/server-context.d.ts +37 -1
- package/dist/pipelines/server-context.d.ts.map +1 -1
- package/dist/pipelines/server-context.js.map +1 -1
- package/dist/smart-agent/config.d.ts.map +1 -1
- package/dist/smart-agent/config.js +4 -0
- package/dist/smart-agent/config.js.map +1 -1
- package/dist/smart-agent/controller/artifacts.d.ts +116 -0
- package/dist/smart-agent/controller/artifacts.d.ts.map +1 -0
- package/dist/smart-agent/controller/artifacts.js +192 -0
- package/dist/smart-agent/controller/artifacts.js.map +1 -0
- package/dist/smart-agent/controller/board.d.ts +73 -0
- package/dist/smart-agent/controller/board.d.ts.map +1 -0
- package/dist/smart-agent/controller/board.js +233 -0
- package/dist/smart-agent/controller/board.js.map +1 -0
- package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +67 -7
- package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
- package/dist/smart-agent/controller/controller-coordinator-handler.js +923 -61
- package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
- package/dist/smart-agent/controller/finalizer.d.ts +48 -0
- package/dist/smart-agent/controller/finalizer.d.ts.map +1 -0
- package/dist/smart-agent/controller/finalizer.js +126 -0
- package/dist/smart-agent/controller/finalizer.js.map +1 -0
- package/dist/smart-agent/controller/memorizer.d.ts +2 -2
- package/dist/smart-agent/controller/memorizer.d.ts.map +1 -1
- package/dist/smart-agent/controller/memorizer.js +2 -2
- package/dist/smart-agent/controller/memorizer.js.map +1 -1
- package/dist/smart-agent/controller/outcome.d.ts +28 -0
- package/dist/smart-agent/controller/outcome.d.ts.map +1 -0
- package/dist/smart-agent/controller/outcome.js +30 -0
- package/dist/smart-agent/controller/outcome.js.map +1 -0
- package/dist/smart-agent/controller/planner.d.ts +28 -5
- package/dist/smart-agent/controller/planner.d.ts.map +1 -1
- package/dist/smart-agent/controller/planner.js +111 -29
- package/dist/smart-agent/controller/planner.js.map +1 -1
- package/dist/smart-agent/controller/reviewer.d.ts +48 -0
- package/dist/smart-agent/controller/reviewer.d.ts.map +1 -0
- package/dist/smart-agent/controller/reviewer.js +116 -0
- package/dist/smart-agent/controller/reviewer.js.map +1 -0
- package/dist/smart-agent/controller/run-scope.d.ts +50 -0
- package/dist/smart-agent/controller/run-scope.d.ts.map +1 -0
- package/dist/smart-agent/controller/run-scope.js +99 -0
- package/dist/smart-agent/controller/run-scope.js.map +1 -0
- package/dist/smart-agent/controller/session-bundle.d.ts +5 -0
- package/dist/smart-agent/controller/session-bundle.d.ts.map +1 -1
- package/dist/smart-agent/controller/session-bundle.js +27 -0
- package/dist/smart-agent/controller/session-bundle.js.map +1 -1
- package/dist/smart-agent/controller/types.d.ts +117 -7
- package/dist/smart-agent/controller/types.d.ts.map +1 -1
- package/dist/smart-agent/controller/types.js +30 -1
- package/dist/smart-agent/controller/types.js.map +1 -1
- package/dist/smart-agent/embedder-knowledge-index.d.ts +28 -0
- package/dist/smart-agent/embedder-knowledge-index.d.ts.map +1 -0
- package/dist/smart-agent/embedder-knowledge-index.js +71 -0
- package/dist/smart-agent/embedder-knowledge-index.js.map +1 -0
- package/dist/smart-agent/jsonl-knowledge-backend.d.ts +26 -10
- package/dist/smart-agent/jsonl-knowledge-backend.d.ts.map +1 -1
- package/dist/smart-agent/jsonl-knowledge-backend.js +81 -9
- package/dist/smart-agent/jsonl-knowledge-backend.js.map +1 -1
- package/dist/smart-agent/pg-pool.d.ts +58 -0
- package/dist/smart-agent/pg-pool.d.ts.map +1 -0
- package/dist/smart-agent/pg-pool.js +149 -0
- package/dist/smart-agent/pg-pool.js.map +1 -0
- package/dist/smart-agent/skill-plugins-config.d.ts +97 -0
- package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -0
- package/dist/smart-agent/skill-plugins-config.js +318 -0
- package/dist/smart-agent/skill-plugins-config.js.map +1 -0
- package/dist/smart-agent/skill-plugins-config.test.d.ts +2 -0
- package/dist/smart-agent/skill-plugins-config.test.d.ts.map +1 -0
- package/dist/smart-agent/skill-plugins-config.test.js.map +1 -0
- package/dist/smart-agent/skill-plugins-host-factory.d.ts +98 -0
- package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -0
- package/dist/smart-agent/skill-plugins-host-factory.js +284 -0
- package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -0
- package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +2 -0
- package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +1 -0
- package/dist/smart-agent/skill-plugins-host-factory.test.js.map +1 -0
- package/dist/smart-agent/smart-server.d.ts +25 -0
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js +139 -6
- package/dist/smart-agent/smart-server.js.map +1 -1
- 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,
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/factories/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"
|
|
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,
|
|
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;
|
|
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
|
+
export declare const PACKAGE_VERSION = "19.2.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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 {
|
|
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
|
|
6
|
-
// `
|
|
7
|
-
//
|
|
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
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
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
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/pipelines/dag.js
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/pipelines/flat.js
CHANGED
|
@@ -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":"
|
|
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;
|
|
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"}
|
package/dist/pipelines/linear.js
CHANGED
|
@@ -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;
|
|
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"}
|