@mcp-abap-adt/llm-agent-server 10.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/README.md +13 -0
- package/bin/llm-agent +2 -0
- package/bin/llm-agent-check +2 -0
- package/dist/agent.d.ts +49 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +97 -0
- package/dist/agent.js.map +1 -0
- package/dist/agents/anthropic-agent.d.ts +33 -0
- package/dist/agents/anthropic-agent.d.ts.map +1 -0
- package/dist/agents/anthropic-agent.js +138 -0
- package/dist/agents/anthropic-agent.js.map +1 -0
- package/dist/agents/base.d.ts +90 -0
- package/dist/agents/base.d.ts.map +1 -0
- package/dist/agents/base.js +107 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/deepseek-agent.d.ts +31 -0
- package/dist/agents/deepseek-agent.d.ts.map +1 -0
- package/dist/agents/deepseek-agent.js +121 -0
- package/dist/agents/deepseek-agent.js.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +10 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/openai-agent.d.ts +32 -0
- package/dist/agents/openai-agent.d.ts.map +1 -0
- package/dist/agents/openai-agent.js +122 -0
- package/dist/agents/openai-agent.js.map +1 -0
- package/dist/agents/prompt-based-agent.d.ts +29 -0
- package/dist/agents/prompt-based-agent.d.ts.map +1 -0
- package/dist/agents/prompt-based-agent.js +67 -0
- package/dist/agents/prompt-based-agent.js.map +1 -0
- package/dist/agents/sap-core-ai-agent.d.ts +41 -0
- package/dist/agents/sap-core-ai-agent.d.ts.map +1 -0
- package/dist/agents/sap-core-ai-agent.js +151 -0
- package/dist/agents/sap-core-ai-agent.js.map +1 -0
- package/dist/cli.d.ts +53 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +338 -0
- package/dist/cli.js.map +1 -0
- package/dist/generated/version.d.ts +2 -0
- package/dist/generated/version.d.ts.map +1 -0
- package/dist/generated/version.js +3 -0
- package/dist/generated/version.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/llm-providers/anthropic.d.ts +25 -0
- package/dist/llm-providers/anthropic.d.ts.map +1 -0
- package/dist/llm-providers/anthropic.js +202 -0
- package/dist/llm-providers/anthropic.js.map +1 -0
- package/dist/llm-providers/base.d.ts +33 -0
- package/dist/llm-providers/base.d.ts.map +1 -0
- package/dist/llm-providers/base.js +18 -0
- package/dist/llm-providers/base.js.map +1 -0
- package/dist/llm-providers/deepseek.d.ts +24 -0
- package/dist/llm-providers/deepseek.d.ts.map +1 -0
- package/dist/llm-providers/deepseek.js +60 -0
- package/dist/llm-providers/deepseek.js.map +1 -0
- package/dist/llm-providers/index.d.ts +13 -0
- package/dist/llm-providers/index.d.ts.map +1 -0
- package/dist/llm-providers/index.js +15 -0
- package/dist/llm-providers/index.js.map +1 -0
- package/dist/llm-providers/openai.d.ts +34 -0
- package/dist/llm-providers/openai.d.ts.map +1 -0
- package/dist/llm-providers/openai.js +193 -0
- package/dist/llm-providers/openai.js.map +1 -0
- package/dist/llm-providers/sap-core-ai.d.ts +90 -0
- package/dist/llm-providers/sap-core-ai.d.ts.map +1 -0
- package/dist/llm-providers/sap-core-ai.js +394 -0
- package/dist/llm-providers/sap-core-ai.js.map +1 -0
- package/dist/mcp/client.d.ts +133 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +314 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/smart-agent/adapters/cline-client-adapter.d.ts +18 -0
- package/dist/smart-agent/adapters/cline-client-adapter.d.ts.map +1 -0
- package/dist/smart-agent/adapters/cline-client-adapter.js +21 -0
- package/dist/smart-agent/adapters/cline-client-adapter.js.map +1 -0
- package/dist/smart-agent/adapters/index.d.ts +3 -0
- package/dist/smart-agent/adapters/index.d.ts.map +1 -0
- package/dist/smart-agent/adapters/index.js +3 -0
- package/dist/smart-agent/adapters/index.js.map +1 -0
- package/dist/smart-agent/adapters/llm-adapter.d.ts +24 -0
- package/dist/smart-agent/adapters/llm-adapter.d.ts.map +1 -0
- package/dist/smart-agent/adapters/llm-adapter.js +345 -0
- package/dist/smart-agent/adapters/llm-adapter.js.map +1 -0
- package/dist/smart-agent/adapters/mcp-client-adapter.d.ts +16 -0
- package/dist/smart-agent/adapters/mcp-client-adapter.d.ts.map +1 -0
- package/dist/smart-agent/adapters/mcp-client-adapter.js +95 -0
- package/dist/smart-agent/adapters/mcp-client-adapter.js.map +1 -0
- package/dist/smart-agent/adapters/non-streaming-llm.d.ts +18 -0
- package/dist/smart-agent/adapters/non-streaming-llm.d.ts.map +1 -0
- package/dist/smart-agent/adapters/non-streaming-llm.js +44 -0
- package/dist/smart-agent/adapters/non-streaming-llm.js.map +1 -0
- package/dist/smart-agent/agent.d.ts +229 -0
- package/dist/smart-agent/agent.d.ts.map +1 -0
- package/dist/smart-agent/agent.js +1538 -0
- package/dist/smart-agent/agent.js.map +1 -0
- package/dist/smart-agent/api-adapters/anthropic-adapter.d.ts +10 -0
- package/dist/smart-agent/api-adapters/anthropic-adapter.d.ts.map +1 -0
- package/dist/smart-agent/api-adapters/anthropic-adapter.js +356 -0
- package/dist/smart-agent/api-adapters/anthropic-adapter.js.map +1 -0
- package/dist/smart-agent/api-adapters/index.d.ts +3 -0
- package/dist/smart-agent/api-adapters/index.d.ts.map +1 -0
- package/dist/smart-agent/api-adapters/index.js +3 -0
- package/dist/smart-agent/api-adapters/index.js.map +1 -0
- package/dist/smart-agent/api-adapters/openai-adapter.d.ts +10 -0
- package/dist/smart-agent/api-adapters/openai-adapter.d.ts.map +1 -0
- package/dist/smart-agent/api-adapters/openai-adapter.js +277 -0
- package/dist/smart-agent/api-adapters/openai-adapter.js.map +1 -0
- package/dist/smart-agent/builder.d.ts +281 -0
- package/dist/smart-agent/builder.d.ts.map +1 -0
- package/dist/smart-agent/builder.js +942 -0
- package/dist/smart-agent/builder.js.map +1 -0
- package/dist/smart-agent/cache/index.d.ts +4 -0
- package/dist/smart-agent/cache/index.d.ts.map +1 -0
- package/dist/smart-agent/cache/index.js +3 -0
- package/dist/smart-agent/cache/index.js.map +1 -0
- package/dist/smart-agent/cache/noop-tool-cache.d.ts +7 -0
- package/dist/smart-agent/cache/noop-tool-cache.d.ts.map +1 -0
- package/dist/smart-agent/cache/noop-tool-cache.js +8 -0
- package/dist/smart-agent/cache/noop-tool-cache.js.map +1 -0
- package/dist/smart-agent/cache/tool-cache.d.ts +14 -0
- package/dist/smart-agent/cache/tool-cache.d.ts.map +1 -0
- package/dist/smart-agent/cache/tool-cache.js +32 -0
- package/dist/smart-agent/cache/tool-cache.js.map +1 -0
- package/dist/smart-agent/cache/types.d.ts +7 -0
- package/dist/smart-agent/cache/types.d.ts.map +1 -0
- package/dist/smart-agent/cache/types.js +2 -0
- package/dist/smart-agent/cache/types.js.map +1 -0
- package/dist/smart-agent/check-models-cli.d.ts +14 -0
- package/dist/smart-agent/check-models-cli.d.ts.map +1 -0
- package/dist/smart-agent/check-models-cli.js +237 -0
- package/dist/smart-agent/check-models-cli.js.map +1 -0
- package/dist/smart-agent/classifier/index.d.ts +3 -0
- package/dist/smart-agent/classifier/index.d.ts.map +1 -0
- package/dist/smart-agent/classifier/index.js +2 -0
- package/dist/smart-agent/classifier/index.js.map +1 -0
- package/dist/smart-agent/classifier/llm-classifier.d.ts +20 -0
- package/dist/smart-agent/classifier/llm-classifier.d.ts.map +1 -0
- package/dist/smart-agent/classifier/llm-classifier.js +128 -0
- package/dist/smart-agent/classifier/llm-classifier.js.map +1 -0
- package/dist/smart-agent/cli.d.ts +65 -0
- package/dist/smart-agent/cli.d.ts.map +1 -0
- package/dist/smart-agent/cli.js +199 -0
- package/dist/smart-agent/cli.js.map +1 -0
- package/dist/smart-agent/config/config-watcher.d.ts +54 -0
- package/dist/smart-agent/config/config-watcher.d.ts.map +1 -0
- package/dist/smart-agent/config/config-watcher.js +107 -0
- package/dist/smart-agent/config/config-watcher.js.map +1 -0
- package/dist/smart-agent/config/index.d.ts +2 -0
- package/dist/smart-agent/config/index.d.ts.map +1 -0
- package/dist/smart-agent/config/index.js +2 -0
- package/dist/smart-agent/config/index.js.map +1 -0
- package/dist/smart-agent/config.d.ts +35 -0
- package/dist/smart-agent/config.d.ts.map +1 -0
- package/dist/smart-agent/config.js +360 -0
- package/dist/smart-agent/config.js.map +1 -0
- package/dist/smart-agent/context/context-assembler.d.ts +49 -0
- package/dist/smart-agent/context/context-assembler.d.ts.map +1 -0
- package/dist/smart-agent/context/context-assembler.js +184 -0
- package/dist/smart-agent/context/context-assembler.js.map +1 -0
- package/dist/smart-agent/context/index.d.ts +3 -0
- package/dist/smart-agent/context/index.d.ts.map +1 -0
- package/dist/smart-agent/context/index.js +2 -0
- package/dist/smart-agent/context/index.js.map +1 -0
- package/dist/smart-agent/health/health-checker.d.ts +21 -0
- package/dist/smart-agent/health/health-checker.d.ts.map +1 -0
- package/dist/smart-agent/health/health-checker.js +52 -0
- package/dist/smart-agent/health/health-checker.js.map +1 -0
- package/dist/smart-agent/health/index.d.ts +3 -0
- package/dist/smart-agent/health/index.d.ts.map +1 -0
- package/dist/smart-agent/health/index.js +2 -0
- package/dist/smart-agent/health/index.js.map +1 -0
- package/dist/smart-agent/health/types.d.ts +25 -0
- package/dist/smart-agent/health/types.d.ts.map +1 -0
- package/dist/smart-agent/health/types.js +2 -0
- package/dist/smart-agent/health/types.js.map +1 -0
- package/dist/smart-agent/history/history-memory.d.ts +12 -0
- package/dist/smart-agent/history/history-memory.d.ts.map +1 -0
- package/dist/smart-agent/history/history-memory.js +26 -0
- package/dist/smart-agent/history/history-memory.js.map +1 -0
- package/dist/smart-agent/history/history-summarizer.d.ts +10 -0
- package/dist/smart-agent/history/history-summarizer.d.ts.map +1 -0
- package/dist/smart-agent/history/history-summarizer.js +27 -0
- package/dist/smart-agent/history/history-summarizer.js.map +1 -0
- package/dist/smart-agent/history/index.d.ts +3 -0
- package/dist/smart-agent/history/index.d.ts.map +1 -0
- package/dist/smart-agent/history/index.js +3 -0
- package/dist/smart-agent/history/index.js.map +1 -0
- package/dist/smart-agent/interfaces/api-adapter.d.ts +36 -0
- package/dist/smart-agent/interfaces/api-adapter.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/api-adapter.js +9 -0
- package/dist/smart-agent/interfaces/api-adapter.js.map +1 -0
- package/dist/smart-agent/interfaces/client-adapter.d.ts +23 -0
- package/dist/smart-agent/interfaces/client-adapter.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/client-adapter.js +10 -0
- package/dist/smart-agent/interfaces/client-adapter.js.map +1 -0
- package/dist/smart-agent/interfaces/mcp-connection-strategy.d.ts +27 -0
- package/dist/smart-agent/interfaces/mcp-connection-strategy.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/mcp-connection-strategy.js +2 -0
- package/dist/smart-agent/interfaces/mcp-connection-strategy.js.map +1 -0
- package/dist/smart-agent/interfaces/model-resolver.d.ts +9 -0
- package/dist/smart-agent/interfaces/model-resolver.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/model-resolver.js +2 -0
- package/dist/smart-agent/interfaces/model-resolver.js.map +1 -0
- package/dist/smart-agent/interfaces/pipeline.d.ts +125 -0
- package/dist/smart-agent/interfaces/pipeline.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/pipeline.js +13 -0
- package/dist/smart-agent/interfaces/pipeline.js.map +1 -0
- package/dist/smart-agent/logger/console-logger.d.ts +7 -0
- package/dist/smart-agent/logger/console-logger.d.ts.map +1 -0
- package/dist/smart-agent/logger/console-logger.js +12 -0
- package/dist/smart-agent/logger/console-logger.js.map +1 -0
- package/dist/smart-agent/logger/default-request-logger.d.ts +17 -0
- package/dist/smart-agent/logger/default-request-logger.d.ts.map +1 -0
- package/dist/smart-agent/logger/default-request-logger.js +86 -0
- package/dist/smart-agent/logger/default-request-logger.js.map +1 -0
- package/dist/smart-agent/logger/index.d.ts +3 -0
- package/dist/smart-agent/logger/index.d.ts.map +1 -0
- package/dist/smart-agent/logger/index.js +2 -0
- package/dist/smart-agent/logger/index.js.map +1 -0
- package/dist/smart-agent/logger/noop-request-logger.d.ts +11 -0
- package/dist/smart-agent/logger/noop-request-logger.d.ts.map +1 -0
- package/dist/smart-agent/logger/noop-request-logger.js +20 -0
- package/dist/smart-agent/logger/noop-request-logger.js.map +1 -0
- package/dist/smart-agent/logger/session-logger.d.ts +10 -0
- package/dist/smart-agent/logger/session-logger.d.ts.map +1 -0
- package/dist/smart-agent/logger/session-logger.js +40 -0
- package/dist/smart-agent/logger/session-logger.js.map +1 -0
- package/dist/smart-agent/logger/types.d.ts +63 -0
- package/dist/smart-agent/logger/types.d.ts.map +1 -0
- package/dist/smart-agent/logger/types.js +2 -0
- package/dist/smart-agent/logger/types.js.map +1 -0
- package/dist/smart-agent/mcp-client-factory.d.ts +3 -0
- package/dist/smart-agent/mcp-client-factory.d.ts.map +1 -0
- package/dist/smart-agent/mcp-client-factory.js +21 -0
- package/dist/smart-agent/mcp-client-factory.js.map +1 -0
- package/dist/smart-agent/metrics/in-memory-metrics.d.ts +58 -0
- package/dist/smart-agent/metrics/in-memory-metrics.d.ts.map +1 -0
- package/dist/smart-agent/metrics/in-memory-metrics.js +78 -0
- package/dist/smart-agent/metrics/in-memory-metrics.js.map +1 -0
- package/dist/smart-agent/metrics/index.d.ts +4 -0
- package/dist/smart-agent/metrics/index.d.ts.map +1 -0
- package/dist/smart-agent/metrics/index.js +3 -0
- package/dist/smart-agent/metrics/index.js.map +1 -0
- package/dist/smart-agent/metrics/noop-metrics.d.ts +17 -0
- package/dist/smart-agent/metrics/noop-metrics.d.ts.map +1 -0
- package/dist/smart-agent/metrics/noop-metrics.js +22 -0
- package/dist/smart-agent/metrics/noop-metrics.js.map +1 -0
- package/dist/smart-agent/metrics/types.d.ts +36 -0
- package/dist/smart-agent/metrics/types.d.ts.map +1 -0
- package/dist/smart-agent/metrics/types.js +9 -0
- package/dist/smart-agent/metrics/types.js.map +1 -0
- package/dist/smart-agent/otel/index.d.ts +2 -0
- package/dist/smart-agent/otel/index.d.ts.map +1 -0
- package/dist/smart-agent/otel/index.js +2 -0
- package/dist/smart-agent/otel/index.js.map +1 -0
- package/dist/smart-agent/otel/otel-tracer-adapter.d.ts +15 -0
- package/dist/smart-agent/otel/otel-tracer-adapter.d.ts.map +1 -0
- package/dist/smart-agent/otel/otel-tracer-adapter.js +62 -0
- package/dist/smart-agent/otel/otel-tracer-adapter.js.map +1 -0
- package/dist/smart-agent/pipeline/condition-evaluator.d.ts +35 -0
- package/dist/smart-agent/pipeline/condition-evaluator.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/condition-evaluator.js +143 -0
- package/dist/smart-agent/pipeline/condition-evaluator.js.map +1 -0
- package/dist/smart-agent/pipeline/context.d.ts +121 -0
- package/dist/smart-agent/pipeline/context.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/context.js +19 -0
- package/dist/smart-agent/pipeline/context.js.map +1 -0
- package/dist/smart-agent/pipeline/default-pipeline.d.ts +69 -0
- package/dist/smart-agent/pipeline/default-pipeline.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/default-pipeline.js +278 -0
- package/dist/smart-agent/pipeline/default-pipeline.js.map +1 -0
- package/dist/smart-agent/pipeline/executor.d.ts +54 -0
- package/dist/smart-agent/pipeline/executor.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/executor.js +133 -0
- package/dist/smart-agent/pipeline/executor.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/assemble.d.ts +16 -0
- package/dist/smart-agent/pipeline/handlers/assemble.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/assemble.js +72 -0
- package/dist/smart-agent/pipeline/handlers/assemble.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/build-tool-query.d.ts +30 -0
- package/dist/smart-agent/pipeline/handlers/build-tool-query.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/build-tool-query.js +80 -0
- package/dist/smart-agent/pipeline/handlers/build-tool-query.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/classify.d.ts +21 -0
- package/dist/smart-agent/pipeline/handlers/classify.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/classify.js +60 -0
- package/dist/smart-agent/pipeline/handlers/classify.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/expand.d.ts +16 -0
- package/dist/smart-agent/pipeline/handlers/expand.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/expand.js +24 -0
- package/dist/smart-agent/pipeline/handlers/expand.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/history-upsert.d.ts +29 -0
- package/dist/smart-agent/pipeline/handlers/history-upsert.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/history-upsert.js +75 -0
- package/dist/smart-agent/pipeline/handlers/history-upsert.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/index.d.ts +31 -0
- package/dist/smart-agent/pipeline/handlers/index.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/index.js +44 -0
- package/dist/smart-agent/pipeline/handlers/index.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/rag-query.d.ts +27 -0
- package/dist/smart-agent/pipeline/handlers/rag-query.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/rag-query.js +117 -0
- package/dist/smart-agent/pipeline/handlers/rag-query.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/rerank.d.ts +16 -0
- package/dist/smart-agent/pipeline/handlers/rerank.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/rerank.js +27 -0
- package/dist/smart-agent/pipeline/handlers/rerank.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/skill-select.d.ts +18 -0
- package/dist/smart-agent/pipeline/handlers/skill-select.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/skill-select.js +88 -0
- package/dist/smart-agent/pipeline/handlers/skill-select.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/summarize.d.ts +17 -0
- package/dist/smart-agent/pipeline/handlers/summarize.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/summarize.js +56 -0
- package/dist/smart-agent/pipeline/handlers/summarize.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts +32 -0
- package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/tool-loop.js +734 -0
- package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/tool-select.d.ts +21 -0
- package/dist/smart-agent/pipeline/handlers/tool-select.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/tool-select.js +109 -0
- package/dist/smart-agent/pipeline/handlers/tool-select.js.map +1 -0
- package/dist/smart-agent/pipeline/handlers/translate.d.ts +17 -0
- package/dist/smart-agent/pipeline/handlers/translate.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/handlers/translate.js +42 -0
- package/dist/smart-agent/pipeline/handlers/translate.js.map +1 -0
- package/dist/smart-agent/pipeline/index.d.ts +14 -0
- package/dist/smart-agent/pipeline/index.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/index.js +16 -0
- package/dist/smart-agent/pipeline/index.js.map +1 -0
- package/dist/smart-agent/pipeline/stage-handler.d.ts +36 -0
- package/dist/smart-agent/pipeline/stage-handler.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/stage-handler.js +24 -0
- package/dist/smart-agent/pipeline/stage-handler.js.map +1 -0
- package/dist/smart-agent/pipeline/types.d.ts +116 -0
- package/dist/smart-agent/pipeline/types.d.ts.map +1 -0
- package/dist/smart-agent/pipeline/types.js +54 -0
- package/dist/smart-agent/pipeline/types.js.map +1 -0
- package/dist/smart-agent/pipeline.d.ts +82 -0
- package/dist/smart-agent/pipeline.d.ts.map +1 -0
- package/dist/smart-agent/pipeline.js +8 -0
- package/dist/smart-agent/pipeline.js.map +1 -0
- package/dist/smart-agent/plugins/index.d.ts +4 -0
- package/dist/smart-agent/plugins/index.d.ts.map +1 -0
- package/dist/smart-agent/plugins/index.js +3 -0
- package/dist/smart-agent/plugins/index.js.map +1 -0
- package/dist/smart-agent/plugins/loader.d.ts +67 -0
- package/dist/smart-agent/plugins/loader.d.ts.map +1 -0
- package/dist/smart-agent/plugins/loader.js +114 -0
- package/dist/smart-agent/plugins/loader.js.map +1 -0
- package/dist/smart-agent/plugins/types.d.ts +164 -0
- package/dist/smart-agent/plugins/types.d.ts.map +1 -0
- package/dist/smart-agent/plugins/types.js +136 -0
- package/dist/smart-agent/plugins/types.js.map +1 -0
- package/dist/smart-agent/policy/fallback-llm-call-strategy.d.ts +16 -0
- package/dist/smart-agent/policy/fallback-llm-call-strategy.d.ts.map +1 -0
- package/dist/smart-agent/policy/fallback-llm-call-strategy.js +66 -0
- package/dist/smart-agent/policy/fallback-llm-call-strategy.js.map +1 -0
- package/dist/smart-agent/policy/heuristic-injection-detector.d.ts +5 -0
- package/dist/smart-agent/policy/heuristic-injection-detector.d.ts.map +1 -0
- package/dist/smart-agent/policy/heuristic-injection-detector.js +36 -0
- package/dist/smart-agent/policy/heuristic-injection-detector.js.map +1 -0
- package/dist/smart-agent/policy/index.d.ts +6 -0
- package/dist/smart-agent/policy/index.d.ts.map +1 -0
- package/dist/smart-agent/policy/index.js +5 -0
- package/dist/smart-agent/policy/index.js.map +1 -0
- package/dist/smart-agent/policy/mixed-tool-call-handler.d.ts +16 -0
- package/dist/smart-agent/policy/mixed-tool-call-handler.d.ts.map +1 -0
- package/dist/smart-agent/policy/mixed-tool-call-handler.js +49 -0
- package/dist/smart-agent/policy/mixed-tool-call-handler.js.map +1 -0
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.d.ts +6 -0
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.d.ts.map +1 -0
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.js +21 -0
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.js.map +1 -0
- package/dist/smart-agent/policy/pending-tool-results-registry.d.ts +25 -0
- package/dist/smart-agent/policy/pending-tool-results-registry.d.ts.map +1 -0
- package/dist/smart-agent/policy/pending-tool-results-registry.js +50 -0
- package/dist/smart-agent/policy/pending-tool-results-registry.js.map +1 -0
- package/dist/smart-agent/policy/streaming-llm-call-strategy.d.ts +6 -0
- package/dist/smart-agent/policy/streaming-llm-call-strategy.d.ts.map +1 -0
- package/dist/smart-agent/policy/streaming-llm-call-strategy.js +7 -0
- package/dist/smart-agent/policy/streaming-llm-call-strategy.js.map +1 -0
- package/dist/smart-agent/policy/tool-availability-registry.d.ts +21 -0
- package/dist/smart-agent/policy/tool-availability-registry.d.ts.map +1 -0
- package/dist/smart-agent/policy/tool-availability-registry.js +77 -0
- package/dist/smart-agent/policy/tool-availability-registry.js.map +1 -0
- package/dist/smart-agent/policy/tool-policy-guard.d.ts +8 -0
- package/dist/smart-agent/policy/tool-policy-guard.d.ts.map +1 -0
- package/dist/smart-agent/policy/tool-policy-guard.js +40 -0
- package/dist/smart-agent/policy/tool-policy-guard.js.map +1 -0
- package/dist/smart-agent/policy/types.d.ts +51 -0
- package/dist/smart-agent/policy/types.d.ts.map +1 -0
- package/dist/smart-agent/policy/types.js +17 -0
- package/dist/smart-agent/policy/types.js.map +1 -0
- package/dist/smart-agent/providers.d.ts +98 -0
- package/dist/smart-agent/providers.d.ts.map +1 -0
- package/dist/smart-agent/providers.js +245 -0
- package/dist/smart-agent/providers.js.map +1 -0
- package/dist/smart-agent/reranker/index.d.ts +4 -0
- package/dist/smart-agent/reranker/index.d.ts.map +1 -0
- package/dist/smart-agent/reranker/index.js +3 -0
- package/dist/smart-agent/reranker/index.js.map +1 -0
- package/dist/smart-agent/reranker/llm-reranker.d.ts +10 -0
- package/dist/smart-agent/reranker/llm-reranker.d.ts.map +1 -0
- package/dist/smart-agent/reranker/llm-reranker.js +55 -0
- package/dist/smart-agent/reranker/llm-reranker.js.map +1 -0
- package/dist/smart-agent/reranker/noop-reranker.d.ts +6 -0
- package/dist/smart-agent/reranker/noop-reranker.d.ts.map +1 -0
- package/dist/smart-agent/reranker/noop-reranker.js +6 -0
- package/dist/smart-agent/reranker/noop-reranker.js.map +1 -0
- package/dist/smart-agent/reranker/types.d.ts +5 -0
- package/dist/smart-agent/reranker/types.d.ts.map +1 -0
- package/dist/smart-agent/reranker/types.js +2 -0
- package/dist/smart-agent/reranker/types.js.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts +16 -0
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker-embedder.js +47 -0
- package/dist/smart-agent/resilience/circuit-breaker-embedder.js.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts +19 -0
- package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker-llm.js +72 -0
- package/dist/smart-agent/resilience/circuit-breaker-llm.js.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker.d.ts +36 -0
- package/dist/smart-agent/resilience/circuit-breaker.d.ts.map +1 -0
- package/dist/smart-agent/resilience/circuit-breaker.js +60 -0
- package/dist/smart-agent/resilience/circuit-breaker.js.map +1 -0
- package/dist/smart-agent/resilience/fallback-rag.d.ts +21 -0
- package/dist/smart-agent/resilience/fallback-rag.d.ts.map +1 -0
- package/dist/smart-agent/resilience/fallback-rag.js +80 -0
- package/dist/smart-agent/resilience/fallback-rag.js.map +1 -0
- package/dist/smart-agent/resilience/index.d.ts +5 -0
- package/dist/smart-agent/resilience/index.d.ts.map +1 -0
- package/dist/smart-agent/resilience/index.js +5 -0
- package/dist/smart-agent/resilience/index.js.map +1 -0
- package/dist/smart-agent/resilience/rate-limiter-llm.d.ts +17 -0
- package/dist/smart-agent/resilience/rate-limiter-llm.d.ts.map +1 -0
- package/dist/smart-agent/resilience/rate-limiter-llm.js +30 -0
- package/dist/smart-agent/resilience/rate-limiter-llm.js.map +1 -0
- package/dist/smart-agent/resilience/retry-llm.d.ts +32 -0
- package/dist/smart-agent/resilience/retry-llm.d.ts.map +1 -0
- package/dist/smart-agent/resilience/retry-llm.js +103 -0
- package/dist/smart-agent/resilience/retry-llm.js.map +1 -0
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.d.ts +21 -0
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.d.ts.map +1 -0
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.js +32 -0
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.js.map +1 -0
- package/dist/smart-agent/server.d.ts +19 -0
- package/dist/smart-agent/server.d.ts.map +1 -0
- package/dist/smart-agent/server.js +349 -0
- package/dist/smart-agent/server.js.map +1 -0
- package/dist/smart-agent/session/index.d.ts +4 -0
- package/dist/smart-agent/session/index.d.ts.map +1 -0
- package/dist/smart-agent/session/index.js +3 -0
- package/dist/smart-agent/session/index.js.map +1 -0
- package/dist/smart-agent/session/noop-session-manager.d.ts +8 -0
- package/dist/smart-agent/session/noop-session-manager.d.ts.map +1 -0
- package/dist/smart-agent/session/noop-session-manager.js +11 -0
- package/dist/smart-agent/session/noop-session-manager.js.map +1 -0
- package/dist/smart-agent/session/session-manager.d.ts +13 -0
- package/dist/smart-agent/session/session-manager.d.ts.map +1 -0
- package/dist/smart-agent/session/session-manager.js +20 -0
- package/dist/smart-agent/session/session-manager.js.map +1 -0
- package/dist/smart-agent/session/types.d.ts +7 -0
- package/dist/smart-agent/session/types.d.ts.map +1 -0
- package/dist/smart-agent/session/types.js +2 -0
- package/dist/smart-agent/session/types.js.map +1 -0
- package/dist/smart-agent/skills/claude-skill-manager.d.ts +24 -0
- package/dist/smart-agent/skills/claude-skill-manager.d.ts.map +1 -0
- package/dist/smart-agent/skills/claude-skill-manager.js +81 -0
- package/dist/smart-agent/skills/claude-skill-manager.js.map +1 -0
- package/dist/smart-agent/skills/codex-skill-manager.d.ts +20 -0
- package/dist/smart-agent/skills/codex-skill-manager.d.ts.map +1 -0
- package/dist/smart-agent/skills/codex-skill-manager.js +75 -0
- package/dist/smart-agent/skills/codex-skill-manager.js.map +1 -0
- package/dist/smart-agent/skills/filesystem-skill-manager.d.ts +17 -0
- package/dist/smart-agent/skills/filesystem-skill-manager.d.ts.map +1 -0
- package/dist/smart-agent/skills/filesystem-skill-manager.js +48 -0
- package/dist/smart-agent/skills/filesystem-skill-manager.js.map +1 -0
- package/dist/smart-agent/skills/filesystem-skill.d.ts +25 -0
- package/dist/smart-agent/skills/filesystem-skill.d.ts.map +1 -0
- package/dist/smart-agent/skills/filesystem-skill.js +110 -0
- package/dist/smart-agent/skills/filesystem-skill.js.map +1 -0
- package/dist/smart-agent/skills/index.d.ts +9 -0
- package/dist/smart-agent/skills/index.d.ts.map +1 -0
- package/dist/smart-agent/skills/index.js +9 -0
- package/dist/smart-agent/skills/index.js.map +1 -0
- package/dist/smart-agent/skills/skill-utils.d.ts +15 -0
- package/dist/smart-agent/skills/skill-utils.d.ts.map +1 -0
- package/dist/smart-agent/skills/skill-utils.js +46 -0
- package/dist/smart-agent/skills/skill-utils.js.map +1 -0
- package/dist/smart-agent/smart-server.d.ts +150 -0
- package/dist/smart-agent/smart-server.d.ts.map +1 -0
- package/dist/smart-agent/smart-server.js +903 -0
- package/dist/smart-agent/smart-server.js.map +1 -0
- package/dist/smart-agent/strategies/index.d.ts +4 -0
- package/dist/smart-agent/strategies/index.d.ts.map +1 -0
- package/dist/smart-agent/strategies/index.js +4 -0
- package/dist/smart-agent/strategies/index.js.map +1 -0
- package/dist/smart-agent/strategies/lazy-connection-strategy.d.ts +15 -0
- package/dist/smart-agent/strategies/lazy-connection-strategy.d.ts.map +1 -0
- package/dist/smart-agent/strategies/lazy-connection-strategy.js +82 -0
- package/dist/smart-agent/strategies/lazy-connection-strategy.js.map +1 -0
- package/dist/smart-agent/strategies/noop-connection-strategy.d.ts +6 -0
- package/dist/smart-agent/strategies/noop-connection-strategy.d.ts.map +1 -0
- package/dist/smart-agent/strategies/noop-connection-strategy.js +6 -0
- package/dist/smart-agent/strategies/noop-connection-strategy.js.map +1 -0
- package/dist/smart-agent/strategies/periodic-connection-strategy.d.ts +13 -0
- package/dist/smart-agent/strategies/periodic-connection-strategy.d.ts.map +1 -0
- package/dist/smart-agent/strategies/periodic-connection-strategy.js +40 -0
- package/dist/smart-agent/strategies/periodic-connection-strategy.js.map +1 -0
- package/dist/smart-agent/testing/index.d.ts +121 -0
- package/dist/smart-agent/testing/index.d.ts.map +1 -0
- package/dist/smart-agent/testing/index.js +354 -0
- package/dist/smart-agent/testing/index.js.map +1 -0
- package/dist/smart-agent/tracer/index.d.ts +3 -0
- package/dist/smart-agent/tracer/index.d.ts.map +1 -0
- package/dist/smart-agent/tracer/index.js +2 -0
- package/dist/smart-agent/tracer/index.js.map +1 -0
- package/dist/smart-agent/tracer/noop-tracer.d.ts +5 -0
- package/dist/smart-agent/tracer/noop-tracer.d.ts.map +1 -0
- package/dist/smart-agent/tracer/noop-tracer.js +16 -0
- package/dist/smart-agent/tracer/noop-tracer.js.map +1 -0
- package/dist/smart-agent/tracer/types.d.ts +17 -0
- package/dist/smart-agent/tracer/types.d.ts.map +1 -0
- package/dist/smart-agent/tracer/types.js +2 -0
- package/dist/smart-agent/tracer/types.js.map +1 -0
- package/dist/smart-agent/utils/external-tools-normalizer.d.ts +15 -0
- package/dist/smart-agent/utils/external-tools-normalizer.d.ts.map +1 -0
- package/dist/smart-agent/utils/external-tools-normalizer.js +146 -0
- package/dist/smart-agent/utils/external-tools-normalizer.js.map +1 -0
- package/dist/smart-agent/utils/lazy.d.ts +51 -0
- package/dist/smart-agent/utils/lazy.d.ts.map +1 -0
- package/dist/smart-agent/utils/lazy.js +127 -0
- package/dist/smart-agent/utils/lazy.js.map +1 -0
- package/dist/smart-agent/utils/parse-frontmatter.d.ts +15 -0
- package/dist/smart-agent/utils/parse-frontmatter.d.ts.map +1 -0
- package/dist/smart-agent/utils/parse-frontmatter.js +22 -0
- package/dist/smart-agent/utils/parse-frontmatter.js.map +1 -0
- package/dist/smart-agent/utils/tool-call-deltas.d.ts +4 -0
- package/dist/smart-agent/utils/tool-call-deltas.d.ts.map +1 -0
- package/dist/smart-agent/utils/tool-call-deltas.js +25 -0
- package/dist/smart-agent/utils/tool-call-deltas.js.map +1 -0
- package/dist/smart-agent/validator/index.d.ts +3 -0
- package/dist/smart-agent/validator/index.d.ts.map +1 -0
- package/dist/smart-agent/validator/index.js +2 -0
- package/dist/smart-agent/validator/index.js.map +1 -0
- package/dist/smart-agent/validator/noop-validator.d.ts +6 -0
- package/dist/smart-agent/validator/noop-validator.d.ts.map +1 -0
- package/dist/smart-agent/validator/noop-validator.js +6 -0
- package/dist/smart-agent/validator/noop-validator.js.map +1 -0
- package/dist/smart-agent/validator/types.d.ts +17 -0
- package/dist/smart-agent/validator/types.d.ts.map +1 -0
- package/dist/smart-agent/validator/types.js +8 -0
- package/dist/smart-agent/validator/types.js.map +1 -0
- package/dist/smoke-adapters.d.ts +17 -0
- package/dist/smoke-adapters.d.ts.map +1 -0
- package/dist/smoke-adapters.js +178 -0
- package/dist/smoke-adapters.js.map +1 -0
- package/package.json +89 -0
- package/tools/claude-via-agent.ps1 +83 -0
- package/tools/claude-via-agent.sh +96 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry adapter that bridges the SmartAgent ITracer/ISpan
|
|
3
|
+
* abstraction to the @opentelemetry/api Tracer.
|
|
4
|
+
*
|
|
5
|
+
* Import from '@mcp-abap-adt/llm-agent/otel'.
|
|
6
|
+
* Requires @opentelemetry/api ^1.0.0 as a peer dependency.
|
|
7
|
+
*/
|
|
8
|
+
import { context, trace } from '@opentelemetry/api';
|
|
9
|
+
const STATUS_MAP = {
|
|
10
|
+
ok: 1, // SpanStatusCode.OK
|
|
11
|
+
error: 2, // SpanStatusCode.ERROR
|
|
12
|
+
};
|
|
13
|
+
class OtelSpanAdapter {
|
|
14
|
+
otelSpan;
|
|
15
|
+
name;
|
|
16
|
+
constructor(name, otelSpan) {
|
|
17
|
+
this.otelSpan = otelSpan;
|
|
18
|
+
this.name = name;
|
|
19
|
+
}
|
|
20
|
+
setAttribute(key, value) {
|
|
21
|
+
this.otelSpan.setAttribute(key, value);
|
|
22
|
+
}
|
|
23
|
+
addEvent(name, attributes) {
|
|
24
|
+
this.otelSpan.addEvent(name, attributes);
|
|
25
|
+
}
|
|
26
|
+
setStatus(status, message) {
|
|
27
|
+
this.otelSpan.setStatus({ code: STATUS_MAP[status], message });
|
|
28
|
+
}
|
|
29
|
+
end() {
|
|
30
|
+
this.otelSpan.end();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Map from ISpan to the underlying OTEL span for parent-child linking. */
|
|
34
|
+
const otelSpanMap = new WeakMap();
|
|
35
|
+
export class OtelTracerAdapter {
|
|
36
|
+
tracer;
|
|
37
|
+
constructor(tracer) {
|
|
38
|
+
this.tracer = tracer;
|
|
39
|
+
}
|
|
40
|
+
startSpan(name, options) {
|
|
41
|
+
let ctx = context.active();
|
|
42
|
+
if (options?.parent) {
|
|
43
|
+
const parentOtel = otelSpanMap.get(options.parent);
|
|
44
|
+
if (parentOtel) {
|
|
45
|
+
ctx = trace.setSpan(ctx, parentOtel);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const otelSpan = this.tracer.startSpan(name, undefined, ctx);
|
|
49
|
+
if (options?.traceId) {
|
|
50
|
+
otelSpan.setAttribute('smart_agent.trace_id', options.traceId);
|
|
51
|
+
}
|
|
52
|
+
if (options?.attributes) {
|
|
53
|
+
for (const [k, v] of Object.entries(options.attributes)) {
|
|
54
|
+
otelSpan.setAttribute(k, v);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const adapter = new OtelSpanAdapter(name, otelSpan);
|
|
58
|
+
otelSpanMap.set(adapter, otelSpan);
|
|
59
|
+
return adapter;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=otel-tracer-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-tracer-adapter.js","sourceRoot":"","sources":["../../../src/smart-agent/otel/otel-tracer-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQpD,MAAM,UAAU,GAAuC;IACrD,EAAE,EAAE,CAAmB,EAAE,oBAAoB;IAC7C,KAAK,EAAE,CAAmB,EAAE,uBAAuB;CACpD,CAAC;AAEF,MAAM,eAAe;IAKA;IAJV,IAAI,CAAS;IAEtB,YACE,IAAY,EACK,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAEnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,KAAgC;QACxD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CACN,IAAY,EACZ,UAAsD;QAEtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,CAAC,MAAkB,EAAE,OAAgB;QAC5C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,GAAG;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,WAAW,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEnD,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,SAAS,CAAC,IAAY,EAAE,OAAqB;QAC3C,IAAI,GAAG,GAAY,OAAO,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe condition evaluator for pipeline `when` expressions.
|
|
3
|
+
*
|
|
4
|
+
* Evaluates simple dot-path property lookups against the pipeline context.
|
|
5
|
+
* Does NOT use `eval()` — only supports a restricted expression language.
|
|
6
|
+
*
|
|
7
|
+
* ## Supported expressions
|
|
8
|
+
*
|
|
9
|
+
* | Expression | Meaning |
|
|
10
|
+
* |---------------------------------|-----------------------------------------------|
|
|
11
|
+
* | `"shouldRetrieve"` | Truthy check on `ctx.shouldRetrieve` |
|
|
12
|
+
* | `"config.classificationEnabled"`| Truthy check on `ctx.config.classificationEnabled` |
|
|
13
|
+
* | `"!isAscii"` | Negated truthy check on `ctx.isAscii` |
|
|
14
|
+
* | `"ragResults.facts.length > 0"` | Comparison (>, <, >=, <=, ==, !=) |
|
|
15
|
+
* | `"a && b"` | Logical AND of two expressions |
|
|
16
|
+
* | `"a || b"` | Logical OR of two expressions |
|
|
17
|
+
*
|
|
18
|
+
* ## Security
|
|
19
|
+
*
|
|
20
|
+
* - No arbitrary code execution.
|
|
21
|
+
* - No function calls.
|
|
22
|
+
* - Only reads properties from the provided context object.
|
|
23
|
+
* - Unknown paths resolve to `undefined` (falsy).
|
|
24
|
+
*/
|
|
25
|
+
import type { PipelineContext } from './context.js';
|
|
26
|
+
/**
|
|
27
|
+
* Evaluate a condition expression against the pipeline context.
|
|
28
|
+
*
|
|
29
|
+
* @param expr - Condition string from the YAML `when` field.
|
|
30
|
+
* @param ctx - Pipeline context providing the evaluation namespace.
|
|
31
|
+
* @returns `true` if the condition is met, `false` otherwise.
|
|
32
|
+
* Returns `true` for `undefined` or empty expressions (no condition = always run).
|
|
33
|
+
*/
|
|
34
|
+
export declare function evaluateCondition(expr: string | undefined, ctx: PipelineContext): boolean;
|
|
35
|
+
//# sourceMappingURL=condition-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-evaluator.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/condition-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMpD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,EAAE,eAAe,GACnB,OAAO,CAGT"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe condition evaluator for pipeline `when` expressions.
|
|
3
|
+
*
|
|
4
|
+
* Evaluates simple dot-path property lookups against the pipeline context.
|
|
5
|
+
* Does NOT use `eval()` — only supports a restricted expression language.
|
|
6
|
+
*
|
|
7
|
+
* ## Supported expressions
|
|
8
|
+
*
|
|
9
|
+
* | Expression | Meaning |
|
|
10
|
+
* |---------------------------------|-----------------------------------------------|
|
|
11
|
+
* | `"shouldRetrieve"` | Truthy check on `ctx.shouldRetrieve` |
|
|
12
|
+
* | `"config.classificationEnabled"`| Truthy check on `ctx.config.classificationEnabled` |
|
|
13
|
+
* | `"!isAscii"` | Negated truthy check on `ctx.isAscii` |
|
|
14
|
+
* | `"ragResults.facts.length > 0"` | Comparison (>, <, >=, <=, ==, !=) |
|
|
15
|
+
* | `"a && b"` | Logical AND of two expressions |
|
|
16
|
+
* | `"a || b"` | Logical OR of two expressions |
|
|
17
|
+
*
|
|
18
|
+
* ## Security
|
|
19
|
+
*
|
|
20
|
+
* - No arbitrary code execution.
|
|
21
|
+
* - No function calls.
|
|
22
|
+
* - Only reads properties from the provided context object.
|
|
23
|
+
* - Unknown paths resolve to `undefined` (falsy).
|
|
24
|
+
*/
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Public API
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Evaluate a condition expression against the pipeline context.
|
|
30
|
+
*
|
|
31
|
+
* @param expr - Condition string from the YAML `when` field.
|
|
32
|
+
* @param ctx - Pipeline context providing the evaluation namespace.
|
|
33
|
+
* @returns `true` if the condition is met, `false` otherwise.
|
|
34
|
+
* Returns `true` for `undefined` or empty expressions (no condition = always run).
|
|
35
|
+
*/
|
|
36
|
+
export function evaluateCondition(expr, ctx) {
|
|
37
|
+
if (!expr || expr.trim() === '')
|
|
38
|
+
return true;
|
|
39
|
+
return evaluateExpression(expr.trim(), ctx);
|
|
40
|
+
}
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Expression evaluator
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
function evaluateExpression(expr, ctx) {
|
|
45
|
+
// Handle logical OR (lowest precedence)
|
|
46
|
+
if (expr.includes('||')) {
|
|
47
|
+
return expr
|
|
48
|
+
.split('||')
|
|
49
|
+
.some((part) => evaluateExpression(part.trim(), ctx));
|
|
50
|
+
}
|
|
51
|
+
// Handle logical AND
|
|
52
|
+
if (expr.includes('&&')) {
|
|
53
|
+
return expr
|
|
54
|
+
.split('&&')
|
|
55
|
+
.every((part) => evaluateExpression(part.trim(), ctx));
|
|
56
|
+
}
|
|
57
|
+
// Handle negation
|
|
58
|
+
if (expr.startsWith('!')) {
|
|
59
|
+
return !evaluateExpression(expr.slice(1).trim(), ctx);
|
|
60
|
+
}
|
|
61
|
+
// Handle comparison operators
|
|
62
|
+
const compMatch = expr.match(/^(.+?)\s*(>=|<=|!=|==|>|<)\s*(.+)$/);
|
|
63
|
+
if (compMatch) {
|
|
64
|
+
const left = resolveValue(compMatch[1].trim(), ctx);
|
|
65
|
+
const op = compMatch[2];
|
|
66
|
+
const right = resolveValue(compMatch[3].trim(), ctx);
|
|
67
|
+
return compare(left, op, right);
|
|
68
|
+
}
|
|
69
|
+
// Simple truthy check on a dot-path
|
|
70
|
+
return Boolean(resolveValue(expr, ctx));
|
|
71
|
+
}
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// Value resolution
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
/**
|
|
76
|
+
* Resolve a value from the pipeline context or parse as a literal.
|
|
77
|
+
*
|
|
78
|
+
* Supported values:
|
|
79
|
+
* - Dot-path: `"shouldRetrieve"`, `"config.ragQueryK"`, `"ragResults.facts.length"`
|
|
80
|
+
* - Numeric literal: `"10"`, `"0.5"`
|
|
81
|
+
* - String literal: `"'hard'"`, `"'smart'"`
|
|
82
|
+
* - Boolean literal: `"true"`, `"false"`
|
|
83
|
+
*/
|
|
84
|
+
function resolveValue(token, ctx) {
|
|
85
|
+
// Boolean literals
|
|
86
|
+
if (token === 'true')
|
|
87
|
+
return true;
|
|
88
|
+
if (token === 'false')
|
|
89
|
+
return false;
|
|
90
|
+
// Numeric literals
|
|
91
|
+
if (/^-?\d+(\.\d+)?$/.test(token))
|
|
92
|
+
return Number(token);
|
|
93
|
+
// String literals (single or double quoted)
|
|
94
|
+
const strMatch = token.match(/^['"](.*)['"]$/);
|
|
95
|
+
if (strMatch)
|
|
96
|
+
return strMatch[1];
|
|
97
|
+
// Dot-path lookup on context
|
|
98
|
+
return resolvePath(token, ctx);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Resolve a dot-separated path against the pipeline context.
|
|
102
|
+
*
|
|
103
|
+
* The lookup namespace is flat — the path starts from the PipelineContext root.
|
|
104
|
+
* Examples: `"shouldRetrieve"` → `ctx.shouldRetrieve`,
|
|
105
|
+
* `"config.mode"` → `ctx.config.mode`,
|
|
106
|
+
* `"ragResults.facts.length"` → `ctx.ragResults.facts.length`
|
|
107
|
+
*/
|
|
108
|
+
function resolvePath(path, ctx) {
|
|
109
|
+
const parts = path.split('.');
|
|
110
|
+
let current = ctx;
|
|
111
|
+
for (const part of parts) {
|
|
112
|
+
if (current === null || current === undefined)
|
|
113
|
+
return undefined;
|
|
114
|
+
if (typeof current !== 'object')
|
|
115
|
+
return undefined;
|
|
116
|
+
current = current[part];
|
|
117
|
+
}
|
|
118
|
+
return current;
|
|
119
|
+
}
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
// Comparison
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
function compare(left, op, right) {
|
|
124
|
+
const l = typeof left === 'string' ? left : Number(left);
|
|
125
|
+
const r = typeof right === 'string' ? right : Number(right);
|
|
126
|
+
switch (op) {
|
|
127
|
+
case '==':
|
|
128
|
+
return l === r;
|
|
129
|
+
case '!=':
|
|
130
|
+
return l !== r;
|
|
131
|
+
case '>':
|
|
132
|
+
return l > r;
|
|
133
|
+
case '<':
|
|
134
|
+
return l < r;
|
|
135
|
+
case '>=':
|
|
136
|
+
return l >= r;
|
|
137
|
+
case '<=':
|
|
138
|
+
return l <= r;
|
|
139
|
+
default:
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=condition-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/condition-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PipelineContext — mutable state bag threaded through all pipeline stages.
|
|
3
|
+
*
|
|
4
|
+
* Each stage reads its inputs from the context and writes its outputs back.
|
|
5
|
+
* The context is created fresh per request and is never shared across requests.
|
|
6
|
+
*
|
|
7
|
+
* ## Data ownership
|
|
8
|
+
*
|
|
9
|
+
* Stages must write to non-overlapping fields. For parallel execution, this
|
|
10
|
+
* means each `rag-query` handler writes to its own store slot
|
|
11
|
+
* in `ragResults`, avoiding data races.
|
|
12
|
+
*
|
|
13
|
+
* ## Streaming
|
|
14
|
+
*
|
|
15
|
+
* The `tool-loop` stage streams. It uses `ctx.yield()` to push
|
|
16
|
+
* SSE chunks back to the caller. All other stages are batch operations.
|
|
17
|
+
*/
|
|
18
|
+
import type { CallOptions, IContextAssembler, IEmbedder, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, IMcpClient, IQueryEmbedding, IQueryExpander, IRagProviderRegistry, IRagRegistry, IRequestLogger, ISkill, ISkillManager, ISubpromptClassifier, LlmStreamChunk, LlmTool, McpTool, Message, RagResult, Result, Subprompt, TimingEntry } from '@mcp-abap-adt/llm-agent';
|
|
19
|
+
import type { OrchestratorError, SmartAgentConfig, SmartAgentRagStores } from '../agent.js';
|
|
20
|
+
import type { IToolCache } from '../cache/types.js';
|
|
21
|
+
import type { ILogger } from '../logger/types.js';
|
|
22
|
+
import type { IMetrics } from '../metrics/types.js';
|
|
23
|
+
import type { PendingToolResultsRegistry } from '../policy/pending-tool-results-registry.js';
|
|
24
|
+
import type { ToolAvailabilityRegistry } from '../policy/tool-availability-registry.js';
|
|
25
|
+
import type { IPromptInjectionDetector, IToolPolicy } from '../policy/types.js';
|
|
26
|
+
import type { IReranker } from '../reranker/types.js';
|
|
27
|
+
import type { ISessionManager } from '../session/types.js';
|
|
28
|
+
import type { ITracer } from '../tracer/types.js';
|
|
29
|
+
import type { IOutputValidator } from '../validator/types.js';
|
|
30
|
+
export interface PipelineContext {
|
|
31
|
+
/** Original user input (string or message array). */
|
|
32
|
+
readonly textOrMessages: string | Message[];
|
|
33
|
+
/** Call options including signal, sessionId, logger, trace. */
|
|
34
|
+
readonly options: CallOptions | undefined;
|
|
35
|
+
/** SmartAgent config snapshot for this request. */
|
|
36
|
+
readonly config: SmartAgentConfig;
|
|
37
|
+
/** Session ID (from options or 'default'). */
|
|
38
|
+
readonly sessionId: string;
|
|
39
|
+
readonly mainLlm: ILlm;
|
|
40
|
+
readonly helperLlm: ILlm | undefined;
|
|
41
|
+
readonly classifierLlm: ILlm;
|
|
42
|
+
readonly classifier: ISubpromptClassifier;
|
|
43
|
+
readonly assembler: IContextAssembler;
|
|
44
|
+
readonly ragStores: SmartAgentRagStores;
|
|
45
|
+
readonly ragRegistry: IRagRegistry | undefined;
|
|
46
|
+
readonly ragProviderRegistry: IRagProviderRegistry | undefined;
|
|
47
|
+
readonly mcpClients: IMcpClient[];
|
|
48
|
+
readonly reranker: IReranker;
|
|
49
|
+
readonly queryExpander: IQueryExpander;
|
|
50
|
+
readonly toolCache: IToolCache;
|
|
51
|
+
readonly outputValidator: IOutputValidator;
|
|
52
|
+
readonly sessionManager: ISessionManager;
|
|
53
|
+
readonly tracer: ITracer;
|
|
54
|
+
readonly metrics: IMetrics;
|
|
55
|
+
readonly logger: ILogger | undefined;
|
|
56
|
+
readonly requestLogger: IRequestLogger;
|
|
57
|
+
readonly toolPolicy: IToolPolicy | undefined;
|
|
58
|
+
readonly injectionDetector: IPromptInjectionDetector | undefined;
|
|
59
|
+
readonly toolAvailabilityRegistry: ToolAvailabilityRegistry;
|
|
60
|
+
readonly pendingToolResults: PendingToolResultsRegistry;
|
|
61
|
+
readonly skillManager: ISkillManager | undefined;
|
|
62
|
+
readonly embedder: IEmbedder | undefined;
|
|
63
|
+
readonly historyMemory: IHistoryMemory | undefined;
|
|
64
|
+
readonly historySummarizer: IHistorySummarizer | undefined;
|
|
65
|
+
readonly llmCallStrategy: ILlmCallStrategy;
|
|
66
|
+
/** Extracted user text from the last user message. */
|
|
67
|
+
inputText: string;
|
|
68
|
+
/** Conversation history (may be summarized). */
|
|
69
|
+
history: Message[];
|
|
70
|
+
/** Classified subprompts (set by classify stage). */
|
|
71
|
+
subprompts: Subprompt[];
|
|
72
|
+
/** Map of tool name → owning MCP client. */
|
|
73
|
+
toolClientMap: Map<string, IMcpClient>;
|
|
74
|
+
/** Text used for RAG queries (may be translated/expanded). */
|
|
75
|
+
ragText: string;
|
|
76
|
+
/**
|
|
77
|
+
* Enriched query text for tool/skill retrieval, composed by the
|
|
78
|
+
* `build-tool-query` stage from `ragText` + top-K RAG snippets +
|
|
79
|
+
* selected skill descriptions. When present, stages configured with
|
|
80
|
+
* `queryText: 'toolQueryText'` use this instead of `ragText`.
|
|
81
|
+
*/
|
|
82
|
+
toolQueryText?: string;
|
|
83
|
+
/** Memoized query embedding, shared across all rag-query stages. */
|
|
84
|
+
queryEmbedding: IQueryEmbedding | undefined;
|
|
85
|
+
/** RAG query results per store. */
|
|
86
|
+
ragResults: Record<string, RagResult[]>;
|
|
87
|
+
/** All MCP tools from all connected servers. */
|
|
88
|
+
mcpTools: McpTool[];
|
|
89
|
+
/** Tools selected for the current request (MCP + external). */
|
|
90
|
+
selectedTools: LlmTool[];
|
|
91
|
+
/** External tools provided by the client. */
|
|
92
|
+
externalTools: LlmTool[];
|
|
93
|
+
/** Final assembled messages for LLM input. */
|
|
94
|
+
assembledMessages: Message[];
|
|
95
|
+
/** Currently active tools (after availability filtering). */
|
|
96
|
+
activeTools: LlmTool[];
|
|
97
|
+
/** Skills selected for the current request. */
|
|
98
|
+
selectedSkills: ISkill[];
|
|
99
|
+
/** Rendered skill content to inject into the system prompt. */
|
|
100
|
+
skillContent: string;
|
|
101
|
+
/** Arguments passed to skills (e.g. from slash-command invocation). */
|
|
102
|
+
skillArgs: string;
|
|
103
|
+
/** Whether RAG retrieval should run (set by classify or condition logic). */
|
|
104
|
+
shouldRetrieve: boolean;
|
|
105
|
+
/** Whether embedding usage has been logged for this request (prevents double-logging). */
|
|
106
|
+
embeddingUsageLogged?: boolean;
|
|
107
|
+
/** Whether input text is ASCII-only (affects translation decision). */
|
|
108
|
+
isAscii: boolean;
|
|
109
|
+
/** Whether SAP/ABAP context was detected. */
|
|
110
|
+
isSapRequired: boolean;
|
|
111
|
+
/** Timing entries collected from all stages. */
|
|
112
|
+
timing: TimingEntry[];
|
|
113
|
+
/** Error set by a stage to abort the pipeline. */
|
|
114
|
+
error?: OrchestratorError;
|
|
115
|
+
/**
|
|
116
|
+
* Yield a chunk to the consumer. Used by the tool-loop stage to push
|
|
117
|
+
* streaming content and heartbeats back through the SSE connection.
|
|
118
|
+
*/
|
|
119
|
+
yield(chunk: Result<LlmStreamChunk, OrchestratorError>): void;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PipelineContext — mutable state bag threaded through all pipeline stages.
|
|
3
|
+
*
|
|
4
|
+
* Each stage reads its inputs from the context and writes its outputs back.
|
|
5
|
+
* The context is created fresh per request and is never shared across requests.
|
|
6
|
+
*
|
|
7
|
+
* ## Data ownership
|
|
8
|
+
*
|
|
9
|
+
* Stages must write to non-overlapping fields. For parallel execution, this
|
|
10
|
+
* means each `rag-query` handler writes to its own store slot
|
|
11
|
+
* in `ragResults`, avoiding data races.
|
|
12
|
+
*
|
|
13
|
+
* ## Streaming
|
|
14
|
+
*
|
|
15
|
+
* The `tool-loop` stage streams. It uses `ctx.yield()` to push
|
|
16
|
+
* SSE chunks back to the caller. All other stages are batch operations.
|
|
17
|
+
*/
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DefaultPipeline — IPipeline implementation backed by PipelineExecutor + stage handlers.
|
|
3
|
+
*
|
|
4
|
+
* This is the standard pipeline used by SmartAgent when no custom pipeline is
|
|
5
|
+
* configured. It runs one of two stage sequences, selected by
|
|
6
|
+
* {@link SmartAgentConfig.enrichedToolSearch}:
|
|
7
|
+
*
|
|
8
|
+
* **Single-phase (default):**
|
|
9
|
+
* ```text
|
|
10
|
+
* classify → summarize → parallel(rag-query tools, rag-query history, rag-query <custom>…) →
|
|
11
|
+
* rerank → skill-select → tool-select → assemble → tool-loop → history-upsert
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* **Enriched (`enrichedToolSearch: true`):** the tools RAG store is queried in
|
|
15
|
+
* a second phase driven by context from prior retrieval + selected skills:
|
|
16
|
+
* ```text
|
|
17
|
+
* classify → summarize → parallel(rag-query history, rag-query <custom>…) →
|
|
18
|
+
* rerank → skill-select → build-tool-query → rag-query tools (enriched) →
|
|
19
|
+
* tool-select → assemble → tool-loop → history-upsert
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* Built-in RAG stores (`tools`, `history`) are wired from `toolsRag`/`historyRag` deps.
|
|
23
|
+
* Additional custom stores can be passed via `ragStores` and are queried in parallel
|
|
24
|
+
* with built-ins. Stores can be added/removed at runtime via `rebuildStages()`.
|
|
25
|
+
*/
|
|
26
|
+
import type { CallOptions, LlmStreamChunk, LlmTool, Message, Result } from '@mcp-abap-adt/llm-agent';
|
|
27
|
+
import type { OrchestratorError } from '../agent.js';
|
|
28
|
+
import type { IPipeline, PipelineDeps, PipelineResult } from '../interfaces/pipeline.js';
|
|
29
|
+
/**
|
|
30
|
+
* Standard IPipeline implementation that orchestrates the default SmartAgent
|
|
31
|
+
* request lifecycle via PipelineExecutor and built-in stage handlers.
|
|
32
|
+
*
|
|
33
|
+
* Usage:
|
|
34
|
+
* ```ts
|
|
35
|
+
* const pipeline = new DefaultPipeline();
|
|
36
|
+
* pipeline.initialize(deps);
|
|
37
|
+
* const result = await pipeline.execute(input, history, options, yieldChunk);
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class DefaultPipeline implements IPipeline {
|
|
41
|
+
private deps;
|
|
42
|
+
private executor;
|
|
43
|
+
private stages;
|
|
44
|
+
private resolvedTracer;
|
|
45
|
+
private resolvedClassifier;
|
|
46
|
+
private resolvedAssembler;
|
|
47
|
+
private resolvedReranker;
|
|
48
|
+
private resolvedQueryExpander;
|
|
49
|
+
private resolvedToolCache;
|
|
50
|
+
private resolvedOutputValidator;
|
|
51
|
+
private resolvedSessionManager;
|
|
52
|
+
private resolvedMetrics;
|
|
53
|
+
private resolvedRequestLogger;
|
|
54
|
+
private resolvedLlmCallStrategy;
|
|
55
|
+
initialize(deps: PipelineDeps): void;
|
|
56
|
+
execute(input: string | Message[], history: Message[], options: CallOptions | undefined, yieldChunk: (chunk: Result<LlmStreamChunk, OrchestratorError>) => void, externalTools?: LlmTool[]): Promise<PipelineResult>;
|
|
57
|
+
rebuildStages(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Build the fixed stage list. RAG parallel block only includes stores
|
|
60
|
+
* that were provided in deps.
|
|
61
|
+
*/
|
|
62
|
+
private _buildStages;
|
|
63
|
+
/**
|
|
64
|
+
* Create a PipelineContext from deps + per-request input.
|
|
65
|
+
* Mirrors the pattern in SmartAgent._runStructuredPipeline().
|
|
66
|
+
*/
|
|
67
|
+
private _buildContext;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=default-pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-pipeline.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/default-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAO,EACP,MAAM,EACP,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACf,MAAM,2BAA2B,CAAC;AA+BnC;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAqB;IAGnC,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;IA0B9B,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;IAkFpB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAsFtB"}
|