@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,277 @@
|
|
|
1
|
+
// src/smart-agent/api-adapters/openai-adapter.ts
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { AdapterValidationError, } from '../interfaces/api-adapter.js';
|
|
4
|
+
import { toToolCallDelta } from '../utils/tool-call-deltas.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Helpers
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
function mapStopReason(r) {
|
|
9
|
+
switch (r) {
|
|
10
|
+
case 'stop':
|
|
11
|
+
return 'stop';
|
|
12
|
+
case 'tool_calls':
|
|
13
|
+
return 'tool_calls';
|
|
14
|
+
case 'error':
|
|
15
|
+
return 'stop';
|
|
16
|
+
default:
|
|
17
|
+
return 'length';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// OpenAiApiAdapter
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
export class OpenAiApiAdapter {
|
|
24
|
+
name = 'openai';
|
|
25
|
+
// -------------------------------------------------------------------------
|
|
26
|
+
// normalizeRequest
|
|
27
|
+
// -------------------------------------------------------------------------
|
|
28
|
+
normalizeRequest(request) {
|
|
29
|
+
if (typeof request !== 'object' || request === null) {
|
|
30
|
+
throw new AdapterValidationError('Request body must be a JSON object');
|
|
31
|
+
}
|
|
32
|
+
const body = request;
|
|
33
|
+
if (!Array.isArray(body.messages)) {
|
|
34
|
+
throw new AdapterValidationError('messages must be a non-empty array');
|
|
35
|
+
}
|
|
36
|
+
const messages = body.messages;
|
|
37
|
+
if (messages.length === 0) {
|
|
38
|
+
throw new AdapterValidationError('messages must be a non-empty array');
|
|
39
|
+
}
|
|
40
|
+
const options = {};
|
|
41
|
+
if (body.temperature !== undefined)
|
|
42
|
+
options.temperature = body.temperature;
|
|
43
|
+
if (body.max_tokens !== undefined)
|
|
44
|
+
options.maxTokens = body.max_tokens;
|
|
45
|
+
if (body.top_p !== undefined)
|
|
46
|
+
options.topP = body.top_p;
|
|
47
|
+
if (Array.isArray(body.tools))
|
|
48
|
+
options.externalTools = body.tools;
|
|
49
|
+
if (body.model !== undefined)
|
|
50
|
+
options.model = body.model;
|
|
51
|
+
const id = `chatcmpl-${randomUUID()}`;
|
|
52
|
+
const created = Math.floor(Date.now() / 1000);
|
|
53
|
+
const context = {
|
|
54
|
+
adapterName: this.name,
|
|
55
|
+
protocol: {
|
|
56
|
+
id,
|
|
57
|
+
created,
|
|
58
|
+
model: body.model ?? 'smart-agent',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
messages,
|
|
63
|
+
stream: body.stream === true,
|
|
64
|
+
options,
|
|
65
|
+
context,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// -------------------------------------------------------------------------
|
|
69
|
+
// formatResult
|
|
70
|
+
// -------------------------------------------------------------------------
|
|
71
|
+
formatResult(response, context) {
|
|
72
|
+
const { id, created, model } = context.protocol;
|
|
73
|
+
const message = {
|
|
74
|
+
role: 'assistant',
|
|
75
|
+
content: response.content,
|
|
76
|
+
};
|
|
77
|
+
if (response.toolCalls) {
|
|
78
|
+
message.tool_calls = response.toolCalls;
|
|
79
|
+
if (!message.content)
|
|
80
|
+
message.content = null;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
id,
|
|
84
|
+
object: 'chat.completion',
|
|
85
|
+
created,
|
|
86
|
+
model,
|
|
87
|
+
choices: [
|
|
88
|
+
{
|
|
89
|
+
index: 0,
|
|
90
|
+
message,
|
|
91
|
+
finish_reason: mapStopReason(response.stopReason),
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
usage: {
|
|
95
|
+
prompt_tokens: response.usage?.promptTokens ?? 0,
|
|
96
|
+
completion_tokens: response.usage?.completionTokens ?? 0,
|
|
97
|
+
total_tokens: response.usage?.totalTokens ?? 0,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// -------------------------------------------------------------------------
|
|
102
|
+
// formatError
|
|
103
|
+
// -------------------------------------------------------------------------
|
|
104
|
+
formatError(error, _context) {
|
|
105
|
+
return {
|
|
106
|
+
error: {
|
|
107
|
+
message: error.message,
|
|
108
|
+
type: 'server_error',
|
|
109
|
+
code: error.code,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
// -------------------------------------------------------------------------
|
|
114
|
+
// transformStream
|
|
115
|
+
// -------------------------------------------------------------------------
|
|
116
|
+
async *transformStream(source, context) {
|
|
117
|
+
const { id, created, model } = context.protocol;
|
|
118
|
+
const baseResponse = {
|
|
119
|
+
id,
|
|
120
|
+
object: 'chat.completion.chunk',
|
|
121
|
+
created,
|
|
122
|
+
model,
|
|
123
|
+
usage: null,
|
|
124
|
+
};
|
|
125
|
+
let firstChunk = true;
|
|
126
|
+
let finishReasonSent = false;
|
|
127
|
+
let lastUsage = null;
|
|
128
|
+
for await (const chunk of source) {
|
|
129
|
+
// Error chunk
|
|
130
|
+
if (!chunk.ok) {
|
|
131
|
+
const errorPayload = {
|
|
132
|
+
...baseResponse,
|
|
133
|
+
choices: [
|
|
134
|
+
{
|
|
135
|
+
index: 0,
|
|
136
|
+
delta: { content: `[Error] ${chunk.error.message}` },
|
|
137
|
+
finish_reason: 'stop',
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
};
|
|
141
|
+
yield { data: JSON.stringify(errorPayload) };
|
|
142
|
+
finishReasonSent = true;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
const val = chunk.value;
|
|
146
|
+
// Skip heartbeat-only and timing-only chunks
|
|
147
|
+
if (!val.content &&
|
|
148
|
+
!val.toolCalls &&
|
|
149
|
+
!val.finishReason &&
|
|
150
|
+
!val.usage &&
|
|
151
|
+
(val.heartbeat || val.timing)) {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
// Capture usage for final emission
|
|
155
|
+
if (val.usage) {
|
|
156
|
+
lastUsage = {
|
|
157
|
+
prompt_tokens: val.usage.promptTokens,
|
|
158
|
+
completion_tokens: val.usage.completionTokens,
|
|
159
|
+
total_tokens: val.usage.totalTokens,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
// Skip chunks that carry only usage (no content, no tool_calls, no finishReason)
|
|
163
|
+
if (!val.content && !val.toolCalls && !val.finishReason) {
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
// First chunk includes role: 'assistant'
|
|
167
|
+
if (firstChunk) {
|
|
168
|
+
const firstDelta = {
|
|
169
|
+
role: 'assistant',
|
|
170
|
+
content: val.content || '',
|
|
171
|
+
};
|
|
172
|
+
if (val.toolCalls) {
|
|
173
|
+
firstDelta.tool_calls = val.toolCalls.map((call, index) => {
|
|
174
|
+
const tc = toToolCallDelta(call, index);
|
|
175
|
+
return {
|
|
176
|
+
index: tc.index,
|
|
177
|
+
id: tc.id,
|
|
178
|
+
type: 'function',
|
|
179
|
+
function: {
|
|
180
|
+
name: tc.name,
|
|
181
|
+
arguments: tc.arguments || '',
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
yield {
|
|
187
|
+
data: JSON.stringify({
|
|
188
|
+
...baseResponse,
|
|
189
|
+
choices: [
|
|
190
|
+
{
|
|
191
|
+
index: 0,
|
|
192
|
+
delta: firstDelta,
|
|
193
|
+
finish_reason: null,
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
}),
|
|
197
|
+
};
|
|
198
|
+
firstChunk = false;
|
|
199
|
+
if (!val.finishReason)
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
// Regular content / tool call delta
|
|
203
|
+
if ((val.content || val.toolCalls) && !firstChunk) {
|
|
204
|
+
const delta = {};
|
|
205
|
+
if (val.content)
|
|
206
|
+
delta.content = val.content;
|
|
207
|
+
if (val.toolCalls) {
|
|
208
|
+
delta.tool_calls = val.toolCalls.map((call, index) => {
|
|
209
|
+
const tc = toToolCallDelta(call, index);
|
|
210
|
+
return {
|
|
211
|
+
index: tc.index,
|
|
212
|
+
id: tc.id,
|
|
213
|
+
type: 'function',
|
|
214
|
+
function: {
|
|
215
|
+
name: tc.name,
|
|
216
|
+
arguments: tc.arguments || '',
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
yield {
|
|
222
|
+
data: JSON.stringify({
|
|
223
|
+
...baseResponse,
|
|
224
|
+
choices: [
|
|
225
|
+
{
|
|
226
|
+
index: 0,
|
|
227
|
+
delta,
|
|
228
|
+
finish_reason: null,
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
}),
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
// Finish reason in separate chunk
|
|
235
|
+
if (val.finishReason) {
|
|
236
|
+
yield {
|
|
237
|
+
data: JSON.stringify({
|
|
238
|
+
...baseResponse,
|
|
239
|
+
choices: [
|
|
240
|
+
{
|
|
241
|
+
index: 0,
|
|
242
|
+
delta: {},
|
|
243
|
+
finish_reason: mapStopReason(val.finishReason),
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
}),
|
|
247
|
+
};
|
|
248
|
+
finishReasonSent = true;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// Default finish reason if none was sent
|
|
252
|
+
if (!finishReasonSent) {
|
|
253
|
+
yield {
|
|
254
|
+
data: JSON.stringify({
|
|
255
|
+
...baseResponse,
|
|
256
|
+
choices: [{ index: 0, delta: {}, finish_reason: 'stop' }],
|
|
257
|
+
}),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
// Usage chunk
|
|
261
|
+
if (lastUsage) {
|
|
262
|
+
yield {
|
|
263
|
+
data: JSON.stringify({
|
|
264
|
+
id,
|
|
265
|
+
object: 'chat.completion.chunk',
|
|
266
|
+
created,
|
|
267
|
+
model,
|
|
268
|
+
choices: [],
|
|
269
|
+
usage: lastUsage,
|
|
270
|
+
}),
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
// Terminal sentinel
|
|
274
|
+
yield { data: '[DONE]' };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=openai-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-adapter.js","sourceRoot":"","sources":["../../../src/smart-agent/api-adapters/openai-adapter.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EACL,sBAAsB,GAKvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,aAAa,CACpB,CAAuB;IAEvB,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,QAAQ,CAAC;IAEzB,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E,gBAAgB,CAAC,OAAgB;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,OAAkC,CAAC;QAEhD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAqB,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAChC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAqB,CAAC;QACnD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAoB,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAe,CAAC;QAClE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QAClE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;QAEnE,MAAM,EAAE,GAAG,YAAY,UAAU,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAsB;YACjC,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,QAAQ,EAAE;gBACR,EAAE;gBACF,OAAO;gBACP,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,aAAa;aAC/C;SACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;YAC5B,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,eAAe;IACf,4EAA4E;IAE5E,YAAY,CACV,QAA4B,EAC5B,OAA0B;QAE1B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAItC,CAAC;QAEF,MAAM,OAAO,GAA4B;YACvC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,EAAE;YACF,MAAM,EAAE,iBAAiB;YACzB,OAAO;YACP,KAAK;YACL,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,OAAO;oBACP,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;iBAClD;aACF;YACD,KAAK,EAAE;gBACL,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAChD,iBAAiB,EAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;gBACxD,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,WAAW,CAAC,KAAwB,EAAE,QAA2B;QAC/D,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E,KAAK,CAAC,CAAC,eAAe,CACpB,MAAgE,EAChE,OAA0B;QAE1B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAItC,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,EAAE;YACF,MAAM,EAAE,uBAAuB;YAC/B,OAAO;YACP,KAAK;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,SAAS,GAIF,IAAI,CAAC;QAEhB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,cAAc;YACd,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,YAAY,GAAG;oBACnB,GAAG,YAAY;oBACf,OAAO,EAAE;wBACP;4BACE,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;4BACpD,aAAa,EAAE,MAAM;yBACtB;qBACF;iBACF,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7C,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;YAExB,6CAA6C;YAC7C,IACE,CAAC,GAAG,CAAC,OAAO;gBACZ,CAAC,GAAG,CAAC,SAAS;gBACd,CAAC,GAAG,CAAC,YAAY;gBACjB,CAAC,GAAG,CAAC,KAAK;gBACV,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,EAC7B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,mCAAmC;YACnC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,SAAS,GAAG;oBACV,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY;oBACrC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,gBAAgB;oBAC7C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW;iBACpC,CAAC;YACJ,CAAC;YAED,iFAAiF;YACjF,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,GAA4B;oBAC1C,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;iBAC3B,CAAC;gBACF,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACxD,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACxC,OAAO;4BACL,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;6BAC9B;yBACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;oBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,YAAY;wBACf,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,CAAC;gCACR,KAAK,EAAE,UAAU;gCACjB,aAAa,EAAE,IAAI;6BACpB;yBACF;qBACF,CAAC;iBACH,CAAC;gBACF,UAAU,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,YAAY;oBAAE,SAAS;YAClC,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClD,MAAM,KAAK,GAA4B,EAAE,CAAC;gBAC1C,IAAI,GAAG,CAAC,OAAO;oBAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC7C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACxC,OAAO;4BACL,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;6BAC9B;yBACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;oBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,YAAY;wBACf,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,CAAC;gCACR,KAAK;gCACL,aAAa,EAAE,IAAI;6BACpB;yBACF;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM;oBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,YAAY;wBACf,OAAO,EAAE;4BACP;gCACE,KAAK,EAAE,CAAC;gCACR,KAAK,EAAE,EAAE;gCACT,aAAa,EAAE,aAAa,CAC1B,GAAG,CAAC,YAAoC,CACzC;6BACF;yBACF;qBACF,CAAC;iBACH,CAAC;gBACF,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,YAAY;oBACf,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;iBAC1D,CAAC;aACH,CAAC;QACJ,CAAC;QAED,cAAc;QACd,IAAI,SAAS,EAAE,CAAC;YACd,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE;oBACF,MAAM,EAAE,uBAAuB;oBAC/B,OAAO;oBACP,KAAK;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,SAAS;iBACjB,CAAC;aACH,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SmartAgentBuilder — fluent builder for SmartAgent.
|
|
3
|
+
*
|
|
4
|
+
* Assembles a SmartAgent from interface-based components.
|
|
5
|
+
* The builder itself has NO knowledge of concrete providers —
|
|
6
|
+
* all dependencies must be injected via `withXxx()` methods or
|
|
7
|
+
* resolved externally by the composition root (SmartServer, CLI).
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* const handle = await new SmartAgentBuilder()
|
|
11
|
+
* .withMainLlm(myLlm)
|
|
12
|
+
* .setToolsRag(myRag)
|
|
13
|
+
* .build();
|
|
14
|
+
*/
|
|
15
|
+
import type { IContextAssembler, IHistoryMemory, IHistorySummarizer, ILlm, ILlmCallStrategy, ILlmRateLimiter, IMcpClient, IModelProvider, IQueryExpander, IRequestLogger, ISkillManager, ISubpromptClassifier } from '@mcp-abap-adt/llm-agent';
|
|
16
|
+
import { type IEmbedder, type IRag, type IRagEditor, type IRagProvider, type IRagProviderRegistry, type IRagRegistry, type RagCollectionMeta, type RagCollectionScope } from '@mcp-abap-adt/llm-agent';
|
|
17
|
+
import { SmartAgent, type SmartAgentConfig, type SmartAgentRagStores } from './agent.js';
|
|
18
|
+
import type { IToolCache } from './cache/types.js';
|
|
19
|
+
import type { ILlmApiAdapter } from './interfaces/api-adapter.js';
|
|
20
|
+
import type { IClientAdapter } from './interfaces/client-adapter.js';
|
|
21
|
+
import type { IMcpConnectionStrategy } from './interfaces/mcp-connection-strategy.js';
|
|
22
|
+
import type { IPipeline } from './interfaces/pipeline.js';
|
|
23
|
+
import type { ILogger } from './logger/types.js';
|
|
24
|
+
import type { IMetrics } from './metrics/types.js';
|
|
25
|
+
import type { IPluginLoader } from './plugins/types.js';
|
|
26
|
+
import type { IPromptInjectionDetector, IToolPolicy, SessionPolicy } from './policy/types.js';
|
|
27
|
+
import type { IReranker } from './reranker/types.js';
|
|
28
|
+
import { CircuitBreaker, type CircuitBreakerConfig } from './resilience/circuit-breaker.js';
|
|
29
|
+
import type { ISessionManager } from './session/types.js';
|
|
30
|
+
import type { ITracer } from './tracer/types.js';
|
|
31
|
+
import type { IOutputValidator } from './validator/types.js';
|
|
32
|
+
export interface BuilderMcpConfig {
|
|
33
|
+
type: 'http' | 'stdio';
|
|
34
|
+
/** HTTP: MCP endpoint URL */
|
|
35
|
+
url?: string;
|
|
36
|
+
/** stdio: command to spawn */
|
|
37
|
+
command?: string;
|
|
38
|
+
/** stdio: command arguments */
|
|
39
|
+
args?: string[];
|
|
40
|
+
/** HTTP headers (e.g. x-sap-destination for reverse proxy routing) */
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
export interface BuilderPromptsConfig {
|
|
44
|
+
/** Preamble prepended to the ContextAssembler system message. */
|
|
45
|
+
system?: string;
|
|
46
|
+
/** Override the intent-classifier system prompt. */
|
|
47
|
+
classifier?: string;
|
|
48
|
+
/** Instruction for the reasoning/strategy block. */
|
|
49
|
+
reasoning?: string;
|
|
50
|
+
/** Prompt for query translation for RAG. */
|
|
51
|
+
ragTranslate?: string;
|
|
52
|
+
/** Prompt for history summarization. */
|
|
53
|
+
historySummary?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface SmartAgentBuilderConfig {
|
|
56
|
+
/** MCP connection(s). Pass an array to connect multiple servers simultaneously. */
|
|
57
|
+
mcp?: BuilderMcpConfig | BuilderMcpConfig[];
|
|
58
|
+
/** SmartAgent orchestration limits. */
|
|
59
|
+
agent?: Partial<SmartAgentConfig>;
|
|
60
|
+
/** System / classifier prompt overrides. */
|
|
61
|
+
prompts?: BuilderPromptsConfig;
|
|
62
|
+
/** Data governance policy for RAG records. */
|
|
63
|
+
sessionPolicy?: SessionPolicy;
|
|
64
|
+
/** Skip startup model validation (useful for testing). Default: false. */
|
|
65
|
+
skipModelValidation?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface SmartAgentHandle {
|
|
68
|
+
/** The built and wired SmartAgent, ready to call .process(). */
|
|
69
|
+
agent: SmartAgent;
|
|
70
|
+
/**
|
|
71
|
+
* Direct LLM chat — bypasses SmartAgent pipeline.
|
|
72
|
+
* Used by SmartServer passthrough mode to forward the full message history.
|
|
73
|
+
*/
|
|
74
|
+
chat: ILlm['chat'];
|
|
75
|
+
/** Direct LLM streaming chat. */
|
|
76
|
+
streamChat: ILlm['streamChat'];
|
|
77
|
+
/** Request logger for per-model usage tracking. */
|
|
78
|
+
requestLogger: IRequestLogger;
|
|
79
|
+
/** Gracefully close MCP connections. Call on shutdown. */
|
|
80
|
+
close(): Promise<void>;
|
|
81
|
+
/** Circuit breakers (empty when not configured). */
|
|
82
|
+
circuitBreakers: CircuitBreaker[];
|
|
83
|
+
/** RAG stores (for config hot-reload weight updates). */
|
|
84
|
+
ragStores: SmartAgentRagStores;
|
|
85
|
+
/** Model provider for discovery. Undefined when not available. */
|
|
86
|
+
modelProvider?: IModelProvider;
|
|
87
|
+
/** Look up a registered API adapter by name. */
|
|
88
|
+
getApiAdapter(name: string): ILlmApiAdapter | undefined;
|
|
89
|
+
/** List all registered API adapter names. */
|
|
90
|
+
listApiAdapters(): string[];
|
|
91
|
+
}
|
|
92
|
+
export declare class SmartAgentBuilder {
|
|
93
|
+
private readonly cfg;
|
|
94
|
+
private _mainLlm?;
|
|
95
|
+
private _helperLlm?;
|
|
96
|
+
private _classifierLlm?;
|
|
97
|
+
private _onBeforeStream?;
|
|
98
|
+
private _toolsRag?;
|
|
99
|
+
private _historyRag?;
|
|
100
|
+
private _pipeline?;
|
|
101
|
+
private _mcpClients?;
|
|
102
|
+
private _classifier?;
|
|
103
|
+
private _assembler?;
|
|
104
|
+
private _logger?;
|
|
105
|
+
private _toolPolicy?;
|
|
106
|
+
private _injectionDetector?;
|
|
107
|
+
private _tracer?;
|
|
108
|
+
private _metrics?;
|
|
109
|
+
private _reranker?;
|
|
110
|
+
private _queryExpander?;
|
|
111
|
+
private _toolCache?;
|
|
112
|
+
private _outputValidator?;
|
|
113
|
+
private _sessionManager?;
|
|
114
|
+
private _circuitBreakerConfig?;
|
|
115
|
+
private _requestLogger?;
|
|
116
|
+
private _agentOverrides;
|
|
117
|
+
private _pluginLoader?;
|
|
118
|
+
private _skillManager?;
|
|
119
|
+
private _clientAdapters;
|
|
120
|
+
private _apiAdapters;
|
|
121
|
+
private _modelProvider?;
|
|
122
|
+
private _embedder?;
|
|
123
|
+
private _connectionStrategy?;
|
|
124
|
+
private _historySummarizer?;
|
|
125
|
+
private _historyMemory?;
|
|
126
|
+
private _llmCallStrategy?;
|
|
127
|
+
private _rateLimiter?;
|
|
128
|
+
private _providers;
|
|
129
|
+
private _staticCollections;
|
|
130
|
+
private _pendingDynamicCollections;
|
|
131
|
+
private _ragRegistry?;
|
|
132
|
+
private _ragProviderRegistry?;
|
|
133
|
+
constructor(cfg?: SmartAgentBuilderConfig);
|
|
134
|
+
/** Set the main LLM used in the tool loop (required). */
|
|
135
|
+
withMainLlm(llm: ILlm): this;
|
|
136
|
+
/** Set a model provider for model discovery and metadata. */
|
|
137
|
+
withModelProvider(provider: IModelProvider): this;
|
|
138
|
+
/** Set the helper LLM used for summarization and translation. */
|
|
139
|
+
withHelperLlm(llm: ILlm): this;
|
|
140
|
+
/** Set the LLM used by the intent classifier. If not set, mainLlm is used. */
|
|
141
|
+
withClassifierLlm(llm: ILlm): this;
|
|
142
|
+
/** Register a hook called before streaming the final response to the client. */
|
|
143
|
+
withOnBeforeStream(hook: SmartAgentConfig['onBeforeStream']): this;
|
|
144
|
+
/** Inject a custom RAG store for MCP tool selection. Overrides auto-created in-memory store. */
|
|
145
|
+
setToolsRag(rag: IRag): this;
|
|
146
|
+
/** Inject a custom RAG store for conversation history. Overrides auto-created in-memory store. */
|
|
147
|
+
setHistoryRag(rag: IRag): this;
|
|
148
|
+
/** Register an IRagProvider for dynamic collection creation. */
|
|
149
|
+
addRagProvider(provider: IRagProvider): this;
|
|
150
|
+
/** Register a static (pre-built) RAG collection by name. */
|
|
151
|
+
addRagCollection(params: {
|
|
152
|
+
name: string;
|
|
153
|
+
rag: IRag;
|
|
154
|
+
editor?: IRagEditor;
|
|
155
|
+
meta?: Omit<RagCollectionMeta, 'name' | 'editable'>;
|
|
156
|
+
}): this;
|
|
157
|
+
/** Queue a dynamic collection to be created via a provider during build(). */
|
|
158
|
+
createRagCollection(params: {
|
|
159
|
+
providerName: string;
|
|
160
|
+
collectionName: string;
|
|
161
|
+
scope: RagCollectionScope;
|
|
162
|
+
sessionId?: string;
|
|
163
|
+
userId?: string;
|
|
164
|
+
displayName?: string;
|
|
165
|
+
description?: string;
|
|
166
|
+
tags?: readonly string[];
|
|
167
|
+
}): this;
|
|
168
|
+
/** Provide a custom IRagRegistry. Defaults to SimpleRagRegistry if not set. */
|
|
169
|
+
setRagRegistry(registry: IRagRegistry): this;
|
|
170
|
+
/** Provide a custom IRagProviderRegistry. Defaults to SimpleRagProviderRegistry if not set. */
|
|
171
|
+
setRagProviderRegistry(registry: IRagProviderRegistry): this;
|
|
172
|
+
/** Inject a pipeline implementation. Defaults to DefaultPipeline if not set. */
|
|
173
|
+
setPipeline(pipeline: IPipeline): this;
|
|
174
|
+
/**
|
|
175
|
+
* Override MCP clients. When set, auto-connect and tool vectorization
|
|
176
|
+
* are skipped — the caller is responsible for connecting clients.
|
|
177
|
+
*/
|
|
178
|
+
withMcpClients(clients: IMcpClient[]): this;
|
|
179
|
+
/** Override the intent classifier. */
|
|
180
|
+
withClassifier(classifier: ISubpromptClassifier): this;
|
|
181
|
+
/** Override the context assembler. */
|
|
182
|
+
withAssembler(assembler: IContextAssembler): this;
|
|
183
|
+
/** Set a logger for internal pipeline events. */
|
|
184
|
+
withLogger(logger: ILogger): this;
|
|
185
|
+
/** Set a tool execution policy (allow/deny list). */
|
|
186
|
+
withToolPolicy(policy: IToolPolicy): this;
|
|
187
|
+
/** Set a prompt-injection detector. */
|
|
188
|
+
withInjectionDetector(detector: IPromptInjectionDetector): this;
|
|
189
|
+
/** Set a tracer for pipeline span instrumentation. */
|
|
190
|
+
withTracer(tracer: ITracer): this;
|
|
191
|
+
/** Set a metrics collector for pipeline instrumentation. */
|
|
192
|
+
withMetrics(metrics: IMetrics): this;
|
|
193
|
+
/** Set a reranker to re-score RAG results before context assembly. */
|
|
194
|
+
withReranker(reranker: IReranker): this;
|
|
195
|
+
/** Set a query expander to broaden RAG queries with synonyms/related terms. */
|
|
196
|
+
withQueryExpander(expander: IQueryExpander): this;
|
|
197
|
+
/** Set a tool result cache for MCP call deduplication. */
|
|
198
|
+
withToolCache(cache: IToolCache): this;
|
|
199
|
+
/** Set an output validator for post-LLM response validation. */
|
|
200
|
+
withOutputValidator(validator: IOutputValidator): this;
|
|
201
|
+
/** Set a session manager for multi-turn token budget tracking. */
|
|
202
|
+
withSessionManager(manager: ISessionManager): this;
|
|
203
|
+
/** Set a skill manager for discovering and loading agent skills. */
|
|
204
|
+
withSkillManager(manager: ISkillManager): this;
|
|
205
|
+
/** Register a client adapter for auto-detecting prompt-based clients. */
|
|
206
|
+
withClientAdapter(adapter: IClientAdapter): this;
|
|
207
|
+
/** Register an API adapter. When called multiple times with the same name, the last one wins. */
|
|
208
|
+
withApiAdapter(adapter: ILlmApiAdapter): this;
|
|
209
|
+
/** Enable circuit breakers for LLM and embedder calls. */
|
|
210
|
+
withCircuitBreaker(config?: CircuitBreakerConfig): this;
|
|
211
|
+
/** Set the shared embedder for RAG queries. When set, queries embed once and share the vector. */
|
|
212
|
+
withEmbedder(embedder: IEmbedder): this;
|
|
213
|
+
/** Set a request logger for per-model usage tracking. */
|
|
214
|
+
withRequestLogger(logger: IRequestLogger): this;
|
|
215
|
+
/** Set an MCP connection strategy for dynamic client management. */
|
|
216
|
+
withMcpConnectionStrategy(strategy: IMcpConnectionStrategy): this;
|
|
217
|
+
/** Override the history summarizer used for semantic history compression. */
|
|
218
|
+
withHistorySummarizer(summarizer: IHistorySummarizer): this;
|
|
219
|
+
/** Set a rate limiter to throttle outbound LLM requests. */
|
|
220
|
+
withRateLimiter(limiter: ILlmRateLimiter): this;
|
|
221
|
+
/** Set the LLM call strategy for tool-loop (streaming, non-streaming, or fallback). */
|
|
222
|
+
withLlmCallStrategy(strategy: ILlmCallStrategy): this;
|
|
223
|
+
/** Override the history memory store used for semantic history retrieval. */
|
|
224
|
+
withHistoryMemory(memory: IHistoryMemory): this;
|
|
225
|
+
/** Set the execution mode: 'smart' (full pipeline), 'hard' (MCP-only), 'pass' (direct LLM). */
|
|
226
|
+
withMode(mode: 'hard' | 'pass' | 'smart'): this;
|
|
227
|
+
/** Set the maximum number of tool-loop iterations. */
|
|
228
|
+
withMaxIterations(n: number): this;
|
|
229
|
+
/** Set the maximum number of tool calls per request. */
|
|
230
|
+
withMaxToolCalls(n: number): this;
|
|
231
|
+
/** Set the request timeout in milliseconds. */
|
|
232
|
+
withTimeout(ms: number): this;
|
|
233
|
+
/** Set the number of RAG results to retrieve per store. */
|
|
234
|
+
withRagQueryK(k: number): this;
|
|
235
|
+
/** Enable or disable query expansion for RAG queries. */
|
|
236
|
+
withQueryExpansion(enabled: boolean): this;
|
|
237
|
+
/** Enable or disable reasoning/strategy blocks in the response. */
|
|
238
|
+
withShowReasoning(enabled: boolean): this;
|
|
239
|
+
/** Set the SSE heartbeat interval in milliseconds during tool execution. */
|
|
240
|
+
withHeartbeatInterval(ms: number): this;
|
|
241
|
+
/** Set the health check probe timeout in milliseconds. Default: 5000. */
|
|
242
|
+
withHealthTimeout(ms: number): this;
|
|
243
|
+
/** Enable or disable the classification pipeline stage. When disabled, input is treated as a single action. */
|
|
244
|
+
withClassification(enabled: boolean): this;
|
|
245
|
+
/** Enable per-iteration RAG-based tool re-selection in the tool loop. */
|
|
246
|
+
withToolReselection(enabled: boolean): this;
|
|
247
|
+
/** Set the history message count threshold for auto-summarization. */
|
|
248
|
+
withHistorySummarization(limit: number): this;
|
|
249
|
+
/** Set the session token budget for multi-turn conversations. */
|
|
250
|
+
withSessionTokenBudget(budget: number): this;
|
|
251
|
+
/**
|
|
252
|
+
* Set a plugin loader for automatic plugin discovery.
|
|
253
|
+
*
|
|
254
|
+
* During `build()`, the loader's `load()` method is called and all
|
|
255
|
+
* discovered registrations are applied to the builder (stage handlers,
|
|
256
|
+
* embedder factories, reranker, query expander, output validator).
|
|
257
|
+
*
|
|
258
|
+
* The library ships {@link FileSystemPluginLoader} as the default.
|
|
259
|
+
* Consumers can provide their own `IPluginLoader` implementation to
|
|
260
|
+
* load plugins from npm packages, remote registries, or any other source.
|
|
261
|
+
*
|
|
262
|
+
* Explicit `withReranker()`, etc. calls take
|
|
263
|
+
* precedence over plugin-loaded registrations.
|
|
264
|
+
*
|
|
265
|
+
* @example Filesystem (default)
|
|
266
|
+
* ```ts
|
|
267
|
+
* import { FileSystemPluginLoader, getDefaultPluginDirs } from '@mcp-abap-adt/llm-agent';
|
|
268
|
+
* builder.withPluginLoader(new FileSystemPluginLoader({
|
|
269
|
+
* dirs: getDefaultPluginDirs(),
|
|
270
|
+
* }));
|
|
271
|
+
* ```
|
|
272
|
+
*
|
|
273
|
+
* @example Custom npm loader
|
|
274
|
+
* ```ts
|
|
275
|
+
* builder.withPluginLoader(new NpmPluginLoader(['my-plugin-a']));
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
withPluginLoader(loader: IPluginLoader): this;
|
|
279
|
+
build(): Promise<SmartAgentHandle>;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/smart-agent/builder.ts"],"names":[],"mappings":"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"}
|