@mcp-abap-adt/llm-agent-libs 16.2.0 → 17.0.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/adapters/llm-provider-bridge.js +2 -2
- package/dist/adapters/llm-provider-bridge.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +48 -37
- package/dist/agent.js.map +1 -1
- package/dist/builder.d.ts +10 -0
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +17 -3
- package/dist/builder.js.map +1 -1
- package/dist/classifier/llm-classifier.d.ts.map +1 -1
- package/dist/classifier/llm-classifier.js +1 -0
- package/dist/classifier/llm-classifier.js.map +1 -1
- package/dist/coordinator/dag/abort-error-strategy.d.ts +7 -0
- package/dist/coordinator/dag/abort-error-strategy.d.ts.map +1 -0
- package/dist/coordinator/dag/abort-error-strategy.js +8 -0
- package/dist/coordinator/dag/abort-error-strategy.js.map +1 -0
- package/dist/coordinator/dag/compose-node-task.d.ts +8 -0
- package/dist/coordinator/dag/compose-node-task.d.ts.map +1 -0
- package/dist/coordinator/dag/compose-node-task.js +41 -0
- package/dist/coordinator/dag/compose-node-task.js.map +1 -0
- package/dist/coordinator/dag/dag-plan-interpreter.d.ts +9 -0
- package/dist/coordinator/dag/dag-plan-interpreter.d.ts.map +1 -0
- package/dist/coordinator/dag/dag-plan-interpreter.js +220 -0
- package/dist/coordinator/dag/dag-plan-interpreter.js.map +1 -0
- package/dist/coordinator/dag/index.d.ts +5 -0
- package/dist/coordinator/dag/index.d.ts.map +1 -0
- package/dist/coordinator/dag/index.js +5 -0
- package/dist/coordinator/dag/index.js.map +1 -0
- package/dist/coordinator/dag/llm-dag-planner.d.ts +17 -0
- package/dist/coordinator/dag/llm-dag-planner.d.ts.map +1 -0
- package/dist/coordinator/dag/llm-dag-planner.js +152 -0
- package/dist/coordinator/dag/llm-dag-planner.js.map +1 -0
- package/dist/coordinator/dag/llm-finalizer.d.ts +21 -0
- package/dist/coordinator/dag/llm-finalizer.d.ts.map +1 -0
- package/dist/coordinator/dag/llm-finalizer.js +77 -0
- package/dist/coordinator/dag/llm-finalizer.js.map +1 -0
- package/dist/coordinator/dag/llm-review-strategy.d.ts +17 -0
- package/dist/coordinator/dag/llm-review-strategy.d.ts.map +1 -0
- package/dist/coordinator/dag/llm-review-strategy.js +149 -0
- package/dist/coordinator/dag/llm-review-strategy.js.map +1 -0
- package/dist/coordinator/dag/noop-review-strategy.d.ts +8 -0
- package/dist/coordinator/dag/noop-review-strategy.d.ts.map +1 -0
- package/dist/coordinator/dag/noop-review-strategy.js +11 -0
- package/dist/coordinator/dag/noop-review-strategy.js.map +1 -0
- package/dist/coordinator/dag/passthrough-finalizer.d.ts +11 -0
- package/dist/coordinator/dag/passthrough-finalizer.d.ts.map +1 -0
- package/dist/coordinator/dag/passthrough-finalizer.js +13 -0
- package/dist/coordinator/dag/passthrough-finalizer.js.map +1 -0
- package/dist/coordinator/dag/render-ancestor-context.d.ts +8 -0
- package/dist/coordinator/dag/render-ancestor-context.d.ts.map +1 -0
- package/dist/coordinator/dag/render-ancestor-context.js +27 -0
- package/dist/coordinator/dag/render-ancestor-context.js.map +1 -0
- package/dist/coordinator/dag/replan-error-strategy.d.ts +15 -0
- package/dist/coordinator/dag/replan-error-strategy.d.ts.map +1 -0
- package/dist/coordinator/dag/replan-error-strategy.js +32 -0
- package/dist/coordinator/dag/replan-error-strategy.js.map +1 -0
- package/dist/coordinator/dag/reviewer-error-strategy.d.ts +15 -0
- package/dist/coordinator/dag/reviewer-error-strategy.d.ts.map +1 -0
- package/dist/coordinator/dag/reviewer-error-strategy.js +38 -0
- package/dist/coordinator/dag/reviewer-error-strategy.js.map +1 -0
- package/dist/coordinator/dag/splice-sub-plan.d.ts +12 -0
- package/dist/coordinator/dag/splice-sub-plan.d.ts.map +1 -0
- package/dist/coordinator/dag/splice-sub-plan.js +41 -0
- package/dist/coordinator/dag/splice-sub-plan.js.map +1 -0
- package/dist/coordinator/dag/subagent-state-oracle.d.ts +19 -0
- package/dist/coordinator/dag/subagent-state-oracle.d.ts.map +1 -0
- package/dist/coordinator/dag/subagent-state-oracle.js +31 -0
- package/dist/coordinator/dag/subagent-state-oracle.js.map +1 -0
- package/dist/coordinator/dag/template-finalizer.d.ts +11 -0
- package/dist/coordinator/dag/template-finalizer.d.ts.map +1 -0
- package/dist/coordinator/dag/template-finalizer.js +17 -0
- package/dist/coordinator/dag/template-finalizer.js.map +1 -0
- package/dist/coordinator/dispatch/subagent.d.ts.map +1 -1
- package/dist/coordinator/dispatch/subagent.js +6 -12
- package/dist/coordinator/dispatch/subagent.js.map +1 -1
- package/dist/coordinator/index.d.ts +6 -0
- package/dist/coordinator/index.d.ts.map +1 -1
- package/dist/coordinator/index.js +6 -0
- package/dist/coordinator/index.js.map +1 -1
- package/dist/coordinator/planning/one-shot.d.ts.map +1 -1
- package/dist/coordinator/planning/one-shot.js +14 -7
- package/dist/coordinator/planning/one-shot.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/logger/default-request-logger.d.ts +18 -6
- package/dist/logger/default-request-logger.d.ts.map +1 -1
- package/dist/logger/default-request-logger.js +15 -4
- package/dist/logger/default-request-logger.js.map +1 -1
- package/dist/logger/noop-request-logger.d.ts +10 -5
- package/dist/logger/noop-request-logger.d.ts.map +1 -1
- package/dist/logger/noop-request-logger.js +4 -3
- package/dist/logger/noop-request-logger.js.map +1 -1
- package/dist/logger/session-request-logger.d.ts +50 -0
- package/dist/logger/session-request-logger.d.ts.map +1 -0
- package/dist/logger/session-request-logger.js +151 -0
- package/dist/logger/session-request-logger.js.map +1 -0
- package/dist/pipeline/context.d.ts +8 -3
- package/dist/pipeline/context.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.d.ts +27 -4
- package/dist/pipeline/default-pipeline.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.js +42 -7
- package/dist/pipeline/default-pipeline.js.map +1 -1
- package/dist/pipeline/handlers/coordinator.d.ts +0 -3
- package/dist/pipeline/handlers/coordinator.d.ts.map +1 -1
- package/dist/pipeline/handlers/coordinator.js +33 -22
- package/dist/pipeline/handlers/coordinator.js.map +1 -1
- package/dist/pipeline/handlers/dag-coordinator.d.ts +47 -0
- package/dist/pipeline/handlers/dag-coordinator.d.ts.map +1 -0
- package/dist/pipeline/handlers/dag-coordinator.js +369 -0
- package/dist/pipeline/handlers/dag-coordinator.js.map +1 -0
- package/dist/pipeline/handlers/index.d.ts +7 -0
- package/dist/pipeline/handlers/index.d.ts.map +1 -1
- package/dist/pipeline/handlers/index.js +5 -1
- package/dist/pipeline/handlers/index.js.map +1 -1
- package/dist/pipeline/handlers/rag-query.d.ts.map +1 -1
- package/dist/pipeline/handlers/rag-query.js +1 -0
- package/dist/pipeline/handlers/rag-query.js.map +1 -1
- package/dist/pipeline/handlers/subagent.d.ts.map +1 -1
- package/dist/pipeline/handlers/subagent.js +0 -2
- package/dist/pipeline/handlers/subagent.js.map +1 -1
- package/dist/pipeline/handlers/summarize.d.ts.map +1 -1
- package/dist/pipeline/handlers/summarize.js +5 -0
- package/dist/pipeline/handlers/summarize.js.map +1 -1
- package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
- package/dist/pipeline/handlers/tool-loop.js +16 -0
- package/dist/pipeline/handlers/tool-loop.js.map +1 -1
- package/dist/pipeline/handlers/translate.d.ts.map +1 -1
- package/dist/pipeline/handlers/translate.js +1 -0
- package/dist/pipeline/handlers/translate.js.map +1 -1
- package/dist/pipeline/index.d.ts +2 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/session/session-graph-factory.d.ts +66 -0
- package/dist/session/session-graph-factory.d.ts.map +1 -0
- package/dist/session/session-graph-factory.js +63 -0
- package/dist/session/session-graph-factory.js.map +1 -0
- package/dist/session/session-graph.d.ts +54 -0
- package/dist/session/session-graph.d.ts.map +1 -0
- package/dist/session/session-graph.js +76 -0
- package/dist/session/session-graph.js.map +1 -0
- package/dist/session/session-registry.d.ts +89 -0
- package/dist/session/session-registry.d.ts.map +1 -0
- package/dist/session/session-registry.js +279 -0
- package/dist/session/session-registry.js.map +1 -0
- package/dist/subagent/direct-llm-subagent.d.ts.map +1 -1
- package/dist/subagent/direct-llm-subagent.js +0 -2
- package/dist/subagent/direct-llm-subagent.js.map +1 -1
- package/dist/subagent/smart-agent-subagent.d.ts.map +1 -1
- package/dist/subagent/smart-agent-subagent.js +3 -3
- package/dist/subagent/smart-agent-subagent.js.map +1 -1
- package/package.json +14 -14
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ErrorContext, ErrorReaction, IErrorStrategy, IReviewStrategy, PlanNode } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Error strategy that delegates recovery to the reviewer: on a node failure it
|
|
4
|
+
* asks the reviewer to replan the REMAINING objective against current state
|
|
5
|
+
* (`reviewExecutionFailure`), returning a `revise` reaction (whole-remainder
|
|
6
|
+
* swap) or `abort`. Stateless — the interpreter owns the per-run budget.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ReviewerErrorStrategy implements IErrorStrategy {
|
|
9
|
+
private readonly reviewer;
|
|
10
|
+
readonly maxReplans: number;
|
|
11
|
+
readonly name = "reviewer";
|
|
12
|
+
constructor(reviewer: IReviewStrategy, maxReplans?: number);
|
|
13
|
+
onNodeFailure(node: PlanNode, error: unknown, ctx: ErrorContext): Promise<ErrorReaction>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=reviewer-error-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer-error-strategy.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dag/reviewer-error-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAGxD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,UAAU;IAHrB,QAAQ,CAAC,IAAI,cAAc;gBAER,QAAQ,EAAE,eAAe,EACjC,UAAU,SAAI;IAGnB,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,aAAa,CAAC;CAwB1B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error strategy that delegates recovery to the reviewer: on a node failure it
|
|
3
|
+
* asks the reviewer to replan the REMAINING objective against current state
|
|
4
|
+
* (`reviewExecutionFailure`), returning a `revise` reaction (whole-remainder
|
|
5
|
+
* swap) or `abort`. Stateless — the interpreter owns the per-run budget.
|
|
6
|
+
*/
|
|
7
|
+
export class ReviewerErrorStrategy {
|
|
8
|
+
reviewer;
|
|
9
|
+
maxReplans;
|
|
10
|
+
name = 'reviewer';
|
|
11
|
+
constructor(reviewer, maxReplans = 4) {
|
|
12
|
+
this.reviewer = reviewer;
|
|
13
|
+
this.maxReplans = maxReplans;
|
|
14
|
+
}
|
|
15
|
+
async onNodeFailure(node, error, ctx) {
|
|
16
|
+
if (ctx.remainingReplans <= 0 ||
|
|
17
|
+
!this.reviewer.reviewExecutionFailure ||
|
|
18
|
+
!ctx.plan ||
|
|
19
|
+
!ctx.completedResults) {
|
|
20
|
+
return { action: 'abort' };
|
|
21
|
+
}
|
|
22
|
+
const decision = await this.reviewer.reviewExecutionFailure({
|
|
23
|
+
objective: ctx.plan.objective,
|
|
24
|
+
plan: ctx.plan,
|
|
25
|
+
trace: ctx.completedResults,
|
|
26
|
+
failedNodeId: node.id,
|
|
27
|
+
error: error instanceof Error ? error.message : String(error),
|
|
28
|
+
agents: ctx.agents,
|
|
29
|
+
sessionId: ctx.sessionId,
|
|
30
|
+
signal: ctx.signal,
|
|
31
|
+
});
|
|
32
|
+
if (decision.action === 'revise') {
|
|
33
|
+
return { action: 'revise', revisedPlan: decision.revisedPlan };
|
|
34
|
+
}
|
|
35
|
+
return { action: 'abort' };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=reviewer-error-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer-error-strategy.js","sourceRoot":"","sources":["../../../src/coordinator/dag/reviewer-error-strategy.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAGb;IACR;IAHF,IAAI,GAAG,UAAU,CAAC;IAC3B,YACmB,QAAyB,EACjC,aAAa,CAAC;QADN,aAAQ,GAAR,QAAQ,CAAiB;QACjC,eAAU,GAAV,UAAU,CAAI;IACtB,CAAC;IAEJ,KAAK,CAAC,aAAa,CACjB,IAAc,EACd,KAAc,EACd,GAAiB;QAEjB,IACE,GAAG,CAAC,gBAAgB,IAAI,CAAC;YACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB;YACrC,CAAC,GAAG,CAAC,IAAI;YACT,CAAC,GAAG,CAAC,gBAAgB,EACrB,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC1D,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;YAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,gBAAgB;YAC3B,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DagPlan } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Replace node `nodeId` in `plan` with the nodes of `subPlan`, flat (no nesting):
|
|
4
|
+
* - sub-plan node ids are namespaced `${nodeId}:${id}` (collision-safe);
|
|
5
|
+
* - sub-plan ROOT nodes (no intra-sub deps) inherit the replaced node's
|
|
6
|
+
* `dependsOn` AND `needsInput`;
|
|
7
|
+
* - consumers that depended on `nodeId` now depend on the sub-plan's TERMINAL
|
|
8
|
+
* nodes (sub nodes nothing else in the sub-plan depends on).
|
|
9
|
+
* Returns a new DagPlan (no mutation of the input).
|
|
10
|
+
*/
|
|
11
|
+
export declare function spliceSubPlan(plan: DagPlan, nodeId: string, subPlan: DagPlan): DagPlan;
|
|
12
|
+
//# sourceMappingURL=splice-sub-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splice-sub-plan.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dag/splice-sub-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,OAAO,CAkCT"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replace node `nodeId` in `plan` with the nodes of `subPlan`, flat (no nesting):
|
|
3
|
+
* - sub-plan node ids are namespaced `${nodeId}:${id}` (collision-safe);
|
|
4
|
+
* - sub-plan ROOT nodes (no intra-sub deps) inherit the replaced node's
|
|
5
|
+
* `dependsOn` AND `needsInput`;
|
|
6
|
+
* - consumers that depended on `nodeId` now depend on the sub-plan's TERMINAL
|
|
7
|
+
* nodes (sub nodes nothing else in the sub-plan depends on).
|
|
8
|
+
* Returns a new DagPlan (no mutation of the input).
|
|
9
|
+
*/
|
|
10
|
+
export function spliceSubPlan(plan, nodeId, subPlan) {
|
|
11
|
+
const replaced = plan.nodes.find((n) => n.id === nodeId);
|
|
12
|
+
if (!replaced)
|
|
13
|
+
return plan;
|
|
14
|
+
const ns = (id) => `${nodeId}:${id}`;
|
|
15
|
+
const subDependedOn = new Set(subPlan.nodes.flatMap((n) => n.dependsOn ?? []));
|
|
16
|
+
const terminals = subPlan.nodes
|
|
17
|
+
.filter((n) => !subDependedOn.has(n.id))
|
|
18
|
+
.map((n) => ns(n.id));
|
|
19
|
+
const inheritedDeps = replaced.dependsOn ?? [];
|
|
20
|
+
const splicedSubNodes = subPlan.nodes.map((n) => {
|
|
21
|
+
const intra = (n.dependsOn ?? []).map(ns);
|
|
22
|
+
const isRoot = (n.dependsOn ?? []).length === 0;
|
|
23
|
+
return {
|
|
24
|
+
...n,
|
|
25
|
+
id: ns(n.id),
|
|
26
|
+
dependsOn: isRoot ? inheritedDeps : intra,
|
|
27
|
+
needsInput: isRoot ? (replaced.needsInput ?? n.needsInput) : n.needsInput,
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
const rest = plan.nodes
|
|
31
|
+
.filter((n) => n.id !== nodeId)
|
|
32
|
+
.map((n) => {
|
|
33
|
+
const deps = n.dependsOn ?? [];
|
|
34
|
+
if (!deps.includes(nodeId))
|
|
35
|
+
return n;
|
|
36
|
+
const rewired = deps.filter((d) => d !== nodeId).concat(terminals);
|
|
37
|
+
return { ...n, dependsOn: rewired };
|
|
38
|
+
});
|
|
39
|
+
return { ...plan, nodes: [...rest, ...splicedSubNodes] };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=splice-sub-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splice-sub-plan.js","sourceRoot":"","sources":["../../../src/coordinator/dag/splice-sub-plan.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAa,EACb,MAAc,EACd,OAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;IAE7C,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAChD,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAE/C,MAAM,eAAe,GAAe,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAChD,OAAO;YACL,GAAG,CAAC;YACJ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;YACzC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;SAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IStateOracle, ISubAgent, StateOracleInput, StateOracleResult } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Adapter wrapping a raw ISubAgent as an IStateOracle. The wrapped
|
|
4
|
+
* subagent runs a full pipeline whose LLM activity is logged by its
|
|
5
|
+
* own handlers under their own component labels (`tool-loop`,
|
|
6
|
+
* `classifier`, …) via the SHARED session requestLogger keyed on the
|
|
7
|
+
* forwarded traceId. To avoid double-counting, this adapter
|
|
8
|
+
* intentionally returns `usage: undefined`; the handler's
|
|
9
|
+
* `logRoleUsage('oracle', …)` is therefore a no-op for subagent-backed
|
|
10
|
+
* oracles. A pure-LLM IStateOracle implementation that bypasses
|
|
11
|
+
* pipeline logging would populate `usage` normally.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SubAgentStateOracle implements IStateOracle {
|
|
14
|
+
private readonly inner;
|
|
15
|
+
constructor(inner: ISubAgent);
|
|
16
|
+
get name(): string;
|
|
17
|
+
query(input: StateOracleInput): Promise<StateOracleResult>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=subagent-state-oracle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-state-oracle.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dag/subagent-state-oracle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAUjE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter wrapping a raw ISubAgent as an IStateOracle. The wrapped
|
|
3
|
+
* subagent runs a full pipeline whose LLM activity is logged by its
|
|
4
|
+
* own handlers under their own component labels (`tool-loop`,
|
|
5
|
+
* `classifier`, …) via the SHARED session requestLogger keyed on the
|
|
6
|
+
* forwarded traceId. To avoid double-counting, this adapter
|
|
7
|
+
* intentionally returns `usage: undefined`; the handler's
|
|
8
|
+
* `logRoleUsage('oracle', …)` is therefore a no-op for subagent-backed
|
|
9
|
+
* oracles. A pure-LLM IStateOracle implementation that bypasses
|
|
10
|
+
* pipeline logging would populate `usage` normally.
|
|
11
|
+
*/
|
|
12
|
+
export class SubAgentStateOracle {
|
|
13
|
+
inner;
|
|
14
|
+
constructor(inner) {
|
|
15
|
+
this.inner = inner;
|
|
16
|
+
}
|
|
17
|
+
get name() {
|
|
18
|
+
return this.inner.name;
|
|
19
|
+
}
|
|
20
|
+
async query(input) {
|
|
21
|
+
const res = await this.inner.run({
|
|
22
|
+
task: input.query,
|
|
23
|
+
sessionId: input.sessionId,
|
|
24
|
+
signal: input.signal,
|
|
25
|
+
trace: input.trace,
|
|
26
|
+
sessionLogger: input.sessionLogger,
|
|
27
|
+
});
|
|
28
|
+
return { answer: res.output, usage: undefined };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=subagent-state-oracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-state-oracle.js","sourceRoot":"","sources":["../../../src/coordinator/dag/subagent-state-oracle.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;IAAG,CAAC;IAEjD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FinalizerInput, FinalizerResult, IFinalizer } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Deterministic markdown join over the execution trace. No LLM. Useful
|
|
4
|
+
* when the plan is already shaped per-section and the answer is just
|
|
5
|
+
* the concatenation of the section outputs.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TemplateFinalizer implements IFinalizer {
|
|
8
|
+
readonly name = "template";
|
|
9
|
+
finalize(input: FinalizerInput): Promise<FinalizerResult>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=template-finalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-finalizer.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dag/template-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,QAAQ,CAAC,IAAI,cAAc;IAErB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CAQhE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic markdown join over the execution trace. No LLM. Useful
|
|
3
|
+
* when the plan is already shaped per-section and the answer is just
|
|
4
|
+
* the concatenation of the section outputs.
|
|
5
|
+
*/
|
|
6
|
+
export class TemplateFinalizer {
|
|
7
|
+
name = 'template';
|
|
8
|
+
async finalize(input) {
|
|
9
|
+
let out = '';
|
|
10
|
+
for (const t of input.executionTrace) {
|
|
11
|
+
out += `# Node ${t.nodeId} — ${t.goal}\n${t.output}\n\n`;
|
|
12
|
+
}
|
|
13
|
+
input.onPartial?.({ kind: 'content', delta: out });
|
|
14
|
+
return { output: out };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=template-finalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-finalizer.js","sourceRoot":"","sources":["../../../src/coordinator/dag/template-finalizer.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,UAAU,CAAC;IAE3B,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACrC,GAAG,IAAI,UAAU,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dispatch/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAF5C,QAAQ,CAAC,IAAI,cAAc;gBAEE,cAAc,CAAC,EAAE,uBAAuB,YAAA;IAE/D,QAAQ,CACZ,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../../src/coordinator/dispatch/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAF5C,QAAQ,CAAC,IAAI,cAAc;gBAEE,cAAc,CAAC,EAAE,uBAAuB,YAAA;IAE/D,QAAQ,CACZ,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC;CAkGvB"}
|
|
@@ -36,14 +36,12 @@ export class SubAgentDispatch {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
const task = composeTask(step, ctx);
|
|
39
|
-
const childLayer = (ctx.layer ?? 0) + 1;
|
|
40
39
|
let context;
|
|
41
40
|
if (this.contextBuilder) {
|
|
42
41
|
const built = await this.contextBuilder.build({
|
|
43
42
|
task,
|
|
44
43
|
step,
|
|
45
44
|
agent: sub,
|
|
46
|
-
layer: childLayer,
|
|
47
45
|
inputText: ctx.inputText,
|
|
48
46
|
sessionId: ctx.sessionId,
|
|
49
47
|
signal: ctx.signal,
|
|
@@ -68,27 +66,23 @@ export class SubAgentDispatch {
|
|
|
68
66
|
context,
|
|
69
67
|
sessionId: ctx.sessionId,
|
|
70
68
|
signal: ctx.signal,
|
|
71
|
-
layer: childLayer,
|
|
72
69
|
});
|
|
73
|
-
// Epicfail propagation: do NOT retry, do NOT transform —
|
|
74
|
-
//
|
|
70
|
+
// Epicfail propagation: do NOT retry, do NOT transform — surface the
|
|
71
|
+
// flat trace upward in StepResult unchanged (or build one if absent).
|
|
75
72
|
if (res.errorClass === 'epicfail') {
|
|
76
|
-
const
|
|
77
|
-
const wrappedTrace = {
|
|
78
|
-
layer: ctx.layer ?? 0,
|
|
73
|
+
const trace = res.epicFailTrace ?? {
|
|
79
74
|
stepId: step.id,
|
|
80
75
|
agentName,
|
|
81
76
|
attempts: [],
|
|
82
|
-
originalError:
|
|
83
|
-
childTrace,
|
|
77
|
+
originalError: `epicfail from '${agentName}'`,
|
|
84
78
|
};
|
|
85
79
|
return {
|
|
86
80
|
stepId: step.id,
|
|
87
81
|
output: '',
|
|
88
82
|
durationMs: Date.now() - started,
|
|
89
83
|
ok: false,
|
|
90
|
-
error: `epicfail from '${agentName}': ${
|
|
91
|
-
epicFailTrace:
|
|
84
|
+
error: `epicfail from '${agentName}': ${trace.originalError}`,
|
|
85
|
+
epicFailTrace: trace,
|
|
92
86
|
};
|
|
93
87
|
}
|
|
94
88
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/coordinator/dispatch/subagent.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IAGE;IAFpB,IAAI,GAAG,UAAU,CAAC;IAE3B,YAA6B,cAAwC;QAAxC,mBAAc,GAAd,cAAc,CAA0B;IAAG,CAAC;IAEzE,KAAK,CAAC,QAAQ,CACZ,IAAc,EACd,GAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,CAAC;gBACb,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,2BAA2B,IAAI,CAAC,EAAE,8CAA8C;aACxF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,CAAC;gBACb,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,4BAA4B,SAAS,kCAC1C,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MACzC,GAAG;aACJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpC,
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/coordinator/dispatch/subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export { AutoActivation } from './activation/auto.js';
|
|
2
2
|
export { ExplicitActivation } from './activation/explicit.js';
|
|
3
|
+
export { AbortErrorStrategy } from './dag/abort-error-strategy.js';
|
|
4
|
+
export { DagPlanInterpreter } from './dag/dag-plan-interpreter.js';
|
|
5
|
+
export { LlmDagPlanner } from './dag/llm-dag-planner.js';
|
|
6
|
+
export { LlmReviewStrategy } from './dag/llm-review-strategy.js';
|
|
7
|
+
export { NoopReviewStrategy } from './dag/noop-review-strategy.js';
|
|
8
|
+
export { ReplanErrorStrategy } from './dag/replan-error-strategy.js';
|
|
3
9
|
export { HybridDispatch } from './dispatch/hybrid.js';
|
|
4
10
|
export { SelfDispatch } from './dispatch/self.js';
|
|
5
11
|
export { SubAgentDispatch } from './dispatch/subagent.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coordinator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coordinator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export { AutoActivation } from './activation/auto.js';
|
|
2
2
|
export { ExplicitActivation } from './activation/explicit.js';
|
|
3
|
+
export { AbortErrorStrategy } from './dag/abort-error-strategy.js';
|
|
4
|
+
export { DagPlanInterpreter } from './dag/dag-plan-interpreter.js';
|
|
5
|
+
export { LlmDagPlanner } from './dag/llm-dag-planner.js';
|
|
6
|
+
export { LlmReviewStrategy } from './dag/llm-review-strategy.js';
|
|
7
|
+
export { NoopReviewStrategy } from './dag/noop-review-strategy.js';
|
|
8
|
+
export { ReplanErrorStrategy } from './dag/replan-error-strategy.js';
|
|
3
9
|
export { HybridDispatch } from './dispatch/hybrid.js';
|
|
4
10
|
export { SelfDispatch } from './dispatch/self.js';
|
|
5
11
|
export { SubAgentDispatch } from './dispatch/subagent.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/coordinator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/coordinator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +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;
|
|
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;IAkG/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"}
|
|
@@ -24,6 +24,7 @@ review, etc.).
|
|
|
24
24
|
Emit a plan-level "objective" (the shared purpose) so all steps stay aligned.
|
|
25
25
|
For each step, choose the best agent from the list (or omit "agent" if no specialist fits).
|
|
26
26
|
If the request is too ambiguous to plan, respond with ONLY {"clarification":"<your question>"}.
|
|
27
|
+
If the request needs no decomposition (it can be answered directly without breaking it into steps), return an empty steps array: {"steps":[]}.
|
|
27
28
|
Otherwise respond with ONLY a JSON object of shape:
|
|
28
29
|
{"objective":"...","steps":[{"id":"step-1","goal":"...","agent":"optional-name","needsInput":false}],"rationale":"..."}
|
|
29
30
|
|
|
@@ -37,9 +38,12 @@ ${agentsBlock || '(none — use self-dispatch)'}${skillBlock}`;
|
|
|
37
38
|
throw response.error;
|
|
38
39
|
const jsonText = extractJson(response.value.content);
|
|
39
40
|
const parsed = JSON.parse(jsonText);
|
|
41
|
+
// A clarification must stand alone. Combined with any steps array (incl. [])
|
|
42
|
+
// it is ambiguous mixed output → fail loud, keeping a clean three-way union:
|
|
43
|
+
// {clarification} | {steps:[...]} | {steps:[]} (answer-directly).
|
|
40
44
|
if (parsed.clarification) {
|
|
41
|
-
if ((parsed.steps
|
|
42
|
-
throw new Error(`Planner returned both a clarification and steps (ambiguous): ${jsonText.slice(0, 200)}`);
|
|
45
|
+
if (Array.isArray(parsed.steps)) {
|
|
46
|
+
throw new Error(`Planner returned both a clarification and a steps array (ambiguous): ${jsonText.slice(0, 200)}`);
|
|
43
47
|
}
|
|
44
48
|
return {
|
|
45
49
|
steps: [],
|
|
@@ -48,11 +52,14 @@ ${agentsBlock || '(none — use self-dispatch)'}${skillBlock}`;
|
|
|
48
52
|
source: 'planner-llm',
|
|
49
53
|
};
|
|
50
54
|
}
|
|
51
|
-
//
|
|
52
|
-
// An empty
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
// A missing / non-array `steps` is malformed → fail loud
|
|
56
|
+
// (→ COORDINATOR_PLAN_FAILED). An explicit empty array `steps: []` is the
|
|
57
|
+
// answer-directly signal and is allowed through (the for-loop below is a
|
|
58
|
+
// no-op for it). The empty plan is consumed by the CoordinatorHandler
|
|
59
|
+
// answer-directly branch (#155 Task 2), which self-dispatches the original
|
|
60
|
+
// request; this planner only produces the signal.
|
|
61
|
+
if (!Array.isArray(parsed.steps)) {
|
|
62
|
+
throw new Error(`Planner returned no steps array and no clarification: ${jsonText.slice(0, 200)}`);
|
|
56
63
|
}
|
|
57
64
|
for (const s of parsed.steps) {
|
|
58
65
|
if (typeof s.goal !== 'string' || s.goal.trim() === '') {
|
|
@@ -1 +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
|
|
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;;;;;;;;;;;;;;EAcvB,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,CAUjC,CAAC;QAEF,6EAA6E;QAC7E,6EAA6E;QAC7E,kEAAkE;QAClE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,wEAAwE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACjG,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,aAAa;aACtB,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,2EAA2E;QAC3E,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,yDAAyD,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,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,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ 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 {
|
|
13
|
+
export { FINALIZER_SYSTEM, LlmFinalizer, PassthroughFinalizer, SubAgentStateOracle, TemplateFinalizer, } from './coordinator/dag/index.js';
|
|
14
|
+
export { AbortErrorStrategy, AutoActivation, DagPlanInterpreter, ExplicitActivation, HybridDispatch, LlmDagPlanner, LlmReviewStrategy, NoopReviewStrategy, OneShotPlanning, ReplanErrorStrategy, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch, } from './coordinator/index.js';
|
|
14
15
|
export { HealthChecker, type HealthCheckerDeps, } from './health/health-checker.js';
|
|
15
16
|
export { HistoryMemory } from './history/history-memory.js';
|
|
16
17
|
export { HistorySummarizer } from './history/history-summarizer.js';
|
|
@@ -20,7 +21,7 @@ export { NoopRequestLogger } from './logger/noop-request-logger.js';
|
|
|
20
21
|
export { SessionLogger } from './logger/session-logger.js';
|
|
21
22
|
export { type CounterSnapshot, type HistogramSnapshot, InMemoryMetrics, type MetricsSnapshot, } from './metrics/in-memory-metrics.js';
|
|
22
23
|
export { NoopMetrics } from './metrics/noop-metrics.js';
|
|
23
|
-
export { type BuiltInStageType, buildDefaultHandlerRegistry, type ControlFlowType, DefaultPipeline, evaluateCondition, type IStageHandler, type PipelineContext, PipelineExecutor, type StageDefinition, type StageType, } from './pipeline/index.js';
|
|
24
|
+
export { type BuiltInStageType, buildDefaultHandlerRegistry, type ControlFlowType, type DagCoordinatorHandlerDeps, DefaultPipeline, type DefaultPipelineOptions, evaluateCondition, type IStageHandler, type PipelineContext, PipelineExecutor, type StageDefinition, type StageType, } from './pipeline/index.js';
|
|
24
25
|
export { DEFAULT_TOOL_SELECTION, ScoreThresholdToolSelection, TopKToolSelection, } from './pipeline/tool-selection/index.js';
|
|
25
26
|
export type { IPluginLoader, LoadedPlugins, PluginExports, } from './plugins/index.js';
|
|
26
27
|
export { emptyLoadedPlugins, FileSystemPluginLoader, type FileSystemPluginLoaderConfig, getDefaultPluginDirs, loadPlugins, mergePluginExports, } from './plugins/index.js';
|
|
@@ -31,7 +32,12 @@ export { RateLimiterLlm } from './resilience/rate-limiter-llm.js';
|
|
|
31
32
|
export { RetryLlm, type RetryOptions } from './resilience/retry-llm.js';
|
|
32
33
|
export { type TokenBucketConfig, TokenBucketRateLimiter, } from './resilience/token-bucket-rate-limiter.js';
|
|
33
34
|
export { NoopSessionManager } from './session/noop-session-manager.js';
|
|
35
|
+
export { SessionGraph } from './session/session-graph.js';
|
|
36
|
+
export type { SessionAgentParts, SessionGraphFactoryOptions, SessionGraphIdentity, } from './session/session-graph-factory.js';
|
|
37
|
+
export { SessionGraphFactory } from './session/session-graph-factory.js';
|
|
34
38
|
export { SessionManager } from './session/session-manager.js';
|
|
39
|
+
export type { SessionGraphSource, SessionRegistryOptions, } from './session/session-registry.js';
|
|
40
|
+
export { SessionRegistry } from './session/session-registry.js';
|
|
35
41
|
export { ClaudeSkillManager, CodexSkillManager, FileSystemSkillManager, } from './skills/index.js';
|
|
36
42
|
export { DefaultSubAgentContextBuilder, type DefaultSubAgentContextBuilderConfig, type SubAgentRetrievalSource, } from './subagent/default-context-builder.js';
|
|
37
43
|
export { DirectLlmSubAgent, type DirectLlmSubAgentOptions, } from './subagent/direct-llm-subagent.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -19,10 +19,11 @@ export { SmartAgentBuilder, } from './builder.js';
|
|
|
19
19
|
// Config
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
21
|
export { ConfigWatcher, } from './config/config-watcher.js';
|
|
22
|
+
export { FINALIZER_SYSTEM, LlmFinalizer, PassthroughFinalizer, SubAgentStateOracle, TemplateFinalizer, } from './coordinator/dag/index.js';
|
|
22
23
|
// ---------------------------------------------------------------------------
|
|
23
24
|
// Coordinator strategies
|
|
24
25
|
// ---------------------------------------------------------------------------
|
|
25
|
-
export { AutoActivation, ExplicitActivation, HybridDispatch, OneShotPlanning, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch, } from './coordinator/index.js';
|
|
26
|
+
export { AbortErrorStrategy, AutoActivation, DagPlanInterpreter, ExplicitActivation, HybridDispatch, LlmDagPlanner, LlmReviewStrategy, NoopReviewStrategy, OneShotPlanning, ReplanErrorStrategy, ReplanOnErrorPlanning, SelfDispatch, SkillStepsPlanning, SubAgentDispatch, } from './coordinator/index.js';
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
27
28
|
// Health
|
|
28
29
|
// ---------------------------------------------------------------------------
|
|
@@ -71,7 +72,10 @@ export { TokenBucketRateLimiter, } from './resilience/token-bucket-rate-limiter.
|
|
|
71
72
|
// Session
|
|
72
73
|
// ---------------------------------------------------------------------------
|
|
73
74
|
export { NoopSessionManager } from './session/noop-session-manager.js';
|
|
75
|
+
export { SessionGraph } from './session/session-graph.js';
|
|
76
|
+
export { SessionGraphFactory } from './session/session-graph-factory.js';
|
|
74
77
|
export { SessionManager } from './session/session-manager.js';
|
|
78
|
+
export { SessionRegistry } from './session/session-registry.js';
|
|
75
79
|
// ---------------------------------------------------------------------------
|
|
76
80
|
// Skills
|
|
77
81
|
// ---------------------------------------------------------------------------
|
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,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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type { IRequestLogger, LlmCallEntry, RagQueryEntry, RequestSummary, ToolCallEntry } from '@mcp-abap-adt/llm-agent';
|
|
1
|
+
import type { IRequestLogger, LlmCallEntry, LlmComponent, RagQueryEntry, RequestSummary, TokenCategory, ToolCallEntry } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
/**
|
|
3
|
+
* Component → token category mapping (shared with SessionRequestLogger so
|
|
4
|
+
* /v1/usage categorizes per-session entries the same way single-request
|
|
5
|
+
* deployments do). See review MEDIUM #4.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CATEGORY_MAP: Record<LlmComponent, TokenCategory>;
|
|
2
8
|
export declare class DefaultRequestLogger implements IRequestLogger {
|
|
3
9
|
private initLlmCalls;
|
|
4
10
|
private requestLlmCalls;
|
|
@@ -6,12 +12,18 @@ export declare class DefaultRequestLogger implements IRequestLogger {
|
|
|
6
12
|
private toolCallEntries;
|
|
7
13
|
private requestStartMs;
|
|
8
14
|
private requestDurationMs;
|
|
9
|
-
startRequest(): void;
|
|
10
|
-
endRequest(): void;
|
|
15
|
+
startRequest(_requestId?: string): void;
|
|
16
|
+
endRequest(_requestId?: string): void;
|
|
17
|
+
/** Single-request logger has no nesting/delta map — dropRequest is a no-op. */
|
|
18
|
+
dropRequest(_requestId?: string): void;
|
|
11
19
|
logLlmCall(entry: LlmCallEntry): void;
|
|
12
|
-
logRagQuery(entry: RagQueryEntry
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
logRagQuery(entry: RagQueryEntry & {
|
|
21
|
+
requestId?: string;
|
|
22
|
+
}): void;
|
|
23
|
+
logToolCall(entry: ToolCallEntry & {
|
|
24
|
+
requestId?: string;
|
|
25
|
+
}): void;
|
|
26
|
+
getSummary(_requestId?: string): RequestSummary;
|
|
15
27
|
reset(): void;
|
|
16
28
|
}
|
|
17
29
|
//# sourceMappingURL=default-request-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-request-logger.d.ts","sourceRoot":"","sources":["../../src/logger/default-request-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"default-request-logger.d.ts","sourceRoot":"","sources":["../../src/logger/default-request-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EAEd,aAAa,EACb,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,CAW5D,CAAC;AAaF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAE9B,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAMrC,+EAA+E;IAC/E,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAEtC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQrC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIhE,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIhE,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc;IA8B/C,KAAK,IAAI,IAAI;CAQd"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Component → token category mapping (shared with SessionRequestLogger so
|
|
3
|
+
* /v1/usage categorizes per-session entries the same way single-request
|
|
4
|
+
* deployments do). See review MEDIUM #4.
|
|
5
|
+
*/
|
|
6
|
+
export const CATEGORY_MAP = {
|
|
2
7
|
'tool-loop': 'request',
|
|
3
8
|
classifier: 'auxiliary',
|
|
4
9
|
translate: 'auxiliary',
|
|
5
10
|
'query-expander': 'auxiliary',
|
|
6
11
|
helper: 'auxiliary',
|
|
7
12
|
embedding: 'initialization',
|
|
13
|
+
planner: 'auxiliary',
|
|
14
|
+
reviewer: 'auxiliary',
|
|
15
|
+
finalizer: 'auxiliary',
|
|
16
|
+
oracle: 'auxiliary',
|
|
8
17
|
};
|
|
9
18
|
function emptyBucket() {
|
|
10
19
|
return { promptTokens: 0, completionTokens: 0, totalTokens: 0, requests: 0 };
|
|
@@ -22,18 +31,20 @@ export class DefaultRequestLogger {
|
|
|
22
31
|
toolCallEntries = [];
|
|
23
32
|
requestStartMs = 0;
|
|
24
33
|
requestDurationMs = 0;
|
|
25
|
-
startRequest() {
|
|
34
|
+
startRequest(_requestId) {
|
|
26
35
|
this.requestLlmCalls = [];
|
|
27
36
|
this.ragQueryEntries = [];
|
|
28
37
|
this.toolCallEntries = [];
|
|
29
38
|
this.requestDurationMs = 0;
|
|
30
39
|
this.requestStartMs = Date.now();
|
|
31
40
|
}
|
|
32
|
-
endRequest() {
|
|
41
|
+
endRequest(_requestId) {
|
|
33
42
|
this.requestDurationMs = this.requestStartMs
|
|
34
43
|
? Date.now() - this.requestStartMs
|
|
35
44
|
: 0;
|
|
36
45
|
}
|
|
46
|
+
/** Single-request logger has no nesting/delta map — dropRequest is a no-op. */
|
|
47
|
+
dropRequest(_requestId) { }
|
|
37
48
|
logLlmCall(entry) {
|
|
38
49
|
if (entry.scope === 'initialization') {
|
|
39
50
|
this.initLlmCalls.push(entry);
|
|
@@ -48,7 +59,7 @@ export class DefaultRequestLogger {
|
|
|
48
59
|
logToolCall(entry) {
|
|
49
60
|
this.toolCallEntries.push(entry);
|
|
50
61
|
}
|
|
51
|
-
getSummary() {
|
|
62
|
+
getSummary(_requestId) {
|
|
52
63
|
const byModel = {};
|
|
53
64
|
const byComponent = {};
|
|
54
65
|
const byCategory = {};
|