@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.
- 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 +19 -0
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +29 -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 +236 -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 +24 -0
- package/dist/coordinator/dag/llm-dag-planner.d.ts.map +1 -0
- package/dist/coordinator/dag/llm-dag-planner.js +161 -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/coordinator/stepper/cyclic-react-executor.d.ts +42 -0
- package/dist/coordinator/stepper/cyclic-react-executor.d.ts.map +1 -0
- package/dist/coordinator/stepper/cyclic-react-executor.js +272 -0
- package/dist/coordinator/stepper/cyclic-react-executor.js.map +1 -0
- package/dist/coordinator/stepper/index.d.ts +10 -0
- package/dist/coordinator/stepper/index.d.ts.map +1 -0
- package/dist/coordinator/stepper/index.js +10 -0
- package/dist/coordinator/stepper/index.js.map +1 -0
- package/dist/coordinator/stepper/llm-stepper-planner.d.ts +27 -0
- package/dist/coordinator/stepper/llm-stepper-planner.d.ts.map +1 -0
- package/dist/coordinator/stepper/llm-stepper-planner.js +86 -0
- package/dist/coordinator/stepper/llm-stepper-planner.js.map +1 -0
- package/dist/coordinator/stepper/llm-task-formalizer.d.ts +22 -0
- package/dist/coordinator/stepper/llm-task-formalizer.d.ts.map +1 -0
- package/dist/coordinator/stepper/llm-task-formalizer.js +73 -0
- package/dist/coordinator/stepper/llm-task-formalizer.js.map +1 -0
- package/dist/coordinator/stepper/logging-llm.d.ts +30 -0
- package/dist/coordinator/stepper/logging-llm.d.ts.map +1 -0
- package/dist/coordinator/stepper/logging-llm.js +73 -0
- package/dist/coordinator/stepper/logging-llm.js.map +1 -0
- package/dist/coordinator/stepper/need-resolver.d.ts +18 -0
- package/dist/coordinator/stepper/need-resolver.d.ts.map +1 -0
- package/dist/coordinator/stepper/need-resolver.js +42 -0
- package/dist/coordinator/stepper/need-resolver.js.map +1 -0
- package/dist/coordinator/stepper/root-finalizer.d.ts +17 -0
- package/dist/coordinator/stepper/root-finalizer.d.ts.map +1 -0
- package/dist/coordinator/stepper/root-finalizer.js +53 -0
- package/dist/coordinator/stepper/root-finalizer.js.map +1 -0
- package/dist/coordinator/stepper/static-planner.d.ts +23 -0
- package/dist/coordinator/stepper/static-planner.d.ts.map +1 -0
- package/dist/coordinator/stepper/static-planner.js +25 -0
- package/dist/coordinator/stepper/static-planner.js.map +1 -0
- package/dist/coordinator/stepper/stepper-interpreter.d.ts +6 -0
- package/dist/coordinator/stepper/stepper-interpreter.d.ts.map +1 -0
- package/dist/coordinator/stepper/stepper-interpreter.js +130 -0
- package/dist/coordinator/stepper/stepper-interpreter.js.map +1 -0
- package/dist/coordinator/stepper/stepper.d.ts +36 -0
- package/dist/coordinator/stepper/stepper.d.ts.map +1 -0
- package/dist/coordinator/stepper/stepper.js +49 -0
- package/dist/coordinator/stepper/stepper.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -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 +25 -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 +5 -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 +161 -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 +35 -4
- package/dist/pipeline/default-pipeline.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.js +49 -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 +14 -0
- package/dist/pipeline/handlers/index.d.ts.map +1 -1
- package/dist/pipeline/handlers/index.js +8 -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 +17 -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/rag/knowledge-rag.d.ts +74 -0
- package/dist/rag/knowledge-rag.d.ts.map +1 -0
- package/dist/rag/knowledge-rag.js +116 -0
- package/dist/rag/knowledge-rag.js.map +1 -0
- 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 +96 -0
- package/dist/session/session-registry.d.ts.map +1 -0
- package/dist/session/session-registry.js +297 -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
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":"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,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAC9E,cAAc,gCAAgC,CAAC;AAC/C,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,EAG3B,eAAe,EAEf,iBAAiB,EAGjB,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAM5C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EAEpB,cAAc,EACd,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EAExB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAqB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,sBAAsB,GACvB,MAAM,2CAA2C,CAAC;AACnD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,6BAA6B,GAG9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAC3C,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAoB,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAExE,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -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,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
|
-
|
|
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":"AAWA,MAAM,YAAY,GAAwC;
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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
|
-
/**
|
|
120
|
-
|
|
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
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* `
|
|
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;
|
|
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"}
|