@mcp-abap-adt/llm-agent-server 12.0.2 → 12.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +1 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -61
- package/dist/index.js.map +1 -1
- package/dist/smart-agent/cli.js +1 -2
- package/dist/smart-agent/cli.js.map +1 -1
- package/dist/smart-agent/pipeline.d.ts +1 -1
- package/dist/smart-agent/pipeline.d.ts.map +1 -1
- package/dist/smart-agent/server.d.ts +1 -1
- package/dist/smart-agent/server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.d.ts +2 -3
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js +11 -18
- package/dist/smart-agent/smart-server.js.map +1 -1
- package/dist/smoke-adapters.js +2 -4
- package/dist/smoke-adapters.js.map +1 -1
- package/package.json +15 -15
- package/dist/agents/anthropic-agent.d.ts +0 -33
- package/dist/agents/anthropic-agent.d.ts.map +0 -1
- package/dist/agents/anthropic-agent.js +0 -138
- package/dist/agents/anthropic-agent.js.map +0 -1
- package/dist/agents/base.d.ts +0 -90
- package/dist/agents/base.d.ts.map +0 -1
- package/dist/agents/base.js +0 -107
- package/dist/agents/base.js.map +0 -1
- package/dist/agents/deepseek-agent.d.ts +0 -31
- package/dist/agents/deepseek-agent.d.ts.map +0 -1
- package/dist/agents/deepseek-agent.js +0 -121
- package/dist/agents/deepseek-agent.js.map +0 -1
- package/dist/agents/index.d.ts +0 -10
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -10
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/openai-agent.d.ts +0 -32
- package/dist/agents/openai-agent.d.ts.map +0 -1
- package/dist/agents/openai-agent.js +0 -122
- package/dist/agents/openai-agent.js.map +0 -1
- package/dist/agents/prompt-based-agent.d.ts +0 -28
- package/dist/agents/prompt-based-agent.d.ts.map +0 -1
- package/dist/agents/prompt-based-agent.js +0 -67
- package/dist/agents/prompt-based-agent.js.map +0 -1
- package/dist/agents/sap-core-ai-agent.d.ts +0 -41
- package/dist/agents/sap-core-ai-agent.d.ts.map +0 -1
- package/dist/agents/sap-core-ai-agent.js +0 -151
- package/dist/agents/sap-core-ai-agent.js.map +0 -1
- package/dist/cli.d.ts +0 -53
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -338
- package/dist/cli.js.map +0 -1
- package/dist/llm-providers/anthropic.d.ts +0 -25
- package/dist/llm-providers/anthropic.d.ts.map +0 -1
- package/dist/llm-providers/anthropic.js +0 -202
- package/dist/llm-providers/anthropic.js.map +0 -1
- package/dist/llm-providers/base.d.ts +0 -33
- package/dist/llm-providers/base.d.ts.map +0 -1
- package/dist/llm-providers/base.js +0 -18
- package/dist/llm-providers/base.js.map +0 -1
- package/dist/llm-providers/deepseek.d.ts +0 -24
- package/dist/llm-providers/deepseek.d.ts.map +0 -1
- package/dist/llm-providers/deepseek.js +0 -60
- package/dist/llm-providers/deepseek.js.map +0 -1
- package/dist/llm-providers/index.d.ts +0 -13
- package/dist/llm-providers/index.d.ts.map +0 -1
- package/dist/llm-providers/index.js +0 -15
- package/dist/llm-providers/index.js.map +0 -1
- package/dist/llm-providers/openai.d.ts +0 -34
- package/dist/llm-providers/openai.d.ts.map +0 -1
- package/dist/llm-providers/openai.js +0 -193
- package/dist/llm-providers/openai.js.map +0 -1
- package/dist/llm-providers/sap-core-ai.d.ts +0 -90
- package/dist/llm-providers/sap-core-ai.d.ts.map +0 -1
- package/dist/llm-providers/sap-core-ai.js +0 -394
- package/dist/llm-providers/sap-core-ai.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -133
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/client.js +0 -314
- package/dist/mcp/client.js.map +0 -1
- package/dist/smart-agent/adapters/cline-client-adapter.d.ts +0 -18
- package/dist/smart-agent/adapters/cline-client-adapter.d.ts.map +0 -1
- package/dist/smart-agent/adapters/cline-client-adapter.js +0 -21
- package/dist/smart-agent/adapters/cline-client-adapter.js.map +0 -1
- package/dist/smart-agent/adapters/index.d.ts +0 -4
- package/dist/smart-agent/adapters/index.d.ts.map +0 -1
- package/dist/smart-agent/adapters/index.js +0 -4
- package/dist/smart-agent/adapters/index.js.map +0 -1
- package/dist/smart-agent/adapters/llm-adapter.d.ts +0 -39
- package/dist/smart-agent/adapters/llm-adapter.d.ts.map +0 -1
- package/dist/smart-agent/adapters/llm-adapter.js +0 -345
- package/dist/smart-agent/adapters/llm-adapter.js.map +0 -1
- package/dist/smart-agent/adapters/llm-provider-bridge.d.ts +0 -31
- package/dist/smart-agent/adapters/llm-provider-bridge.d.ts.map +0 -1
- package/dist/smart-agent/adapters/llm-provider-bridge.js +0 -122
- package/dist/smart-agent/adapters/llm-provider-bridge.js.map +0 -1
- package/dist/smart-agent/adapters/mcp-client-adapter.d.ts +0 -16
- package/dist/smart-agent/adapters/mcp-client-adapter.d.ts.map +0 -1
- package/dist/smart-agent/adapters/mcp-client-adapter.js +0 -95
- package/dist/smart-agent/adapters/mcp-client-adapter.js.map +0 -1
- package/dist/smart-agent/adapters/non-streaming-llm.d.ts +0 -18
- package/dist/smart-agent/adapters/non-streaming-llm.d.ts.map +0 -1
- package/dist/smart-agent/adapters/non-streaming-llm.js +0 -44
- package/dist/smart-agent/adapters/non-streaming-llm.js.map +0 -1
- package/dist/smart-agent/agent.d.ts +0 -227
- package/dist/smart-agent/agent.d.ts.map +0 -1
- package/dist/smart-agent/agent.js +0 -1534
- package/dist/smart-agent/agent.js.map +0 -1
- package/dist/smart-agent/api-adapters/anthropic-adapter.d.ts +0 -10
- package/dist/smart-agent/api-adapters/anthropic-adapter.d.ts.map +0 -1
- package/dist/smart-agent/api-adapters/anthropic-adapter.js +0 -356
- package/dist/smart-agent/api-adapters/anthropic-adapter.js.map +0 -1
- package/dist/smart-agent/api-adapters/index.d.ts +0 -3
- package/dist/smart-agent/api-adapters/index.d.ts.map +0 -1
- package/dist/smart-agent/api-adapters/index.js +0 -3
- package/dist/smart-agent/api-adapters/index.js.map +0 -1
- package/dist/smart-agent/api-adapters/openai-adapter.d.ts +0 -10
- package/dist/smart-agent/api-adapters/openai-adapter.d.ts.map +0 -1
- package/dist/smart-agent/api-adapters/openai-adapter.js +0 -277
- package/dist/smart-agent/api-adapters/openai-adapter.js.map +0 -1
- package/dist/smart-agent/builder.d.ts +0 -276
- package/dist/smart-agent/builder.d.ts.map +0 -1
- package/dist/smart-agent/builder.js +0 -950
- package/dist/smart-agent/builder.js.map +0 -1
- package/dist/smart-agent/cache/index.d.ts +0 -4
- package/dist/smart-agent/cache/index.d.ts.map +0 -1
- package/dist/smart-agent/cache/index.js +0 -3
- package/dist/smart-agent/cache/index.js.map +0 -1
- package/dist/smart-agent/cache/noop-tool-cache.d.ts +0 -7
- package/dist/smart-agent/cache/noop-tool-cache.d.ts.map +0 -1
- package/dist/smart-agent/cache/noop-tool-cache.js +0 -8
- package/dist/smart-agent/cache/noop-tool-cache.js.map +0 -1
- package/dist/smart-agent/cache/tool-cache.d.ts +0 -14
- package/dist/smart-agent/cache/tool-cache.d.ts.map +0 -1
- package/dist/smart-agent/cache/tool-cache.js +0 -32
- package/dist/smart-agent/cache/tool-cache.js.map +0 -1
- package/dist/smart-agent/cache/types.d.ts +0 -7
- package/dist/smart-agent/cache/types.d.ts.map +0 -1
- package/dist/smart-agent/cache/types.js +0 -2
- package/dist/smart-agent/cache/types.js.map +0 -1
- package/dist/smart-agent/classifier/index.d.ts +0 -3
- package/dist/smart-agent/classifier/index.d.ts.map +0 -1
- package/dist/smart-agent/classifier/index.js +0 -2
- package/dist/smart-agent/classifier/index.js.map +0 -1
- package/dist/smart-agent/classifier/llm-classifier.d.ts +0 -20
- package/dist/smart-agent/classifier/llm-classifier.d.ts.map +0 -1
- package/dist/smart-agent/classifier/llm-classifier.js +0 -128
- package/dist/smart-agent/classifier/llm-classifier.js.map +0 -1
- package/dist/smart-agent/config/config-watcher.d.ts +0 -54
- package/dist/smart-agent/config/config-watcher.d.ts.map +0 -1
- package/dist/smart-agent/config/config-watcher.js +0 -107
- package/dist/smart-agent/config/config-watcher.js.map +0 -1
- package/dist/smart-agent/config/index.d.ts +0 -2
- package/dist/smart-agent/config/index.d.ts.map +0 -1
- package/dist/smart-agent/config/index.js +0 -2
- package/dist/smart-agent/config/index.js.map +0 -1
- package/dist/smart-agent/context/context-assembler.d.ts +0 -49
- package/dist/smart-agent/context/context-assembler.d.ts.map +0 -1
- package/dist/smart-agent/context/context-assembler.js +0 -184
- package/dist/smart-agent/context/context-assembler.js.map +0 -1
- package/dist/smart-agent/context/index.d.ts +0 -3
- package/dist/smart-agent/context/index.d.ts.map +0 -1
- package/dist/smart-agent/context/index.js +0 -2
- package/dist/smart-agent/context/index.js.map +0 -1
- package/dist/smart-agent/embedder-factories.d.ts +0 -14
- package/dist/smart-agent/embedder-factories.d.ts.map +0 -1
- package/dist/smart-agent/embedder-factories.js +0 -61
- package/dist/smart-agent/embedder-factories.js.map +0 -1
- package/dist/smart-agent/health/health-checker.d.ts +0 -21
- package/dist/smart-agent/health/health-checker.d.ts.map +0 -1
- package/dist/smart-agent/health/health-checker.js +0 -52
- package/dist/smart-agent/health/health-checker.js.map +0 -1
- package/dist/smart-agent/health/index.d.ts +0 -3
- package/dist/smart-agent/health/index.d.ts.map +0 -1
- package/dist/smart-agent/health/index.js +0 -2
- package/dist/smart-agent/health/index.js.map +0 -1
- package/dist/smart-agent/health/types.d.ts +0 -25
- package/dist/smart-agent/health/types.d.ts.map +0 -1
- package/dist/smart-agent/health/types.js +0 -2
- package/dist/smart-agent/health/types.js.map +0 -1
- package/dist/smart-agent/history/history-memory.d.ts +0 -12
- package/dist/smart-agent/history/history-memory.d.ts.map +0 -1
- package/dist/smart-agent/history/history-memory.js +0 -26
- package/dist/smart-agent/history/history-memory.js.map +0 -1
- package/dist/smart-agent/history/history-summarizer.d.ts +0 -10
- package/dist/smart-agent/history/history-summarizer.d.ts.map +0 -1
- package/dist/smart-agent/history/history-summarizer.js +0 -27
- package/dist/smart-agent/history/history-summarizer.js.map +0 -1
- package/dist/smart-agent/history/index.d.ts +0 -3
- package/dist/smart-agent/history/index.d.ts.map +0 -1
- package/dist/smart-agent/history/index.js +0 -3
- package/dist/smart-agent/history/index.js.map +0 -1
- package/dist/smart-agent/interfaces/api-adapter.d.ts +0 -36
- package/dist/smart-agent/interfaces/api-adapter.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/api-adapter.js +0 -9
- package/dist/smart-agent/interfaces/api-adapter.js.map +0 -1
- package/dist/smart-agent/interfaces/client-adapter.d.ts +0 -23
- package/dist/smart-agent/interfaces/client-adapter.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/client-adapter.js +0 -10
- package/dist/smart-agent/interfaces/client-adapter.js.map +0 -1
- package/dist/smart-agent/interfaces/mcp-connection-strategy.d.ts +0 -26
- package/dist/smart-agent/interfaces/mcp-connection-strategy.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/mcp-connection-strategy.js +0 -2
- package/dist/smart-agent/interfaces/mcp-connection-strategy.js.map +0 -1
- package/dist/smart-agent/interfaces/model-resolver.d.ts +0 -9
- package/dist/smart-agent/interfaces/model-resolver.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/model-resolver.js +0 -2
- package/dist/smart-agent/interfaces/model-resolver.js.map +0 -1
- package/dist/smart-agent/interfaces/pipeline.d.ts +0 -123
- package/dist/smart-agent/interfaces/pipeline.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/pipeline.js +0 -13
- package/dist/smart-agent/interfaces/pipeline.js.map +0 -1
- package/dist/smart-agent/logger/console-logger.d.ts +0 -7
- package/dist/smart-agent/logger/console-logger.d.ts.map +0 -1
- package/dist/smart-agent/logger/console-logger.js +0 -12
- package/dist/smart-agent/logger/console-logger.js.map +0 -1
- package/dist/smart-agent/logger/default-request-logger.d.ts +0 -17
- package/dist/smart-agent/logger/default-request-logger.d.ts.map +0 -1
- package/dist/smart-agent/logger/default-request-logger.js +0 -86
- package/dist/smart-agent/logger/default-request-logger.js.map +0 -1
- package/dist/smart-agent/logger/index.d.ts +0 -3
- package/dist/smart-agent/logger/index.d.ts.map +0 -1
- package/dist/smart-agent/logger/index.js +0 -2
- package/dist/smart-agent/logger/index.js.map +0 -1
- package/dist/smart-agent/logger/noop-request-logger.d.ts +0 -11
- package/dist/smart-agent/logger/noop-request-logger.d.ts.map +0 -1
- package/dist/smart-agent/logger/noop-request-logger.js +0 -20
- package/dist/smart-agent/logger/noop-request-logger.js.map +0 -1
- package/dist/smart-agent/logger/session-logger.d.ts +0 -10
- package/dist/smart-agent/logger/session-logger.d.ts.map +0 -1
- package/dist/smart-agent/logger/session-logger.js +0 -40
- package/dist/smart-agent/logger/session-logger.js.map +0 -1
- package/dist/smart-agent/logger/types.d.ts +0 -63
- package/dist/smart-agent/logger/types.d.ts.map +0 -1
- package/dist/smart-agent/logger/types.js +0 -2
- package/dist/smart-agent/logger/types.js.map +0 -1
- package/dist/smart-agent/mcp-client-factory.d.ts +0 -3
- package/dist/smart-agent/mcp-client-factory.d.ts.map +0 -1
- package/dist/smart-agent/mcp-client-factory.js +0 -21
- package/dist/smart-agent/mcp-client-factory.js.map +0 -1
- package/dist/smart-agent/metrics/in-memory-metrics.d.ts +0 -58
- package/dist/smart-agent/metrics/in-memory-metrics.d.ts.map +0 -1
- package/dist/smart-agent/metrics/in-memory-metrics.js +0 -78
- package/dist/smart-agent/metrics/in-memory-metrics.js.map +0 -1
- package/dist/smart-agent/metrics/index.d.ts +0 -4
- package/dist/smart-agent/metrics/index.d.ts.map +0 -1
- package/dist/smart-agent/metrics/index.js +0 -3
- package/dist/smart-agent/metrics/index.js.map +0 -1
- package/dist/smart-agent/metrics/noop-metrics.d.ts +0 -17
- package/dist/smart-agent/metrics/noop-metrics.d.ts.map +0 -1
- package/dist/smart-agent/metrics/noop-metrics.js +0 -22
- package/dist/smart-agent/metrics/noop-metrics.js.map +0 -1
- package/dist/smart-agent/metrics/types.d.ts +0 -36
- package/dist/smart-agent/metrics/types.d.ts.map +0 -1
- package/dist/smart-agent/metrics/types.js +0 -9
- package/dist/smart-agent/metrics/types.js.map +0 -1
- package/dist/smart-agent/otel/index.d.ts +0 -2
- package/dist/smart-agent/otel/index.d.ts.map +0 -1
- package/dist/smart-agent/otel/index.js +0 -2
- package/dist/smart-agent/otel/index.js.map +0 -1
- package/dist/smart-agent/otel/otel-tracer-adapter.d.ts +0 -15
- package/dist/smart-agent/otel/otel-tracer-adapter.d.ts.map +0 -1
- package/dist/smart-agent/otel/otel-tracer-adapter.js +0 -62
- package/dist/smart-agent/otel/otel-tracer-adapter.js.map +0 -1
- package/dist/smart-agent/pipeline/condition-evaluator.d.ts +0 -35
- package/dist/smart-agent/pipeline/condition-evaluator.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/condition-evaluator.js +0 -143
- package/dist/smart-agent/pipeline/condition-evaluator.js.map +0 -1
- package/dist/smart-agent/pipeline/context.d.ts +0 -119
- package/dist/smart-agent/pipeline/context.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/context.js +0 -19
- package/dist/smart-agent/pipeline/context.js.map +0 -1
- package/dist/smart-agent/pipeline/default-pipeline.d.ts +0 -69
- package/dist/smart-agent/pipeline/default-pipeline.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/default-pipeline.js +0 -276
- package/dist/smart-agent/pipeline/default-pipeline.js.map +0 -1
- package/dist/smart-agent/pipeline/executor.d.ts +0 -54
- package/dist/smart-agent/pipeline/executor.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/executor.js +0 -133
- package/dist/smart-agent/pipeline/executor.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/assemble.d.ts +0 -16
- package/dist/smart-agent/pipeline/handlers/assemble.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/assemble.js +0 -72
- package/dist/smart-agent/pipeline/handlers/assemble.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/build-tool-query.d.ts +0 -30
- package/dist/smart-agent/pipeline/handlers/build-tool-query.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/build-tool-query.js +0 -80
- package/dist/smart-agent/pipeline/handlers/build-tool-query.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/classify.d.ts +0 -21
- package/dist/smart-agent/pipeline/handlers/classify.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/classify.js +0 -60
- package/dist/smart-agent/pipeline/handlers/classify.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/expand.d.ts +0 -16
- package/dist/smart-agent/pipeline/handlers/expand.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/expand.js +0 -24
- package/dist/smart-agent/pipeline/handlers/expand.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/history-upsert.d.ts +0 -29
- package/dist/smart-agent/pipeline/handlers/history-upsert.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/history-upsert.js +0 -75
- package/dist/smart-agent/pipeline/handlers/history-upsert.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/index.d.ts +0 -31
- package/dist/smart-agent/pipeline/handlers/index.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/index.js +0 -44
- package/dist/smart-agent/pipeline/handlers/index.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/rag-query.d.ts +0 -27
- package/dist/smart-agent/pipeline/handlers/rag-query.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/rag-query.js +0 -117
- package/dist/smart-agent/pipeline/handlers/rag-query.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/rerank.d.ts +0 -16
- package/dist/smart-agent/pipeline/handlers/rerank.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/rerank.js +0 -27
- package/dist/smart-agent/pipeline/handlers/rerank.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/skill-select.d.ts +0 -18
- package/dist/smart-agent/pipeline/handlers/skill-select.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/skill-select.js +0 -88
- package/dist/smart-agent/pipeline/handlers/skill-select.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/summarize.d.ts +0 -17
- package/dist/smart-agent/pipeline/handlers/summarize.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/summarize.js +0 -56
- package/dist/smart-agent/pipeline/handlers/summarize.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts +0 -32
- package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.js +0 -734
- package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/tool-select.d.ts +0 -21
- package/dist/smart-agent/pipeline/handlers/tool-select.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/tool-select.js +0 -109
- package/dist/smart-agent/pipeline/handlers/tool-select.js.map +0 -1
- package/dist/smart-agent/pipeline/handlers/translate.d.ts +0 -17
- package/dist/smart-agent/pipeline/handlers/translate.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/handlers/translate.js +0 -42
- package/dist/smart-agent/pipeline/handlers/translate.js.map +0 -1
- package/dist/smart-agent/pipeline/index.d.ts +0 -14
- package/dist/smart-agent/pipeline/index.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/index.js +0 -16
- package/dist/smart-agent/pipeline/index.js.map +0 -1
- package/dist/smart-agent/pipeline/stage-handler.d.ts +0 -36
- package/dist/smart-agent/pipeline/stage-handler.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/stage-handler.js +0 -24
- package/dist/smart-agent/pipeline/stage-handler.js.map +0 -1
- package/dist/smart-agent/pipeline/types.d.ts +0 -116
- package/dist/smart-agent/pipeline/types.d.ts.map +0 -1
- package/dist/smart-agent/pipeline/types.js +0 -54
- package/dist/smart-agent/pipeline/types.js.map +0 -1
- package/dist/smart-agent/plugins/index.d.ts +0 -4
- package/dist/smart-agent/plugins/index.d.ts.map +0 -1
- package/dist/smart-agent/plugins/index.js +0 -3
- package/dist/smart-agent/plugins/index.js.map +0 -1
- package/dist/smart-agent/plugins/loader.d.ts +0 -67
- package/dist/smart-agent/plugins/loader.d.ts.map +0 -1
- package/dist/smart-agent/plugins/loader.js +0 -114
- package/dist/smart-agent/plugins/loader.js.map +0 -1
- package/dist/smart-agent/plugins/types.d.ts +0 -162
- package/dist/smart-agent/plugins/types.d.ts.map +0 -1
- package/dist/smart-agent/plugins/types.js +0 -136
- package/dist/smart-agent/plugins/types.js.map +0 -1
- package/dist/smart-agent/policy/fallback-llm-call-strategy.d.ts +0 -16
- package/dist/smart-agent/policy/fallback-llm-call-strategy.d.ts.map +0 -1
- package/dist/smart-agent/policy/fallback-llm-call-strategy.js +0 -66
- package/dist/smart-agent/policy/fallback-llm-call-strategy.js.map +0 -1
- package/dist/smart-agent/policy/heuristic-injection-detector.d.ts +0 -5
- package/dist/smart-agent/policy/heuristic-injection-detector.d.ts.map +0 -1
- package/dist/smart-agent/policy/heuristic-injection-detector.js +0 -36
- package/dist/smart-agent/policy/heuristic-injection-detector.js.map +0 -1
- package/dist/smart-agent/policy/index.d.ts +0 -6
- package/dist/smart-agent/policy/index.d.ts.map +0 -1
- package/dist/smart-agent/policy/index.js +0 -5
- package/dist/smart-agent/policy/index.js.map +0 -1
- package/dist/smart-agent/policy/mixed-tool-call-handler.d.ts +0 -15
- package/dist/smart-agent/policy/mixed-tool-call-handler.d.ts.map +0 -1
- package/dist/smart-agent/policy/mixed-tool-call-handler.js +0 -49
- package/dist/smart-agent/policy/mixed-tool-call-handler.js.map +0 -1
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.d.ts +0 -6
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.d.ts.map +0 -1
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.js +0 -21
- package/dist/smart-agent/policy/non-streaming-llm-call-strategy.js.map +0 -1
- package/dist/smart-agent/policy/pending-tool-results-registry.d.ts +0 -25
- package/dist/smart-agent/policy/pending-tool-results-registry.d.ts.map +0 -1
- package/dist/smart-agent/policy/pending-tool-results-registry.js +0 -50
- package/dist/smart-agent/policy/pending-tool-results-registry.js.map +0 -1
- package/dist/smart-agent/policy/streaming-llm-call-strategy.d.ts +0 -6
- package/dist/smart-agent/policy/streaming-llm-call-strategy.d.ts.map +0 -1
- package/dist/smart-agent/policy/streaming-llm-call-strategy.js +0 -7
- package/dist/smart-agent/policy/streaming-llm-call-strategy.js.map +0 -1
- package/dist/smart-agent/policy/tool-availability-registry.d.ts +0 -21
- package/dist/smart-agent/policy/tool-availability-registry.d.ts.map +0 -1
- package/dist/smart-agent/policy/tool-availability-registry.js +0 -77
- package/dist/smart-agent/policy/tool-availability-registry.js.map +0 -1
- package/dist/smart-agent/policy/tool-policy-guard.d.ts +0 -8
- package/dist/smart-agent/policy/tool-policy-guard.d.ts.map +0 -1
- package/dist/smart-agent/policy/tool-policy-guard.js +0 -40
- package/dist/smart-agent/policy/tool-policy-guard.js.map +0 -1
- package/dist/smart-agent/policy/types.d.ts +0 -51
- package/dist/smart-agent/policy/types.d.ts.map +0 -1
- package/dist/smart-agent/policy/types.js +0 -17
- package/dist/smart-agent/policy/types.js.map +0 -1
- package/dist/smart-agent/providers.d.ts +0 -124
- package/dist/smart-agent/providers.d.ts.map +0 -1
- package/dist/smart-agent/providers.js +0 -276
- package/dist/smart-agent/providers.js.map +0 -1
- package/dist/smart-agent/rag-factories.d.ts +0 -31
- package/dist/smart-agent/rag-factories.d.ts.map +0 -1
- package/dist/smart-agent/rag-factories.js +0 -53
- package/dist/smart-agent/rag-factories.js.map +0 -1
- package/dist/smart-agent/reranker/index.d.ts +0 -4
- package/dist/smart-agent/reranker/index.d.ts.map +0 -1
- package/dist/smart-agent/reranker/index.js +0 -3
- package/dist/smart-agent/reranker/index.js.map +0 -1
- package/dist/smart-agent/reranker/llm-reranker.d.ts +0 -10
- package/dist/smart-agent/reranker/llm-reranker.d.ts.map +0 -1
- package/dist/smart-agent/reranker/llm-reranker.js +0 -55
- package/dist/smart-agent/reranker/llm-reranker.js.map +0 -1
- package/dist/smart-agent/reranker/noop-reranker.d.ts +0 -6
- package/dist/smart-agent/reranker/noop-reranker.d.ts.map +0 -1
- package/dist/smart-agent/reranker/noop-reranker.js +0 -6
- package/dist/smart-agent/reranker/noop-reranker.js.map +0 -1
- package/dist/smart-agent/reranker/types.d.ts +0 -5
- package/dist/smart-agent/reranker/types.d.ts.map +0 -1
- package/dist/smart-agent/reranker/types.js +0 -2
- package/dist/smart-agent/reranker/types.js.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts +0 -16
- package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker-embedder.js +0 -47
- package/dist/smart-agent/resilience/circuit-breaker-embedder.js.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts +0 -19
- package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker-llm.js +0 -72
- package/dist/smart-agent/resilience/circuit-breaker-llm.js.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker.d.ts +0 -36
- package/dist/smart-agent/resilience/circuit-breaker.d.ts.map +0 -1
- package/dist/smart-agent/resilience/circuit-breaker.js +0 -60
- package/dist/smart-agent/resilience/circuit-breaker.js.map +0 -1
- package/dist/smart-agent/resilience/fallback-rag.d.ts +0 -21
- package/dist/smart-agent/resilience/fallback-rag.d.ts.map +0 -1
- package/dist/smart-agent/resilience/fallback-rag.js +0 -80
- package/dist/smart-agent/resilience/fallback-rag.js.map +0 -1
- package/dist/smart-agent/resilience/index.d.ts +0 -5
- package/dist/smart-agent/resilience/index.d.ts.map +0 -1
- package/dist/smart-agent/resilience/index.js +0 -5
- package/dist/smart-agent/resilience/index.js.map +0 -1
- package/dist/smart-agent/resilience/rate-limiter-llm.d.ts +0 -17
- package/dist/smart-agent/resilience/rate-limiter-llm.d.ts.map +0 -1
- package/dist/smart-agent/resilience/rate-limiter-llm.js +0 -30
- package/dist/smart-agent/resilience/rate-limiter-llm.js.map +0 -1
- package/dist/smart-agent/resilience/retry-llm.d.ts +0 -32
- package/dist/smart-agent/resilience/retry-llm.d.ts.map +0 -1
- package/dist/smart-agent/resilience/retry-llm.js +0 -103
- package/dist/smart-agent/resilience/retry-llm.js.map +0 -1
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.d.ts +0 -21
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.d.ts.map +0 -1
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.js +0 -32
- package/dist/smart-agent/resilience/token-bucket-rate-limiter.js.map +0 -1
- package/dist/smart-agent/session/index.d.ts +0 -4
- package/dist/smart-agent/session/index.d.ts.map +0 -1
- package/dist/smart-agent/session/index.js +0 -3
- package/dist/smart-agent/session/index.js.map +0 -1
- package/dist/smart-agent/session/noop-session-manager.d.ts +0 -8
- package/dist/smart-agent/session/noop-session-manager.d.ts.map +0 -1
- package/dist/smart-agent/session/noop-session-manager.js +0 -11
- package/dist/smart-agent/session/noop-session-manager.js.map +0 -1
- package/dist/smart-agent/session/session-manager.d.ts +0 -13
- package/dist/smart-agent/session/session-manager.d.ts.map +0 -1
- package/dist/smart-agent/session/session-manager.js +0 -20
- package/dist/smart-agent/session/session-manager.js.map +0 -1
- package/dist/smart-agent/session/types.d.ts +0 -7
- package/dist/smart-agent/session/types.d.ts.map +0 -1
- package/dist/smart-agent/session/types.js +0 -2
- package/dist/smart-agent/session/types.js.map +0 -1
- package/dist/smart-agent/skills/claude-skill-manager.d.ts +0 -24
- package/dist/smart-agent/skills/claude-skill-manager.d.ts.map +0 -1
- package/dist/smart-agent/skills/claude-skill-manager.js +0 -81
- package/dist/smart-agent/skills/claude-skill-manager.js.map +0 -1
- package/dist/smart-agent/skills/codex-skill-manager.d.ts +0 -20
- package/dist/smart-agent/skills/codex-skill-manager.d.ts.map +0 -1
- package/dist/smart-agent/skills/codex-skill-manager.js +0 -75
- package/dist/smart-agent/skills/codex-skill-manager.js.map +0 -1
- package/dist/smart-agent/skills/filesystem-skill-manager.d.ts +0 -17
- package/dist/smart-agent/skills/filesystem-skill-manager.d.ts.map +0 -1
- package/dist/smart-agent/skills/filesystem-skill-manager.js +0 -48
- package/dist/smart-agent/skills/filesystem-skill-manager.js.map +0 -1
- package/dist/smart-agent/skills/filesystem-skill.d.ts +0 -25
- package/dist/smart-agent/skills/filesystem-skill.d.ts.map +0 -1
- package/dist/smart-agent/skills/filesystem-skill.js +0 -110
- package/dist/smart-agent/skills/filesystem-skill.js.map +0 -1
- package/dist/smart-agent/skills/index.d.ts +0 -9
- package/dist/smart-agent/skills/index.d.ts.map +0 -1
- package/dist/smart-agent/skills/index.js +0 -9
- package/dist/smart-agent/skills/index.js.map +0 -1
- package/dist/smart-agent/skills/skill-utils.d.ts +0 -15
- package/dist/smart-agent/skills/skill-utils.d.ts.map +0 -1
- package/dist/smart-agent/skills/skill-utils.js +0 -46
- package/dist/smart-agent/skills/skill-utils.js.map +0 -1
- package/dist/smart-agent/strategies/index.d.ts +0 -4
- package/dist/smart-agent/strategies/index.d.ts.map +0 -1
- package/dist/smart-agent/strategies/index.js +0 -4
- package/dist/smart-agent/strategies/index.js.map +0 -1
- package/dist/smart-agent/strategies/lazy-connection-strategy.d.ts +0 -15
- package/dist/smart-agent/strategies/lazy-connection-strategy.d.ts.map +0 -1
- package/dist/smart-agent/strategies/lazy-connection-strategy.js +0 -82
- package/dist/smart-agent/strategies/lazy-connection-strategy.js.map +0 -1
- package/dist/smart-agent/strategies/noop-connection-strategy.d.ts +0 -6
- package/dist/smart-agent/strategies/noop-connection-strategy.d.ts.map +0 -1
- package/dist/smart-agent/strategies/noop-connection-strategy.js +0 -6
- package/dist/smart-agent/strategies/noop-connection-strategy.js.map +0 -1
- package/dist/smart-agent/strategies/periodic-connection-strategy.d.ts +0 -13
- package/dist/smart-agent/strategies/periodic-connection-strategy.d.ts.map +0 -1
- package/dist/smart-agent/strategies/periodic-connection-strategy.js +0 -40
- package/dist/smart-agent/strategies/periodic-connection-strategy.js.map +0 -1
- package/dist/smart-agent/testing/index.d.ts +0 -118
- package/dist/smart-agent/testing/index.d.ts.map +0 -1
- package/dist/smart-agent/testing/index.js +0 -351
- package/dist/smart-agent/testing/index.js.map +0 -1
- package/dist/smart-agent/tracer/index.d.ts +0 -3
- package/dist/smart-agent/tracer/index.d.ts.map +0 -1
- package/dist/smart-agent/tracer/index.js +0 -2
- package/dist/smart-agent/tracer/index.js.map +0 -1
- package/dist/smart-agent/tracer/noop-tracer.d.ts +0 -5
- package/dist/smart-agent/tracer/noop-tracer.d.ts.map +0 -1
- package/dist/smart-agent/tracer/noop-tracer.js +0 -16
- package/dist/smart-agent/tracer/noop-tracer.js.map +0 -1
- package/dist/smart-agent/tracer/types.d.ts +0 -17
- package/dist/smart-agent/tracer/types.d.ts.map +0 -1
- package/dist/smart-agent/tracer/types.js +0 -2
- package/dist/smart-agent/tracer/types.js.map +0 -1
- package/dist/smart-agent/utils/external-tools-normalizer.d.ts +0 -15
- package/dist/smart-agent/utils/external-tools-normalizer.d.ts.map +0 -1
- package/dist/smart-agent/utils/external-tools-normalizer.js +0 -146
- package/dist/smart-agent/utils/external-tools-normalizer.js.map +0 -1
- package/dist/smart-agent/utils/lazy.d.ts +0 -51
- package/dist/smart-agent/utils/lazy.d.ts.map +0 -1
- package/dist/smart-agent/utils/lazy.js +0 -127
- package/dist/smart-agent/utils/lazy.js.map +0 -1
- package/dist/smart-agent/utils/parse-frontmatter.d.ts +0 -15
- package/dist/smart-agent/utils/parse-frontmatter.d.ts.map +0 -1
- package/dist/smart-agent/utils/parse-frontmatter.js +0 -22
- package/dist/smart-agent/utils/parse-frontmatter.js.map +0 -1
- package/dist/smart-agent/utils/tool-call-deltas.d.ts +0 -4
- package/dist/smart-agent/utils/tool-call-deltas.d.ts.map +0 -1
- package/dist/smart-agent/utils/tool-call-deltas.js +0 -25
- package/dist/smart-agent/utils/tool-call-deltas.js.map +0 -1
- package/dist/smart-agent/validator/index.d.ts +0 -3
- package/dist/smart-agent/validator/index.d.ts.map +0 -1
- package/dist/smart-agent/validator/index.js +0 -2
- package/dist/smart-agent/validator/index.js.map +0 -1
- package/dist/smart-agent/validator/noop-validator.d.ts +0 -6
- package/dist/smart-agent/validator/noop-validator.d.ts.map +0 -1
- package/dist/smart-agent/validator/noop-validator.js +0 -6
- package/dist/smart-agent/validator/noop-validator.js.map +0 -1
- package/dist/smart-agent/validator/types.d.ts +0 -17
- package/dist/smart-agent/validator/types.d.ts.map +0 -1
- package/dist/smart-agent/validator/types.js +0 -8
- package/dist/smart-agent/validator/types.js.map +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { ICounter, IHistogram, IMetrics } from './types.js';
|
|
2
|
-
export interface CounterSnapshot {
|
|
3
|
-
total: number;
|
|
4
|
-
byAttributes: Map<string, number>;
|
|
5
|
-
}
|
|
6
|
-
declare class MemCounter implements ICounter {
|
|
7
|
-
private total;
|
|
8
|
-
private readonly byAttrs;
|
|
9
|
-
add(value?: number, attributes?: Record<string, string>): void;
|
|
10
|
-
snapshot(): CounterSnapshot;
|
|
11
|
-
}
|
|
12
|
-
export interface HistogramSnapshot {
|
|
13
|
-
count: number;
|
|
14
|
-
sum: number;
|
|
15
|
-
min: number;
|
|
16
|
-
max: number;
|
|
17
|
-
values: number[];
|
|
18
|
-
}
|
|
19
|
-
declare class MemHistogram implements IHistogram {
|
|
20
|
-
private readonly values;
|
|
21
|
-
record(value: number, _attributes?: Record<string, string>): void;
|
|
22
|
-
snapshot(): HistogramSnapshot;
|
|
23
|
-
/** Return the p-th percentile (0..100). */
|
|
24
|
-
percentile(p: number): number;
|
|
25
|
-
}
|
|
26
|
-
export interface MetricsSnapshot {
|
|
27
|
-
requestCount: CounterSnapshot;
|
|
28
|
-
requestLatency: HistogramSnapshot;
|
|
29
|
-
toolCallCount: CounterSnapshot;
|
|
30
|
-
ragQueryCount: CounterSnapshot;
|
|
31
|
-
classifierIntentCount: CounterSnapshot;
|
|
32
|
-
llmCallCount: CounterSnapshot;
|
|
33
|
-
llmCallLatency: HistogramSnapshot;
|
|
34
|
-
circuitBreakerTransition: CounterSnapshot;
|
|
35
|
-
toolCacheHitCount: CounterSnapshot;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* In-memory metrics collector — useful for testing and diagnostics endpoints.
|
|
39
|
-
* Call `snapshot()` to get a point-in-time view of all metrics.
|
|
40
|
-
*/
|
|
41
|
-
export declare class InMemoryMetrics implements IMetrics {
|
|
42
|
-
readonly requestCount: MemCounter;
|
|
43
|
-
readonly requestLatency: MemHistogram;
|
|
44
|
-
readonly toolCallCount: MemCounter;
|
|
45
|
-
readonly ragQueryCount: MemCounter;
|
|
46
|
-
readonly classifierIntentCount: MemCounter;
|
|
47
|
-
readonly llmCallCount: MemCounter;
|
|
48
|
-
readonly llmCallLatency: MemHistogram;
|
|
49
|
-
readonly circuitBreakerTransition: MemCounter;
|
|
50
|
-
readonly toolCacheHitCount: MemCounter;
|
|
51
|
-
snapshot(): MetricsSnapshot;
|
|
52
|
-
/** Convenience: get p-th percentile of request latency. */
|
|
53
|
-
requestLatencyPercentile(p: number): number;
|
|
54
|
-
/** Convenience: get p-th percentile of LLM call latency. */
|
|
55
|
-
llmCallLatencyPercentile(p: number): number;
|
|
56
|
-
}
|
|
57
|
-
export {};
|
|
58
|
-
//# sourceMappingURL=in-memory-metrics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-metrics.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/in-memory-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,cAAM,UAAW,YAAW,QAAQ;IAClC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,GAAG,CAAC,KAAK,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAWzD,QAAQ,IAAI,eAAe;CAG5B;AAMD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,cAAM,YAAa,YAAW,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIjE,QAAQ,IAAI,iBAAiB;IAW7B,2CAA2C;IAC3C,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAM9B;AAMD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,iBAAiB,CAAC;IAClC,aAAa,EAAE,eAAe,CAAC;IAC/B,aAAa,EAAE,eAAe,CAAC;IAC/B,qBAAqB,EAAE,eAAe,CAAC;IACvC,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,iBAAiB,CAAC;IAClC,wBAAwB,EAAE,eAAe,CAAC;IAC1C,iBAAiB,EAAE,eAAe,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,YAAY,aAAoB;IACzC,QAAQ,CAAC,cAAc,eAAsB;IAC7C,QAAQ,CAAC,aAAa,aAAoB;IAC1C,QAAQ,CAAC,aAAa,aAAoB;IAC1C,QAAQ,CAAC,qBAAqB,aAAoB;IAClD,QAAQ,CAAC,YAAY,aAAoB;IACzC,QAAQ,CAAC,cAAc,eAAsB;IAC7C,QAAQ,CAAC,wBAAwB,aAAoB;IACrD,QAAQ,CAAC,iBAAiB,aAAoB;IAE9C,QAAQ,IAAI,eAAe;IAc3B,2DAA2D;IAC3D,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3C,4DAA4D;IAC5D,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAG5C"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
class MemCounter {
|
|
2
|
-
total = 0;
|
|
3
|
-
byAttrs = new Map();
|
|
4
|
-
add(value = 1, attributes) {
|
|
5
|
-
this.total += value;
|
|
6
|
-
if (attributes) {
|
|
7
|
-
const key = Object.entries(attributes)
|
|
8
|
-
.sort(([a], [b]) => a.localeCompare(b))
|
|
9
|
-
.map(([k, v]) => `${k}=${v}`)
|
|
10
|
-
.join(',');
|
|
11
|
-
this.byAttrs.set(key, (this.byAttrs.get(key) ?? 0) + value);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
snapshot() {
|
|
15
|
-
return { total: this.total, byAttributes: new Map(this.byAttrs) };
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
class MemHistogram {
|
|
19
|
-
values = [];
|
|
20
|
-
record(value, _attributes) {
|
|
21
|
-
this.values.push(value);
|
|
22
|
-
}
|
|
23
|
-
snapshot() {
|
|
24
|
-
const sorted = [...this.values].sort((a, b) => a - b);
|
|
25
|
-
return {
|
|
26
|
-
count: sorted.length,
|
|
27
|
-
sum: sorted.reduce((a, b) => a + b, 0),
|
|
28
|
-
min: sorted.length > 0 ? sorted[0] : 0,
|
|
29
|
-
max: sorted.length > 0 ? sorted[sorted.length - 1] : 0,
|
|
30
|
-
values: sorted,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/** Return the p-th percentile (0..100). */
|
|
34
|
-
percentile(p) {
|
|
35
|
-
if (this.values.length === 0)
|
|
36
|
-
return 0;
|
|
37
|
-
const sorted = [...this.values].sort((a, b) => a - b);
|
|
38
|
-
const idx = Math.ceil((p / 100) * sorted.length) - 1;
|
|
39
|
-
return sorted[Math.max(0, idx)];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* In-memory metrics collector — useful for testing and diagnostics endpoints.
|
|
44
|
-
* Call `snapshot()` to get a point-in-time view of all metrics.
|
|
45
|
-
*/
|
|
46
|
-
export class InMemoryMetrics {
|
|
47
|
-
requestCount = new MemCounter();
|
|
48
|
-
requestLatency = new MemHistogram();
|
|
49
|
-
toolCallCount = new MemCounter();
|
|
50
|
-
ragQueryCount = new MemCounter();
|
|
51
|
-
classifierIntentCount = new MemCounter();
|
|
52
|
-
llmCallCount = new MemCounter();
|
|
53
|
-
llmCallLatency = new MemHistogram();
|
|
54
|
-
circuitBreakerTransition = new MemCounter();
|
|
55
|
-
toolCacheHitCount = new MemCounter();
|
|
56
|
-
snapshot() {
|
|
57
|
-
return {
|
|
58
|
-
requestCount: this.requestCount.snapshot(),
|
|
59
|
-
requestLatency: this.requestLatency.snapshot(),
|
|
60
|
-
toolCallCount: this.toolCallCount.snapshot(),
|
|
61
|
-
ragQueryCount: this.ragQueryCount.snapshot(),
|
|
62
|
-
classifierIntentCount: this.classifierIntentCount.snapshot(),
|
|
63
|
-
llmCallCount: this.llmCallCount.snapshot(),
|
|
64
|
-
llmCallLatency: this.llmCallLatency.snapshot(),
|
|
65
|
-
circuitBreakerTransition: this.circuitBreakerTransition.snapshot(),
|
|
66
|
-
toolCacheHitCount: this.toolCacheHitCount.snapshot(),
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
/** Convenience: get p-th percentile of request latency. */
|
|
70
|
-
requestLatencyPercentile(p) {
|
|
71
|
-
return this.requestLatency.percentile(p);
|
|
72
|
-
}
|
|
73
|
-
/** Convenience: get p-th percentile of LLM call latency. */
|
|
74
|
-
llmCallLatencyPercentile(p) {
|
|
75
|
-
return this.llmCallLatency.percentile(p);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=in-memory-metrics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-metrics.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/in-memory-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { type CounterSnapshot, type HistogramSnapshot, InMemoryMetrics, type MetricsSnapshot, } from './in-memory-metrics.js';
|
|
2
|
-
export { NoopMetrics } from './noop-metrics.js';
|
|
3
|
-
export type { ICounter, IHistogram, IMetrics } from './types.js';
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ICounter, IHistogram, IMetrics } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* No-op metrics implementation — zero overhead.
|
|
4
|
-
* Used as the default when no metrics provider is configured.
|
|
5
|
-
*/
|
|
6
|
-
export declare class NoopMetrics implements IMetrics {
|
|
7
|
-
readonly requestCount: ICounter;
|
|
8
|
-
readonly requestLatency: IHistogram;
|
|
9
|
-
readonly toolCallCount: ICounter;
|
|
10
|
-
readonly ragQueryCount: ICounter;
|
|
11
|
-
readonly classifierIntentCount: ICounter;
|
|
12
|
-
readonly llmCallCount: ICounter;
|
|
13
|
-
readonly llmCallLatency: IHistogram;
|
|
14
|
-
readonly circuitBreakerTransition: ICounter;
|
|
15
|
-
readonly toolCacheHitCount: ICounter;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=noop-metrics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"noop-metrics.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/noop-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUjE;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IAC1C,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAe;IAC9C,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAiB;IACpD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAe;IAC/C,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAe;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAe;IACvD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAe;IAC9C,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAiB;IACpD,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAe;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAe;CACpD"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const noopCounter = {
|
|
2
|
-
add() { },
|
|
3
|
-
};
|
|
4
|
-
const noopHistogram = {
|
|
5
|
-
record() { },
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* No-op metrics implementation — zero overhead.
|
|
9
|
-
* Used as the default when no metrics provider is configured.
|
|
10
|
-
*/
|
|
11
|
-
export class NoopMetrics {
|
|
12
|
-
requestCount = noopCounter;
|
|
13
|
-
requestLatency = noopHistogram;
|
|
14
|
-
toolCallCount = noopCounter;
|
|
15
|
-
ragQueryCount = noopCounter;
|
|
16
|
-
classifierIntentCount = noopCounter;
|
|
17
|
-
llmCallCount = noopCounter;
|
|
18
|
-
llmCallLatency = noopHistogram;
|
|
19
|
-
circuitBreakerTransition = noopCounter;
|
|
20
|
-
toolCacheHitCount = noopCounter;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=noop-metrics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"noop-metrics.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/noop-metrics.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAa;IAC5B,GAAG,KAAI,CAAC;CACT,CAAC;AAEF,MAAM,aAAa,GAAe;IAChC,MAAM,KAAI,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,WAAW;IACb,YAAY,GAAa,WAAW,CAAC;IACrC,cAAc,GAAe,aAAa,CAAC;IAC3C,aAAa,GAAa,WAAW,CAAC;IACtC,aAAa,GAAa,WAAW,CAAC;IACtC,qBAAqB,GAAa,WAAW,CAAC;IAC9C,YAAY,GAAa,WAAW,CAAC;IACrC,cAAc,GAAe,aAAa,CAAC;IAC3C,wBAAwB,GAAa,WAAW,CAAC;IACjD,iBAAiB,GAAa,WAAW,CAAC;CACpD"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics interfaces — modeled after OTEL-compatible counters and histograms.
|
|
3
|
-
*
|
|
4
|
-
* Consumers implement `IMetrics` to plug in Prometheus, OTEL, or any metrics
|
|
5
|
-
* backend. The library ships `NoopMetrics` (zero overhead) and `InMemoryMetrics`
|
|
6
|
-
* (useful for testing and diagnostics).
|
|
7
|
-
*/
|
|
8
|
-
export interface ICounter {
|
|
9
|
-
/** Increment the counter by 1 (or a custom value). */
|
|
10
|
-
add(value?: number, attributes?: Record<string, string>): void;
|
|
11
|
-
}
|
|
12
|
-
export interface IHistogram {
|
|
13
|
-
/** Record a single observation (e.g. latency in ms). */
|
|
14
|
-
record(value: number, attributes?: Record<string, string>): void;
|
|
15
|
-
}
|
|
16
|
-
export interface IMetrics {
|
|
17
|
-
/** Total incoming requests to SmartAgent.process / streamProcess. */
|
|
18
|
-
requestCount: ICounter;
|
|
19
|
-
/** Request end-to-end latency (ms). */
|
|
20
|
-
requestLatency: IHistogram;
|
|
21
|
-
/** Number of tool calls executed (internal MCP). */
|
|
22
|
-
toolCallCount: ICounter;
|
|
23
|
-
/** Number of RAG queries executed. Attributes: store (store name), hit (true|false). */
|
|
24
|
-
ragQueryCount: ICounter;
|
|
25
|
-
/** Intent classifier invocation count. Attributes: intent (action|feedback|chat). */
|
|
26
|
-
classifierIntentCount: ICounter;
|
|
27
|
-
/** LLM chat / streamChat invocations. */
|
|
28
|
-
llmCallCount: ICounter;
|
|
29
|
-
/** LLM call latency (ms). */
|
|
30
|
-
llmCallLatency: IHistogram;
|
|
31
|
-
/** Circuit breaker state transitions. Attributes: from, to, target (llm|embedder). */
|
|
32
|
-
circuitBreakerTransition: ICounter;
|
|
33
|
-
/** Tool result cache hits. */
|
|
34
|
-
toolCacheHitCount: ICounter;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,sDAAsD;IACtD,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,YAAY,EAAE,QAAQ,CAAC;IACvB,uCAAuC;IACvC,cAAc,EAAE,UAAU,CAAC;IAC3B,oDAAoD;IACpD,aAAa,EAAE,QAAQ,CAAC;IACxB,wFAAwF;IACxF,aAAa,EAAE,QAAQ,CAAC;IACxB,qFAAqF;IACrF,qBAAqB,EAAE,QAAQ,CAAC;IAChC,yCAAyC;IACzC,YAAY,EAAE,QAAQ,CAAC;IACvB,6BAA6B;IAC7B,cAAc,EAAE,UAAU,CAAC;IAC3B,sFAAsF;IACtF,wBAAwB,EAAE,QAAQ,CAAC;IACnC,8BAA8B;IAC9B,iBAAiB,EAAE,QAAQ,CAAC;CAC7B"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics interfaces — modeled after OTEL-compatible counters and histograms.
|
|
3
|
-
*
|
|
4
|
-
* Consumers implement `IMetrics` to plug in Prometheus, OTEL, or any metrics
|
|
5
|
-
* backend. The library ships `NoopMetrics` (zero overhead) and `InMemoryMetrics`
|
|
6
|
-
* (useful for testing and diagnostics).
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/otel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/otel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
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 type { Tracer } from '@opentelemetry/api';
|
|
9
|
-
import type { ISpan, ITracer, SpanOptions } from '../tracer/types.js';
|
|
10
|
-
export declare class OtelTracerAdapter implements ITracer {
|
|
11
|
-
private readonly tracer;
|
|
12
|
-
constructor(tracer: Tracer);
|
|
13
|
-
startSpan(name: string, options?: SpanOptions): ISpan;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=otel-tracer-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otel-tracer-adapter.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/otel/otel-tracer-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAIV,MAAM,EACP,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EACP,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAwC5B,qBAAa,iBAAkB,YAAW,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,KAAK;CAyBtD"}
|
|
@@ -1,62 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,143 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/condition-evaluator.ts"],"names":[],"mappings":"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"}
|