@mcp-abap-adt/llm-agent-libs 12.0.4 → 12.1.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/builder.d.ts +27 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +67 -1
- package/dist/builder.js.map +1 -1
- package/dist/coordinator/activation/auto.d.ts +13 -0
- package/dist/coordinator/activation/auto.d.ts.map +1 -0
- package/dist/coordinator/activation/auto.js +11 -0
- package/dist/coordinator/activation/auto.js.map +1 -0
- package/dist/coordinator/activation/explicit.d.ts +14 -0
- package/dist/coordinator/activation/explicit.d.ts.map +1 -0
- package/dist/coordinator/activation/explicit.js +12 -0
- package/dist/coordinator/activation/explicit.js.map +1 -0
- package/dist/coordinator/dispatch/hybrid.d.ts +13 -0
- package/dist/coordinator/dispatch/hybrid.d.ts.map +1 -0
- package/dist/coordinator/dispatch/hybrid.js +20 -0
- package/dist/coordinator/dispatch/hybrid.js.map +1 -0
- package/dist/coordinator/dispatch/self.d.ts +13 -0
- package/dist/coordinator/dispatch/self.d.ts.map +1 -0
- package/dist/coordinator/dispatch/self.js +48 -0
- package/dist/coordinator/dispatch/self.js.map +1 -0
- package/dist/coordinator/dispatch/subagent.d.ts +11 -0
- package/dist/coordinator/dispatch/subagent.d.ts.map +1 -0
- package/dist/coordinator/dispatch/subagent.js +66 -0
- package/dist/coordinator/dispatch/subagent.js.map +1 -0
- package/dist/coordinator/index.d.ts +9 -0
- package/dist/coordinator/index.d.ts.map +1 -0
- package/dist/coordinator/index.js +9 -0
- package/dist/coordinator/index.js.map +1 -0
- package/dist/coordinator/planning/one-shot.d.ts +14 -0
- package/dist/coordinator/planning/one-shot.d.ts.map +1 -0
- package/dist/coordinator/planning/one-shot.js +64 -0
- package/dist/coordinator/planning/one-shot.js.map +1 -0
- package/dist/coordinator/planning/replan-on-error.d.ts +15 -0
- package/dist/coordinator/planning/replan-on-error.d.ts.map +1 -0
- package/dist/coordinator/planning/replan-on-error.js +75 -0
- package/dist/coordinator/planning/replan-on-error.js.map +1 -0
- package/dist/coordinator/planning/skill-steps.d.ts +25 -0
- package/dist/coordinator/planning/skill-steps.d.ts.map +1 -0
- package/dist/coordinator/planning/skill-steps.js +54 -0
- package/dist/coordinator/planning/skill-steps.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline/context.d.ts +18 -1
- package/dist/pipeline/context.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.d.ts +21 -1
- package/dist/pipeline/default-pipeline.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.js +54 -16
- package/dist/pipeline/default-pipeline.js.map +1 -1
- package/dist/pipeline/handlers/coordinator-activate.d.ts +24 -0
- package/dist/pipeline/handlers/coordinator-activate.d.ts.map +1 -0
- package/dist/pipeline/handlers/coordinator-activate.js +37 -0
- package/dist/pipeline/handlers/coordinator-activate.js.map +1 -0
- package/dist/pipeline/handlers/coordinator.d.ts +38 -0
- package/dist/pipeline/handlers/coordinator.d.ts.map +1 -0
- package/dist/pipeline/handlers/coordinator.js +184 -0
- package/dist/pipeline/handlers/coordinator.js.map +1 -0
- package/dist/pipeline/handlers/index.d.ts +13 -1
- package/dist/pipeline/handlers/index.d.ts.map +1 -1
- package/dist/pipeline/handlers/index.js +15 -9
- package/dist/pipeline/handlers/index.js.map +1 -1
- package/dist/pipeline/handlers/subagent.d.ts +21 -0
- package/dist/pipeline/handlers/subagent.d.ts.map +1 -0
- package/dist/pipeline/handlers/subagent.js +58 -0
- package/dist/pipeline/handlers/subagent.js.map +1 -0
- package/dist/subagent/smart-agent-subagent.d.ts +12 -0
- package/dist/subagent/smart-agent-subagent.d.ts.map +1 -0
- package/dist/subagent/smart-agent-subagent.js +38 -0
- package/dist/subagent/smart-agent-subagent.js.map +1 -0
- package/dist/util/template.d.ts +8 -0
- package/dist/util/template.d.ts.map +1 -0
- package/dist/util/template.js +36 -0
- package/dist/util/template.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ICoordinatorContext, ILlm, IPlanningStrategy, Plan, PlanStep, StepResult } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Plan once at the start by asking a planner LLM. Never replans.
|
|
4
|
+
* Use as the default for cheap, deterministic flows.
|
|
5
|
+
*/
|
|
6
|
+
export declare class OneShotPlanning implements IPlanningStrategy {
|
|
7
|
+
private readonly plannerLlm;
|
|
8
|
+
readonly name = "one-shot";
|
|
9
|
+
constructor(plannerLlm: ILlm);
|
|
10
|
+
buildInitialPlan(ctx: ICoordinatorContext): Promise<Plan>;
|
|
11
|
+
shouldReplan(_ctx: ICoordinatorContext, _lastResult: StepResult): boolean;
|
|
12
|
+
rebuildPlan(_ctx: ICoordinatorContext, remaining: PlanStep[]): Promise<Plan>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=one-shot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-shot.d.ts","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IAG3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,QAAQ,CAAC,IAAI,cAAc;gBAEE,UAAU,EAAE,IAAI;IAEvC,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C/D,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO;IAInE,WAAW,CACf,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan once at the start by asking a planner LLM. Never replans.
|
|
3
|
+
* Use as the default for cheap, deterministic flows.
|
|
4
|
+
*/
|
|
5
|
+
export class OneShotPlanning {
|
|
6
|
+
plannerLlm;
|
|
7
|
+
name = 'one-shot';
|
|
8
|
+
constructor(plannerLlm) {
|
|
9
|
+
this.plannerLlm = plannerLlm;
|
|
10
|
+
}
|
|
11
|
+
async buildInitialPlan(ctx) {
|
|
12
|
+
const agentsBlock = [...ctx.registry.entries()]
|
|
13
|
+
.map(([name, a]) => `- ${name}: ${a.description ?? '(no description)'}`)
|
|
14
|
+
.join('\n');
|
|
15
|
+
const skillBlock = ctx.skillContent
|
|
16
|
+
? `\n\nApplicable skill instructions:\n${ctx.skillContent}\n`
|
|
17
|
+
: '';
|
|
18
|
+
const systemPrompt = `You are a planner. Decompose the user request into ordered steps.
|
|
19
|
+
For each step, choose the best agent from the list (or omit "agent" if no specialist fits).
|
|
20
|
+
Respond with ONLY a JSON object of shape:
|
|
21
|
+
{"steps":[{"id":"step-1","goal":"...","agent":"optional-name"}],"rationale":"..."}
|
|
22
|
+
|
|
23
|
+
Available agents:
|
|
24
|
+
${agentsBlock || '(none — use self-dispatch)'}${skillBlock}`;
|
|
25
|
+
const response = await this.plannerLlm.chat([
|
|
26
|
+
{ role: 'system', content: systemPrompt },
|
|
27
|
+
{ role: 'user', content: ctx.inputText },
|
|
28
|
+
], [], { signal: ctx.signal, sessionId: ctx.sessionId });
|
|
29
|
+
if (!response.ok)
|
|
30
|
+
throw response.error;
|
|
31
|
+
const jsonText = extractJson(response.value.content);
|
|
32
|
+
const parsed = JSON.parse(jsonText);
|
|
33
|
+
const steps = parsed.steps.map((s, i) => ({
|
|
34
|
+
id: s.id ?? `step-${i + 1}`,
|
|
35
|
+
goal: s.goal,
|
|
36
|
+
agent: s.agent,
|
|
37
|
+
status: 'pending',
|
|
38
|
+
}));
|
|
39
|
+
return {
|
|
40
|
+
steps,
|
|
41
|
+
rationale: parsed.rationale,
|
|
42
|
+
createdAt: Date.now(),
|
|
43
|
+
source: 'planner-llm',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
shouldReplan(_ctx, _lastResult) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
async rebuildPlan(_ctx, remaining) {
|
|
50
|
+
return {
|
|
51
|
+
steps: remaining,
|
|
52
|
+
createdAt: Date.now(),
|
|
53
|
+
source: 'planner-llm',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function extractJson(text) {
|
|
58
|
+
const match = text.match(/\{[\s\S]*\}/);
|
|
59
|
+
if (!match) {
|
|
60
|
+
throw new Error(`Planner output did not contain a JSON object: ${text.slice(0, 200)}`);
|
|
61
|
+
}
|
|
62
|
+
return match[0];
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=one-shot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-shot.js","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAGG;IAFpB,IAAI,GAAG,UAAU,CAAC;IAE3B,YAA6B,UAAgB;QAAhB,eAAU,GAAV,UAAU,CAAM;IAAG,CAAC;IAEjD,KAAK,CAAC,gBAAgB,CAAC,GAAwB;QAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY;YACjC,CAAC,CAAC,uCAAuC,GAAG,CAAC,YAAY,IAAI;YAC7D,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,YAAY,GAAG;;;;;;EAMvB,WAAW,IAAI,4BAA4B,GAAG,UAAU,EAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACzC;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE;SACzC,EACD,EAAE,EACF,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CACjD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC;QAEvC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAGjC,CAAC;QACF,MAAM,KAAK,GAAe,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAyB,EAAE,WAAuB;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAyB,EACzB,SAAqB;QAErB,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iDAAiD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ICoordinatorContext, ILlm, IPlanningStrategy, Plan, PlanStep, StepResult } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Plan once at the start. If a step fails (StepResult.ok === false), build a
|
|
4
|
+
* fresh plan for the remaining work, taking the failure into account.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ReplanOnErrorPlanning implements IPlanningStrategy {
|
|
7
|
+
private readonly plannerLlm;
|
|
8
|
+
readonly name = "replan-on-error";
|
|
9
|
+
private readonly delegate;
|
|
10
|
+
constructor(plannerLlm: ILlm);
|
|
11
|
+
buildInitialPlan(ctx: ICoordinatorContext): Promise<Plan>;
|
|
12
|
+
shouldReplan(_ctx: ICoordinatorContext, lastResult: StepResult): boolean;
|
|
13
|
+
rebuildPlan(ctx: ICoordinatorContext, remaining: PlanStep[]): Promise<Plan>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=replan-on-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replan-on-error.d.ts","sourceRoot":"","sources":["../../../src/coordinator/planning/replan-on-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAGjC;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAIjD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAHvC,QAAQ,CAAC,IAAI,qBAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAEd,UAAU,EAAE,IAAI;IAI7C,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAIlE,WAAW,CACf,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;CA2DjB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { OneShotPlanning } from './one-shot.js';
|
|
2
|
+
/**
|
|
3
|
+
* Plan once at the start. If a step fails (StepResult.ok === false), build a
|
|
4
|
+
* fresh plan for the remaining work, taking the failure into account.
|
|
5
|
+
*/
|
|
6
|
+
export class ReplanOnErrorPlanning {
|
|
7
|
+
plannerLlm;
|
|
8
|
+
name = 'replan-on-error';
|
|
9
|
+
delegate;
|
|
10
|
+
constructor(plannerLlm) {
|
|
11
|
+
this.plannerLlm = plannerLlm;
|
|
12
|
+
this.delegate = new OneShotPlanning(plannerLlm);
|
|
13
|
+
}
|
|
14
|
+
buildInitialPlan(ctx) {
|
|
15
|
+
return this.delegate.buildInitialPlan(ctx);
|
|
16
|
+
}
|
|
17
|
+
shouldReplan(_ctx, lastResult) {
|
|
18
|
+
return !lastResult.ok;
|
|
19
|
+
}
|
|
20
|
+
async rebuildPlan(ctx, remaining) {
|
|
21
|
+
const agentsBlock = [...ctx.registry.entries()]
|
|
22
|
+
.map(([name, a]) => `- ${name}: ${a.description ?? '(no description)'}`)
|
|
23
|
+
.join('\n');
|
|
24
|
+
const resultsBlock = Object.values(ctx.stepResults)
|
|
25
|
+
.map((r) => `- ${r.stepId}: ${r.ok ? 'OK' : 'FAILED'} — ${r.output.slice(0, 200)}`)
|
|
26
|
+
.join('\n');
|
|
27
|
+
const remainingBlock = remaining
|
|
28
|
+
.map((s) => `- ${s.id}: ${s.goal}`)
|
|
29
|
+
.join('\n');
|
|
30
|
+
const systemPrompt = `You are a planner. The previous plan stalled. Build a NEW plan
|
|
31
|
+
for the remaining work, considering what has happened so far. Skip already-done work.
|
|
32
|
+
|
|
33
|
+
Original user request: ${ctx.inputText}
|
|
34
|
+
|
|
35
|
+
Results so far:
|
|
36
|
+
${resultsBlock}
|
|
37
|
+
|
|
38
|
+
Previously remaining steps:
|
|
39
|
+
${remainingBlock}
|
|
40
|
+
|
|
41
|
+
Available agents:
|
|
42
|
+
${agentsBlock || '(none — use self-dispatch)'}
|
|
43
|
+
|
|
44
|
+
Respond with ONLY a JSON object:
|
|
45
|
+
{"steps":[{"id":"...","goal":"...","agent":"optional"}],"rationale":"..."}`;
|
|
46
|
+
// Use the same ILlm.chat(messages, tools, options) signature as one-shot.ts.
|
|
47
|
+
const response = await this.plannerLlm.chat([
|
|
48
|
+
{ role: 'system', content: systemPrompt },
|
|
49
|
+
{ role: 'user', content: 'Build the revised plan now.' },
|
|
50
|
+
], [], { signal: ctx.signal, sessionId: ctx.sessionId });
|
|
51
|
+
if (!response.ok)
|
|
52
|
+
throw response.error;
|
|
53
|
+
const jsonText = extractJson(response.value.content);
|
|
54
|
+
const parsed = JSON.parse(jsonText);
|
|
55
|
+
return {
|
|
56
|
+
steps: parsed.steps.map((s, i) => ({
|
|
57
|
+
id: s.id ?? `replan-${i + 1}`,
|
|
58
|
+
goal: s.goal,
|
|
59
|
+
agent: s.agent,
|
|
60
|
+
status: 'pending',
|
|
61
|
+
})),
|
|
62
|
+
rationale: parsed.rationale,
|
|
63
|
+
createdAt: Date.now(),
|
|
64
|
+
source: 'planner-llm',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function extractJson(text) {
|
|
69
|
+
const match = text.match(/\{[\s\S]*\}/);
|
|
70
|
+
if (!match) {
|
|
71
|
+
throw new Error(`Planner output did not contain a JSON object: ${text.slice(0, 200)}`);
|
|
72
|
+
}
|
|
73
|
+
return match[0];
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=replan-on-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replan-on-error.js","sourceRoot":"","sources":["../../../src/coordinator/planning/replan-on-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ICoordinatorContext, IPlanningStrategy, ISkillMeta, Plan, PlanStep, StepResult } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Use explicit `steps:` from the active skill's frontmatter when present.
|
|
4
|
+
*
|
|
5
|
+
* Reads `ctx.activeSkillMeta` — populated by `CoordinatorHandler` from the
|
|
6
|
+
* first selected skill that declares structured `steps:`. Throws if no
|
|
7
|
+
* structured skill is active so callers can wrap this strategy with a
|
|
8
|
+
* fallback (e.g. `OneShotPlanning`) when graceful degradation is needed.
|
|
9
|
+
*
|
|
10
|
+
* For YAML users: `coordinator.planning: skill-steps` activates this
|
|
11
|
+
* strategy directly — no resolver argument required.
|
|
12
|
+
*
|
|
13
|
+
* For programmatic users that need a custom resolver (e.g. reading the
|
|
14
|
+
* skill meta from a non-default source), pass a function via the
|
|
15
|
+
* constructor — it takes precedence over `ctx.activeSkillMeta`.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SkillStepsPlanning implements IPlanningStrategy {
|
|
18
|
+
private readonly resolveSkillMeta;
|
|
19
|
+
readonly name = "skill-steps";
|
|
20
|
+
constructor(resolveSkillMeta?: (ctx: ICoordinatorContext) => ISkillMeta | undefined);
|
|
21
|
+
buildInitialPlan(ctx: ICoordinatorContext): Promise<Plan>;
|
|
22
|
+
shouldReplan(_ctx: ICoordinatorContext, _lastResult: StepResult): boolean;
|
|
23
|
+
rebuildPlan(_ctx: ICoordinatorContext, remaining: PlanStep[]): Promise<Plan>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=skill-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-steps.d.ts","sourceRoot":"","sources":["../../../src/coordinator/planning/skill-steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAIxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAHnC,QAAQ,CAAC,IAAI,iBAAiB;gBAGX,gBAAgB,GAAE,CACjC,GAAG,EAAE,mBAAmB,KACrB,UAAU,GAAG,SAAwC;IAGtD,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/D,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO;IAInE,WAAW,CACf,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use explicit `steps:` from the active skill's frontmatter when present.
|
|
3
|
+
*
|
|
4
|
+
* Reads `ctx.activeSkillMeta` — populated by `CoordinatorHandler` from the
|
|
5
|
+
* first selected skill that declares structured `steps:`. Throws if no
|
|
6
|
+
* structured skill is active so callers can wrap this strategy with a
|
|
7
|
+
* fallback (e.g. `OneShotPlanning`) when graceful degradation is needed.
|
|
8
|
+
*
|
|
9
|
+
* For YAML users: `coordinator.planning: skill-steps` activates this
|
|
10
|
+
* strategy directly — no resolver argument required.
|
|
11
|
+
*
|
|
12
|
+
* For programmatic users that need a custom resolver (e.g. reading the
|
|
13
|
+
* skill meta from a non-default source), pass a function via the
|
|
14
|
+
* constructor — it takes precedence over `ctx.activeSkillMeta`.
|
|
15
|
+
*/
|
|
16
|
+
export class SkillStepsPlanning {
|
|
17
|
+
resolveSkillMeta;
|
|
18
|
+
name = 'skill-steps';
|
|
19
|
+
constructor(resolveSkillMeta = (ctx) => ctx.activeSkillMeta) {
|
|
20
|
+
this.resolveSkillMeta = resolveSkillMeta;
|
|
21
|
+
}
|
|
22
|
+
async buildInitialPlan(ctx) {
|
|
23
|
+
const meta = this.resolveSkillMeta(ctx);
|
|
24
|
+
if (!meta?.steps?.length) {
|
|
25
|
+
throw new Error(`SkillStepsPlanning: no active skill with structured 'steps:' found. ` +
|
|
26
|
+
`Chain this strategy with a fallback (e.g. OneShotPlanning) or ensure ` +
|
|
27
|
+
`the active skill declares 'steps:' in its frontmatter.`);
|
|
28
|
+
}
|
|
29
|
+
const steps = meta.steps.map((s) => ({
|
|
30
|
+
id: s.id,
|
|
31
|
+
goal: s.goal,
|
|
32
|
+
agent: s.agent,
|
|
33
|
+
expectedTools: s.expectedTools,
|
|
34
|
+
status: 'pending',
|
|
35
|
+
}));
|
|
36
|
+
return {
|
|
37
|
+
steps,
|
|
38
|
+
rationale: `Steps declared by skill '${meta.name}'`,
|
|
39
|
+
createdAt: Date.now(),
|
|
40
|
+
source: 'skill-steps',
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
shouldReplan(_ctx, _lastResult) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
async rebuildPlan(_ctx, remaining) {
|
|
47
|
+
return {
|
|
48
|
+
steps: remaining,
|
|
49
|
+
createdAt: Date.now(),
|
|
50
|
+
source: 'skill-steps',
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=skill-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-steps.js","sourceRoot":"","sources":["../../../src/coordinator/planning/skill-steps.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,kBAAkB;IAIV;IAHV,IAAI,GAAG,aAAa,CAAC;IAE9B,YACmB,mBAEa,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe;QAFzC,qBAAgB,GAAhB,gBAAgB,CAEyB;IACzD,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CAAC,GAAwB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,sEAAsE;gBACpE,uEAAuE;gBACvE,wDAAwD,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,KAAK;YACL,SAAS,EAAE,4BAA4B,IAAI,CAAC,IAAI,GAAG;YACnD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAyB,EAAE,WAAuB;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAyB,EACzB,SAAqB;QAErB,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { NonStreamingLlm } from './adapters/non-streaming-llm.js';
|
|
|
10
10
|
export { OrchestratorError, SmartAgent, type SmartAgentConfig, type SmartAgentDeps, type SmartAgentRagStores, type SmartAgentReconfigureOptions, type SmartAgentResponse, type StopReason, } from './agent.js';
|
|
11
11
|
export { type BuilderMcpConfig, type BuilderPromptsConfig, SmartAgentBuilder, type SmartAgentBuilderConfig, type SmartAgentHandle, } from './builder.js';
|
|
12
12
|
export { ConfigWatcher, type ConfigWatcherOptions, type HotReloadableConfig, } from './config/config-watcher.js';
|
|
13
|
+
export { AutoActivation, ExplicitActivation, HybridDispatch, OneShotPlanning, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch, } from './coordinator/index.js';
|
|
13
14
|
export { HealthChecker, type HealthCheckerDeps, } from './health/health-checker.js';
|
|
14
15
|
export { HistoryMemory } from './history/history-memory.js';
|
|
15
16
|
export { HistorySummarizer } from './history/history-summarizer.js';
|
|
@@ -31,6 +32,7 @@ export { type TokenBucketConfig, TokenBucketRateLimiter, } from './resilience/to
|
|
|
31
32
|
export { NoopSessionManager } from './session/noop-session-manager.js';
|
|
32
33
|
export { SessionManager } from './session/session-manager.js';
|
|
33
34
|
export { ClaudeSkillManager, CodexSkillManager, FileSystemSkillManager, } from './skills/index.js';
|
|
35
|
+
export { SmartAgentSubAgent } from './subagent/smart-agent-subagent.js';
|
|
34
36
|
export { NoopTracer } from './tracer/noop-tracer.js';
|
|
35
37
|
export { LazyInitError, type LazyOptions, lazy } from './utils/lazy.js';
|
|
36
38
|
export { NoopValidator } from './validator/noop-validator.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;;;;;GAKG;AAKH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,sBAAsB,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EACV,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,10 @@ export { SmartAgentBuilder, } from './builder.js';
|
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
21
|
export { ConfigWatcher, } from './config/config-watcher.js';
|
|
22
22
|
// ---------------------------------------------------------------------------
|
|
23
|
+
// Coordinator strategies
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
export { AutoActivation, ExplicitActivation, HybridDispatch, OneShotPlanning, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch, } from './coordinator/index.js';
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
23
27
|
// Health
|
|
24
28
|
// ---------------------------------------------------------------------------
|
|
25
29
|
export { HealthChecker, } from './health/health-checker.js';
|
|
@@ -72,6 +76,10 @@ export { SessionManager } from './session/session-manager.js';
|
|
|
72
76
|
// ---------------------------------------------------------------------------
|
|
73
77
|
export { ClaudeSkillManager, CodexSkillManager, FileSystemSkillManager, } from './skills/index.js';
|
|
74
78
|
// ---------------------------------------------------------------------------
|
|
79
|
+
// SubAgent adapters
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
export { SmartAgentSubAgent } from './subagent/smart-agent-subagent.js';
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
75
83
|
// Tracer
|
|
76
84
|
// ---------------------------------------------------------------------------
|
|
77
85
|
export { NoopTracer } from './tracer/noop-tracer.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAC9E,OAAO,EAGL,UAAU,GAEX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,UAAU,GAOX,MAAM,YAAY,CAAC;AACpB,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO,EAGL,iBAAiB,GAGlB,MAAM,cAAc,CAAC;AACtB,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,aAAa,GAGd,MAAM,4BAA4B,CAAC;AACpC,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAC9E,OAAO,EAGL,UAAU,GAEX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,UAAU,GAOX,MAAM,YAAY,CAAC;AACpB,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO,EAGL,iBAAiB,GAGlB,MAAM,cAAc,CAAC;AACtB,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,aAAa,GAGd,MAAM,4BAA4B,CAAC;AACpC,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAC9E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAMpE,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EAGL,eAAe,GAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAC9E,OAAO,EAEL,2BAA2B,EAE3B,eAAe,EACf,iBAAiB,EAGjB,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAM7B,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EAEpB,cAAc,EACd,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAqB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,sBAAsB,GACvB,MAAM,2CAA2C,CAAC;AACnD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAoB,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAExE,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* The `tool-loop` stage streams. It uses `ctx.yield()` to push
|
|
16
16
|
* SSE chunks back to the caller. All other stages are batch operations.
|
|
17
17
|
*/
|
|
18
|
-
import type { CallOptions, IContextAssembler, IEmbedder, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, ILogger, IMcpClient, IQueryEmbedding, IQueryExpander, IRagProviderRegistry, IRagRegistry, IRequestLogger, ISkill, ISkillManager, ISubpromptClassifier, IToolCache, LlmStreamChunk, LlmTool, McpTool, Message, RagResult, Result, Subprompt, TimingEntry } from '@mcp-abap-adt/llm-agent';
|
|
18
|
+
import type { CallOptions, IContextAssembler, IEmbedder, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, ILogger, IMcpClient, IQueryEmbedding, IQueryExpander, IRagProviderRegistry, IRagRegistry, IRequestLogger, ISkill, ISkillManager, ISubpromptClassifier, IToolCache, LlmStreamChunk, LlmTool, McpTool, Message, Plan, RagResult, Result, StepResult, SubAgentRegistry, Subprompt, TimingEntry } from '@mcp-abap-adt/llm-agent';
|
|
19
19
|
import type { OrchestratorError, SmartAgentConfig, SmartAgentRagStores } from '../agent.js';
|
|
20
20
|
import type { IMetrics } from '../metrics/types.js';
|
|
21
21
|
import type { PendingToolResultsRegistry } from '../policy/pending-tool-results-registry.js';
|
|
@@ -115,5 +115,22 @@ export interface PipelineContext {
|
|
|
115
115
|
* streaming content and heartbeats back through the SSE connection.
|
|
116
116
|
*/
|
|
117
117
|
yield(chunk: Result<LlmStreamChunk, OrchestratorError>): void;
|
|
118
|
+
/** Subagent stage outputs written by SubAgentHandler. Keyed by output path. */
|
|
119
|
+
subResults?: Record<string, unknown>;
|
|
120
|
+
/** Subagent registry exposed to runtime stages (coordinator, subagent). */
|
|
121
|
+
subAgents?: SubAgentRegistry;
|
|
122
|
+
/**
|
|
123
|
+
* Runtime activation flag computed by the `coordinator-activate` stage from
|
|
124
|
+
* the configured IActivationStrategy with REAL ctx state (selectedSkills,
|
|
125
|
+
* subAgents). Coordinator and tool-loop stages gate on this via `when:`
|
|
126
|
+
* predicates so the activation decision honours runtime skill selection.
|
|
127
|
+
*/
|
|
128
|
+
coordinatorActive?: boolean;
|
|
129
|
+
/** Coordinator plan, if a coordinator stage ran. */
|
|
130
|
+
plan?: Plan;
|
|
131
|
+
/** Index of the step currently being executed by the coordinator. */
|
|
132
|
+
currentStepIdx?: number;
|
|
133
|
+
/** Per-step results captured by the coordinator, keyed by stepId. */
|
|
134
|
+
stepResults?: Record<string, StepResult>;
|
|
118
135
|
}
|
|
119
136
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/pipeline/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/pipeline/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* Additional custom stores can be passed via `ragStores` and are queried in parallel
|
|
24
24
|
* with built-ins. Stores can be added/removed at runtime via `rebuildStages()`.
|
|
25
25
|
*/
|
|
26
|
-
import type { CallOptions, LlmStreamChunk, LlmTool, Message, Result } from '@mcp-abap-adt/llm-agent';
|
|
26
|
+
import type { CallOptions, ICoordinatorConfig, LlmStreamChunk, LlmTool, Message, Result, SubAgentRegistry } from '@mcp-abap-adt/llm-agent';
|
|
27
27
|
import type { OrchestratorError } from '../agent.js';
|
|
28
28
|
import type { IPipeline, PipelineDeps, PipelineResult } from '../interfaces/pipeline.js';
|
|
29
29
|
/**
|
|
@@ -37,10 +37,30 @@ import type { IPipeline, PipelineDeps, PipelineResult } from '../interfaces/pipe
|
|
|
37
37
|
* const result = await pipeline.execute(input, history, options, yieldChunk);
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
|
+
/**
|
|
41
|
+
* Optional construction options for {@link DefaultPipeline}.
|
|
42
|
+
*/
|
|
43
|
+
export interface DefaultPipelineOptions {
|
|
44
|
+
/**
|
|
45
|
+
* Sub-agent registry to expose as a `sub_agent_call` tool via the default
|
|
46
|
+
* handler registry. When omitted or empty, no sub-agent handler is wired in.
|
|
47
|
+
*/
|
|
48
|
+
subAgents?: SubAgentRegistry;
|
|
49
|
+
/**
|
|
50
|
+
* Optional coordinator configuration. When `planning` and `dispatch`
|
|
51
|
+
* strategies are both supplied and the `activation` strategy fires at
|
|
52
|
+
* build time, the trailing `tool-loop` stage is swapped for a
|
|
53
|
+
* `coordinator` stage.
|
|
54
|
+
*/
|
|
55
|
+
coordinator?: ICoordinatorConfig;
|
|
56
|
+
}
|
|
40
57
|
export declare class DefaultPipeline implements IPipeline {
|
|
41
58
|
private deps;
|
|
42
59
|
private executor;
|
|
43
60
|
private stages;
|
|
61
|
+
private readonly subAgents?;
|
|
62
|
+
private readonly coordinator?;
|
|
63
|
+
constructor(options?: DefaultPipelineOptions);
|
|
44
64
|
private resolvedTracer;
|
|
45
65
|
private resolvedClassifier;
|
|
46
66
|
private resolvedAssembler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAO,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"default-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACf,MAAM,2BAA2B,CAAC;AA8BnC;;;;;;;;;;GAUG;AACH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;gBAEtC,OAAO,GAAE,sBAA2B;IAMhD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,qBAAqB,CAAoC;IACjE,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,uBAAuB,CAAsC;IACrE,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,qBAAqB,CAAoC;IACjE,OAAO,CAAC,uBAAuB,CAAsC;IAMrE,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAkD9B,OAAO,CACX,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,EACzB,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,KAAK,IAAI,EACtE,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,OAAO,CAAC,cAAc,CAAC;IAyB1B,aAAa,IAAI,IAAI;IAQrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA2GpB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAyFtB"}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
import { NoopQueryExpander, NoopToolCache, StreamingLlmCallStrategy, } from '@mcp-abap-adt/llm-agent';
|
|
27
27
|
import { LlmClassifier } from '../classifier/llm-classifier.js';
|
|
28
28
|
import { ContextAssembler } from '../context/context-assembler.js';
|
|
29
|
+
import { ExplicitActivation } from '../coordinator/activation/explicit.js';
|
|
29
30
|
import { NoopRequestLogger } from '../logger/noop-request-logger.js';
|
|
30
31
|
import { NoopMetrics } from '../metrics/noop-metrics.js';
|
|
31
32
|
import { PendingToolResultsRegistry } from '../policy/pending-tool-results-registry.js';
|
|
@@ -46,24 +47,16 @@ const DEFAULT_CONFIG = {
|
|
|
46
47
|
mode: 'smart',
|
|
47
48
|
ragQueryK: 10,
|
|
48
49
|
};
|
|
49
|
-
// ---------------------------------------------------------------------------
|
|
50
|
-
// DefaultPipeline
|
|
51
|
-
// ---------------------------------------------------------------------------
|
|
52
|
-
/**
|
|
53
|
-
* Standard IPipeline implementation that orchestrates the default SmartAgent
|
|
54
|
-
* request lifecycle via PipelineExecutor and built-in stage handlers.
|
|
55
|
-
*
|
|
56
|
-
* Usage:
|
|
57
|
-
* ```ts
|
|
58
|
-
* const pipeline = new DefaultPipeline();
|
|
59
|
-
* pipeline.initialize(deps);
|
|
60
|
-
* const result = await pipeline.execute(input, history, options, yieldChunk);
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
50
|
export class DefaultPipeline {
|
|
64
51
|
deps;
|
|
65
52
|
executor;
|
|
66
53
|
stages;
|
|
54
|
+
subAgents;
|
|
55
|
+
coordinator;
|
|
56
|
+
constructor(options = {}) {
|
|
57
|
+
this.subAgents = options.subAgents;
|
|
58
|
+
this.coordinator = options.coordinator;
|
|
59
|
+
}
|
|
67
60
|
// Cached defaults (created once in initialize, reused per request)
|
|
68
61
|
resolvedTracer;
|
|
69
62
|
resolvedClassifier;
|
|
@@ -96,7 +89,29 @@ export class DefaultPipeline {
|
|
|
96
89
|
this.resolvedRequestLogger = deps.requestLogger ?? new NoopRequestLogger();
|
|
97
90
|
this.resolvedLlmCallStrategy =
|
|
98
91
|
deps.llmCallStrategy ?? new StreamingLlmCallStrategy();
|
|
99
|
-
const
|
|
92
|
+
const coordPlanning = this.coordinator?.planning;
|
|
93
|
+
const coordDispatch = this.coordinator?.dispatch;
|
|
94
|
+
const coordinatorConfigured = coordPlanning != null && coordDispatch != null;
|
|
95
|
+
const registry = buildDefaultHandlerRegistry({
|
|
96
|
+
subAgents: this.subAgents,
|
|
97
|
+
coordinator: coordinatorConfigured && coordPlanning && coordDispatch
|
|
98
|
+
? {
|
|
99
|
+
planning: coordPlanning,
|
|
100
|
+
dispatch: coordDispatch,
|
|
101
|
+
maxSteps: this.coordinator?.maxSteps ?? 12,
|
|
102
|
+
maxRetriesPerStep: this.coordinator?.maxRetriesPerStep ?? 1,
|
|
103
|
+
failPolicy: this.coordinator?.failPolicy ?? 'abort',
|
|
104
|
+
}
|
|
105
|
+
: undefined,
|
|
106
|
+
// Default to ExplicitActivation when caller passes a coordinator config
|
|
107
|
+
// without an activation strategy. Matches SmartAgentBuilder.withCoordinator
|
|
108
|
+
// semantics: presence of coordinator config IS the opt-in signal.
|
|
109
|
+
// Without this default, `_buildStages()` would emit a `coordinator-activate`
|
|
110
|
+
// stage whose handler is unregistered → unknown-stage runtime error.
|
|
111
|
+
coordinatorActivation: coordinatorConfigured
|
|
112
|
+
? (this.coordinator?.activation ?? new ExplicitActivation())
|
|
113
|
+
: undefined,
|
|
114
|
+
});
|
|
100
115
|
this.executor = new PipelineExecutor(registry, this.resolvedTracer);
|
|
101
116
|
// Fixed stage list — only tools + history RAG stores
|
|
102
117
|
this.stages = this._buildStages();
|
|
@@ -193,7 +208,28 @@ export class DefaultPipeline {
|
|
|
193
208
|
config: { store: 'tools', queryText: 'toolQueryText' },
|
|
194
209
|
});
|
|
195
210
|
}
|
|
196
|
-
|
|
211
|
+
const coordinatorConfigured = this.coordinator?.planning != null && this.coordinator?.dispatch != null;
|
|
212
|
+
stages.push({ id: 'tool-select', type: 'tool-select' }, { id: 'assemble', type: 'assemble' });
|
|
213
|
+
if (coordinatorConfigured) {
|
|
214
|
+
// Runtime activation: `coordinator-activate` evaluates the configured
|
|
215
|
+
// IActivationStrategy AFTER skill-select has run, so it can see the
|
|
216
|
+
// real `ctx.selectedSkills` state (which build-time stage selection
|
|
217
|
+
// cannot). Coordinator and tool-loop are both in the list, gated by
|
|
218
|
+
// `when:` predicates that the executor evaluates per-request.
|
|
219
|
+
stages.push({ id: 'coordinator-activate', type: 'coordinator-activate' }, {
|
|
220
|
+
id: 'coordinator',
|
|
221
|
+
type: 'coordinator',
|
|
222
|
+
when: 'coordinatorActive',
|
|
223
|
+
}, {
|
|
224
|
+
id: 'tool-loop',
|
|
225
|
+
type: 'tool-loop',
|
|
226
|
+
when: '!coordinatorActive',
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
stages.push({ id: 'tool-loop', type: 'tool-loop' });
|
|
231
|
+
}
|
|
232
|
+
stages.push({ id: 'history-upsert', type: 'history-upsert' });
|
|
197
233
|
return stages;
|
|
198
234
|
}
|
|
199
235
|
/**
|
|
@@ -270,6 +306,8 @@ export class DefaultPipeline {
|
|
|
270
306
|
timing: [],
|
|
271
307
|
// Streaming callback
|
|
272
308
|
yield: yieldChunk,
|
|
309
|
+
// Subagent registry for coordinator/subagent stages (read by handlers).
|
|
310
|
+
subAgents: this.subAgents,
|
|
273
311
|
};
|
|
274
312
|
}
|
|
275
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-pipeline.js","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"default-pipeline.js","sourceRoot":"","sources":["../../src/pipeline/default-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoordinatorActivateHandler — runtime activation decision for the
|
|
3
|
+
* coordinator stage.
|
|
4
|
+
*
|
|
5
|
+
* Built-time stage selection cannot see runtime ctx (selectedSkills are
|
|
6
|
+
* populated only after `skill-select` runs). This handler evaluates the
|
|
7
|
+
* configured `IActivationStrategy` against REAL ctx state and writes
|
|
8
|
+
* `ctx.coordinatorActive`. Coordinator and tool-loop stages gate on this
|
|
9
|
+
* flag via `when:` predicates so the activation decision honours runtime
|
|
10
|
+
* skill selection.
|
|
11
|
+
*
|
|
12
|
+
* Reads: `ctx.subAgents`, `ctx.selectedSkills`.
|
|
13
|
+
* Writes: `ctx.coordinatorActive`.
|
|
14
|
+
*/
|
|
15
|
+
import type { IActivationStrategy } from '@mcp-abap-adt/llm-agent';
|
|
16
|
+
import type { ISpan } from '../../tracer/types.js';
|
|
17
|
+
import type { PipelineContext } from '../context.js';
|
|
18
|
+
import type { IStageHandler } from '../stage-handler.js';
|
|
19
|
+
export declare class CoordinatorActivateHandler implements IStageHandler {
|
|
20
|
+
private readonly activation;
|
|
21
|
+
constructor(activation: IActivationStrategy);
|
|
22
|
+
execute(ctx: PipelineContext, _rawConfig: Record<string, unknown>, _span: ISpan): Promise<boolean>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=coordinator-activate.d.ts.map
|