@mcp-abap-adt/llm-agent 2.9.2 → 2.10.1

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 (134) hide show
  1. package/dist/index.d.ts +11 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +7 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/smart-agent/agent.d.ts +18 -1
  6. package/dist/smart-agent/agent.d.ts.map +1 -1
  7. package/dist/smart-agent/agent.js +218 -37
  8. package/dist/smart-agent/agent.js.map +1 -1
  9. package/dist/smart-agent/builder.d.ts +114 -51
  10. package/dist/smart-agent/builder.d.ts.map +1 -1
  11. package/dist/smart-agent/builder.js +234 -110
  12. package/dist/smart-agent/builder.js.map +1 -1
  13. package/dist/smart-agent/cli.d.ts +1 -0
  14. package/dist/smart-agent/cli.d.ts.map +1 -1
  15. package/dist/smart-agent/cli.js +2 -0
  16. package/dist/smart-agent/cli.js.map +1 -1
  17. package/dist/smart-agent/config/config-watcher.d.ts +4 -0
  18. package/dist/smart-agent/config/config-watcher.d.ts.map +1 -1
  19. package/dist/smart-agent/config/config-watcher.js +8 -0
  20. package/dist/smart-agent/config/config-watcher.js.map +1 -1
  21. package/dist/smart-agent/config.d.ts +2 -1
  22. package/dist/smart-agent/config.d.ts.map +1 -1
  23. package/dist/smart-agent/config.js +46 -4
  24. package/dist/smart-agent/config.js.map +1 -1
  25. package/dist/smart-agent/interfaces/index.d.ts +1 -1
  26. package/dist/smart-agent/interfaces/index.d.ts.map +1 -1
  27. package/dist/smart-agent/interfaces/index.js.map +1 -1
  28. package/dist/smart-agent/interfaces/rag.d.ts +16 -0
  29. package/dist/smart-agent/interfaces/rag.d.ts.map +1 -1
  30. package/dist/smart-agent/pipeline/condition-evaluator.d.ts +35 -0
  31. package/dist/smart-agent/pipeline/condition-evaluator.d.ts.map +1 -0
  32. package/dist/smart-agent/pipeline/condition-evaluator.js +143 -0
  33. package/dist/smart-agent/pipeline/condition-evaluator.js.map +1 -0
  34. package/dist/smart-agent/pipeline/context.d.ts +104 -0
  35. package/dist/smart-agent/pipeline/context.d.ts.map +1 -0
  36. package/dist/smart-agent/pipeline/context.js +19 -0
  37. package/dist/smart-agent/pipeline/context.js.map +1 -0
  38. package/dist/smart-agent/pipeline/default-pipeline.d.ts +45 -0
  39. package/dist/smart-agent/pipeline/default-pipeline.d.ts.map +1 -0
  40. package/dist/smart-agent/pipeline/default-pipeline.js +118 -0
  41. package/dist/smart-agent/pipeline/default-pipeline.js.map +1 -0
  42. package/dist/smart-agent/pipeline/executor.d.ts +54 -0
  43. package/dist/smart-agent/pipeline/executor.d.ts.map +1 -0
  44. package/dist/smart-agent/pipeline/executor.js +133 -0
  45. package/dist/smart-agent/pipeline/executor.js.map +1 -0
  46. package/dist/smart-agent/pipeline/handlers/assemble.d.ts +16 -0
  47. package/dist/smart-agent/pipeline/handlers/assemble.d.ts.map +1 -0
  48. package/dist/smart-agent/pipeline/handlers/assemble.js +57 -0
  49. package/dist/smart-agent/pipeline/handlers/assemble.js.map +1 -0
  50. package/dist/smart-agent/pipeline/handlers/classify.d.ts +21 -0
  51. package/dist/smart-agent/pipeline/handlers/classify.d.ts.map +1 -0
  52. package/dist/smart-agent/pipeline/handlers/classify.js +53 -0
  53. package/dist/smart-agent/pipeline/handlers/classify.js.map +1 -0
  54. package/dist/smart-agent/pipeline/handlers/expand.d.ts +16 -0
  55. package/dist/smart-agent/pipeline/handlers/expand.d.ts.map +1 -0
  56. package/dist/smart-agent/pipeline/handlers/expand.js +24 -0
  57. package/dist/smart-agent/pipeline/handlers/expand.js.map +1 -0
  58. package/dist/smart-agent/pipeline/handlers/index.d.ts +28 -0
  59. package/dist/smart-agent/pipeline/handlers/index.d.ts.map +1 -0
  60. package/dist/smart-agent/pipeline/handlers/index.js +39 -0
  61. package/dist/smart-agent/pipeline/handlers/index.js.map +1 -0
  62. package/dist/smart-agent/pipeline/handlers/rag-query.d.ts +25 -0
  63. package/dist/smart-agent/pipeline/handlers/rag-query.d.ts.map +1 -0
  64. package/dist/smart-agent/pipeline/handlers/rag-query.js +53 -0
  65. package/dist/smart-agent/pipeline/handlers/rag-query.js.map +1 -0
  66. package/dist/smart-agent/pipeline/handlers/rag-upsert.d.ts +17 -0
  67. package/dist/smart-agent/pipeline/handlers/rag-upsert.d.ts.map +1 -0
  68. package/dist/smart-agent/pipeline/handlers/rag-upsert.js +47 -0
  69. package/dist/smart-agent/pipeline/handlers/rag-upsert.js.map +1 -0
  70. package/dist/smart-agent/pipeline/handlers/rerank.d.ts +16 -0
  71. package/dist/smart-agent/pipeline/handlers/rerank.d.ts.map +1 -0
  72. package/dist/smart-agent/pipeline/handlers/rerank.js +38 -0
  73. package/dist/smart-agent/pipeline/handlers/rerank.js.map +1 -0
  74. package/dist/smart-agent/pipeline/handlers/summarize.d.ts +17 -0
  75. package/dist/smart-agent/pipeline/handlers/summarize.d.ts.map +1 -0
  76. package/dist/smart-agent/pipeline/handlers/summarize.js +47 -0
  77. package/dist/smart-agent/pipeline/handlers/summarize.js.map +1 -0
  78. package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts +32 -0
  79. package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +1 -0
  80. package/dist/smart-agent/pipeline/handlers/tool-loop.js +416 -0
  81. package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -0
  82. package/dist/smart-agent/pipeline/handlers/tool-select.d.ts +21 -0
  83. package/dist/smart-agent/pipeline/handlers/tool-select.d.ts.map +1 -0
  84. package/dist/smart-agent/pipeline/handlers/tool-select.js +95 -0
  85. package/dist/smart-agent/pipeline/handlers/tool-select.js.map +1 -0
  86. package/dist/smart-agent/pipeline/handlers/translate.d.ts +18 -0
  87. package/dist/smart-agent/pipeline/handlers/translate.d.ts.map +1 -0
  88. package/dist/smart-agent/pipeline/handlers/translate.js +39 -0
  89. package/dist/smart-agent/pipeline/handlers/translate.js.map +1 -0
  90. package/dist/smart-agent/pipeline/index.d.ts +14 -0
  91. package/dist/smart-agent/pipeline/index.d.ts.map +1 -0
  92. package/dist/smart-agent/pipeline/index.js +16 -0
  93. package/dist/smart-agent/pipeline/index.js.map +1 -0
  94. package/dist/smart-agent/pipeline/stage-handler.d.ts +36 -0
  95. package/dist/smart-agent/pipeline/stage-handler.d.ts.map +1 -0
  96. package/dist/smart-agent/pipeline/stage-handler.js +24 -0
  97. package/dist/smart-agent/pipeline/stage-handler.js.map +1 -0
  98. package/dist/smart-agent/pipeline/types.d.ts +129 -0
  99. package/dist/smart-agent/pipeline/types.d.ts.map +1 -0
  100. package/dist/smart-agent/pipeline/types.js +54 -0
  101. package/dist/smart-agent/pipeline/types.js.map +1 -0
  102. package/dist/smart-agent/pipeline.d.ts +22 -6
  103. package/dist/smart-agent/pipeline.d.ts.map +1 -1
  104. package/dist/smart-agent/pipeline.js +5 -142
  105. package/dist/smart-agent/pipeline.js.map +1 -1
  106. package/dist/smart-agent/plugins/index.d.ts +4 -0
  107. package/dist/smart-agent/plugins/index.d.ts.map +1 -0
  108. package/dist/smart-agent/plugins/index.js +3 -0
  109. package/dist/smart-agent/plugins/index.js.map +1 -0
  110. package/dist/smart-agent/plugins/loader.d.ts +67 -0
  111. package/dist/smart-agent/plugins/loader.d.ts.map +1 -0
  112. package/dist/smart-agent/plugins/loader.js +114 -0
  113. package/dist/smart-agent/plugins/loader.js.map +1 -0
  114. package/dist/smart-agent/plugins/types.d.ts +149 -0
  115. package/dist/smart-agent/plugins/types.d.ts.map +1 -0
  116. package/dist/smart-agent/plugins/types.js +111 -0
  117. package/dist/smart-agent/plugins/types.js.map +1 -0
  118. package/dist/smart-agent/providers.d.ts +76 -0
  119. package/dist/smart-agent/providers.d.ts.map +1 -0
  120. package/dist/smart-agent/providers.js +175 -0
  121. package/dist/smart-agent/providers.js.map +1 -0
  122. package/dist/smart-agent/rag/embedder-factories.d.ts +9 -0
  123. package/dist/smart-agent/rag/embedder-factories.d.ts.map +1 -0
  124. package/dist/smart-agent/rag/embedder-factories.js +27 -0
  125. package/dist/smart-agent/rag/embedder-factories.js.map +1 -0
  126. package/dist/smart-agent/rag/index.d.ts +7 -0
  127. package/dist/smart-agent/rag/index.d.ts.map +1 -1
  128. package/dist/smart-agent/rag/index.js +4 -0
  129. package/dist/smart-agent/rag/index.js.map +1 -1
  130. package/dist/smart-agent/smart-server.d.ts +25 -1
  131. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  132. package/dist/smart-agent/smart-server.js +122 -27
  133. package/dist/smart-agent/smart-server.js.map +1 -1
  134. package/package.json +2 -1
package/dist/index.d.ts CHANGED
@@ -20,11 +20,22 @@ export type { IToolCache } from './smart-agent/cache/types.js';
20
20
  export { ConfigWatcher, type ConfigWatcherOptions, type HotReloadableConfig, } from './smart-agent/config/config-watcher.js';
21
21
  export { HealthChecker, type HealthCheckerDeps, } from './smart-agent/health/health-checker.js';
22
22
  export type { CircuitBreakerStatus, HealthComponentStatus, HealthStatus, } from './smart-agent/health/types.js';
23
+ export type { EmbedderFactory, EmbedderFactoryConfig, IEmbedder, IRag, } from './smart-agent/interfaces/rag.js';
24
+ export type { CallOptions, LlmTool, RagError, RagResult, Result, } from './smart-agent/interfaces/types.js';
23
25
  export { type CounterSnapshot, type HistogramSnapshot, InMemoryMetrics, type MetricsSnapshot, } from './smart-agent/metrics/in-memory-metrics.js';
24
26
  export { NoopMetrics } from './smart-agent/metrics/noop-metrics.js';
25
27
  export type { ICounter, IHistogram, IMetrics, } from './smart-agent/metrics/types.js';
28
+ export type { BuiltInStageType, ControlFlowType, IStageHandler, PipelineContext, StageDefinition, StageType, StructuredPipelineDefinition, } from './smart-agent/pipeline/index.js';
29
+ export { buildDefaultHandlerRegistry, evaluateCondition, getDefaultPipelineDefinition, getDefaultStages, PipelineExecutor, } from './smart-agent/pipeline/index.js';
30
+ export type { IPluginLoader, LoadedPlugins, PluginExports, } from './smart-agent/plugins/index.js';
31
+ export { emptyLoadedPlugins, FileSystemPluginLoader, type FileSystemPluginLoaderConfig, getDefaultPluginDirs, loadPlugins, mergePluginExports, } from './smart-agent/plugins/index.js';
32
+ export { builtInEmbedderFactories } from './smart-agent/rag/embedder-factories.js';
33
+ export { InMemoryRag } from './smart-agent/rag/in-memory-rag.js';
34
+ export { OllamaEmbedder, type OllamaEmbedderConfig, OllamaRag, } from './smart-agent/rag/ollama-rag.js';
35
+ export { OpenAiEmbedder, type OpenAiEmbedderConfig, } from './smart-agent/rag/openai-embedder.js';
26
36
  export { QdrantRag, type QdrantRagConfig, } from './smart-agent/rag/qdrant-rag.js';
27
37
  export { type IQueryExpander, LlmQueryExpander, NoopQueryExpander, } from './smart-agent/rag/query-expander.js';
38
+ export { VectorRag, type VectorRagConfig, } from './smart-agent/rag/vector-rag.js';
28
39
  export { LlmReranker } from './smart-agent/reranker/llm-reranker.js';
29
40
  export { NoopReranker } from './smart-agent/reranker/noop-reranker.js';
30
41
  export type { IReranker } from './smart-agent/reranker/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -28,10 +28,17 @@ export { ConfigWatcher, } from './smart-agent/config/config-watcher.js';
28
28
  export { HealthChecker, } from './smart-agent/health/health-checker.js';
29
29
  export { InMemoryMetrics, } from './smart-agent/metrics/in-memory-metrics.js';
30
30
  export { NoopMetrics } from './smart-agent/metrics/noop-metrics.js';
31
+ export { buildDefaultHandlerRegistry, evaluateCondition, getDefaultPipelineDefinition, getDefaultStages, PipelineExecutor, } from './smart-agent/pipeline/index.js';
32
+ export { emptyLoadedPlugins, FileSystemPluginLoader, getDefaultPluginDirs, loadPlugins, mergePluginExports, } from './smart-agent/plugins/index.js';
33
+ export { builtInEmbedderFactories } from './smart-agent/rag/embedder-factories.js';
34
+ export { InMemoryRag } from './smart-agent/rag/in-memory-rag.js';
35
+ export { OllamaEmbedder, OllamaRag, } from './smart-agent/rag/ollama-rag.js';
36
+ export { OpenAiEmbedder, } from './smart-agent/rag/openai-embedder.js';
31
37
  // Qdrant RAG
32
38
  export { QdrantRag, } from './smart-agent/rag/qdrant-rag.js';
33
39
  // Query Expander
34
40
  export { LlmQueryExpander, NoopQueryExpander, } from './smart-agent/rag/query-expander.js';
41
+ export { VectorRag, } from './smart-agent/rag/vector-rag.js';
35
42
  // Reranker
36
43
  export { LlmReranker } from './smart-agent/reranker/llm-reranker.js';
37
44
  export { NoopReranker } from './smart-agent/reranker/noop-reranker.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8DAA8D;AAC9D,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAqB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,gBAAgB;AAChB,2DAA2D;AAC3D,OAAO,EAGL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,aAAa;AACb,OAAO,EAEL,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D,SAAS;AACT,OAAO,EACL,aAAa,GAGd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,GAEd,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAGL,eAAe,GAEhB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAOpE,aAAa;AACb,OAAO,EACL,SAAS,GAEV,MAAM,iCAAiC,CAAC;AACzC,iBAAiB;AACjB,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAC7C,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,aAAa;AACb,OAAO,EACL,cAAc,GAGf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAOjE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iEAAiE;AACjE,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AACpC,8DAA8D;AAC9D,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAqB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,gBAAgB;AAChB,2DAA2D;AAC3D,OAAO,EAGL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,aAAa;AACb,OAAO,EAEL,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D,SAAS;AACT,OAAO,EACL,aAAa,GAGd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,GAEd,MAAM,wCAAwC,CAAC;AAsBhD,OAAO,EAGL,eAAe,GAEhB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAiBpE,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EACL,cAAc,EAEd,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,GAEf,MAAM,sCAAsC,CAAC;AAC9C,aAAa;AACb,OAAO,EACL,SAAS,GAEV,MAAM,iCAAiC,CAAC;AACzC,iBAAiB;AACjB,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,SAAS,GAEV,MAAM,iCAAiC,CAAC;AACzC,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,aAAa;AACb,OAAO,EACL,cAAc,GAGf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAOjE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
@@ -8,6 +8,8 @@ import type { IRag } from './interfaces/rag.js';
8
8
  import { type CallOptions, type LlmStreamChunk, type Result, SmartAgentError } from './interfaces/types.js';
9
9
  import type { ILogger } from './logger/index.js';
10
10
  import type { IMetrics } from './metrics/types.js';
11
+ import type { PipelineExecutor } from './pipeline/executor.js';
12
+ import type { StageDefinition } from './pipeline/types.js';
11
13
  import type { IPromptInjectionDetector, IToolPolicy, SessionPolicy } from './policy/types.js';
12
14
  import { type IQueryExpander } from './rag/query-expander.js';
13
15
  import type { IReranker } from './reranker/types.js';
@@ -59,6 +61,14 @@ export interface SmartAgentConfig {
59
61
  sessionTokenBudget?: number;
60
62
  /** Interval (ms) for SSE heartbeat comments during MCP tool execution. Default: 5000. */
61
63
  heartbeatIntervalMs?: number;
64
+ /** Whether classification stage runs. Default: true. When false, input is treated as a single action. */
65
+ classificationEnabled?: boolean;
66
+ /** RAG retrieval behavior. 'auto': based on SAP context detection (default), 'always': force retrieval, 'never': skip. */
67
+ ragRetrievalMode?: 'auto' | 'always' | 'never';
68
+ /** Whether to translate non-ASCII RAG queries to English. Default: true. */
69
+ ragTranslationEnabled?: boolean;
70
+ /** Whether to upsert classified subprompts to RAG stores. Default: true. */
71
+ ragUpsertEnabled?: boolean;
62
72
  }
63
73
  export type StopReason = 'stop' | 'iteration_limit' | 'tool_call_limit';
64
74
  export interface SmartAgentResponse {
@@ -75,6 +85,8 @@ export interface SmartAgentResponse {
75
85
  export declare class SmartAgent {
76
86
  private readonly deps;
77
87
  private config;
88
+ private readonly pipelineExecutor?;
89
+ private readonly pipelineStages?;
78
90
  private readonly toolAvailabilityRegistry;
79
91
  private readonly tracer;
80
92
  private readonly metrics;
@@ -83,7 +95,7 @@ export declare class SmartAgent {
83
95
  private readonly toolCache;
84
96
  private readonly outputValidator;
85
97
  private readonly sessionManager;
86
- constructor(deps: SmartAgentDeps, config: SmartAgentConfig);
98
+ constructor(deps: SmartAgentDeps, config: SmartAgentConfig, pipelineExecutor?: PipelineExecutor | undefined, pipelineStages?: StageDefinition[] | undefined);
87
99
  /** Apply a partial config update at runtime (hot-reload). */
88
100
  applyConfigUpdate(update: Partial<SmartAgentConfig>): void;
89
101
  healthCheck(options?: CallOptions): Promise<Result<{
@@ -105,5 +117,10 @@ export declare class SmartAgent {
105
117
  private _toEnglishForRag;
106
118
  private _summarizeHistory;
107
119
  private _buildRagMetadata;
120
+ /**
121
+ * Execute the structured pipeline — delegates stage execution to
122
+ * the PipelineExecutor instead of running the hardcoded flow.
123
+ */
124
+ private _runStructuredPipeline;
108
125
  }
109
126
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,cAAc,EAKnB,KAAK,MAAM,EACX,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EACX,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAS,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAOxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAuB;CAIzD;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;CACb;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AACD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AACxE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AA0BD,qBAAa,UAAU;IAWnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,MAAM;IAXhB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;gBAG9B,IAAI,EAAE,cAAc,EAC7B,MAAM,EAAE,gBAAgB;IAclC,6DAA6D;IAC7D,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIpD,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAC/C,MAAM,CACJ;QACE,GAAG,EAAE,OAAO,CAAC;QACb,GAAG,EAAE,OAAO,CAAC;QACb,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACtD,EACD,iBAAiB,CAClB,CACF;IAqCK,OAAO,CACX,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAwBlD,aAAa,CAClB,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAClC,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GACpD,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YA6P7C,gBAAgB;YAgFf,qBAAqB;YAyctB,aAAa;YAwBb,gBAAgB;YAsBhB,iBAAiB;IAkC/B,OAAO,CAAC,iBAAiB;CAS1B"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/smart-agent/agent.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ function createTimeoutSignal(ms) {
37
37
  export class SmartAgent {
38
38
  deps;
39
39
  config;
40
+ pipelineExecutor;
41
+ pipelineStages;
40
42
  toolAvailabilityRegistry;
41
43
  tracer;
42
44
  metrics;
@@ -45,9 +47,11 @@ export class SmartAgent {
45
47
  toolCache;
46
48
  outputValidator;
47
49
  sessionManager;
48
- constructor(deps, config) {
50
+ constructor(deps, config, pipelineExecutor, pipelineStages) {
49
51
  this.deps = deps;
50
52
  this.config = config;
53
+ this.pipelineExecutor = pipelineExecutor;
54
+ this.pipelineStages = pipelineStages;
51
55
  this.toolAvailabilityRegistry = new ToolAvailabilityRegistry(this.config.toolUnavailableTtlMs);
52
56
  this.tracer = deps.tracer ?? new NoopTracer();
53
57
  this.metrics = deps.metrics ?? new NoopMetrics();
@@ -62,33 +66,59 @@ export class SmartAgent {
62
66
  this.config = { ...this.config, ...update };
63
67
  }
64
68
  async healthCheck(options) {
69
+ const HEALTH_TIMEOUT_MS = 5_000;
70
+ const healthSignal = AbortSignal.timeout(HEALTH_TIMEOUT_MS);
71
+ const healthOptions = {
72
+ ...options,
73
+ signal: healthSignal,
74
+ maxTokens: 1,
75
+ };
65
76
  const results = {
66
77
  llm: false,
67
78
  rag: false,
68
79
  mcp: [],
69
80
  };
70
81
  try {
71
- const llmRes = await this.deps.mainLlm.chat([{ role: 'user', content: 'ping' }], [], { ...options, maxTokens: 1 });
82
+ const llmRes = await this.deps.mainLlm.chat([{ role: 'user', content: 'ping' }], [], healthOptions);
72
83
  results.llm = llmRes.ok;
73
84
  }
74
85
  catch {
75
86
  results.llm = false;
76
87
  }
77
- const ragRes = await this.deps.ragStores.facts.healthCheck(options);
78
- results.rag = ragRes.ok;
79
- const mcpChecks = await Promise.all(this.deps.mcpClients.map(async (client) => {
80
- const tools = await client.listTools(options);
81
- return {
82
- name: 'mcp-client',
83
- ok: tools.ok,
84
- error: tools.ok || !tools.error
85
- ? undefined
86
- : tools.error instanceof Error
87
- ? tools.error.message
88
- : String(tools.error),
89
- };
90
- }));
91
- results.mcp = mcpChecks;
88
+ try {
89
+ const ragRes = await this.deps.ragStores.facts.healthCheck(healthOptions);
90
+ results.rag = ragRes.ok;
91
+ }
92
+ catch {
93
+ results.rag = false;
94
+ }
95
+ try {
96
+ const mcpChecks = await Promise.all(this.deps.mcpClients.map(async (client) => {
97
+ try {
98
+ const tools = await client.listTools(healthOptions);
99
+ return {
100
+ name: 'mcp-client',
101
+ ok: tools.ok,
102
+ error: tools.ok || !tools.error
103
+ ? undefined
104
+ : tools.error instanceof Error
105
+ ? tools.error.message
106
+ : String(tools.error),
107
+ };
108
+ }
109
+ catch (err) {
110
+ return {
111
+ name: 'mcp-client',
112
+ ok: false,
113
+ error: err instanceof Error ? err.message : String(err),
114
+ };
115
+ }
116
+ }));
117
+ results.mcp = mcpChecks;
118
+ }
119
+ catch {
120
+ // AbortSignal timeout — leave mcp as empty
121
+ }
92
122
  return { ok: true, value: results };
93
123
  }
94
124
  async process(textOrMessages, options) {
@@ -161,7 +191,16 @@ export class SmartAgent {
161
191
  rootSpan.end();
162
192
  return;
163
193
  }
164
- // 1. Unified Preparation
194
+ // Structured pipeline path (when configured via Builder.withPipeline)
195
+ if (this.pipelineExecutor && this.pipelineStages) {
196
+ const stream = this._runStructuredPipeline(textOrMessages, externalTools, opts, rootSpan, sessionId);
197
+ for await (const chunk of stream)
198
+ yield chunk;
199
+ rootSpan.setStatus('ok');
200
+ rootSpan.end();
201
+ return;
202
+ }
203
+ // 1. Unified Preparation (default hardcoded flow)
165
204
  const initResult = await this._preparePipeline(textOrMessages, opts, rootSpan);
166
205
  if (!initResult.ok) {
167
206
  rootSpan.setStatus('error', initResult.error.message);
@@ -180,7 +219,9 @@ export class SmartAgent {
180
219
  }
181
220
  // 2. Decide context and tools for the WHOLE request
182
221
  const actions = subprompts.filter((sp) => sp.type === 'action');
222
+ const ragMode = this.config.ragRetrievalMode ?? 'auto';
183
223
  const isSapRequired = actions.some((a) => a.context === 'sap-abap') || mode === 'hard';
224
+ const shouldRetrieve = ragMode === 'always' || (ragMode === 'auto' && isSapRequired);
184
225
  let finalTools = [];
185
226
  let retrieved = {
186
227
  facts: [],
@@ -188,10 +229,12 @@ export class SmartAgent {
188
229
  state: [],
189
230
  tools: [],
190
231
  };
191
- if (isSapRequired) {
232
+ if (shouldRetrieve) {
192
233
  // Collect all action texts for RAG
193
234
  const combinedActionText = actions.map((a) => a.text).join(' ');
194
- let ragText = await this._toEnglishForRag(combinedActionText, opts);
235
+ let ragText = this.config.ragTranslationEnabled !== false
236
+ ? await this._toEnglishForRag(combinedActionText, opts)
237
+ : combinedActionText;
195
238
  if (this.config.queryExpansionEnabled) {
196
239
  const expandResult = await this.queryExpander.expand(ragText, opts);
197
240
  if (expandResult.ok)
@@ -234,6 +277,17 @@ export class SmartAgent {
234
277
  ]);
235
278
  const { tools: mcpTools } = await this._listAllTools(opts);
236
279
  const facts = rerankedFacts.ok ? rerankedFacts.value : [];
280
+ // Log RAG results with scores for diagnostics
281
+ opts?.sessionLogger?.logStep('rag_query_facts', {
282
+ query: ragText.slice(0, 200),
283
+ k,
284
+ resultCount: facts.length,
285
+ results: facts.map((r) => ({
286
+ id: r.metadata.id,
287
+ score: r.score,
288
+ text: r.text.slice(0, 120),
289
+ })),
290
+ });
237
291
  const ragToolNames = new Set(facts
238
292
  .map((r) => r.metadata.id)
239
293
  .filter((id) => id?.startsWith('tool:'))
@@ -243,6 +297,16 @@ export class SmartAgent {
243
297
  : mode === 'hard'
244
298
  ? mcpTools
245
299
  : [];
300
+ // Log tool selection diagnostics
301
+ opts?.sessionLogger?.logStep('tools_selected', {
302
+ totalMcp: mcpTools.length,
303
+ ragMatchedTools: [...ragToolNames],
304
+ selectedCount: selectedMcpTools.length + externalTools.length,
305
+ selectedNames: [
306
+ ...selectedMcpTools.map((t) => t.name),
307
+ ...externalTools.map((t) => t.name),
308
+ ],
309
+ });
246
310
  retrieved = {
247
311
  facts,
248
312
  feedback: rerankedFeedback.ok ? rerankedFeedback.value : [],
@@ -332,28 +396,42 @@ export class SmartAgent {
332
396
  if (res.ok)
333
397
  processedHistory = res.value;
334
398
  }
335
- const classifySpan = this.tracer.startSpan('smart_agent.classify', {
336
- parent: parentSpan,
337
- });
338
- const classifyResult = await this.deps.classifier.classify(text, opts);
339
- if (!classifyResult.ok) {
340
- classifySpan.setStatus('error', classifyResult.error.message);
399
+ let subprompts;
400
+ if (this.config.classificationEnabled === false) {
401
+ // Skip classification — treat entire input as a single action
402
+ subprompts = [
403
+ { type: 'action', text, dependency: 'independent' },
404
+ ];
405
+ opts?.sessionLogger?.logStep('classification_skipped', { text });
406
+ }
407
+ else {
408
+ const classifySpan = this.tracer.startSpan('smart_agent.classify', {
409
+ parent: parentSpan,
410
+ });
411
+ const classifyResult = await this.deps.classifier.classify(text, opts);
412
+ if (!classifyResult.ok) {
413
+ classifySpan.setStatus('error', classifyResult.error.message);
414
+ classifySpan.end();
415
+ return {
416
+ ok: false,
417
+ error: new OrchestratorError(classifyResult.error.message, 'CLASSIFIER_ERROR'),
418
+ };
419
+ }
420
+ classifySpan.setStatus('ok');
341
421
  classifySpan.end();
342
- return {
343
- ok: false,
344
- error: new OrchestratorError(classifyResult.error.message, 'CLASSIFIER_ERROR'),
345
- };
422
+ opts?.sessionLogger?.logStep('classifier_response', {
423
+ subprompts: classifyResult.value,
424
+ });
425
+ subprompts = classifyResult.value;
346
426
  }
347
- classifySpan.setStatus('ok');
348
- classifySpan.end();
349
- opts?.sessionLogger?.logStep('classifier_response', {
350
- subprompts: classifyResult.value,
351
- });
352
- const subprompts = classifyResult.value;
353
427
  for (const sp of subprompts) {
354
428
  this.metrics.classifierIntentCount.add(1, { intent: sp.type });
355
429
  }
356
- const others = subprompts.filter((sp) => sp.type === 'fact' || sp.type === 'state' || sp.type === 'feedback');
430
+ const others = this.config.ragUpsertEnabled !== false
431
+ ? subprompts.filter((sp) => sp.type === 'fact' ||
432
+ sp.type === 'state' ||
433
+ sp.type === 'feedback')
434
+ : [];
357
435
  const ragStoreMap = new Map([
358
436
  ['fact', this.deps.ragStores.facts],
359
437
  ['feedback', this.deps.ragStores.feedback],
@@ -838,5 +916,108 @@ export class SmartAgent {
838
916
  m.ttl = Math.floor((Date.now() + p.maxSessionAgeMs) / 1000);
839
917
  return m;
840
918
  }
919
+ /**
920
+ * Execute the structured pipeline — delegates stage execution to
921
+ * the PipelineExecutor instead of running the hardcoded flow.
922
+ */
923
+ async *_runStructuredPipeline(textOrMessages, externalTools, opts, parentSpan, sessionId) {
924
+ if (!this.pipelineExecutor || !this.pipelineStages)
925
+ return;
926
+ const text = typeof textOrMessages === 'string'
927
+ ? textOrMessages
928
+ : (textOrMessages.filter((m) => m.role === 'user').slice(-1)[0]
929
+ ?.content ?? '');
930
+ const history = typeof textOrMessages === 'string' ? [] : textOrMessages;
931
+ // Collect yielded chunks via a queue
932
+ const chunkQueue = [];
933
+ let resolveWait = null;
934
+ let done = false;
935
+ const ctx = {
936
+ // Immutable input
937
+ textOrMessages,
938
+ options: opts,
939
+ config: this.config,
940
+ sessionId,
941
+ // Dependencies
942
+ mainLlm: this.deps.mainLlm,
943
+ helperLlm: this.deps.helperLlm,
944
+ classifierLlm: this.deps.mainLlm,
945
+ classifier: this.deps.classifier,
946
+ assembler: this.deps.assembler,
947
+ ragStores: this.deps.ragStores,
948
+ mcpClients: this.deps.mcpClients,
949
+ reranker: this.reranker,
950
+ queryExpander: this.queryExpander,
951
+ toolCache: this.toolCache,
952
+ outputValidator: this.outputValidator,
953
+ sessionManager: this.sessionManager,
954
+ tracer: this.tracer,
955
+ metrics: this.metrics,
956
+ logger: this.deps.logger,
957
+ toolPolicy: this.deps.toolPolicy,
958
+ injectionDetector: this.deps.injectionDetector,
959
+ toolAvailabilityRegistry: this.toolAvailabilityRegistry,
960
+ // Mutable state
961
+ inputText: text,
962
+ history: [...history],
963
+ subprompts: [],
964
+ toolClientMap: new Map(),
965
+ ragText: '',
966
+ ragResults: { facts: [], feedback: [], state: [] },
967
+ mcpTools: [],
968
+ selectedTools: [],
969
+ externalTools,
970
+ assembledMessages: [],
971
+ activeTools: [],
972
+ // Control flags
973
+ shouldRetrieve: false,
974
+ isAscii: true,
975
+ isSapRequired: false,
976
+ // Output
977
+ timing: [],
978
+ // Streaming yield
979
+ yield: (chunk) => {
980
+ chunkQueue.push(chunk);
981
+ if (resolveWait) {
982
+ resolveWait();
983
+ resolveWait = null;
984
+ }
985
+ },
986
+ };
987
+ // Run executor in background, yield chunks as they arrive
988
+ const executorPromise = this.pipelineExecutor
989
+ .executeStages(this.pipelineStages, ctx, parentSpan)
990
+ .then(() => {
991
+ done = true;
992
+ if (resolveWait) {
993
+ resolveWait();
994
+ resolveWait = null;
995
+ }
996
+ })
997
+ .catch((err) => {
998
+ chunkQueue.push({
999
+ ok: false,
1000
+ error: new OrchestratorError(String(err), 'PIPELINE_ERROR'),
1001
+ });
1002
+ done = true;
1003
+ if (resolveWait) {
1004
+ resolveWait();
1005
+ resolveWait = null;
1006
+ }
1007
+ });
1008
+ while (!done || chunkQueue.length > 0) {
1009
+ if (chunkQueue.length > 0) {
1010
+ const chunk = chunkQueue.shift();
1011
+ if (chunk !== undefined)
1012
+ yield chunk;
1013
+ }
1014
+ else if (!done) {
1015
+ await new Promise((r) => {
1016
+ resolveWait = r;
1017
+ });
1018
+ }
1019
+ }
1020
+ await executorPromise;
1021
+ }
841
1022
  }
842
1023
  //# sourceMappingURL=agent.js.map