@mcp-abap-adt/llm-agent-libs 16.2.0 → 18.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.
Files changed (198) hide show
  1. package/dist/adapters/llm-provider-bridge.js +2 -2
  2. package/dist/adapters/llm-provider-bridge.js.map +1 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +48 -37
  5. package/dist/agent.js.map +1 -1
  6. package/dist/builder.d.ts +19 -0
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +29 -3
  9. package/dist/builder.js.map +1 -1
  10. package/dist/classifier/llm-classifier.d.ts.map +1 -1
  11. package/dist/classifier/llm-classifier.js +1 -0
  12. package/dist/classifier/llm-classifier.js.map +1 -1
  13. package/dist/coordinator/dag/abort-error-strategy.d.ts +7 -0
  14. package/dist/coordinator/dag/abort-error-strategy.d.ts.map +1 -0
  15. package/dist/coordinator/dag/abort-error-strategy.js +8 -0
  16. package/dist/coordinator/dag/abort-error-strategy.js.map +1 -0
  17. package/dist/coordinator/dag/compose-node-task.d.ts +8 -0
  18. package/dist/coordinator/dag/compose-node-task.d.ts.map +1 -0
  19. package/dist/coordinator/dag/compose-node-task.js +41 -0
  20. package/dist/coordinator/dag/compose-node-task.js.map +1 -0
  21. package/dist/coordinator/dag/dag-plan-interpreter.d.ts +9 -0
  22. package/dist/coordinator/dag/dag-plan-interpreter.d.ts.map +1 -0
  23. package/dist/coordinator/dag/dag-plan-interpreter.js +236 -0
  24. package/dist/coordinator/dag/dag-plan-interpreter.js.map +1 -0
  25. package/dist/coordinator/dag/index.d.ts +5 -0
  26. package/dist/coordinator/dag/index.d.ts.map +1 -0
  27. package/dist/coordinator/dag/index.js +5 -0
  28. package/dist/coordinator/dag/index.js.map +1 -0
  29. package/dist/coordinator/dag/llm-dag-planner.d.ts +24 -0
  30. package/dist/coordinator/dag/llm-dag-planner.d.ts.map +1 -0
  31. package/dist/coordinator/dag/llm-dag-planner.js +161 -0
  32. package/dist/coordinator/dag/llm-dag-planner.js.map +1 -0
  33. package/dist/coordinator/dag/llm-finalizer.d.ts +21 -0
  34. package/dist/coordinator/dag/llm-finalizer.d.ts.map +1 -0
  35. package/dist/coordinator/dag/llm-finalizer.js +77 -0
  36. package/dist/coordinator/dag/llm-finalizer.js.map +1 -0
  37. package/dist/coordinator/dag/llm-review-strategy.d.ts +17 -0
  38. package/dist/coordinator/dag/llm-review-strategy.d.ts.map +1 -0
  39. package/dist/coordinator/dag/llm-review-strategy.js +149 -0
  40. package/dist/coordinator/dag/llm-review-strategy.js.map +1 -0
  41. package/dist/coordinator/dag/noop-review-strategy.d.ts +8 -0
  42. package/dist/coordinator/dag/noop-review-strategy.d.ts.map +1 -0
  43. package/dist/coordinator/dag/noop-review-strategy.js +11 -0
  44. package/dist/coordinator/dag/noop-review-strategy.js.map +1 -0
  45. package/dist/coordinator/dag/passthrough-finalizer.d.ts +11 -0
  46. package/dist/coordinator/dag/passthrough-finalizer.d.ts.map +1 -0
  47. package/dist/coordinator/dag/passthrough-finalizer.js +13 -0
  48. package/dist/coordinator/dag/passthrough-finalizer.js.map +1 -0
  49. package/dist/coordinator/dag/render-ancestor-context.d.ts +8 -0
  50. package/dist/coordinator/dag/render-ancestor-context.d.ts.map +1 -0
  51. package/dist/coordinator/dag/render-ancestor-context.js +27 -0
  52. package/dist/coordinator/dag/render-ancestor-context.js.map +1 -0
  53. package/dist/coordinator/dag/replan-error-strategy.d.ts +15 -0
  54. package/dist/coordinator/dag/replan-error-strategy.d.ts.map +1 -0
  55. package/dist/coordinator/dag/replan-error-strategy.js +32 -0
  56. package/dist/coordinator/dag/replan-error-strategy.js.map +1 -0
  57. package/dist/coordinator/dag/reviewer-error-strategy.d.ts +15 -0
  58. package/dist/coordinator/dag/reviewer-error-strategy.d.ts.map +1 -0
  59. package/dist/coordinator/dag/reviewer-error-strategy.js +38 -0
  60. package/dist/coordinator/dag/reviewer-error-strategy.js.map +1 -0
  61. package/dist/coordinator/dag/splice-sub-plan.d.ts +12 -0
  62. package/dist/coordinator/dag/splice-sub-plan.d.ts.map +1 -0
  63. package/dist/coordinator/dag/splice-sub-plan.js +41 -0
  64. package/dist/coordinator/dag/splice-sub-plan.js.map +1 -0
  65. package/dist/coordinator/dag/subagent-state-oracle.d.ts +19 -0
  66. package/dist/coordinator/dag/subagent-state-oracle.d.ts.map +1 -0
  67. package/dist/coordinator/dag/subagent-state-oracle.js +31 -0
  68. package/dist/coordinator/dag/subagent-state-oracle.js.map +1 -0
  69. package/dist/coordinator/dag/template-finalizer.d.ts +11 -0
  70. package/dist/coordinator/dag/template-finalizer.d.ts.map +1 -0
  71. package/dist/coordinator/dag/template-finalizer.js +17 -0
  72. package/dist/coordinator/dag/template-finalizer.js.map +1 -0
  73. package/dist/coordinator/dispatch/subagent.d.ts.map +1 -1
  74. package/dist/coordinator/dispatch/subagent.js +6 -12
  75. package/dist/coordinator/dispatch/subagent.js.map +1 -1
  76. package/dist/coordinator/index.d.ts +6 -0
  77. package/dist/coordinator/index.d.ts.map +1 -1
  78. package/dist/coordinator/index.js +6 -0
  79. package/dist/coordinator/index.js.map +1 -1
  80. package/dist/coordinator/planning/one-shot.d.ts.map +1 -1
  81. package/dist/coordinator/planning/one-shot.js +14 -7
  82. package/dist/coordinator/planning/one-shot.js.map +1 -1
  83. package/dist/coordinator/stepper/cyclic-react-executor.d.ts +42 -0
  84. package/dist/coordinator/stepper/cyclic-react-executor.d.ts.map +1 -0
  85. package/dist/coordinator/stepper/cyclic-react-executor.js +272 -0
  86. package/dist/coordinator/stepper/cyclic-react-executor.js.map +1 -0
  87. package/dist/coordinator/stepper/index.d.ts +10 -0
  88. package/dist/coordinator/stepper/index.d.ts.map +1 -0
  89. package/dist/coordinator/stepper/index.js +10 -0
  90. package/dist/coordinator/stepper/index.js.map +1 -0
  91. package/dist/coordinator/stepper/llm-stepper-planner.d.ts +27 -0
  92. package/dist/coordinator/stepper/llm-stepper-planner.d.ts.map +1 -0
  93. package/dist/coordinator/stepper/llm-stepper-planner.js +86 -0
  94. package/dist/coordinator/stepper/llm-stepper-planner.js.map +1 -0
  95. package/dist/coordinator/stepper/llm-task-formalizer.d.ts +22 -0
  96. package/dist/coordinator/stepper/llm-task-formalizer.d.ts.map +1 -0
  97. package/dist/coordinator/stepper/llm-task-formalizer.js +73 -0
  98. package/dist/coordinator/stepper/llm-task-formalizer.js.map +1 -0
  99. package/dist/coordinator/stepper/logging-llm.d.ts +30 -0
  100. package/dist/coordinator/stepper/logging-llm.d.ts.map +1 -0
  101. package/dist/coordinator/stepper/logging-llm.js +73 -0
  102. package/dist/coordinator/stepper/logging-llm.js.map +1 -0
  103. package/dist/coordinator/stepper/need-resolver.d.ts +18 -0
  104. package/dist/coordinator/stepper/need-resolver.d.ts.map +1 -0
  105. package/dist/coordinator/stepper/need-resolver.js +42 -0
  106. package/dist/coordinator/stepper/need-resolver.js.map +1 -0
  107. package/dist/coordinator/stepper/root-finalizer.d.ts +17 -0
  108. package/dist/coordinator/stepper/root-finalizer.d.ts.map +1 -0
  109. package/dist/coordinator/stepper/root-finalizer.js +53 -0
  110. package/dist/coordinator/stepper/root-finalizer.js.map +1 -0
  111. package/dist/coordinator/stepper/static-planner.d.ts +23 -0
  112. package/dist/coordinator/stepper/static-planner.d.ts.map +1 -0
  113. package/dist/coordinator/stepper/static-planner.js +25 -0
  114. package/dist/coordinator/stepper/static-planner.js.map +1 -0
  115. package/dist/coordinator/stepper/stepper-interpreter.d.ts +6 -0
  116. package/dist/coordinator/stepper/stepper-interpreter.d.ts.map +1 -0
  117. package/dist/coordinator/stepper/stepper-interpreter.js +130 -0
  118. package/dist/coordinator/stepper/stepper-interpreter.js.map +1 -0
  119. package/dist/coordinator/stepper/stepper.d.ts +36 -0
  120. package/dist/coordinator/stepper/stepper.d.ts.map +1 -0
  121. package/dist/coordinator/stepper/stepper.js +49 -0
  122. package/dist/coordinator/stepper/stepper.js.map +1 -0
  123. package/dist/index.d.ts +10 -2
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +10 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/logger/default-request-logger.d.ts +18 -6
  128. package/dist/logger/default-request-logger.d.ts.map +1 -1
  129. package/dist/logger/default-request-logger.js +25 -4
  130. package/dist/logger/default-request-logger.js.map +1 -1
  131. package/dist/logger/noop-request-logger.d.ts +10 -5
  132. package/dist/logger/noop-request-logger.d.ts.map +1 -1
  133. package/dist/logger/noop-request-logger.js +5 -3
  134. package/dist/logger/noop-request-logger.js.map +1 -1
  135. package/dist/logger/session-request-logger.d.ts +50 -0
  136. package/dist/logger/session-request-logger.d.ts.map +1 -0
  137. package/dist/logger/session-request-logger.js +161 -0
  138. package/dist/logger/session-request-logger.js.map +1 -0
  139. package/dist/pipeline/context.d.ts +8 -3
  140. package/dist/pipeline/context.d.ts.map +1 -1
  141. package/dist/pipeline/default-pipeline.d.ts +35 -4
  142. package/dist/pipeline/default-pipeline.d.ts.map +1 -1
  143. package/dist/pipeline/default-pipeline.js +49 -7
  144. package/dist/pipeline/default-pipeline.js.map +1 -1
  145. package/dist/pipeline/handlers/coordinator.d.ts +0 -3
  146. package/dist/pipeline/handlers/coordinator.d.ts.map +1 -1
  147. package/dist/pipeline/handlers/coordinator.js +33 -22
  148. package/dist/pipeline/handlers/coordinator.js.map +1 -1
  149. package/dist/pipeline/handlers/dag-coordinator.d.ts +47 -0
  150. package/dist/pipeline/handlers/dag-coordinator.d.ts.map +1 -0
  151. package/dist/pipeline/handlers/dag-coordinator.js +369 -0
  152. package/dist/pipeline/handlers/dag-coordinator.js.map +1 -0
  153. package/dist/pipeline/handlers/index.d.ts +14 -0
  154. package/dist/pipeline/handlers/index.d.ts.map +1 -1
  155. package/dist/pipeline/handlers/index.js +8 -1
  156. package/dist/pipeline/handlers/index.js.map +1 -1
  157. package/dist/pipeline/handlers/rag-query.d.ts.map +1 -1
  158. package/dist/pipeline/handlers/rag-query.js +1 -0
  159. package/dist/pipeline/handlers/rag-query.js.map +1 -1
  160. package/dist/pipeline/handlers/subagent.d.ts.map +1 -1
  161. package/dist/pipeline/handlers/subagent.js +0 -2
  162. package/dist/pipeline/handlers/subagent.js.map +1 -1
  163. package/dist/pipeline/handlers/summarize.d.ts.map +1 -1
  164. package/dist/pipeline/handlers/summarize.js +5 -0
  165. package/dist/pipeline/handlers/summarize.js.map +1 -1
  166. package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
  167. package/dist/pipeline/handlers/tool-loop.js +17 -0
  168. package/dist/pipeline/handlers/tool-loop.js.map +1 -1
  169. package/dist/pipeline/handlers/translate.d.ts.map +1 -1
  170. package/dist/pipeline/handlers/translate.js +1 -0
  171. package/dist/pipeline/handlers/translate.js.map +1 -1
  172. package/dist/pipeline/index.d.ts +2 -1
  173. package/dist/pipeline/index.d.ts.map +1 -1
  174. package/dist/pipeline/index.js +1 -1
  175. package/dist/pipeline/index.js.map +1 -1
  176. package/dist/rag/knowledge-rag.d.ts +74 -0
  177. package/dist/rag/knowledge-rag.d.ts.map +1 -0
  178. package/dist/rag/knowledge-rag.js +116 -0
  179. package/dist/rag/knowledge-rag.js.map +1 -0
  180. package/dist/session/session-graph-factory.d.ts +66 -0
  181. package/dist/session/session-graph-factory.d.ts.map +1 -0
  182. package/dist/session/session-graph-factory.js +63 -0
  183. package/dist/session/session-graph-factory.js.map +1 -0
  184. package/dist/session/session-graph.d.ts +54 -0
  185. package/dist/session/session-graph.d.ts.map +1 -0
  186. package/dist/session/session-graph.js +76 -0
  187. package/dist/session/session-graph.js.map +1 -0
  188. package/dist/session/session-registry.d.ts +96 -0
  189. package/dist/session/session-registry.d.ts.map +1 -0
  190. package/dist/session/session-registry.js +297 -0
  191. package/dist/session/session-registry.js.map +1 -0
  192. package/dist/subagent/direct-llm-subagent.d.ts.map +1 -1
  193. package/dist/subagent/direct-llm-subagent.js +0 -2
  194. package/dist/subagent/direct-llm-subagent.js.map +1 -1
  195. package/dist/subagent/smart-agent-subagent.d.ts.map +1 -1
  196. package/dist/subagent/smart-agent-subagent.js +3 -3
  197. package/dist/subagent/smart-agent-subagent.js.map +1 -1
  198. package/package.json +14 -14
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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): void;
13
- logToolCall(entry: ToolCallEntry): void;
14
- getSummary(): RequestSummary;
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,EAEZ,aAAa,EACb,cAAc,EAGd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAsBjC,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,IAAI,IAAI;IAQpB,UAAU,IAAI,IAAI;IAMlB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQrC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIvC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIvC,UAAU,IAAI,cAAc;IA8B5B,KAAK,IAAI,IAAI;CAQd"}
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,CAY5D,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;IAuC/C,KAAK,IAAI,IAAI;CAQd"}
@@ -1,10 +1,20 @@
1
- const CATEGORY_MAP = {
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',
9
+ 'tool-definer': 'auxiliary',
4
10
  translate: 'auxiliary',
5
11
  'query-expander': 'auxiliary',
6
12
  helper: 'auxiliary',
7
13
  embedding: 'initialization',
14
+ planner: 'auxiliary',
15
+ reviewer: 'auxiliary',
16
+ finalizer: 'auxiliary',
17
+ oracle: 'auxiliary',
8
18
  };
9
19
  function emptyBucket() {
10
20
  return { promptTokens: 0, completionTokens: 0, totalTokens: 0, requests: 0 };
@@ -22,18 +32,20 @@ export class DefaultRequestLogger {
22
32
  toolCallEntries = [];
23
33
  requestStartMs = 0;
24
34
  requestDurationMs = 0;
25
- startRequest() {
35
+ startRequest(_requestId) {
26
36
  this.requestLlmCalls = [];
27
37
  this.ragQueryEntries = [];
28
38
  this.toolCallEntries = [];
29
39
  this.requestDurationMs = 0;
30
40
  this.requestStartMs = Date.now();
31
41
  }
32
- endRequest() {
42
+ endRequest(_requestId) {
33
43
  this.requestDurationMs = this.requestStartMs
34
44
  ? Date.now() - this.requestStartMs
35
45
  : 0;
36
46
  }
47
+ /** Single-request logger has no nesting/delta map — dropRequest is a no-op. */
48
+ dropRequest(_requestId) { }
37
49
  logLlmCall(entry) {
38
50
  if (entry.scope === 'initialization') {
39
51
  this.initLlmCalls.push(entry);
@@ -48,7 +60,7 @@ export class DefaultRequestLogger {
48
60
  logToolCall(entry) {
49
61
  this.toolCallEntries.push(entry);
50
62
  }
51
- getSummary() {
63
+ getSummary(_requestId) {
52
64
  const byModel = {};
53
65
  const byComponent = {};
54
66
  const byCategory = {};
@@ -65,7 +77,16 @@ export class DefaultRequestLogger {
65
77
  byCategory[cat] = emptyBucket();
66
78
  addToBucket(byCategory[cat], call);
67
79
  }
80
+ // Derive totals as the faithful sum of byComponent.
81
+ const totals = emptyBucket();
82
+ for (const comp of Object.values(byComponent)) {
83
+ totals.promptTokens += comp.promptTokens;
84
+ totals.completionTokens += comp.completionTokens;
85
+ totals.totalTokens += comp.totalTokens;
86
+ totals.requests += comp.requests;
87
+ }
68
88
  return {
89
+ totals,
69
90
  byModel,
70
91
  byComponent,
71
92
  byCategory,
@@ -1 +1 @@
1
- {"version":3,"file":"default-request-logger.js","sourceRoot":"","sources":["../../src/logger/default-request-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-request-logger.js","sourceRoot":"","sources":["../../src/logger/default-request-logger.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import type { IRequestLogger, LlmCallEntry, RagQueryEntry, RequestSummary, ToolCallEntry } from '@mcp-abap-adt/llm-agent';
2
2
  export declare class NoopRequestLogger implements IRequestLogger {
3
3
  logLlmCall(_entry: LlmCallEntry): void;
4
- logRagQuery(_entry: RagQueryEntry): void;
5
- logToolCall(_entry: ToolCallEntry): void;
6
- startRequest(): void;
7
- endRequest(): void;
8
- getSummary(): RequestSummary;
4
+ logRagQuery(_entry: RagQueryEntry & {
5
+ requestId?: string;
6
+ }): void;
7
+ logToolCall(_entry: ToolCallEntry & {
8
+ requestId?: string;
9
+ }): void;
10
+ startRequest(_requestId?: string): void;
11
+ endRequest(_requestId?: string): void;
12
+ dropRequest(_requestId?: string): void;
13
+ getSummary(_requestId?: string): RequestSummary;
9
14
  reset(): void;
10
15
  }
11
16
  //# sourceMappingURL=noop-request-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"noop-request-logger.d.ts","sourceRoot":"","sources":["../../src/logger/noop-request-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAWjC,qBAAa,iBAAkB,YAAW,cAAc;IACtD,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IACtC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IACxC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IACxC,YAAY,IAAI,IAAI;IACpB,UAAU,IAAI,IAAI;IAClB,UAAU,IAAI,cAAc;IAG5B,KAAK,IAAI,IAAI;CACd"}
1
+ {"version":3,"file":"noop-request-logger.d.ts","sourceRoot":"","sources":["../../src/logger/noop-request-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAYjC,qBAAa,iBAAkB,YAAW,cAAc;IACtD,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IACtC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IACjE,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IACjE,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IACvC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IACrC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IACtC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc;IAG/C,KAAK,IAAI,IAAI;CACd"}
@@ -1,4 +1,5 @@
1
1
  const EMPTY_SUMMARY = {
2
+ totals: { promptTokens: 0, completionTokens: 0, totalTokens: 0, requests: 0 },
2
3
  byModel: {},
3
4
  byComponent: {},
4
5
  byCategory: {},
@@ -10,9 +11,10 @@ export class NoopRequestLogger {
10
11
  logLlmCall(_entry) { }
11
12
  logRagQuery(_entry) { }
12
13
  logToolCall(_entry) { }
13
- startRequest() { }
14
- endRequest() { }
15
- getSummary() {
14
+ startRequest(_requestId) { }
15
+ endRequest(_requestId) { }
16
+ dropRequest(_requestId) { }
17
+ getSummary(_requestId) {
16
18
  return { ...EMPTY_SUMMARY, byModel: {}, byComponent: {}, byCategory: {} };
17
19
  }
18
20
  reset() { }
@@ -1 +1 @@
1
- {"version":3,"file":"noop-request-logger.js","sourceRoot":"","sources":["../../src/logger/noop-request-logger.ts"],"names":[],"mappings":"AAQA,MAAM,aAAa,GAAmB;IACpC,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,OAAO,iBAAiB;IAC5B,UAAU,CAAC,MAAoB,IAAS,CAAC;IACzC,WAAW,CAAC,MAAqB,IAAS,CAAC;IAC3C,WAAW,CAAC,MAAqB,IAAS,CAAC;IAC3C,YAAY,KAAU,CAAC;IACvB,UAAU,KAAU,CAAC;IACrB,UAAU;QACR,OAAO,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IACD,KAAK,KAAU,CAAC;CACjB"}
1
+ {"version":3,"file":"noop-request-logger.js","sourceRoot":"","sources":["../../src/logger/noop-request-logger.ts"],"names":[],"mappings":"AAQA,MAAM,aAAa,GAAmB;IACpC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC7E,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,OAAO,iBAAiB;IAC5B,UAAU,CAAC,MAAoB,IAAS,CAAC;IACzC,WAAW,CAAC,MAA8C,IAAS,CAAC;IACpE,WAAW,CAAC,MAA8C,IAAS,CAAC;IACpE,YAAY,CAAC,UAAmB,IAAS,CAAC;IAC1C,UAAU,CAAC,UAAmB,IAAS,CAAC;IACxC,WAAW,CAAC,UAAmB,IAAS,CAAC;IACzC,UAAU,CAAC,UAAmB;QAC5B,OAAO,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IACD,KAAK,KAAU,CAAC;CACjB"}
@@ -0,0 +1,50 @@
1
+ import type { IRequestLogger, LlmCallEntry, LlmUsage, RagQueryEntry, RequestSummary, ToolCallEntry } from '@mcp-abap-adt/llm-agent';
2
+ interface Bucket {
3
+ llm: LlmCallEntry[];
4
+ rag: number;
5
+ tool: number;
6
+ }
7
+ /** Shared aggregation (DRY with DefaultRequestLogger.getSummary). */
8
+ export declare function aggregate(b: Bucket): RequestSummary;
9
+ /** Sum a summary's components into a flat usage triple for response.usage. */
10
+ export declare function summaryToUsage(s: RequestSummary): LlmUsage;
11
+ /**
12
+ * One logger per SessionGraph, shared by the coordinator AND its workers. Two
13
+ * accounting axes (spec C.2):
14
+ * - session-cumulative (survives across requests, for /v1/usage),
15
+ * - per-traceId delta (for response.usage; keyed so concurrent requests never
16
+ * stomp each other).
17
+ *
18
+ * NESTED-SAFE: a worker's SmartAgent.process() runs startRequest(traceId) /
19
+ * endRequest(traceId) under the SAME traceId as the coordinator. Therefore:
20
+ * - startRequest is depth-counted and creates the bucket ONLY if absent
21
+ * (never clears an existing one — a worker start must not wipe coordinator
22
+ * tokens already logged under that traceId),
23
+ * - endRequest is depth-counted and NEVER deletes the bucket (a worker end
24
+ * must not drop the delta before the server emits response.usage),
25
+ * - dropRequest is the explicit free, called by the top-level owner (the
26
+ * server) AFTER it has read getSummary(traceId).
27
+ */
28
+ export declare class SessionRequestLogger implements IRequestLogger {
29
+ private readonly cumulative;
30
+ private readonly deltas;
31
+ private readonly depth;
32
+ startRequest(requestId?: string): void;
33
+ endRequest(requestId?: string): void;
34
+ /** Explicit free of a request delta. Called once by the top-level owner. */
35
+ dropRequest(requestId?: string): void;
36
+ logLlmCall(entry: LlmCallEntry): void;
37
+ logRagQuery(entry: RagQueryEntry & {
38
+ requestId?: string;
39
+ }): void;
40
+ logToolCall(entry: ToolCallEntry & {
41
+ requestId?: string;
42
+ }): void;
43
+ getSummary(requestId?: string): RequestSummary;
44
+ reset(): void;
45
+ /** Get-or-create the delta bucket for a requestId (used by log* when a call
46
+ * arrives before startRequest, e.g. a deeply nested worker). */
47
+ private deltaFor;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=session-request-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-request-logger.d.ts","sourceRoot":"","sources":["../../src/logger/session-request-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAGjC,UAAU,MAAM;IACd,GAAG,EAAE,YAAY,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAwDnD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,QAAQ,CAU1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAMtC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAUpC,4EAA4E;IAC5E,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAMrC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKrC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKhE,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKhE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc;IAM9C,KAAK,IAAI,IAAI;IAQb;qEACiE;IACjE,OAAO,CAAC,QAAQ;CAQjB"}
@@ -0,0 +1,161 @@
1
+ import { CATEGORY_MAP } from './default-request-logger.js';
2
+ function emptyBucket() {
3
+ return { llm: [], rag: 0, tool: 0 };
4
+ }
5
+ /** Shared aggregation (DRY with DefaultRequestLogger.getSummary). */
6
+ export function aggregate(b) {
7
+ const byModel = {};
8
+ const byComponent = {};
9
+ const byCategory = {};
10
+ let totalDurationMs = 0;
11
+ const zeroBucket = () => ({
12
+ promptTokens: 0,
13
+ completionTokens: 0,
14
+ totalTokens: 0,
15
+ requests: 0,
16
+ });
17
+ for (const c of b.llm) {
18
+ totalDurationMs += c.durationMs;
19
+ byModel[c.model] ??= zeroBucket();
20
+ const m = byModel[c.model];
21
+ m.promptTokens += c.promptTokens;
22
+ m.completionTokens += c.completionTokens;
23
+ m.totalTokens += c.totalTokens;
24
+ m.requests++;
25
+ byComponent[c.component] ??= zeroBucket();
26
+ const comp = byComponent[c.component];
27
+ comp.promptTokens += c.promptTokens;
28
+ comp.completionTokens += c.completionTokens;
29
+ comp.totalTokens += c.totalTokens;
30
+ comp.requests++;
31
+ // Use the component-keyed CATEGORY_MAP — same semantics as
32
+ // DefaultRequestLogger.getSummary (review MEDIUM #4). Previously this
33
+ // categorized via `c.scope ?? 'request'`, which dropped most aux calls
34
+ // (classifier/translate/query-expander/helper have no `scope`) into
35
+ // `request`, misreporting /v1/usage.byCategory.
36
+ const catKey = CATEGORY_MAP[c.component] ?? 'request';
37
+ byCategory[catKey] ??= zeroBucket();
38
+ const cat = byCategory[catKey];
39
+ cat.promptTokens += c.promptTokens;
40
+ cat.completionTokens += c.completionTokens;
41
+ cat.totalTokens += c.totalTokens;
42
+ cat.requests++;
43
+ }
44
+ // Derive totals as the faithful sum of byComponent so that /v1/usage always
45
+ // has a non-null rollup regardless of which path (DAG/Stepper/flat) was used.
46
+ const totals = zeroBucket();
47
+ for (const comp of Object.values(byComponent)) {
48
+ totals.promptTokens += comp.promptTokens;
49
+ totals.completionTokens += comp.completionTokens;
50
+ totals.totalTokens += comp.totalTokens;
51
+ totals.requests += comp.requests;
52
+ }
53
+ return {
54
+ totals,
55
+ byModel,
56
+ byComponent,
57
+ byCategory,
58
+ ragQueries: b.rag,
59
+ toolCalls: b.tool,
60
+ totalDurationMs,
61
+ };
62
+ }
63
+ /** Sum a summary's components into a flat usage triple for response.usage. */
64
+ export function summaryToUsage(s) {
65
+ let promptTokens = 0;
66
+ let completionTokens = 0;
67
+ let totalTokens = 0;
68
+ for (const v of Object.values(s.byComponent)) {
69
+ promptTokens += v.promptTokens;
70
+ completionTokens += v.completionTokens;
71
+ totalTokens += v.totalTokens;
72
+ }
73
+ return { promptTokens, completionTokens, totalTokens };
74
+ }
75
+ /**
76
+ * One logger per SessionGraph, shared by the coordinator AND its workers. Two
77
+ * accounting axes (spec C.2):
78
+ * - session-cumulative (survives across requests, for /v1/usage),
79
+ * - per-traceId delta (for response.usage; keyed so concurrent requests never
80
+ * stomp each other).
81
+ *
82
+ * NESTED-SAFE: a worker's SmartAgent.process() runs startRequest(traceId) /
83
+ * endRequest(traceId) under the SAME traceId as the coordinator. Therefore:
84
+ * - startRequest is depth-counted and creates the bucket ONLY if absent
85
+ * (never clears an existing one — a worker start must not wipe coordinator
86
+ * tokens already logged under that traceId),
87
+ * - endRequest is depth-counted and NEVER deletes the bucket (a worker end
88
+ * must not drop the delta before the server emits response.usage),
89
+ * - dropRequest is the explicit free, called by the top-level owner (the
90
+ * server) AFTER it has read getSummary(traceId).
91
+ */
92
+ export class SessionRequestLogger {
93
+ cumulative = emptyBucket();
94
+ deltas = new Map();
95
+ depth = new Map();
96
+ startRequest(requestId) {
97
+ if (!requestId)
98
+ return;
99
+ this.depth.set(requestId, (this.depth.get(requestId) ?? 0) + 1);
100
+ if (!this.deltas.has(requestId))
101
+ this.deltas.set(requestId, emptyBucket());
102
+ }
103
+ endRequest(requestId) {
104
+ if (!requestId)
105
+ return;
106
+ const d = this.depth.get(requestId);
107
+ if (d === undefined)
108
+ return;
109
+ if (d <= 1)
110
+ this.depth.delete(requestId);
111
+ else
112
+ this.depth.set(requestId, d - 1);
113
+ // Intentionally does NOT delete the delta bucket: the server frees it via
114
+ // dropRequest() after reading response.usage.
115
+ }
116
+ /** Explicit free of a request delta. Called once by the top-level owner. */
117
+ dropRequest(requestId) {
118
+ if (!requestId)
119
+ return;
120
+ this.deltas.delete(requestId);
121
+ this.depth.delete(requestId);
122
+ }
123
+ logLlmCall(entry) {
124
+ this.cumulative.llm.push(entry);
125
+ if (entry.requestId)
126
+ this.deltaFor(entry.requestId).llm.push(entry);
127
+ }
128
+ logRagQuery(entry) {
129
+ this.cumulative.rag++;
130
+ if (entry.requestId)
131
+ this.deltaFor(entry.requestId).rag++;
132
+ }
133
+ logToolCall(entry) {
134
+ this.cumulative.tool++;
135
+ if (entry.requestId)
136
+ this.deltaFor(entry.requestId).tool++;
137
+ }
138
+ getSummary(requestId) {
139
+ if (requestId)
140
+ return aggregate(this.deltas.get(requestId) ?? emptyBucket());
141
+ return aggregate(this.cumulative);
142
+ }
143
+ reset() {
144
+ this.cumulative.llm.length = 0;
145
+ this.cumulative.rag = 0;
146
+ this.cumulative.tool = 0;
147
+ this.deltas.clear();
148
+ this.depth.clear();
149
+ }
150
+ /** Get-or-create the delta bucket for a requestId (used by log* when a call
151
+ * arrives before startRequest, e.g. a deeply nested worker). */
152
+ deltaFor(requestId) {
153
+ let b = this.deltas.get(requestId);
154
+ if (!b) {
155
+ b = emptyBucket();
156
+ this.deltas.set(requestId, b);
157
+ }
158
+ return b;
159
+ }
160
+ }
161
+ //# sourceMappingURL=session-request-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-request-logger.js","sourceRoot":"","sources":["../../src/logger/session-request-logger.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAQ3D,SAAS,WAAW;IAClB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAkC,EAAE,CAAC;IACtD,MAAM,UAAU,GAAiC,EAAE,CAAC;IACpD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;QACxB,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACtB,eAAe,IAAI,CAAC,CAAC,UAAU,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC;QACzC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,2DAA2D;QAC3D,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,gDAAgD;QAChD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACtD,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QACnC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC;QAC3C,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QACjC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QACzC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACjD,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QACvC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO;QACL,MAAM;QACN,OAAO;QACP,WAAW;QACX,UAAU;QACV,UAAU,EAAE,CAAC,CAAC,GAAG;QACjB,SAAS,EAAE,CAAC,CAAC,IAAI;QACjB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,CAAiB;IAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QAC/B,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC;QACvC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,GAAG,WAAW,EAAE,CAAC;IAC3B,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnC,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEnD,YAAY,CAAC,SAAkB;QAC7B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,UAAU,CAAC,SAAkB;QAC3B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,0EAA0E;QAC1E,8CAA8C;IAChD,CAAC;IAED,4EAA4E;IAC5E,WAAW,CAAC,SAAkB;QAC5B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,KAAmB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,WAAW,CAAC,KAA6C;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,WAAW,CAAC,KAA6C;QACvD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,SAAkB;QAC3B,IAAI,SAAS;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;qEACiE;IACzD,QAAQ,CAAC,SAAiB;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
@@ -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, IToolSelectionStrategy, LlmStreamChunk, LlmTool, McpTool, Message, Plan, RagResult, Result, StepResult, SubAgentRegistry, 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, IToolSelectionStrategy, LlmStreamChunk, LlmTool, McpTool, Message, OnPartial, 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';
@@ -116,8 +116,13 @@ export interface PipelineContext {
116
116
  * streaming content and heartbeats back through the SSE connection.
117
117
  */
118
118
  yield(chunk: Result<LlmStreamChunk, OrchestratorError>): void;
119
- /** Dispatch depth. 0 at root; +1 each nested SmartAgent.process() call. */
120
- layer?: number;
119
+ /**
120
+ * Optional partial-output callback threaded from `ISubAgentInput.onPartial`.
121
+ * When present, the tool-loop stage forwards every content delta and
122
+ * tool-call event as a `StreamChunk` so the calling coordinator can
123
+ * render live progress without polling.
124
+ */
125
+ onPartial?: OnPartial;
121
126
  /** Subagent stage outputs written by SubAgentHandler. Keyed by output path. */
122
127
  subResults?: Record<string, unknown>;
123
128
  /** Subagent registry exposed to runtime stages (coordinator, subagent). */
@@ -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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"}
@@ -26,6 +26,23 @@
26
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
+ import { PendingToolResultsRegistry } from '../policy/pending-tool-results-registry.js';
30
+ import { ToolAvailabilityRegistry } from '../policy/tool-availability-registry.js';
31
+ import type { DagCoordinatorHandlerDeps } from './handlers/dag-coordinator.js';
32
+ import type { IStageHandler } from './stage-handler.js';
33
+ /**
34
+ * Resolves the per-session tool-availability / pending-tool-results registries
35
+ * for a pipeline request. When the SessionGraph injects them via `CallOptions`,
36
+ * the same instances are reused across requests sharing the sessionId; otherwise
37
+ * fresh per-request instances are created (preserves embed-as-library behavior).
38
+ */
39
+ export declare function resolveSessionRegistries(src: {
40
+ toolAvailability?: ToolAvailabilityRegistry;
41
+ pendingToolResults?: PendingToolResultsRegistry;
42
+ }): {
43
+ toolAvailability: ToolAvailabilityRegistry;
44
+ pendingToolResults: PendingToolResultsRegistry;
45
+ };
29
46
  /**
30
47
  * Standard IPipeline implementation that orchestrates the default SmartAgent
31
48
  * request lifecycle via PipelineExecutor and built-in stage handlers.
@@ -47,12 +64,24 @@ export interface DefaultPipelineOptions {
47
64
  */
48
65
  subAgents?: SubAgentRegistry;
49
66
  /**
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.
67
+ * Optional coordinator configuration. When a coordinator (`planning`+`dispatch`,
68
+ * or a `dagCoordinator`) is configured, a `coordinator-activate` runtime stage
69
+ * decides per-request (via the activation strategy) whether the `coordinator`
70
+ * stage runs in place of `tool-loop`.
54
71
  */
55
72
  coordinator?: ICoordinatorConfig;
73
+ /**
74
+ * DAG coordinator deps. When set, registers `DagCoordinatorHandler` under
75
+ * the `coordinator` stage slot and wires `coordinator-activate`.
76
+ * Mutually exclusive with `coordinator` — `dagCoordinator` takes precedence.
77
+ */
78
+ dagCoordinator?: DagCoordinatorHandlerDeps;
79
+ /**
80
+ * Pre-built stage handler to register under the `coordinator` slot.
81
+ * Takes precedence over `dagCoordinator` and `coordinator`.
82
+ * Used by the 18.0 Stepper runtime.
83
+ */
84
+ stepperCoordinator?: IStageHandler;
56
85
  }
57
86
  export declare class DefaultPipeline implements IPipeline {
58
87
  private deps;
@@ -60,6 +89,8 @@ export declare class DefaultPipeline implements IPipeline {
60
89
  private stages;
61
90
  private readonly subAgents?;
62
91
  private readonly coordinator?;
92
+ private readonly dagCoordinator?;
93
+ private readonly stepperCoordinator?;
63
94
  constructor(options?: DefaultPipelineOptions);
64
95
  private resolvedTracer;
65
96
  private resolvedClassifier;
@@ -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,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;IAmD9B,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;CA2FtB"}
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;AAGnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAC5C,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACjD,GAAG;IACF,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,kBAAkB,EAAE,0BAA0B,CAAC;CAChD,CAMA;AAkBD;;;;;;;;;;GAUG;AACH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,aAAa,CAAC;CACpC;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;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAgB;gBAExC,OAAO,GAAE,sBAA2B;IAQhD,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;IA8D9B,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;IA+GpB;;;OAGG;IACH,OAAO,CAAC,aAAa;CA0GtB"}