@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,242 @@
|
|
|
1
|
+
import type { TrajectoryStep } from '../../types/index.js';
|
|
2
|
+
import type { TracesAccessor } from '../matchers/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Options for a code-based test case.
|
|
5
|
+
*
|
|
6
|
+
* All fields are optional. Only the test name (the first argument to
|
|
7
|
+
* `test()`) is required. When `prompt` is omitted, the runner skips agent
|
|
8
|
+
* invocation entirely and the test body runs against an empty EvalResult —
|
|
9
|
+
* useful for purely deterministic / data-driven tests.
|
|
10
|
+
*
|
|
11
|
+
* Categories and difficulty levels live in `labels` as prefixed strings
|
|
12
|
+
* (e.g. `'category:RCA'`, `'difficulty:Medium'`). The legacy top-level
|
|
13
|
+
* `category` / `difficulty` keys were removed in favor of this single
|
|
14
|
+
* unified tagging system.
|
|
15
|
+
*/
|
|
16
|
+
export interface TestOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Initial prompt sent to the agent. When omitted, the runner does not
|
|
19
|
+
* invoke the agent and the test body receives an empty EvalResult.
|
|
20
|
+
*/
|
|
21
|
+
prompt?: string;
|
|
22
|
+
/** Free-form description shown in the UI. */
|
|
23
|
+
description?: string;
|
|
24
|
+
/** Additional context items passed to the agent alongside the prompt. */
|
|
25
|
+
context?: {
|
|
26
|
+
description: string;
|
|
27
|
+
value: string;
|
|
28
|
+
}[];
|
|
29
|
+
/**
|
|
30
|
+
* Labels for filtering and grouping. Use prefixed strings for what was
|
|
31
|
+
* previously `category` and `difficulty`:
|
|
32
|
+
* `['category:RCA', 'difficulty:Medium', 'team:platform']`.
|
|
33
|
+
*/
|
|
34
|
+
labels?: string[];
|
|
35
|
+
/** Per-test timeout override in milliseconds. */
|
|
36
|
+
timeout?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Plain-text descriptions of expected agent behaviour, used by the
|
|
39
|
+
* server-side LLM judge and by importers/exporters that round-trip
|
|
40
|
+
* test cases through JSON. Forwarded to the persisted test case so
|
|
41
|
+
* server evaluators (`-e <evaluator>`) can grade against the same
|
|
42
|
+
* criteria a human reviewer would write into the JSON form.
|
|
43
|
+
*
|
|
44
|
+
* Inline `judge(result, criteria)` from a test body does NOT need this
|
|
45
|
+
* field — the body passes the claim directly to /api/judge. Set this
|
|
46
|
+
* when you want the criteria to (a) live with the test definition for
|
|
47
|
+
* non-code consumers, or (b) be available to a server-side evaluator
|
|
48
|
+
* that runs alongside or instead of the body.
|
|
49
|
+
*/
|
|
50
|
+
expectedOutcomes?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Optional reference trajectory for trajectory-alignment evaluators and
|
|
53
|
+
* Golden Path comparison. Leave undefined when the test only cares about
|
|
54
|
+
* outcome quality, not the specific path the agent took.
|
|
55
|
+
*
|
|
56
|
+
* Shape mirrors `TestCase.expectedTrajectory` in `@/types` so the
|
|
57
|
+
* upsert path can forward without coercion.
|
|
58
|
+
*/
|
|
59
|
+
expectedTrajectory?: {
|
|
60
|
+
step: number;
|
|
61
|
+
description: string;
|
|
62
|
+
requiredTools: string[];
|
|
63
|
+
}[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The trajectory accessor namespace exposed via EvalResult.trajectory in
|
|
67
|
+
* the new SDK. It IS the same array returned by the runner so users can
|
|
68
|
+
* iterate freely; the helpers are added as non-enumerable methods so
|
|
69
|
+
* `for/of` and JSON.stringify behave naturally.
|
|
70
|
+
*/
|
|
71
|
+
export interface TrajectoryAccessor extends Array<TrajectoryStep> {
|
|
72
|
+
/** Steps of the given type, in order of occurrence. */
|
|
73
|
+
stepsOfType(type: string): TrajectoryStep[];
|
|
74
|
+
/** All `action` steps, optionally filtered by toolName and partial args. */
|
|
75
|
+
toolCalls(name?: string, argsPartial?: Record<string, unknown>): TrajectoryStep[];
|
|
76
|
+
/** First action-step matching, with `.index` annotated for ordering checks, or null. */
|
|
77
|
+
firstToolCall(name?: string, argsPartial?: Record<string, unknown>): (TrajectoryStep & {
|
|
78
|
+
index: number;
|
|
79
|
+
}) | null;
|
|
80
|
+
}
|
|
81
|
+
export interface CodeTestCase {
|
|
82
|
+
name: string;
|
|
83
|
+
options: TestOptions;
|
|
84
|
+
evaluate: TestBodyFn | LegacyEvaluateFn;
|
|
85
|
+
/** Resolved file the test was registered from — set by the loader. */
|
|
86
|
+
sourceFile?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Benchmark group path — the joined `describe('...', ...)` names that
|
|
89
|
+
* wrapped this `test()` call, joined with ' > ' for nested describes.
|
|
90
|
+
* `undefined` when the test was registered outside any describe; the
|
|
91
|
+
* loader/CLI then puts the test into the file-default benchmark.
|
|
92
|
+
*/
|
|
93
|
+
benchmarkPath?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The Playwright-style test body signature: receives a fixtures object
|
|
97
|
+
* with `result`, `judge`, `traces`, and `expect`.
|
|
98
|
+
*/
|
|
99
|
+
export type TestBodyFn = (fixtures: TestFixtures) => Promise<void> | void;
|
|
100
|
+
/**
|
|
101
|
+
* Legacy single-arg signature kept for backward compatibility. Old code
|
|
102
|
+
* that did `test(name, opts, async (result) => { ... })` keeps working.
|
|
103
|
+
*/
|
|
104
|
+
export type LegacyEvaluateFn = (result: EvalResult) => Promise<void> | void;
|
|
105
|
+
export interface TestFixtures {
|
|
106
|
+
result: EvalResult;
|
|
107
|
+
judge: typeof import('./judge.js').judge;
|
|
108
|
+
traces: TracesAccessor;
|
|
109
|
+
expect: typeof import('../matchers/expect.js').expect;
|
|
110
|
+
/**
|
|
111
|
+
* The `agent` fixture (RFC 004 control inversion). The test body calls
|
|
112
|
+
* `await agent.run(prompt)` to drive the agent itself, instead of the
|
|
113
|
+
* framework invoking eagerly before the body. Optional during the
|
|
114
|
+
* transition: present when the runner provides it; `result` remains for
|
|
115
|
+
* the legacy eager path. Enforces one invocation per test.
|
|
116
|
+
*/
|
|
117
|
+
agent?: import('./agentFixture.js').AgentFixture;
|
|
118
|
+
/**
|
|
119
|
+
* The `evaluate` fixture (RFC 004 §4.4): run a custom programmatic
|
|
120
|
+
* evaluator registered via `defineEvaluator()`. Gates by default;
|
|
121
|
+
* `.observe()` feeds score/insights only.
|
|
122
|
+
*/
|
|
123
|
+
evaluate?: import('./evaluators.js').EvaluateFn;
|
|
124
|
+
/**
|
|
125
|
+
* Static, read-only metadata about the currently-executing test. Useful
|
|
126
|
+
* for naming temp dirs, logging, and routing — never mutate.
|
|
127
|
+
*/
|
|
128
|
+
testInfo: TestInfo;
|
|
129
|
+
/**
|
|
130
|
+
* Values made available by `beforeEach` hooks via `provide(key, value)`.
|
|
131
|
+
* Always present (empty when no hooks ran). Read-only from the test body.
|
|
132
|
+
*/
|
|
133
|
+
provisioned: Readonly<Record<string, unknown>>;
|
|
134
|
+
/**
|
|
135
|
+
* Only present inside `beforeEach` hooks. Stores a value into the
|
|
136
|
+
* provisioned bag for this test. The orchestrator handed to the test
|
|
137
|
+
* body and `afterEach` does NOT include `provide` (it's `undefined`),
|
|
138
|
+
* so referencing `fixtures.provide` outside `beforeEach` is a runtime
|
|
139
|
+
* error — not a no-op. Read provisioned values via
|
|
140
|
+
* `fixtures.provisioned[key]` instead.
|
|
141
|
+
*/
|
|
142
|
+
provide?: (key: string, value: unknown) => void;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Static metadata about a test execution, exposed via `fixtures.testInfo`
|
|
146
|
+
* and `hookContext.testInfo`. Frozen at the start of the test so hooks and
|
|
147
|
+
* body see the same values.
|
|
148
|
+
*/
|
|
149
|
+
export interface TestInfo {
|
|
150
|
+
/** Test name as registered with `test(name, ...)`. */
|
|
151
|
+
name: string;
|
|
152
|
+
/**
|
|
153
|
+
* Joined describe path, e.g. `'A > B'`. `undefined` when the test was
|
|
154
|
+
* registered outside any describe block.
|
|
155
|
+
*/
|
|
156
|
+
benchmarkPath?: string;
|
|
157
|
+
/**
|
|
158
|
+
* The eval source file the test was loaded from (the absolute path the
|
|
159
|
+
* loader resolved). `undefined` for tests registered outside the loader
|
|
160
|
+
* (e.g. unit tests that call `test()` directly).
|
|
161
|
+
*/
|
|
162
|
+
sourceFile?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Storage id of the test case for this run. `undefined` when the
|
|
165
|
+
* orchestrator runs without a backing storage layer (unit tests).
|
|
166
|
+
*/
|
|
167
|
+
testCaseId?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Lifecycle hook kinds, modelled after Playwright. `beforeAll`/`afterAll`
|
|
171
|
+
* run once per scope (file or describe); `beforeEach`/`afterEach` run
|
|
172
|
+
* around every matching test in the scope.
|
|
173
|
+
*/
|
|
174
|
+
export type HookKind = 'beforeAll' | 'afterAll' | 'beforeEach' | 'afterEach';
|
|
175
|
+
/**
|
|
176
|
+
* The function signature accepted by every hook. Receives the same
|
|
177
|
+
* fixtures object the test body sees. `beforeEach` may call
|
|
178
|
+
* `fixtures.provide(key, value)` to expose values to the body / `afterEach`.
|
|
179
|
+
*/
|
|
180
|
+
export type HookFn = (fixtures: TestFixtures) => Promise<void> | void;
|
|
181
|
+
/**
|
|
182
|
+
* One registered hook, captured at registration time. The scope chain is
|
|
183
|
+
* the joined describe path (`undefined` at file top level), exactly
|
|
184
|
+
* matching how `test()` records `benchmarkPath`.
|
|
185
|
+
*/
|
|
186
|
+
export interface RegisteredHook {
|
|
187
|
+
kind: HookKind;
|
|
188
|
+
fn: HookFn;
|
|
189
|
+
/** File path the hook was registered from (set by the loader). */
|
|
190
|
+
sourceFile?: string;
|
|
191
|
+
/**
|
|
192
|
+
* Joined describe path the hook lives in, e.g. `'A > B'`. `undefined`
|
|
193
|
+
* means the hook is file-scoped (outside any describe).
|
|
194
|
+
*/
|
|
195
|
+
describePath?: string;
|
|
196
|
+
}
|
|
197
|
+
export interface EvalResult {
|
|
198
|
+
/** All trajectory steps with sugar accessors (toolCalls, firstToolCall, etc.). */
|
|
199
|
+
trajectory: TrajectoryAccessor;
|
|
200
|
+
/** Concatenated final response text from the agent's `assistant`/`response` steps. */
|
|
201
|
+
agentOutput: string;
|
|
202
|
+
/** Convenience: same as agentOutput. Returns the last assistant text. */
|
|
203
|
+
finalResponse(): string;
|
|
204
|
+
/** Try-parse `agentOutput` as JSON. Returns undefined when not parseable. */
|
|
205
|
+
parsedOutput(): unknown;
|
|
206
|
+
/** Raw AG-UI events as received from the agent. */
|
|
207
|
+
rawEvents: any[];
|
|
208
|
+
/** Agent-supplied run id (for log/trace correlation). */
|
|
209
|
+
runId?: string;
|
|
210
|
+
/** Wall-clock duration of the agent invocation in ms (0 when no prompt). */
|
|
211
|
+
durationMs: number;
|
|
212
|
+
/** Token usage when reported by the agent. */
|
|
213
|
+
tokenUsage?: {
|
|
214
|
+
prompt: number;
|
|
215
|
+
completion: number;
|
|
216
|
+
total: number;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* OTel traces for this run, available after `agent.run()` resolves
|
|
220
|
+
* (RFC 004 §4.6). Mirrors the standalone `traces` fixture but scoped to
|
|
221
|
+
* the result, so `result.traces.totalTokens` reads the same data. Present
|
|
222
|
+
* only on results returned by `agent.run()`; reading it on the empty
|
|
223
|
+
* placeholder (before `agent.run()`) yields the loud-failure accessor.
|
|
224
|
+
*/
|
|
225
|
+
traces?: import('../matchers/traces.js').TracesAccessor;
|
|
226
|
+
/**
|
|
227
|
+
* Strategy-C trace-correlation hints (`{ serviceName, startedAt, endedAt }[]`)
|
|
228
|
+
* the runner computed for this run's agent. Forwarded by `judge()` as
|
|
229
|
+
* `JudgeRequest.agents` so the agent (trace) judge can find the run's spans
|
|
230
|
+
* in OpenSearch by service-name + window — the SAME hints the classic
|
|
231
|
+
* `waitForTracesAndJudge` path builds via `buildJudgeAgentsHints`. This is
|
|
232
|
+
* what brings SDK `judge()` to parity with the UI/runner trace-judge path
|
|
233
|
+
* (without it the SDK judge only sends `runId`, which misses subprocess
|
|
234
|
+
* agents' spans). Present only when the runner could derive a service name.
|
|
235
|
+
*/
|
|
236
|
+
judgeAgents?: Array<{
|
|
237
|
+
serviceName: string;
|
|
238
|
+
startedAt: number;
|
|
239
|
+
endedAt: number;
|
|
240
|
+
}>;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../testCases/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../testCases/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type Theme = 'light' | 'dark';
|
|
2
|
+
export declare function getTheme(): Theme;
|
|
3
|
+
export declare function setTheme(theme: Theme): void;
|
|
4
|
+
export declare function applyTheme(theme: Theme): void;
|
|
5
|
+
export declare function initializeTheme(): void;
|
|
6
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../theme.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAIrC,wBAAgB,QAAQ,IAAI,KAAK,CAShC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAK3C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAU7C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
const THEME_STORAGE_KEY = 'agent-health-theme';
|
|
6
|
+
export function getTheme() {
|
|
7
|
+
if (typeof window === 'undefined')
|
|
8
|
+
return 'dark';
|
|
9
|
+
const stored = localStorage.getItem(THEME_STORAGE_KEY);
|
|
10
|
+
if (stored === 'light' || stored === 'dark') {
|
|
11
|
+
return stored;
|
|
12
|
+
}
|
|
13
|
+
return 'dark';
|
|
14
|
+
}
|
|
15
|
+
export function setTheme(theme) {
|
|
16
|
+
if (typeof window === 'undefined')
|
|
17
|
+
return;
|
|
18
|
+
localStorage.setItem(THEME_STORAGE_KEY, theme);
|
|
19
|
+
applyTheme(theme);
|
|
20
|
+
}
|
|
21
|
+
export function applyTheme(theme) {
|
|
22
|
+
if (typeof window === 'undefined')
|
|
23
|
+
return;
|
|
24
|
+
const root = document.documentElement;
|
|
25
|
+
if (theme === 'dark') {
|
|
26
|
+
root.classList.add('dark');
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
root.classList.remove('dark');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function initializeTheme() {
|
|
33
|
+
const theme = getTheme();
|
|
34
|
+
applyTheme(theme);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,UAAU,QAAQ;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAE1C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC/C,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAE1C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;IAEtC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fire-and-forget UI usage telemetry. Lets us understand load/usage patterns
|
|
3
|
+
* (e.g. which comparison search scope is used, how often, result counts)
|
|
4
|
+
* without a heavyweight analytics dependency. Never blocks the UI or throws.
|
|
5
|
+
*/
|
|
6
|
+
export declare function recordUiEvent(event: string, props?: Record<string, unknown>): void;
|
|
7
|
+
//# sourceMappingURL=uiTelemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiTelemetry.d.ts","sourceRoot":"","sources":["../../uiTelemetry.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAalF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Fire-and-forget UI usage telemetry. Lets us understand load/usage patterns
|
|
7
|
+
* (e.g. which comparison search scope is used, how often, result counts)
|
|
8
|
+
* without a heavyweight analytics dependency. Never blocks the UI or throws.
|
|
9
|
+
*/
|
|
10
|
+
export function recordUiEvent(event, props) {
|
|
11
|
+
try {
|
|
12
|
+
void fetch('/api/telemetry/ui-event', {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: { 'Content-Type': 'application/json' },
|
|
15
|
+
body: JSON.stringify({ event, props }),
|
|
16
|
+
keepalive: true,
|
|
17
|
+
}).catch(() => {
|
|
18
|
+
/* telemetry is best-effort */
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
/* never let telemetry break the UI */
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=uiTelemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiTelemetry.js","sourceRoot":"","sources":["../../uiTelemetry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAA+B;IAC1E,IAAI,CAAC;QACH,KAAK,KAAK,CAAC,yBAAyB,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACtC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,8BAA8B;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type ClassValue } from "clsx";
|
|
2
|
+
import { Difficulty, DateFormatVariant } from "../types/index.js";
|
|
3
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Returns Tailwind classes for styling label badges
|
|
6
|
+
* Only difficulty:Easy/Medium/Hard get special colors; all others use hash-based palette
|
|
7
|
+
*/
|
|
8
|
+
export declare const getLabelColor: (label: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Returns Tailwind classes for styling difficulty badges
|
|
11
|
+
* @deprecated Use getLabelColor with difficulty: prefixed labels instead
|
|
12
|
+
*/
|
|
13
|
+
export declare const getDifficultyColor: (difficulty: Difficulty) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Formats a timestamp string to a localized date string
|
|
16
|
+
* @param timestamp - ISO timestamp string
|
|
17
|
+
* @param variant - 'date' (date only), 'datetime' (default, with time), 'detailed' (with seconds)
|
|
18
|
+
*/
|
|
19
|
+
export declare const formatDate: (timestamp: string, variant?: DateFormatVariant) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Formats a timestamp to relative time (e.g., "5m ago", "2h ago")
|
|
22
|
+
* Falls back to formatDate for timestamps older than 7 days
|
|
23
|
+
*/
|
|
24
|
+
export declare const formatRelativeTime: (timestamp: string) => string;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the display name for a model ID from config
|
|
27
|
+
*/
|
|
28
|
+
export declare const getModelName: (modelId: string) => string;
|
|
29
|
+
/**
|
|
30
|
+
* Returns a short, stable suffix for a TestCaseRun id, suitable for embedding
|
|
31
|
+
* in an auto-generated run name. Run ids are shaped
|
|
32
|
+
* `report-<timestamp>-<random>` (file adapter) or arbitrary keys (OpenSearch),
|
|
33
|
+
* so we take the trailing 6 characters which gives a recognizable yet compact
|
|
34
|
+
* label without exposing the full id. Falls back to the full id for very short
|
|
35
|
+
* ids (e.g. legacy data).
|
|
36
|
+
*/
|
|
37
|
+
export declare const getRunShortId: (runId: string) => string;
|
|
38
|
+
/**
|
|
39
|
+
* Resolves the display name for a TestCaseRun.
|
|
40
|
+
*
|
|
41
|
+
* Prefers the persisted `name` field (set from the run config dialog or
|
|
42
|
+
* auto-generated server-side). Falls back to `Run <short-id>` for older
|
|
43
|
+
* runs that pre-date the field, so every row in the runs list has a
|
|
44
|
+
* recognizable label instead of a raw id slice.
|
|
45
|
+
*/
|
|
46
|
+
export declare const getRunDisplayName: (run: {
|
|
47
|
+
id: string;
|
|
48
|
+
name?: string;
|
|
49
|
+
}) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Computes a single "overall score" percentage to display next to a run in
|
|
52
|
+
* a list, from whatever metrics that run happens to carry.
|
|
53
|
+
*
|
|
54
|
+
* Why this is non-trivial:
|
|
55
|
+
* - Only the *RCA Default* system evaluator emits a metric named `accuracy`.
|
|
56
|
+
* Other system evaluators (Factuality, Tool Use, Reasoning, Safety) and
|
|
57
|
+
* any custom evaluator emit completely different metric names like
|
|
58
|
+
* `tool_selection_accuracy`, `reasoning_coherence`, `bias_detection`, etc.
|
|
59
|
+
* - The runs list used to hardcode `run.metrics?.accuracy ?? 0`, which made
|
|
60
|
+
* every non-RCA run display `0%` even when the judge had passed it.
|
|
61
|
+
*
|
|
62
|
+
* The fix is to take the **arithmetic mean of all populated numeric metrics**
|
|
63
|
+
* on the run. This works for any evaluator without having to look up its
|
|
64
|
+
* `scoringConfig`, gives a reasonable summary number, and degrades to `null`
|
|
65
|
+
* (rendered as `—`) when no metrics are present — the only honest answer
|
|
66
|
+
* for runs whose judge call hasn't completed or which were never scored.
|
|
67
|
+
*
|
|
68
|
+
* Returns `null` when there are no numeric metrics; otherwise an integer
|
|
69
|
+
* percentage rounded to the nearest whole number.
|
|
70
|
+
*/
|
|
71
|
+
export declare const getRunOverallScore: (metrics: Record<string, number | undefined> | undefined | null) => number | null;
|
|
72
|
+
/**
|
|
73
|
+
* Returns theme-aware Tailwind classes for pass rate badges
|
|
74
|
+
* Light mode: More saturated backgrounds with darker text for better visibility
|
|
75
|
+
* Dark mode: Lighter text on dark backgrounds
|
|
76
|
+
*/
|
|
77
|
+
export declare const getPassRateColor: (passRate: number) => string;
|
|
78
|
+
/**
|
|
79
|
+
* Returns theme-aware Tailwind classes for status indicators
|
|
80
|
+
* Used for success/error/warning/info states
|
|
81
|
+
* Light mode: More saturated backgrounds (100 shade) for better visibility
|
|
82
|
+
* Dark mode: Semi-transparent darker backgrounds with lighter text
|
|
83
|
+
*/
|
|
84
|
+
export declare const getStatusColor: (status: "success" | "error" | "warning" | "info" | "neutral") => string;
|
|
85
|
+
/**
|
|
86
|
+
* Returns theme-aware text color classes for metrics
|
|
87
|
+
* Used for displaying metric values in stats cards
|
|
88
|
+
* Light mode: Darker colors for WCAG AA compliance (4.5:1 contrast ratio)
|
|
89
|
+
* Dark mode: Lighter colors for visibility on dark backgrounds
|
|
90
|
+
*/
|
|
91
|
+
export declare const getMetricTextColor: (type: "primary" | "success" | "error" | "warning" | "info" | "secondary") => string;
|
|
92
|
+
/**
|
|
93
|
+
* Truncates text to a specified length with ellipsis
|
|
94
|
+
*/
|
|
95
|
+
export declare const truncate: (text: string, length: number) => string;
|
|
96
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGvD,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AA0BD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAS7C,CAAC;AASF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,UAAU,KAAG,MAE3D,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,EACjB,UAAS,iBAA8B,KACtC,MAiBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,MAatD,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAG9C,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAG7C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAGtE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,KAC7D,MAAM,GAAG,IASX,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,MAWnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,KAAG,MAS7F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,KAAG,MAU7G,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,MAGvD,CAAC"}
|