@opensearch-project/agent-health 0.3.0 → 0.5.2
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 +77 -6
- package/cli/dist/index.js +10072 -4502
- package/deployment/cloudformation/agent-health-observability.yaml +762 -0
- package/dist/assets/index-CCQRDlO0.js +243 -0
- package/dist/assets/index-CNHQVbcj.css +1 -0
- package/dist/index.html +2 -2
- package/docs/ARCHITECTURE.md +450 -0
- package/docs/BACKEND_JOB_QUEUE.md +405 -0
- package/docs/CLAUDE_CODE_TELEMETRY.md +283 -0
- package/docs/CLI.md +431 -0
- package/docs/CODING_AGENT_ANALYTICS.md +298 -0
- package/docs/CONFIGURATION.md +388 -0
- package/docs/CONNECTORS.md +536 -0
- package/docs/INSTRUMENT_WITH_OTEL.md +390 -0
- package/docs/ML-COMMONS-SETUP.md +289 -0
- package/docs/NPX_PACKAGING.md +195 -0
- package/docs/PERFORMANCE-MONITORING.md +200 -0
- package/docs/PERFORMANCE.md +390 -0
- package/docs/PI_PROFILING.md +169 -0
- package/docs/PLAN-non-agui-agent-support.md +525 -0
- package/docs/SDK.md +577 -0
- package/docs/SKILLS.md +264 -0
- package/docs/blogs/2026-02-28-opensearch-agent-health.md +200 -0
- package/docs/blogs/getting-started-blog.md +608 -0
- package/docs/diagrams/Agent-health.excalidraw +5656 -0
- package/docs/diagrams/architecture.png +0 -0
- package/docs/plans/field-redesign.md +468 -0
- package/docs/rfcs/001-coding-agent-analytics.md +374 -0
- package/docs/rfcs/002-enterprise-leaderboard.md +267 -0
- package/docs/rfcs/003-remote-aggregation.md +146 -0
- package/docs/rfcs/004-test-sdk-v2.md +599 -0
- package/docs/skills/AGENT_HEALTH.md +598 -0
- package/docs/skills/AGENT_PROFILE.md +191 -0
- package/docs/skills/add-connector/SKILL.md +68 -0
- package/docs/skills/agent-health-profile/SKILL.md +40 -0
- package/docs/skills/config-auth/SKILL.md +194 -0
- package/docs/skills/config-auth/evals/evals.json +35 -0
- package/docs/skills/create-pr/SKILL.md +73 -0
- package/docs/skills/instrument-otel/SKILL.md +84 -0
- package/docs/skills/write-test/SKILL.md +124 -0
- package/docs/ui prd.md +376 -0
- package/examples/README.md +53 -0
- package/examples/config/agent-health.config.example.ts +155 -0
- package/examples/connectors/echo-connector.ts +131 -0
- package/examples/eval-files/demo.eval.js +128 -0
- package/examples/eval-files/sdk-hooks-demo.eval.js +99 -0
- package/examples/pi-profiling/README.md +77 -0
- package/examples/pi-profiling/agent-health-profile.ts +417 -0
- package/lib/dist/lib/agentUtils.d.ts +29 -0
- package/lib/dist/lib/agentUtils.d.ts.map +1 -0
- package/lib/dist/lib/agentUtils.js +43 -0
- package/lib/dist/lib/agentUtils.js.map +1 -0
- package/lib/dist/lib/benchmarkExport.d.ts +14 -0
- package/lib/dist/lib/benchmarkExport.d.ts.map +1 -0
- package/lib/dist/lib/benchmarkExport.js +41 -0
- package/lib/dist/lib/benchmarkExport.js.map +1 -0
- package/lib/dist/lib/benchmarkVersionUtils.d.ts +37 -0
- package/lib/dist/lib/benchmarkVersionUtils.d.ts.map +1 -0
- package/lib/dist/lib/benchmarkVersionUtils.js +68 -0
- package/lib/dist/lib/benchmarkVersionUtils.js.map +1 -0
- package/lib/dist/lib/config/defineConfig.d.ts +27 -0
- package/lib/dist/lib/config/defineConfig.d.ts.map +1 -0
- package/lib/dist/lib/config/defineConfig.js +28 -0
- package/lib/dist/lib/config/defineConfig.js.map +1 -0
- package/lib/dist/lib/config/index.d.ts +9 -0
- package/lib/dist/lib/config/index.d.ts.map +1 -0
- package/lib/dist/lib/config/index.js +8 -0
- package/lib/dist/lib/config/index.js.map +1 -0
- package/lib/dist/lib/config/loader.d.ts +39 -0
- package/lib/dist/lib/config/loader.d.ts.map +1 -0
- package/lib/dist/lib/config/loader.js +258 -0
- package/lib/dist/lib/config/loader.js.map +1 -0
- package/lib/dist/lib/config/statePaths.d.ts +61 -0
- package/lib/dist/lib/config/statePaths.d.ts.map +1 -0
- package/lib/dist/lib/config/statePaths.js +188 -0
- package/lib/dist/lib/config/statePaths.js.map +1 -0
- package/lib/dist/lib/config/types.d.ts +231 -0
- package/lib/dist/lib/config/types.d.ts.map +1 -0
- package/lib/dist/lib/config/types.js +6 -0
- package/lib/dist/lib/config/types.js.map +1 -0
- package/lib/dist/lib/config.d.ts +39 -0
- package/lib/dist/lib/config.d.ts.map +1 -0
- package/lib/dist/lib/config.js +118 -0
- package/lib/dist/lib/config.js.map +1 -0
- package/lib/dist/lib/constants.d.ts +70 -0
- package/lib/dist/lib/constants.d.ts.map +1 -0
- package/lib/dist/lib/constants.js +365 -0
- package/lib/dist/lib/constants.js.map +1 -0
- package/lib/dist/lib/contextUtilization.d.ts +23 -0
- package/lib/dist/lib/contextUtilization.d.ts.map +1 -0
- package/lib/dist/lib/contextUtilization.js +72 -0
- package/lib/dist/lib/contextUtilization.js.map +1 -0
- package/lib/dist/lib/dashboardMetrics.d.ts +87 -0
- package/lib/dist/lib/dashboardMetrics.d.ts.map +1 -0
- package/lib/dist/lib/dashboardMetrics.js +242 -0
- package/lib/dist/lib/dashboardMetrics.js.map +1 -0
- package/lib/dist/lib/dataSourceConfig.d.ts +108 -0
- package/lib/dist/lib/dataSourceConfig.d.ts.map +1 -0
- package/lib/dist/lib/dataSourceConfig.js +166 -0
- package/lib/dist/lib/dataSourceConfig.js.map +1 -0
- package/lib/dist/lib/debug.d.ts +26 -0
- package/lib/dist/lib/debug.d.ts.map +1 -0
- package/lib/dist/lib/debug.js +132 -0
- package/lib/dist/lib/debug.js.map +1 -0
- package/lib/dist/lib/diagnostics.d.ts +28 -0
- package/lib/dist/lib/diagnostics.d.ts.map +1 -0
- package/lib/dist/lib/diagnostics.js +65 -0
- package/lib/dist/lib/diagnostics.js.map +1 -0
- package/lib/dist/lib/envCompat.d.ts +27 -0
- package/lib/dist/lib/envCompat.d.ts.map +1 -0
- package/lib/dist/lib/envCompat.js +73 -0
- package/lib/dist/lib/envCompat.js.map +1 -0
- package/lib/dist/lib/findPackageRoot.d.ts +7 -0
- package/lib/dist/lib/findPackageRoot.d.ts.map +1 -0
- package/lib/dist/lib/findPackageRoot.js +57 -0
- package/lib/dist/lib/findPackageRoot.js.map +1 -0
- package/lib/dist/lib/hooks.d.ts +36 -0
- package/lib/dist/lib/hooks.d.ts.map +1 -0
- package/lib/dist/lib/hooks.js +112 -0
- package/lib/dist/lib/hooks.js.map +1 -0
- package/lib/dist/lib/index.d.ts +47 -0
- package/lib/dist/lib/index.d.ts.map +1 -0
- package/lib/dist/lib/index.js +62 -0
- package/lib/dist/lib/index.js.map +1 -0
- package/lib/dist/lib/labels.d.ts +90 -0
- package/lib/dist/lib/labels.d.ts.map +1 -0
- package/lib/dist/lib/labels.js +158 -0
- package/lib/dist/lib/labels.js.map +1 -0
- package/lib/dist/lib/markdown.d.ts +16 -0
- package/lib/dist/lib/markdown.d.ts.map +1 -0
- package/lib/dist/lib/markdown.js +42 -0
- package/lib/dist/lib/markdown.js.map +1 -0
- package/lib/dist/lib/matchers/expect.d.ts +3 -0
- package/lib/dist/lib/matchers/expect.d.ts.map +1 -0
- package/lib/dist/lib/matchers/expect.js +225 -0
- package/lib/dist/lib/matchers/expect.js.map +1 -0
- package/lib/dist/lib/matchers/index.d.ts +8 -0
- package/lib/dist/lib/matchers/index.d.ts.map +1 -0
- package/lib/dist/lib/matchers/index.js +9 -0
- package/lib/dist/lib/matchers/index.js.map +1 -0
- package/lib/dist/lib/matchers/judgeAccessor.d.ts +113 -0
- package/lib/dist/lib/matchers/judgeAccessor.d.ts.map +1 -0
- package/lib/dist/lib/matchers/judgeAccessor.js +183 -0
- package/lib/dist/lib/matchers/judgeAccessor.js.map +1 -0
- package/lib/dist/lib/matchers/session.d.ts +39 -0
- package/lib/dist/lib/matchers/session.d.ts.map +1 -0
- package/lib/dist/lib/matchers/session.js +116 -0
- package/lib/dist/lib/matchers/session.js.map +1 -0
- package/lib/dist/lib/matchers/traces.d.ts +55 -0
- package/lib/dist/lib/matchers/traces.d.ts.map +1 -0
- package/lib/dist/lib/matchers/traces.js +116 -0
- package/lib/dist/lib/matchers/traces.js.map +1 -0
- package/lib/dist/lib/matchers/types.d.ts +75 -0
- package/lib/dist/lib/matchers/types.d.ts.map +1 -0
- package/lib/dist/lib/matchers/types.js +6 -0
- package/lib/dist/lib/matchers/types.js.map +1 -0
- package/lib/dist/lib/packagePaths.d.ts +29 -0
- package/lib/dist/lib/packagePaths.d.ts.map +1 -0
- package/lib/dist/lib/packagePaths.js +63 -0
- package/lib/dist/lib/packagePaths.js.map +1 -0
- package/lib/dist/lib/performance.d.ts +51 -0
- package/lib/dist/lib/performance.d.ts.map +1 -0
- package/lib/dist/lib/performance.js +159 -0
- package/lib/dist/lib/performance.js.map +1 -0
- package/lib/dist/lib/portConfig.d.ts +29 -0
- package/lib/dist/lib/portConfig.d.ts.map +1 -0
- package/lib/dist/lib/portConfig.js +64 -0
- package/lib/dist/lib/portConfig.js.map +1 -0
- package/lib/dist/lib/preferences.d.ts +63 -0
- package/lib/dist/lib/preferences.d.ts.map +1 -0
- package/lib/dist/lib/preferences.js +117 -0
- package/lib/dist/lib/preferences.js.map +1 -0
- package/lib/dist/lib/resolveAgentModel.d.ts +22 -0
- package/lib/dist/lib/resolveAgentModel.d.ts.map +1 -0
- package/lib/dist/lib/resolveAgentModel.js +37 -0
- package/lib/dist/lib/resolveAgentModel.js.map +1 -0
- package/lib/dist/lib/runStats.d.ts +92 -0
- package/lib/dist/lib/runStats.d.ts.map +1 -0
- package/lib/dist/lib/runStats.js +160 -0
- package/lib/dist/lib/runStats.js.map +1 -0
- package/lib/dist/lib/telemetry/constants.d.ts +60 -0
- package/lib/dist/lib/telemetry/constants.d.ts.map +1 -0
- package/lib/dist/lib/telemetry/constants.js +87 -0
- package/lib/dist/lib/telemetry/constants.js.map +1 -0
- package/lib/dist/lib/telemetry/evalSpans.d.ts +61 -0
- package/lib/dist/lib/telemetry/evalSpans.d.ts.map +1 -0
- package/lib/dist/lib/telemetry/evalSpans.js +254 -0
- package/lib/dist/lib/telemetry/evalSpans.js.map +1 -0
- package/lib/dist/lib/telemetry/index.d.ts +11 -0
- package/lib/dist/lib/telemetry/index.d.ts.map +1 -0
- package/lib/dist/lib/telemetry/index.js +15 -0
- package/lib/dist/lib/telemetry/index.js.map +1 -0
- package/lib/dist/lib/telemetry/opensearchExporter.d.ts +43 -0
- package/lib/dist/lib/telemetry/opensearchExporter.d.ts.map +1 -0
- package/lib/dist/lib/telemetry/opensearchExporter.js +217 -0
- package/lib/dist/lib/telemetry/opensearchExporter.js.map +1 -0
- package/lib/dist/lib/telemetry/provider.d.ts +55 -0
- package/lib/dist/lib/telemetry/provider.d.ts.map +1 -0
- package/lib/dist/lib/telemetry/provider.js +140 -0
- package/lib/dist/lib/telemetry/provider.js.map +1 -0
- package/lib/dist/lib/testCaseLabels.d.ts +34 -0
- package/lib/dist/lib/testCaseLabels.d.ts.map +1 -0
- package/lib/dist/lib/testCaseLabels.js +88 -0
- package/lib/dist/lib/testCaseLabels.js.map +1 -0
- package/lib/dist/lib/testCaseValidation.d.ts +140 -0
- package/lib/dist/lib/testCaseValidation.d.ts.map +1 -0
- package/lib/dist/lib/testCaseValidation.js +162 -0
- package/lib/dist/lib/testCaseValidation.js.map +1 -0
- package/lib/dist/lib/testCases/agentFixture.d.ts +80 -0
- package/lib/dist/lib/testCases/agentFixture.d.ts.map +1 -0
- package/lib/dist/lib/testCases/agentFixture.js +43 -0
- package/lib/dist/lib/testCases/agentFixture.js.map +1 -0
- package/lib/dist/lib/testCases/authoringSurface.d.ts +10 -0
- package/lib/dist/lib/testCases/authoringSurface.d.ts.map +1 -0
- package/lib/dist/lib/testCases/authoringSurface.js +54 -0
- package/lib/dist/lib/testCases/authoringSurface.js.map +1 -0
- package/lib/dist/lib/testCases/codemod.d.ts +13 -0
- package/lib/dist/lib/testCases/codemod.d.ts.map +1 -0
- package/lib/dist/lib/testCases/codemod.js +169 -0
- package/lib/dist/lib/testCases/codemod.js.map +1 -0
- package/lib/dist/lib/testCases/define.d.ts +114 -0
- package/lib/dist/lib/testCases/define.d.ts.map +1 -0
- package/lib/dist/lib/testCases/define.js +253 -0
- package/lib/dist/lib/testCases/define.js.map +1 -0
- package/lib/dist/lib/testCases/evaluators.d.ts +80 -0
- package/lib/dist/lib/testCases/evaluators.d.ts.map +1 -0
- package/lib/dist/lib/testCases/evaluators.js +105 -0
- package/lib/dist/lib/testCases/evaluators.js.map +1 -0
- package/lib/dist/lib/testCases/index.d.ts +14 -0
- package/lib/dist/lib/testCases/index.d.ts.map +1 -0
- package/lib/dist/lib/testCases/index.js +12 -0
- package/lib/dist/lib/testCases/index.js.map +1 -0
- package/lib/dist/lib/testCases/judge.d.ts +165 -0
- package/lib/dist/lib/testCases/judge.d.ts.map +1 -0
- package/lib/dist/lib/testCases/judge.js +359 -0
- package/lib/dist/lib/testCases/judge.js.map +1 -0
- package/lib/dist/lib/testCases/loader.d.ts +26 -0
- package/lib/dist/lib/testCases/loader.d.ts.map +1 -0
- package/lib/dist/lib/testCases/loader.js +149 -0
- package/lib/dist/lib/testCases/loader.js.map +1 -0
- package/lib/dist/lib/testCases/types.d.ts +242 -0
- package/lib/dist/lib/testCases/types.d.ts.map +1 -0
- package/lib/dist/lib/testCases/types.js +6 -0
- package/lib/dist/lib/testCases/types.js.map +1 -0
- package/lib/dist/lib/theme.d.ts +6 -0
- package/lib/dist/lib/theme.d.ts.map +1 -0
- package/lib/dist/lib/theme.js +36 -0
- package/lib/dist/lib/theme.js.map +1 -0
- package/lib/dist/lib/uiTelemetry.d.ts +7 -0
- package/lib/dist/lib/uiTelemetry.d.ts.map +1 -0
- package/lib/dist/lib/uiTelemetry.js +25 -0
- package/lib/dist/lib/uiTelemetry.js.map +1 -0
- package/lib/dist/lib/utils.d.ts +96 -0
- package/lib/dist/lib/utils.d.ts.map +1 -0
- package/lib/dist/lib/utils.js +232 -0
- package/lib/dist/lib/utils.js.map +1 -0
- package/lib/dist/lib/workflow/consolidate.d.ts +12 -0
- package/lib/dist/lib/workflow/consolidate.d.ts.map +1 -0
- package/lib/dist/lib/workflow/consolidate.js +33 -0
- package/lib/dist/lib/workflow/consolidate.js.map +1 -0
- package/lib/dist/lib/workflow/index.d.ts +13 -0
- package/lib/dist/lib/workflow/index.d.ts.map +1 -0
- package/lib/dist/lib/workflow/index.js +12 -0
- package/lib/dist/lib/workflow/index.js.map +1 -0
- package/lib/dist/lib/workflow/ledger.d.ts +30 -0
- package/lib/dist/lib/workflow/ledger.d.ts.map +1 -0
- package/lib/dist/lib/workflow/ledger.js +41 -0
- package/lib/dist/lib/workflow/ledger.js.map +1 -0
- package/lib/dist/lib/workflow/pool.d.ts +13 -0
- package/lib/dist/lib/workflow/pool.d.ts.map +1 -0
- package/lib/dist/lib/workflow/pool.js +44 -0
- package/lib/dist/lib/workflow/pool.js.map +1 -0
- package/lib/dist/lib/workflow/source.d.ts +22 -0
- package/lib/dist/lib/workflow/source.d.ts.map +1 -0
- package/lib/dist/lib/workflow/source.js +29 -0
- package/lib/dist/lib/workflow/source.js.map +1 -0
- package/lib/dist/lib/workflow/stepB.d.ts +71 -0
- package/lib/dist/lib/workflow/stepB.d.ts.map +1 -0
- package/lib/dist/lib/workflow/stepB.js +99 -0
- package/lib/dist/lib/workflow/stepB.js.map +1 -0
- package/lib/dist/lib/workflow/types.d.ts +86 -0
- package/lib/dist/lib/workflow/types.d.ts.map +1 -0
- package/lib/dist/lib/workflow/types.js +6 -0
- package/lib/dist/lib/workflow/types.js.map +1 -0
- package/lib/dist/lib/workflow/workflow.d.ts +119 -0
- package/lib/dist/lib/workflow/workflow.d.ts.map +1 -0
- package/lib/dist/lib/workflow/workflow.js +195 -0
- package/lib/dist/lib/workflow/workflow.js.map +1 -0
- package/lib/dist/services/agent/aguiConverter.d.ts +50 -0
- package/lib/dist/services/agent/aguiConverter.d.ts.map +1 -0
- package/lib/dist/services/agent/aguiConverter.js +449 -0
- package/lib/dist/services/agent/aguiConverter.js.map +1 -0
- package/lib/dist/services/agent/index.d.ts +10 -0
- package/lib/dist/services/agent/index.d.ts.map +1 -0
- package/lib/dist/services/agent/index.js +12 -0
- package/lib/dist/services/agent/index.js.map +1 -0
- package/lib/dist/services/agent/payloadBuilder.d.ts +33 -0
- package/lib/dist/services/agent/payloadBuilder.d.ts.map +1 -0
- package/lib/dist/services/agent/payloadBuilder.js +75 -0
- package/lib/dist/services/agent/payloadBuilder.js.map +1 -0
- package/lib/dist/services/agent/sseStream.d.ts +43 -0
- package/lib/dist/services/agent/sseStream.d.ts.map +1 -0
- package/lib/dist/services/agent/sseStream.js +223 -0
- package/lib/dist/services/agent/sseStream.js.map +1 -0
- package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts +44 -0
- package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js +95 -0
- package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js.map +1 -0
- package/lib/dist/services/connectors/base/BaseConnector.d.ts +81 -0
- package/lib/dist/services/connectors/base/BaseConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/base/BaseConnector.js +170 -0
- package/lib/dist/services/connectors/base/BaseConnector.js.map +1 -0
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts +116 -0
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js +403 -0
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js.map +1 -0
- package/lib/dist/services/connectors/index.d.ts +13 -0
- package/lib/dist/services/connectors/index.d.ts.map +1 -0
- package/lib/dist/services/connectors/index.js +32 -0
- package/lib/dist/services/connectors/index.js.map +1 -0
- package/lib/dist/services/connectors/kiro/KiroConnector.d.ts +48 -0
- package/lib/dist/services/connectors/kiro/KiroConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/kiro/KiroConnector.js +158 -0
- package/lib/dist/services/connectors/kiro/KiroConnector.js.map +1 -0
- package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts +36 -0
- package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/langgraph/LangGraphConnector.js +175 -0
- package/lib/dist/services/connectors/langgraph/LangGraphConnector.js.map +1 -0
- package/lib/dist/services/connectors/mock/MockConnector.d.ts +37 -0
- package/lib/dist/services/connectors/mock/MockConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/mock/MockConnector.js +120 -0
- package/lib/dist/services/connectors/mock/MockConnector.js.map +1 -0
- package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts +42 -0
- package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js +133 -0
- package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js.map +1 -0
- package/lib/dist/services/connectors/pi/PiConnector.d.ts +87 -0
- package/lib/dist/services/connectors/pi/PiConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/pi/PiConnector.js +274 -0
- package/lib/dist/services/connectors/pi/PiConnector.js.map +1 -0
- package/lib/dist/services/connectors/registry.d.ts +57 -0
- package/lib/dist/services/connectors/registry.d.ts.map +1 -0
- package/lib/dist/services/connectors/registry.js +106 -0
- package/lib/dist/services/connectors/registry.js.map +1 -0
- package/lib/dist/services/connectors/rest/RESTConnector.d.ts +38 -0
- package/lib/dist/services/connectors/rest/RESTConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/rest/RESTConnector.js +117 -0
- package/lib/dist/services/connectors/rest/RESTConnector.js.map +1 -0
- package/lib/dist/services/connectors/server.d.ts +13 -0
- package/lib/dist/services/connectors/server.d.ts.map +1 -0
- package/lib/dist/services/connectors/server.js +34 -0
- package/lib/dist/services/connectors/server.js.map +1 -0
- package/lib/dist/services/connectors/strands/StrandsConnector.d.ts +48 -0
- package/lib/dist/services/connectors/strands/StrandsConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/strands/StrandsConnector.js +221 -0
- package/lib/dist/services/connectors/strands/StrandsConnector.js.map +1 -0
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts +88 -0
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts.map +1 -0
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.js +418 -0
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.js.map +1 -0
- package/lib/dist/services/connectors/types.d.ts +213 -0
- package/lib/dist/services/connectors/types.d.ts.map +1 -0
- package/lib/dist/services/connectors/types.js +6 -0
- package/lib/dist/services/connectors/types.js.map +1 -0
- package/lib/dist/services/evaluation/bedrockJudge.d.ts +64 -0
- package/lib/dist/services/evaluation/bedrockJudge.d.ts.map +1 -0
- package/lib/dist/services/evaluation/bedrockJudge.js +167 -0
- package/lib/dist/services/evaluation/bedrockJudge.js.map +1 -0
- package/lib/dist/services/evaluation/evaluatorError.d.ts +56 -0
- package/lib/dist/services/evaluation/evaluatorError.d.ts.map +1 -0
- package/lib/dist/services/evaluation/evaluatorError.js +56 -0
- package/lib/dist/services/evaluation/evaluatorError.js.map +1 -0
- package/lib/dist/services/evaluation/index.d.ts +106 -0
- package/lib/dist/services/evaluation/index.d.ts.map +1 -0
- package/lib/dist/services/evaluation/index.js +684 -0
- package/lib/dist/services/evaluation/index.js.map +1 -0
- package/lib/dist/services/evaluation/mockTrajectory.d.ts +3 -0
- package/lib/dist/services/evaluation/mockTrajectory.d.ts.map +1 -0
- package/lib/dist/services/evaluation/mockTrajectory.js +72 -0
- package/lib/dist/services/evaluation/mockTrajectory.js.map +1 -0
- package/lib/dist/services/opensearch/client.d.ts +26 -0
- package/lib/dist/services/opensearch/client.d.ts.map +1 -0
- package/lib/dist/services/opensearch/client.js +131 -0
- package/lib/dist/services/opensearch/client.js.map +1 -0
- package/lib/dist/services/opensearch/index.d.ts +16 -0
- package/lib/dist/services/opensearch/index.d.ts.map +1 -0
- package/lib/dist/services/opensearch/index.js +25 -0
- package/lib/dist/services/opensearch/index.js.map +1 -0
- package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts +123 -0
- package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts.map +1 -0
- package/lib/dist/services/storage/asyncBenchmarkStorage.js +429 -0
- package/lib/dist/services/storage/asyncBenchmarkStorage.js.map +1 -0
- package/lib/dist/services/storage/asyncRunStorage.d.ts +127 -0
- package/lib/dist/services/storage/asyncRunStorage.d.ts.map +1 -0
- package/lib/dist/services/storage/asyncRunStorage.js +448 -0
- package/lib/dist/services/storage/asyncRunStorage.js.map +1 -0
- package/lib/dist/services/storage/asyncTestCaseStorage.d.ts +156 -0
- package/lib/dist/services/storage/asyncTestCaseStorage.d.ts.map +1 -0
- package/lib/dist/services/storage/asyncTestCaseStorage.js +285 -0
- package/lib/dist/services/storage/asyncTestCaseStorage.js.map +1 -0
- package/lib/dist/services/storage/index.d.ts +17 -0
- package/lib/dist/services/storage/index.d.ts.map +1 -0
- package/lib/dist/services/storage/index.js +20 -0
- package/lib/dist/services/storage/index.js.map +1 -0
- package/lib/dist/services/storage/migration.d.ts +54 -0
- package/lib/dist/services/storage/migration.d.ts.map +1 -0
- package/lib/dist/services/storage/migration.js +296 -0
- package/lib/dist/services/storage/migration.js.map +1 -0
- package/lib/dist/services/storage/opensearchClient.d.ts +924 -0
- package/lib/dist/services/storage/opensearchClient.d.ts.map +1 -0
- package/lib/dist/services/storage/opensearchClient.js +435 -0
- package/lib/dist/services/storage/opensearchClient.js.map +1 -0
- package/lib/dist/services/traces/browserRecovery.d.ts +26 -0
- package/lib/dist/services/traces/browserRecovery.d.ts.map +1 -0
- package/lib/dist/services/traces/browserRecovery.js +81 -0
- package/lib/dist/services/traces/browserRecovery.js.map +1 -0
- package/lib/dist/services/traces/categoryStyles.d.ts +21 -0
- package/lib/dist/services/traces/categoryStyles.d.ts.map +1 -0
- package/lib/dist/services/traces/categoryStyles.js +56 -0
- package/lib/dist/services/traces/categoryStyles.js.map +1 -0
- package/lib/dist/services/traces/executionOrderTransform.d.ts +35 -0
- package/lib/dist/services/traces/executionOrderTransform.d.ts.map +1 -0
- package/lib/dist/services/traces/executionOrderTransform.js +313 -0
- package/lib/dist/services/traces/executionOrderTransform.js.map +1 -0
- package/lib/dist/services/traces/fetchSpansForRun.d.ts +86 -0
- package/lib/dist/services/traces/fetchSpansForRun.d.ts.map +1 -0
- package/lib/dist/services/traces/fetchSpansForRun.js +69 -0
- package/lib/dist/services/traces/fetchSpansForRun.js.map +1 -0
- package/lib/dist/services/traces/flowTransform.d.ts +24 -0
- package/lib/dist/services/traces/flowTransform.d.ts.map +1 -0
- package/lib/dist/services/traces/flowTransform.js +228 -0
- package/lib/dist/services/traces/flowTransform.js.map +1 -0
- package/lib/dist/services/traces/index.d.ts +121 -0
- package/lib/dist/services/traces/index.d.ts.map +1 -0
- package/lib/dist/services/traces/index.js +255 -0
- package/lib/dist/services/traces/index.js.map +1 -0
- package/lib/dist/services/traces/intentTransform.d.ts +20 -0
- package/lib/dist/services/traces/intentTransform.d.ts.map +1 -0
- package/lib/dist/services/traces/intentTransform.js +131 -0
- package/lib/dist/services/traces/intentTransform.js.map +1 -0
- package/lib/dist/services/traces/judgeAgentsHints.d.ts +63 -0
- package/lib/dist/services/traces/judgeAgentsHints.d.ts.map +1 -0
- package/lib/dist/services/traces/judgeAgentsHints.js +89 -0
- package/lib/dist/services/traces/judgeAgentsHints.js.map +1 -0
- package/lib/dist/services/traces/messageExtraction.d.ts +15 -0
- package/lib/dist/services/traces/messageExtraction.d.ts.map +1 -0
- package/lib/dist/services/traces/messageExtraction.js +251 -0
- package/lib/dist/services/traces/messageExtraction.js.map +1 -0
- package/lib/dist/services/traces/spanCategorization.d.ts +63 -0
- package/lib/dist/services/traces/spanCategorization.d.ts.map +1 -0
- package/lib/dist/services/traces/spanCategorization.js +276 -0
- package/lib/dist/services/traces/spanCategorization.js.map +1 -0
- package/lib/dist/services/traces/spanPreprocessing.d.ts +37 -0
- package/lib/dist/services/traces/spanPreprocessing.d.ts.map +1 -0
- package/lib/dist/services/traces/spanPreprocessing.js +102 -0
- package/lib/dist/services/traces/spanPreprocessing.js.map +1 -0
- package/lib/dist/services/traces/spansToTrajectory.d.ts +36 -0
- package/lib/dist/services/traces/spansToTrajectory.d.ts.map +1 -0
- package/lib/dist/services/traces/spansToTrajectory.js +387 -0
- package/lib/dist/services/traces/spansToTrajectory.js.map +1 -0
- package/lib/dist/services/traces/toolSimilarity.d.ts +35 -0
- package/lib/dist/services/traces/toolSimilarity.d.ts.map +1 -0
- package/lib/dist/services/traces/toolSimilarity.js +203 -0
- package/lib/dist/services/traces/toolSimilarity.js.map +1 -0
- package/lib/dist/services/traces/traceComparison.d.ts +31 -0
- package/lib/dist/services/traces/traceComparison.d.ts.map +1 -0
- package/lib/dist/services/traces/traceComparison.js +318 -0
- package/lib/dist/services/traces/traceComparison.js.map +1 -0
- package/lib/dist/services/traces/traceGrouping.d.ts +19 -0
- package/lib/dist/services/traces/traceGrouping.d.ts.map +1 -0
- package/lib/dist/services/traces/traceGrouping.js +107 -0
- package/lib/dist/services/traces/traceGrouping.js.map +1 -0
- package/lib/dist/services/traces/tracePoller.d.ts +84 -0
- package/lib/dist/services/traces/tracePoller.d.ts.map +1 -0
- package/lib/dist/services/traces/tracePoller.js +309 -0
- package/lib/dist/services/traces/tracePoller.js.map +1 -0
- package/lib/dist/services/traces/traceStats.d.ts +45 -0
- package/lib/dist/services/traces/traceStats.d.ts.map +1 -0
- package/lib/dist/services/traces/traceStats.js +114 -0
- package/lib/dist/services/traces/traceStats.js.map +1 -0
- package/lib/dist/services/traces/traceSummary.d.ts +47 -0
- package/lib/dist/services/traces/traceSummary.d.ts.map +1 -0
- package/lib/dist/services/traces/traceSummary.js +68 -0
- package/lib/dist/services/traces/traceSummary.js.map +1 -0
- package/lib/dist/services/traces/utils.d.ts +33 -0
- package/lib/dist/services/traces/utils.d.ts.map +1 -0
- package/lib/dist/services/traces/utils.js +114 -0
- package/lib/dist/services/traces/utils.js.map +1 -0
- package/lib/dist/types/agui.d.ts +13 -0
- package/lib/dist/types/agui.d.ts.map +1 -0
- package/lib/dist/types/agui.js +16 -0
- package/lib/dist/types/agui.js.map +1 -0
- package/lib/dist/types/index.d.ts +1175 -0
- package/lib/dist/types/index.d.ts.map +1 -0
- package/lib/dist/types/index.js +12 -0
- package/lib/dist/types/index.js.map +1 -0
- package/lib/dist/types/skills.d.ts +146 -0
- package/lib/dist/types/skills.d.ts.map +1 -0
- package/lib/dist/types/skills.js +6 -0
- package/lib/dist/types/skills.js.map +1 -0
- package/observio-sample-agent/pi-package/README.md +112 -0
- package/observio-sample-agent/pi-package/extensions/agent-health.ts +373 -0
- package/observio-sample-agent/pi-package/package.json +17 -0
- package/observio-sample-agent/pi-package/prompts/agent-health.md +37 -0
- package/observio-sample-agent/pi-package/skills/create-pr/SKILL.md +88 -0
- package/observio-sample-agent/pi-package/skills/fix-bug/SKILL.md +71 -0
- package/observio-sample-agent/pi-package/skills/implement-feature/SKILL.md +156 -0
- package/observio-sample-agent/pi-package/skills/instrument-otel/SKILL.md +208 -0
- package/observio-sample-agent/pi-package/skills/setup-collector/SKILL.md +146 -0
- package/observio-sample-agent/pi-package/skills/write-test/SKILL.md +115 -0
- package/package.json +64 -13
- package/server/dist/app.js +32651 -17637
- package/server/dist/index.js +29875 -14638
- package/tsconfig.lib.json +71 -0
- package/dist/assets/index-EvPLSTAS.js +0 -267
- package/dist/assets/index-RXasQKUs.css +0 -1
- package/lib/dist/config/index.js +0 -404
- package/lib/dist/index.js +0 -1665
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* OTel Semantic Convention constants for evaluation telemetry.
|
|
7
|
+
*
|
|
8
|
+
* In-spec attributes are re-exported from @opentelemetry/semantic-conventions.
|
|
9
|
+
* Proposed and extension attributes are defined here as string constants.
|
|
10
|
+
*/
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// In-spec attributes (Development stability)
|
|
13
|
+
// Re-exported from @opentelemetry/semantic-conventions for convenience
|
|
14
|
+
// =============================================================================
|
|
15
|
+
export {
|
|
16
|
+
// Test attributes (model/test/registry.yaml)
|
|
17
|
+
ATTR_TEST_SUITE_NAME, ATTR_TEST_SUITE_RUN_STATUS, ATTR_TEST_CASE_NAME, ATTR_TEST_CASE_RESULT_STATUS, TEST_SUITE_RUN_STATUS_VALUE_SUCCESS, TEST_SUITE_RUN_STATUS_VALUE_FAILURE, TEST_SUITE_RUN_STATUS_VALUE_IN_PROGRESS, TEST_CASE_RESULT_STATUS_VALUE_PASS, TEST_CASE_RESULT_STATUS_VALUE_FAIL,
|
|
18
|
+
// GenAI evaluation attributes (model/gen-ai/registry.yaml, PR #2563)
|
|
19
|
+
ATTR_GEN_AI_OPERATION_NAME, ATTR_GEN_AI_EVALUATION_NAME, ATTR_GEN_AI_EVALUATION_SCORE_VALUE, ATTR_GEN_AI_EVALUATION_SCORE_LABEL, ATTR_GEN_AI_EVALUATION_EXPLANATION,
|
|
20
|
+
// GenAI evaluation event (model/gen-ai/events.yaml)
|
|
21
|
+
EVENT_GEN_AI_EVALUATION_RESULT, } from '@opentelemetry/semantic-conventions/incubating';
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// Proposed attributes (Issue #3398 — not yet in spec)
|
|
24
|
+
// https://github.com/open-telemetry/semantic-conventions/issues/3398
|
|
25
|
+
// =============================================================================
|
|
26
|
+
/** Unique identifier for a specific test suite run */
|
|
27
|
+
export const ATTR_TEST_SUITE_RUN_ID = 'test.suite.run.id';
|
|
28
|
+
/** Machine-readable unique identifier for a test case */
|
|
29
|
+
export const ATTR_TEST_CASE_ID = 'test.case.id';
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// IO attributes (used by Python SDK, not yet standardized)
|
|
32
|
+
// =============================================================================
|
|
33
|
+
/** Test case input (prompt) */
|
|
34
|
+
export const ATTR_TEST_CASE_INPUT = 'test.case.input';
|
|
35
|
+
/** Test case output (agent response) */
|
|
36
|
+
export const ATTR_TEST_CASE_OUTPUT = 'test.case.output';
|
|
37
|
+
/** Test case expected outcome */
|
|
38
|
+
export const ATTR_TEST_CASE_EXPECTED = 'test.case.expected';
|
|
39
|
+
// =============================================================================
|
|
40
|
+
// Agent Health extension attributes (agent_health.* prefix)
|
|
41
|
+
// =============================================================================
|
|
42
|
+
/** Model ID used by the LLM judge */
|
|
43
|
+
export const ATTR_AGENT_HEALTH_JUDGE_MODEL_ID = 'agent_health.judge.model_id';
|
|
44
|
+
/** Time spent in LLM judge evaluation (ms) */
|
|
45
|
+
export const ATTR_AGENT_HEALTH_JUDGE_DURATION_MS = 'agent_health.judge.duration_ms';
|
|
46
|
+
/** Number of retry attempts for the LLM judge */
|
|
47
|
+
export const ATTR_AGENT_HEALTH_JUDGE_ATTEMPTS = 'agent_health.judge.attempts';
|
|
48
|
+
/** Time spent in agent execution (ms) */
|
|
49
|
+
export const ATTR_AGENT_HEALTH_AGENT_DURATION_MS = 'agent_health.agent.duration_ms';
|
|
50
|
+
/** Connector protocol used for agent communication */
|
|
51
|
+
export const ATTR_AGENT_HEALTH_CONNECTOR_PROTOCOL = 'agent_health.connector.protocol';
|
|
52
|
+
/**
|
|
53
|
+
* Agent run ID — links eval spans to the agent execution trace (Strategy B).
|
|
54
|
+
*
|
|
55
|
+
* Uses Agent Health's own namespace rather than the OpenTelemetry-reserved
|
|
56
|
+
* `gen_ai.*` namespace: `gen_ai.request.id` is not a registered semantic
|
|
57
|
+
* convention attribute (the `gen_ai.request.*` namespace is for request
|
|
58
|
+
* parameters), and the OTEL naming spec advises against adding app-specific
|
|
59
|
+
* keys under an existing OTEL namespace. W3C trace context (shared traceId,
|
|
60
|
+
* Strategy A) remains the primary correlation; this attribute is the loose
|
|
61
|
+
* link for agents that don't propagate context.
|
|
62
|
+
*/
|
|
63
|
+
export const ATTR_AGENT_HEALTH_AGENT_RUN_ID = 'agent_health.run.id';
|
|
64
|
+
// =============================================================================
|
|
65
|
+
// Constants
|
|
66
|
+
// =============================================================================
|
|
67
|
+
/** Operation name value for evaluation spans */
|
|
68
|
+
export const GEN_AI_OPERATION_NAME_VALUE_EVALUATION = 'evaluation';
|
|
69
|
+
/**
|
|
70
|
+
* OTEL-registered (incubating) conversation/session identifier —
|
|
71
|
+
* `gen_ai.conversation.id` (model/gen-ai/registry.yaml): "the unique
|
|
72
|
+
* identifier for a conversation (session, thread), used to store and correlate
|
|
73
|
+
* messages within this conversation." We stamp this (= the agent run id) on our
|
|
74
|
+
* eval + sample-agent spans so trace queries can correlate on the OTEL-standard
|
|
75
|
+
* attribute in addition to our own `agent_health.run.id`. Declared as a string
|
|
76
|
+
* literal (rather than re-exported from the incubating module) so it's stable
|
|
77
|
+
* regardless of semantic-conventions packaging. See AGENTS.md → Trace
|
|
78
|
+
* correlation conventions.
|
|
79
|
+
*/
|
|
80
|
+
export const ATTR_GEN_AI_CONVERSATION_ID = 'gen_ai.conversation.id';
|
|
81
|
+
/** Maximum length for truncated attribute values */
|
|
82
|
+
export const MAX_ATTRIBUTE_LENGTH = 10000;
|
|
83
|
+
/** Maximum length for judge explanation in events */
|
|
84
|
+
export const MAX_EXPLANATION_LENGTH = 4000;
|
|
85
|
+
/** Tracer name used for evaluation spans */
|
|
86
|
+
export const EVAL_TRACER_NAME = 'agent-health-eval';
|
|
87
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../telemetry/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,gFAAgF;AAChF,6CAA6C;AAC7C,uEAAuE;AACvE,gFAAgF;AAEhF,OAAO;AACL,6CAA6C;AAC7C,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAC5B,mCAAmC,EACnC,mCAAmC,EACnC,uCAAuC,EACvC,kCAAkC,EAClC,kCAAkC;AAElC,qEAAqE;AACrE,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC;AAElC,oDAAoD;AACpD,8BAA8B,GAC/B,MAAM,gDAAgD,CAAC;AAExD,gFAAgF;AAChF,sDAAsD;AACtD,qEAAqE;AACrE,gFAAgF;AAEhF,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAA4B,CAAC;AAEnE,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAuB,CAAC;AAEzD,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAA0B,CAAC;AAE/D,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAA2B,CAAC;AAEjE,iCAAiC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAA6B,CAAC;AAErE,gFAAgF;AAChF,4DAA4D;AAC5D,gFAAgF;AAEhF,qCAAqC;AACrC,MAAM,CAAC,MAAM,gCAAgC,GAAG,6BAAsC,CAAC;AAEvF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,mCAAmC,GAAG,gCAAyC,CAAC;AAE7F,iDAAiD;AACjD,MAAM,CAAC,MAAM,gCAAgC,GAAG,6BAAsC,CAAC;AAEvF,yCAAyC;AACzC,MAAM,CAAC,MAAM,mCAAmC,GAAG,gCAAyC,CAAC;AAE7F,sDAAsD;AACtD,MAAM,CAAC,MAAM,oCAAoC,GAAG,iCAA0C,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAA8B,CAAC;AAE7E,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,gDAAgD;AAChD,MAAM,CAAC,MAAM,sCAAsC,GAAG,YAAqB,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAiC,CAAC;AAE7E,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OTel span helpers for evaluation telemetry.
|
|
3
|
+
*
|
|
4
|
+
* Creates and manages spans for benchmark execution following
|
|
5
|
+
* OpenTelemetry semantic conventions for test suites and GenAI evaluation.
|
|
6
|
+
*
|
|
7
|
+
* Span structure:
|
|
8
|
+
* test_suite_run {benchmarkName} ← root span (1 per benchmark run)
|
|
9
|
+
* └── test_case ← child span (1 per test case)
|
|
10
|
+
* └── Event: gen_ai.evaluation.result
|
|
11
|
+
*/
|
|
12
|
+
import { type Context, type Span, type Link } from '@opentelemetry/api';
|
|
13
|
+
import type { Benchmark, BenchmarkRun, TestCase, TestCaseRun } from '../../types/index.js';
|
|
14
|
+
/**
|
|
15
|
+
* Start a test_suite_run root span for a benchmark run.
|
|
16
|
+
*
|
|
17
|
+
* Returns the span and a context carrying it for child span creation.
|
|
18
|
+
* The caller MUST call finalizeTestSuiteRunSpan() when the run completes.
|
|
19
|
+
*/
|
|
20
|
+
export declare function startTestSuiteRunSpan(benchmark: Benchmark, run: BenchmarkRun): {
|
|
21
|
+
span: Span;
|
|
22
|
+
context: Context;
|
|
23
|
+
} | null;
|
|
24
|
+
/**
|
|
25
|
+
* Start a test_case child span for a single test case evaluation.
|
|
26
|
+
*
|
|
27
|
+
* @param parentCtx - Context from the parent test_suite_run span
|
|
28
|
+
* @param testCase - The test case being evaluated
|
|
29
|
+
* @param benchmark - Parent benchmark (for name duplication)
|
|
30
|
+
* @param run - Parent benchmark run (for run ID duplication)
|
|
31
|
+
* @param agentRunId - Optional agent execution run ID (links eval span to agent traces)
|
|
32
|
+
* @param links - Optional span links (e.g., to agent execution trace)
|
|
33
|
+
*/
|
|
34
|
+
export declare function startTestCaseSpan(parentCtx: Context, testCase: TestCase, benchmark: Benchmark, run: BenchmarkRun, agentRunId?: string, links?: Link[]): {
|
|
35
|
+
span: Span;
|
|
36
|
+
context: Context;
|
|
37
|
+
} | null;
|
|
38
|
+
/**
|
|
39
|
+
* Add gen_ai.evaluation.result events to a test case span.
|
|
40
|
+
*
|
|
41
|
+
* Emits one event per metric (currently: accuracy with pass/fail label).
|
|
42
|
+
*/
|
|
43
|
+
export declare function addEvaluationResultEvents(span: Span, report: TestCaseRun): void;
|
|
44
|
+
/**
|
|
45
|
+
* Finalize a test case span with evaluation results and end it.
|
|
46
|
+
*/
|
|
47
|
+
export declare function finalizeTestCaseSpan(span: Span, report: TestCaseRun, endTime?: Date): void;
|
|
48
|
+
/**
|
|
49
|
+
* Finalize a test_suite_run span and end it.
|
|
50
|
+
*/
|
|
51
|
+
export declare function finalizeTestSuiteRunSpan(span: Span, run: BenchmarkRun): void;
|
|
52
|
+
/**
|
|
53
|
+
* Emit a complete test case span for a deferred (trace-mode) evaluation.
|
|
54
|
+
*
|
|
55
|
+
* Used when the judge runs asynchronously after trace polling completes.
|
|
56
|
+
* Creates a standalone span with explicit timestamps reflecting the original execution.
|
|
57
|
+
*/
|
|
58
|
+
export declare function emitDeferredTestCaseSpan(testCase: TestCase, report: TestCaseRun, benchmark: {
|
|
59
|
+
name: string;
|
|
60
|
+
}, runId: string, agentRunId?: string, startTime?: Date, endTime?: Date, agentTraceId?: string): void;
|
|
61
|
+
//# sourceMappingURL=evalSpans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evalSpans.d.ts","sourceRoot":"","sources":["../../../telemetry/evalSpans.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,IAAI,EAIT,KAAK,IAAI,EACV,MAAM,oBAAoB,CAAC;AA0C5B,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoB9E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,YAAY,GAChB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAkBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,YAAY,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAsCzC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAkC/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAqC1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAoB5E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,IAAI,EAChB,OAAO,CAAC,EAAE,IAAI,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAiDN"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* OTel span helpers for evaluation telemetry.
|
|
7
|
+
*
|
|
8
|
+
* Creates and manages spans for benchmark execution following
|
|
9
|
+
* OpenTelemetry semantic conventions for test suites and GenAI evaluation.
|
|
10
|
+
*
|
|
11
|
+
* Span structure:
|
|
12
|
+
* test_suite_run {benchmarkName} ← root span (1 per benchmark run)
|
|
13
|
+
* └── test_case ← child span (1 per test case)
|
|
14
|
+
* └── Event: gen_ai.evaluation.result
|
|
15
|
+
*/
|
|
16
|
+
import { context, trace, TraceFlags, SpanKind, SpanStatusCode, } from '@opentelemetry/api';
|
|
17
|
+
import { getEvalTracer, isEvalTelemetryEnabled, flushEvalTracer } from './provider.js';
|
|
18
|
+
import {
|
|
19
|
+
// In-spec attributes
|
|
20
|
+
ATTR_TEST_SUITE_NAME, ATTR_TEST_SUITE_RUN_STATUS, ATTR_TEST_CASE_NAME, ATTR_TEST_CASE_RESULT_STATUS, ATTR_GEN_AI_OPERATION_NAME, ATTR_GEN_AI_EVALUATION_NAME, ATTR_GEN_AI_CONVERSATION_ID, ATTR_GEN_AI_EVALUATION_SCORE_VALUE, ATTR_GEN_AI_EVALUATION_SCORE_LABEL, ATTR_GEN_AI_EVALUATION_EXPLANATION, EVENT_GEN_AI_EVALUATION_RESULT, TEST_SUITE_RUN_STATUS_VALUE_SUCCESS, TEST_SUITE_RUN_STATUS_VALUE_FAILURE, TEST_CASE_RESULT_STATUS_VALUE_PASS, TEST_CASE_RESULT_STATUS_VALUE_FAIL,
|
|
21
|
+
// Proposed attributes (#3398)
|
|
22
|
+
ATTR_TEST_SUITE_RUN_ID, ATTR_TEST_CASE_ID,
|
|
23
|
+
// IO attributes
|
|
24
|
+
ATTR_TEST_CASE_INPUT, ATTR_TEST_CASE_OUTPUT, ATTR_TEST_CASE_EXPECTED,
|
|
25
|
+
// Agent Health extensions
|
|
26
|
+
ATTR_AGENT_HEALTH_JUDGE_MODEL_ID, ATTR_AGENT_HEALTH_JUDGE_DURATION_MS, ATTR_AGENT_HEALTH_JUDGE_ATTEMPTS, ATTR_AGENT_HEALTH_AGENT_DURATION_MS, ATTR_AGENT_HEALTH_CONNECTOR_PROTOCOL, ATTR_AGENT_HEALTH_AGENT_RUN_ID,
|
|
27
|
+
// Constants
|
|
28
|
+
GEN_AI_OPERATION_NAME_VALUE_EVALUATION, MAX_ATTRIBUTE_LENGTH, MAX_EXPLANATION_LENGTH, } from './constants.js';
|
|
29
|
+
/**
|
|
30
|
+
* Truncate a string to the given max length
|
|
31
|
+
*/
|
|
32
|
+
function truncate(value, maxLength) {
|
|
33
|
+
if (!value)
|
|
34
|
+
return undefined;
|
|
35
|
+
return value.length > maxLength ? value.slice(0, maxLength) + '...' : value;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Extract the agent's final response from a trajectory
|
|
39
|
+
*/
|
|
40
|
+
function extractAgentResponse(report) {
|
|
41
|
+
const responseStep = [...report.trajectory].reverse().find(s => s.type === 'response' || s.type === 'assistant');
|
|
42
|
+
return responseStep?.content;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Start a test_suite_run root span for a benchmark run.
|
|
46
|
+
*
|
|
47
|
+
* Returns the span and a context carrying it for child span creation.
|
|
48
|
+
* The caller MUST call finalizeTestSuiteRunSpan() when the run completes.
|
|
49
|
+
*/
|
|
50
|
+
export function startTestSuiteRunSpan(benchmark, run) {
|
|
51
|
+
if (!isEvalTelemetryEnabled())
|
|
52
|
+
return null;
|
|
53
|
+
const tracer = getEvalTracer();
|
|
54
|
+
const span = tracer.startSpan(`test_suite_run ${benchmark.name}`, {
|
|
55
|
+
kind: SpanKind.INTERNAL,
|
|
56
|
+
attributes: {
|
|
57
|
+
[ATTR_TEST_SUITE_NAME]: benchmark.name,
|
|
58
|
+
[ATTR_TEST_SUITE_RUN_ID]: run.id,
|
|
59
|
+
[ATTR_GEN_AI_OPERATION_NAME]: GEN_AI_OPERATION_NAME_VALUE_EVALUATION,
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
const ctx = context.active();
|
|
63
|
+
const spanContext = trace.setSpan(ctx, span);
|
|
64
|
+
console.log(`[Telemetry] Started test_suite_run span for "${benchmark.name}" (runId=${run.id})`);
|
|
65
|
+
return { span, context: spanContext };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Start a test_case child span for a single test case evaluation.
|
|
69
|
+
*
|
|
70
|
+
* @param parentCtx - Context from the parent test_suite_run span
|
|
71
|
+
* @param testCase - The test case being evaluated
|
|
72
|
+
* @param benchmark - Parent benchmark (for name duplication)
|
|
73
|
+
* @param run - Parent benchmark run (for run ID duplication)
|
|
74
|
+
* @param agentRunId - Optional agent execution run ID (links eval span to agent traces)
|
|
75
|
+
* @param links - Optional span links (e.g., to agent execution trace)
|
|
76
|
+
*/
|
|
77
|
+
export function startTestCaseSpan(parentCtx, testCase, benchmark, run, agentRunId, links) {
|
|
78
|
+
if (!isEvalTelemetryEnabled())
|
|
79
|
+
return null;
|
|
80
|
+
const tracer = getEvalTracer();
|
|
81
|
+
const attributes = {
|
|
82
|
+
[ATTR_TEST_SUITE_NAME]: benchmark.name,
|
|
83
|
+
[ATTR_TEST_SUITE_RUN_ID]: run.id,
|
|
84
|
+
[ATTR_TEST_CASE_ID]: testCase.id,
|
|
85
|
+
[ATTR_TEST_CASE_NAME]: testCase.name,
|
|
86
|
+
[ATTR_GEN_AI_OPERATION_NAME]: GEN_AI_OPERATION_NAME_VALUE_EVALUATION,
|
|
87
|
+
};
|
|
88
|
+
if (agentRunId) {
|
|
89
|
+
attributes[ATTR_AGENT_HEALTH_AGENT_RUN_ID] = agentRunId;
|
|
90
|
+
// OTEL-standard correlation id (incubating). Set to the same agent run id
|
|
91
|
+
// so trace queries correlating on `gen_ai.conversation.id` find this eval
|
|
92
|
+
// span alongside `agent_health.run.id` (Strategy B).
|
|
93
|
+
attributes[ATTR_GEN_AI_CONVERSATION_ID] = agentRunId;
|
|
94
|
+
}
|
|
95
|
+
attributes[ATTR_TEST_CASE_INPUT] = truncate(testCase.initialPrompt || '', MAX_ATTRIBUTE_LENGTH);
|
|
96
|
+
const expected = truncate(testCase.expectedOutcomes ? JSON.stringify(testCase.expectedOutcomes) : undefined, MAX_ATTRIBUTE_LENGTH);
|
|
97
|
+
if (expected)
|
|
98
|
+
attributes[ATTR_TEST_CASE_EXPECTED] = expected;
|
|
99
|
+
const span = tracer.startSpan('test_case', {
|
|
100
|
+
kind: SpanKind.INTERNAL,
|
|
101
|
+
attributes,
|
|
102
|
+
links,
|
|
103
|
+
}, parentCtx);
|
|
104
|
+
const ctx = trace.setSpan(parentCtx, span);
|
|
105
|
+
console.log(`[Telemetry] Started test_case span for "${testCase.name}" (agentRunId=${agentRunId || 'none'})`);
|
|
106
|
+
return { span, context: ctx };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Add gen_ai.evaluation.result events to a test case span.
|
|
110
|
+
*
|
|
111
|
+
* Emits one event per metric (currently: accuracy with pass/fail label).
|
|
112
|
+
*/
|
|
113
|
+
export function addEvaluationResultEvents(span, report) {
|
|
114
|
+
if (!isEvalTelemetryEnabled())
|
|
115
|
+
return;
|
|
116
|
+
// Primary metric: accuracy
|
|
117
|
+
if (report.metrics?.accuracy !== undefined) {
|
|
118
|
+
span.addEvent(EVENT_GEN_AI_EVALUATION_RESULT, {
|
|
119
|
+
[ATTR_GEN_AI_EVALUATION_NAME]: 'accuracy',
|
|
120
|
+
[ATTR_GEN_AI_EVALUATION_SCORE_VALUE]: report.metrics.accuracy,
|
|
121
|
+
[ATTR_GEN_AI_EVALUATION_SCORE_LABEL]: report.passFailStatus === 'passed' ? 'pass' : 'fail',
|
|
122
|
+
[ATTR_GEN_AI_EVALUATION_EXPLANATION]: truncate(report.llmJudgeReasoning, MAX_EXPLANATION_LENGTH),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// Additional metrics (faithfulness, latency_score, trajectory_alignment_score)
|
|
126
|
+
if (report.metrics?.faithfulness !== undefined) {
|
|
127
|
+
span.addEvent(EVENT_GEN_AI_EVALUATION_RESULT, {
|
|
128
|
+
[ATTR_GEN_AI_EVALUATION_NAME]: 'faithfulness',
|
|
129
|
+
[ATTR_GEN_AI_EVALUATION_SCORE_VALUE]: report.metrics.faithfulness,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (report.metrics?.latency_score !== undefined) {
|
|
133
|
+
span.addEvent(EVENT_GEN_AI_EVALUATION_RESULT, {
|
|
134
|
+
[ATTR_GEN_AI_EVALUATION_NAME]: 'latency_score',
|
|
135
|
+
[ATTR_GEN_AI_EVALUATION_SCORE_VALUE]: report.metrics.latency_score,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (report.metrics?.trajectory_alignment_score !== undefined) {
|
|
139
|
+
span.addEvent(EVENT_GEN_AI_EVALUATION_RESULT, {
|
|
140
|
+
[ATTR_GEN_AI_EVALUATION_NAME]: 'trajectory_alignment_score',
|
|
141
|
+
[ATTR_GEN_AI_EVALUATION_SCORE_VALUE]: report.metrics.trajectory_alignment_score,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Finalize a test case span with evaluation results and end it.
|
|
147
|
+
*/
|
|
148
|
+
export function finalizeTestCaseSpan(span, report, endTime) {
|
|
149
|
+
if (!isEvalTelemetryEnabled())
|
|
150
|
+
return;
|
|
151
|
+
// Set result status
|
|
152
|
+
const status = report.passFailStatus === 'passed'
|
|
153
|
+
? TEST_CASE_RESULT_STATUS_VALUE_PASS
|
|
154
|
+
: TEST_CASE_RESULT_STATUS_VALUE_FAIL;
|
|
155
|
+
span.setAttribute(ATTR_TEST_CASE_RESULT_STATUS, status);
|
|
156
|
+
// Set output (agent's final response) — always set so UI can distinguish missing vs empty
|
|
157
|
+
const output = extractAgentResponse(report) || '';
|
|
158
|
+
span.setAttribute(ATTR_TEST_CASE_OUTPUT, truncate(output, MAX_ATTRIBUTE_LENGTH));
|
|
159
|
+
// Set Agent Health extension attributes
|
|
160
|
+
if (report.connectorProtocol) {
|
|
161
|
+
span.setAttribute(ATTR_AGENT_HEALTH_CONNECTOR_PROTOCOL, report.connectorProtocol);
|
|
162
|
+
}
|
|
163
|
+
if (report.performanceMetrics?.agentDurationMs !== undefined) {
|
|
164
|
+
span.setAttribute(ATTR_AGENT_HEALTH_AGENT_DURATION_MS, report.performanceMetrics.agentDurationMs);
|
|
165
|
+
}
|
|
166
|
+
if (report.performanceMetrics?.judgeDurationMs !== undefined) {
|
|
167
|
+
span.setAttribute(ATTR_AGENT_HEALTH_JUDGE_DURATION_MS, report.performanceMetrics.judgeDurationMs);
|
|
168
|
+
}
|
|
169
|
+
if (report.performanceMetrics?.judgeAttempts !== undefined) {
|
|
170
|
+
span.setAttribute(ATTR_AGENT_HEALTH_JUDGE_ATTEMPTS, report.performanceMetrics.judgeAttempts);
|
|
171
|
+
}
|
|
172
|
+
if (report.llmJudgeResponse?.modelId) {
|
|
173
|
+
span.setAttribute(ATTR_AGENT_HEALTH_JUDGE_MODEL_ID, report.llmJudgeResponse.modelId);
|
|
174
|
+
}
|
|
175
|
+
// Set span status based on evaluation outcome
|
|
176
|
+
if (report.status === 'failed') {
|
|
177
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: 'Evaluation failed' });
|
|
178
|
+
}
|
|
179
|
+
span.end(endTime);
|
|
180
|
+
console.log(`[Telemetry] Finalized test_case span (status=${status}, passFailStatus=${report.passFailStatus})`);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Finalize a test_suite_run span and end it.
|
|
184
|
+
*/
|
|
185
|
+
export function finalizeTestSuiteRunSpan(span, run) {
|
|
186
|
+
if (!isEvalTelemetryEnabled())
|
|
187
|
+
return;
|
|
188
|
+
// Compute overall status from results
|
|
189
|
+
const results = Object.values(run.results);
|
|
190
|
+
const hasFailures = results.some(r => r.status === 'failed');
|
|
191
|
+
const status = hasFailures
|
|
192
|
+
? TEST_SUITE_RUN_STATUS_VALUE_FAILURE
|
|
193
|
+
: TEST_SUITE_RUN_STATUS_VALUE_SUCCESS;
|
|
194
|
+
span.setAttribute(ATTR_TEST_SUITE_RUN_STATUS, status);
|
|
195
|
+
if (hasFailures) {
|
|
196
|
+
const failCount = results.filter(r => r.status === 'failed').length;
|
|
197
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: `${failCount} case(s) failed` });
|
|
198
|
+
}
|
|
199
|
+
span.end();
|
|
200
|
+
console.log(`[Telemetry] Finalized test_suite_run span (status=${status}), flushing...`);
|
|
201
|
+
flushEvalTracer().catch(() => { });
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Emit a complete test case span for a deferred (trace-mode) evaluation.
|
|
205
|
+
*
|
|
206
|
+
* Used when the judge runs asynchronously after trace polling completes.
|
|
207
|
+
* Creates a standalone span with explicit timestamps reflecting the original execution.
|
|
208
|
+
*/
|
|
209
|
+
export function emitDeferredTestCaseSpan(testCase, report, benchmark, runId, agentRunId, startTime, endTime, agentTraceId) {
|
|
210
|
+
if (!isEvalTelemetryEnabled())
|
|
211
|
+
return;
|
|
212
|
+
const tracer = getEvalTracer();
|
|
213
|
+
const attributes = {
|
|
214
|
+
[ATTR_TEST_SUITE_NAME]: benchmark.name,
|
|
215
|
+
[ATTR_TEST_SUITE_RUN_ID]: runId,
|
|
216
|
+
[ATTR_TEST_CASE_ID]: testCase.id,
|
|
217
|
+
[ATTR_TEST_CASE_NAME]: testCase.name,
|
|
218
|
+
[ATTR_GEN_AI_OPERATION_NAME]: GEN_AI_OPERATION_NAME_VALUE_EVALUATION,
|
|
219
|
+
};
|
|
220
|
+
if (agentRunId) {
|
|
221
|
+
attributes[ATTR_AGENT_HEALTH_AGENT_RUN_ID] = agentRunId;
|
|
222
|
+
attributes[ATTR_GEN_AI_CONVERSATION_ID] = agentRunId;
|
|
223
|
+
}
|
|
224
|
+
attributes[ATTR_TEST_CASE_INPUT] = truncate(testCase.initialPrompt || '', MAX_ATTRIBUTE_LENGTH);
|
|
225
|
+
const expected = truncate(testCase.expectedOutcomes ? JSON.stringify(testCase.expectedOutcomes) : undefined, MAX_ATTRIBUTE_LENGTH);
|
|
226
|
+
if (expected)
|
|
227
|
+
attributes[ATTR_TEST_CASE_EXPECTED] = expected;
|
|
228
|
+
// If an agent traceId is provided, create the span within the same trace
|
|
229
|
+
// so it appears as a sibling of the agent's root span in the trace tree.
|
|
230
|
+
let parentCtx;
|
|
231
|
+
if (agentTraceId && /^[0-9a-f]{32}$/i.test(agentTraceId)) {
|
|
232
|
+
const remoteSpanContext = {
|
|
233
|
+
traceId: agentTraceId,
|
|
234
|
+
// Use a valid synthetic spanId — an all-zero spanId is considered invalid
|
|
235
|
+
// by the OTel SDK and would cause it to ignore this context entirely.
|
|
236
|
+
// This "remote" context carries the traceId forward so the eval span
|
|
237
|
+
// shares the same trace as the agent spans.
|
|
238
|
+
spanId: 'eeee000000000001',
|
|
239
|
+
traceFlags: TraceFlags.SAMPLED,
|
|
240
|
+
isRemote: true,
|
|
241
|
+
};
|
|
242
|
+
parentCtx = trace.setSpanContext(context.active(), remoteSpanContext);
|
|
243
|
+
}
|
|
244
|
+
const span = tracer.startSpan('test_case', {
|
|
245
|
+
kind: SpanKind.INTERNAL,
|
|
246
|
+
startTime,
|
|
247
|
+
attributes,
|
|
248
|
+
}, parentCtx);
|
|
249
|
+
addEvaluationResultEvents(span, report);
|
|
250
|
+
finalizeTestCaseSpan(span, report, endTime);
|
|
251
|
+
console.log(`[Telemetry] Emitted deferred test_case span for "${testCase.name}" (agentRunId=${agentRunId || 'none'}, traceId=${agentTraceId || 'new'}), flushing...`);
|
|
252
|
+
flushEvalTracer().catch(() => { });
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=evalSpans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evalSpans.js","sourceRoot":"","sources":["../../../telemetry/evalSpans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluation Telemetry Module
|
|
3
|
+
*
|
|
4
|
+
* Emits OTel spans for benchmark evaluation data using semantic conventions.
|
|
5
|
+
* Disabled by default — enable via OTEL_EVAL_ENABLED=true or config file.
|
|
6
|
+
*/
|
|
7
|
+
export { initEvalTracerProvider, getEvalTracer, isEvalTelemetryEnabled, flushEvalTracer, shutdownEvalTracer, resolveEvalTelemetryConfig, type EvalTelemetryConfig, } from './provider.js';
|
|
8
|
+
export { startTestSuiteRunSpan, startTestCaseSpan, addEvaluationResultEvents, finalizeTestCaseSpan, finalizeTestSuiteRunSpan, emitDeferredTestCaseSpan, } from './evalSpans.js';
|
|
9
|
+
export * from './constants.js';
|
|
10
|
+
export { OpenSearchSpanExporter, type OpenSearchExporterConfig, } from './opensearchExporter.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../telemetry/index.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Evaluation Telemetry Module
|
|
7
|
+
*
|
|
8
|
+
* Emits OTel spans for benchmark evaluation data using semantic conventions.
|
|
9
|
+
* Disabled by default — enable via OTEL_EVAL_ENABLED=true or config file.
|
|
10
|
+
*/
|
|
11
|
+
export { initEvalTracerProvider, getEvalTracer, isEvalTelemetryEnabled, flushEvalTracer, shutdownEvalTracer, resolveEvalTelemetryConfig, } from './provider.js';
|
|
12
|
+
export { startTestSuiteRunSpan, startTestCaseSpan, addEvaluationResultEvents, finalizeTestCaseSpan, finalizeTestSuiteRunSpan, emitDeferredTestCaseSpan, } from './evalSpans.js';
|
|
13
|
+
export * from './constants.js';
|
|
14
|
+
export { OpenSearchSpanExporter, } from './opensearchExporter.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../telemetry/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAE3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EACL,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom OpenSearch Span Exporter
|
|
3
|
+
*
|
|
4
|
+
* Writes OTel spans directly to an OpenSearch cluster using the same
|
|
5
|
+
* observability data source config that the trace reader uses.
|
|
6
|
+
* Formats spans in the OTEL-faithful Data Prepper `trace-analytics-plain-raw`
|
|
7
|
+
* schema (a nested `attributes` object keyed by literal dotted OTel names)
|
|
8
|
+
* so they co-exist with agent spans already in the otel-v1-apm-span-* index.
|
|
9
|
+
*/
|
|
10
|
+
import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-node';
|
|
11
|
+
import { ExportResult } from '@opentelemetry/core';
|
|
12
|
+
/**
|
|
13
|
+
* Configuration for the OpenSearch exporter
|
|
14
|
+
*/
|
|
15
|
+
export interface OpenSearchExporterConfig {
|
|
16
|
+
/** OpenSearch endpoint URL */
|
|
17
|
+
endpoint: string;
|
|
18
|
+
/** Basic auth username */
|
|
19
|
+
username?: string;
|
|
20
|
+
/** Basic auth password */
|
|
21
|
+
password?: string;
|
|
22
|
+
/** Index pattern to write to (default: otel-v1-apm-span-000001) */
|
|
23
|
+
indexName?: string;
|
|
24
|
+
/** Whether to skip TLS verification */
|
|
25
|
+
tlsSkipVerify?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom SpanExporter that writes directly to OpenSearch.
|
|
29
|
+
*
|
|
30
|
+
* Formats spans in OSIS-compatible format so eval spans co-exist
|
|
31
|
+
* with agent spans in the same otel-v1-apm-span-* indices.
|
|
32
|
+
*/
|
|
33
|
+
export declare class OpenSearchSpanExporter implements SpanExporter {
|
|
34
|
+
private client;
|
|
35
|
+
private indexName;
|
|
36
|
+
private shutdownRequested;
|
|
37
|
+
constructor(config: OpenSearchExporterConfig);
|
|
38
|
+
export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
|
|
39
|
+
private _export;
|
|
40
|
+
shutdown(): Promise<void>;
|
|
41
|
+
forceFlush(): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=opensearchExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opensearchExporter.d.ts","sourceRoot":"","sources":["../../../telemetry/opensearchExporter.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAIrE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6JD;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IACzD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,EAAE,wBAAwB;IAiB5C,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;YAcrE,OAAO;IA0Bf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|