@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
package/docs/CLI.md
ADDED
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# CLI Reference
|
|
7
|
+
|
|
8
|
+
## Quick Start
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @opensearch-project/agent-health # Start server + open UI
|
|
12
|
+
npx @opensearch-project/agent-health run -t <id> # Run single test case
|
|
13
|
+
npx @opensearch-project/agent-health benchmark # Run all test cases (quick mode)
|
|
14
|
+
npx @opensearch-project/agent-health benchmark -f <file> # Import test cases from file and run
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g @opensearch-project/agent-health # Global install
|
|
21
|
+
npx @opensearch-project/agent-health <command> # No install required
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Commands
|
|
27
|
+
|
|
28
|
+
### serve (default)
|
|
29
|
+
|
|
30
|
+
Start the web server. This is the default action when no subcommand is specified.
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
agent-health [serve] [options]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| Option | Description | Default |
|
|
37
|
+
|--------|-------------|---------|
|
|
38
|
+
| `-p, --port <n>` | Server port | `4001` |
|
|
39
|
+
| `-e, --env-file <path>` | Load env file | `.env` |
|
|
40
|
+
| `--no-browser` | Skip auto-open browser | - |
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
agent-health --port 8080 --env-file prod.env
|
|
44
|
+
agent-health serve -p 8080 --no-browser
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### list
|
|
50
|
+
|
|
51
|
+
List available resources.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
agent-health list <resource> [-o table|json]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
| Resource | Aliases | Description |
|
|
58
|
+
|----------|---------|-------------|
|
|
59
|
+
| `agents` | | Configured agents |
|
|
60
|
+
| `connectors` | | Available connectors |
|
|
61
|
+
| `models` | | Available models |
|
|
62
|
+
| `test-cases` | `testcases`, `tc` | Stored test cases |
|
|
63
|
+
| `benchmarks` | `bench` | Stored benchmarks |
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
agent-health list agents
|
|
67
|
+
agent-health list tc -o json
|
|
68
|
+
agent-health list bench
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### run
|
|
74
|
+
|
|
75
|
+
Run a single test case evaluation.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
agent-health run -t <test-case> [options]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
| Option | Description |
|
|
82
|
+
|--------|-------------|
|
|
83
|
+
| `-t, --test-case <id>` | Test case ID or name **(required)** |
|
|
84
|
+
| `-a, --agent <key>` | Agent key (repeatable for comparison) |
|
|
85
|
+
| `-m, --model <id>` | Agent's LLM model id (agent default if omitted) |
|
|
86
|
+
| `-e, --evaluator <id>` | Evaluator ID (RCA Default if omitted) |
|
|
87
|
+
| `--judge-model <id>` | Judge LLM model id, distinct from `-m`. Falls back to the evaluator's `inferenceConfig.modelId`, then `BEDROCK_MODEL_ID`. Ignored by agentic judges (`pi`/`agent`/`agentic`/`claude-code`). |
|
|
88
|
+
| `-o, --output <fmt>` | Output: `table`, `json` |
|
|
89
|
+
| `-v, --verbose` | Show full trajectory |
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
agent-health run -t demo-otel-001 -a ml-commons -v
|
|
93
|
+
agent-health run -t demo-otel-001 -a ml-commons -a claude-code # compare agents
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### benchmark
|
|
99
|
+
|
|
100
|
+
Run a benchmark (batch of test cases) against one or more agents.
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
agent-health benchmark [options]
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
| Option | Description | Default |
|
|
107
|
+
|--------|-------------|---------|
|
|
108
|
+
| `-n, --name <name>` | Benchmark name or ID | - |
|
|
109
|
+
| `-f, --file <path>` | Test-case file to import and benchmark (repeatable). Accepts **JSON** test cases *and* **code SDK** files (`.eval.js` / `.eval.ts`) | - |
|
|
110
|
+
| `-d, --dir <path>` | Directory of test-case JSON files (repeatable) | - |
|
|
111
|
+
| `-t, --test-case <id>` | Specific stored test case ID (repeatable) | - |
|
|
112
|
+
| `--label <label>` | Filter stored test cases by label (repeatable, AND logic) | - |
|
|
113
|
+
| `-a, --agent <key>` | Agent key (repeatable) | First enabled agent |
|
|
114
|
+
| `-m, --model <id>` | Agent's LLM model id | Agent default |
|
|
115
|
+
| `-e, --evaluator <id>` | Evaluator ID | RCA Default |
|
|
116
|
+
| `--judge-model <id>` | Judge LLM model id, distinct from `-m` (see `run` above) | Evaluator / `BEDROCK_MODEL_ID` |
|
|
117
|
+
| `-c, --concurrency <n>` | Test cases to run in parallel | `1` |
|
|
118
|
+
| `-o, --output <fmt>` | Output: `table`, `json` | `table` |
|
|
119
|
+
| `--export <path>` | Export results to file | - |
|
|
120
|
+
| `--format <type>` | Report format for `--export`: `json`, `html`, `pdf` | `json` |
|
|
121
|
+
| `-v, --verbose` | Show per-test-case results and errors | - |
|
|
122
|
+
| `--stop-server` | Stop the server after benchmark completes | Keep running |
|
|
123
|
+
|
|
124
|
+
**Modes:**
|
|
125
|
+
- **Quick mode** (no `-n`, no `-f`): Auto-creates a benchmark from all stored test cases
|
|
126
|
+
- **Named mode** (`-n <name>`): Runs a specific existing benchmark
|
|
127
|
+
- **File mode** (`-f <path>`): Imports test cases from a JSON file **or runs a code SDK file** (`.eval.js` / `.eval.ts` — see [SDK.md](./SDK.md)), creates a benchmark, and runs it
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
agent-health benchmark # quick mode
|
|
131
|
+
agent-health benchmark -n "Baseline" -a ml-commons # named mode
|
|
132
|
+
agent-health benchmark -f ./test-cases.json -a pulsar -v # file mode (JSON)
|
|
133
|
+
agent-health benchmark -f ./evals/demo.eval.js -a observio # file mode (code SDK)
|
|
134
|
+
agent-health benchmark -f ./test-cases.json -n "My Run" -a pulsar --export results.json
|
|
135
|
+
agent-health benchmark -n "Baseline" -e system-tool-usage -c 4 # custom evaluator, 4 in parallel
|
|
136
|
+
agent-health benchmark -n "Baseline" --export report.html --format html
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### export
|
|
142
|
+
|
|
143
|
+
Export benchmark test cases as import-compatible JSON.
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
agent-health export -b <benchmark> [options]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
| Option | Description |
|
|
150
|
+
|--------|-------------|
|
|
151
|
+
| `-b, --benchmark <id-or-name>` | Benchmark ID or name **(required)** |
|
|
152
|
+
| `-o, --output <file>` | Output file path (default: `<benchmark-name>.json`) |
|
|
153
|
+
| `--stdout` | Write to stdout instead of file |
|
|
154
|
+
|
|
155
|
+
The exported JSON can be re-imported with `benchmark -f`.
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
agent-health export -b "Baseline" -o test-cases.json
|
|
159
|
+
agent-health export -b bench-123 --stdout | jq '.[] | .name'
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### report
|
|
165
|
+
|
|
166
|
+
Generate a downloadable report for benchmark runs.
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
agent-health report -b <benchmark> [options]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
| Option | Description | Default |
|
|
173
|
+
|--------|-------------|---------|
|
|
174
|
+
| `-b, --benchmark <id>` | Benchmark name or ID **(required)** | - |
|
|
175
|
+
| `-r, --runs <ids>` | Comma-separated run IDs | All runs |
|
|
176
|
+
| `-f, --format <type>` | Report format: `json`, `html`, `pdf` | `html` |
|
|
177
|
+
| `-o, --output <file>` | Output file path | Auto-generated |
|
|
178
|
+
| `--stdout` | Write to stdout (JSON format only) | - |
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
agent-health report -b "Baseline" # HTML report (all runs)
|
|
182
|
+
agent-health report -b "Baseline" -f pdf -o report.pdf # PDF report
|
|
183
|
+
agent-health report -b "Baseline" -r run-123,run-456 # Specific runs
|
|
184
|
+
agent-health report -b "Baseline" -f json --stdout # JSON to stdout
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### doctor
|
|
190
|
+
|
|
191
|
+
Check system configuration and connectivity.
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
agent-health doctor [-o text|json]
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Checks:**
|
|
198
|
+
- Config file (`agent-health.config.ts`)
|
|
199
|
+
- Environment file (`.env`)
|
|
200
|
+
- AWS credentials (for Bedrock judge)
|
|
201
|
+
- Claude Code CLI
|
|
202
|
+
- Configured agents
|
|
203
|
+
- Available connectors
|
|
204
|
+
- OpenSearch Storage (test cases, benchmarks)
|
|
205
|
+
- OpenSearch Observability (traces, logs)
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
$ agent-health doctor
|
|
209
|
+
|
|
210
|
+
✓ Config File: Found: agent-health.config.ts
|
|
211
|
+
✓ AWS Credentials: Profile: Bedrock
|
|
212
|
+
✓ Agents: 3 agents configured
|
|
213
|
+
⚠ OpenSearch Storage: Not configured
|
|
214
|
+
⚠ OpenSearch Observability: Not configured
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### init
|
|
220
|
+
|
|
221
|
+
Initialize project configuration files.
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
agent-health init [options]
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
| Option | Description |
|
|
228
|
+
|--------|-------------|
|
|
229
|
+
| `--force` | Overwrite existing files |
|
|
230
|
+
| `--with-examples` | Include sample test case |
|
|
231
|
+
|
|
232
|
+
**Creates:** `agent-health.config.ts`, `.env.example`
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
agent-health init
|
|
236
|
+
agent-health init --force --with-examples
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
### migrate
|
|
242
|
+
|
|
243
|
+
One-time migration to add stats to existing benchmark runs. Only needed if you have benchmarks created before stats tracking was added.
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
agent-health migrate [options]
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
| Option | Description |
|
|
250
|
+
|--------|-------------|
|
|
251
|
+
| `--dry-run` | Show what would be migrated without making changes |
|
|
252
|
+
| `-v, --verbose` | Show detailed progress |
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
agent-health migrate --dry-run # Preview changes
|
|
256
|
+
agent-health migrate -v # Run migration with details
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### configure
|
|
262
|
+
|
|
263
|
+
Import observability config from infrastructure outputs (e.g. a CloudFormation
|
|
264
|
+
stack) into `agent-health.config.json`.
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
agent-health configure --from-stack <stack-name> [options]
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
| Option | Description |
|
|
271
|
+
|--------|-------------|
|
|
272
|
+
| `--from-stack <name>` | Import observability config from a CloudFormation stack |
|
|
273
|
+
| `--region <region>` | AWS region for the stack |
|
|
274
|
+
| `--profile <profile>` | AWS CLI profile to use |
|
|
275
|
+
| `--dry-run` | Show what would be written without making changes |
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
agent-health configure --from-stack AgentHealthObservability --region us-west-2
|
|
279
|
+
agent-health configure --from-stack AgentHealthObservability --dry-run
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
### setup-telemetry
|
|
285
|
+
|
|
286
|
+
Configure Claude Code to send OpenTelemetry traces/logs to Agent Health (writes
|
|
287
|
+
the `cc-otel` shell alias / env). See [docs/CLAUDE_CODE_TELEMETRY.md](./CLAUDE_CODE_TELEMETRY.md).
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
agent-health setup-telemetry [options]
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
| Option | Description | Default |
|
|
294
|
+
|--------|-------------|---------|
|
|
295
|
+
| `--stack <name>` | CloudFormation stack name to read the OTLP endpoint from | `AgentHealthObservability` |
|
|
296
|
+
| `--endpoint <url>` | OTLP endpoint URL (skip the stack lookup) | - |
|
|
297
|
+
| `--region <region>` | AWS region for the stack | - |
|
|
298
|
+
| `--profile <profile>` | AWS CLI profile to use | - |
|
|
299
|
+
| `--deploy` | Deploy the CloudFormation stack before configuring | - |
|
|
300
|
+
| `--status` | Check current telemetry configuration status | - |
|
|
301
|
+
| `--skip-rc` | Print env vars without writing to the shell rc file | - |
|
|
302
|
+
| `--force` | Replace an existing telemetry block in the rc file | - |
|
|
303
|
+
| `--dry-run` | Show what would be written without making changes | - |
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
agent-health setup-telemetry # configure cc-otel telemetry
|
|
307
|
+
agent-health setup-telemetry --status # show current config + checklist
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
### remote
|
|
313
|
+
|
|
314
|
+
Manage connections to remote agent-health servers (multi-machine Coding Agent
|
|
315
|
+
Analytics aggregation).
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
agent-health remote <add|remove|list|test>
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
| Subcommand | Description |
|
|
322
|
+
|-----------|-------------|
|
|
323
|
+
| `add` | Add a remote server |
|
|
324
|
+
| `remove` | Remove a remote server |
|
|
325
|
+
| `list` | List configured remote servers |
|
|
326
|
+
| `test` | Test connectivity to all remote servers |
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
### skill
|
|
331
|
+
|
|
332
|
+
Evaluate and improve an [AgentSkill](https://agentskills.io/) / Claude Code
|
|
333
|
+
skill via an A/B benchmark (runs with vs without the skill injected) and
|
|
334
|
+
optionally propose an improved `SKILL.md`. See [docs/SKILLS.md](./SKILLS.md).
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
agent-health skill <path-to-skill-dir> [options]
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
| Option | Description |
|
|
341
|
+
|--------|-------------|
|
|
342
|
+
| `<path>` | Path to skill directory (must contain `SKILL.md`) **(required)** |
|
|
343
|
+
| `--auto` | Auto-apply proposed improvements to `SKILL.md` |
|
|
344
|
+
| `-a, --agent <key>` | Agent key (default: first claude-code agent) |
|
|
345
|
+
| `-j, --judge <id>` | Judge model ID (default: first Bedrock model) |
|
|
346
|
+
| `-o, --output <fmt>` | Output: `table`, `json` |
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
agent-health skill ./my-skill
|
|
350
|
+
agent-health skill ./my-skill --auto -a claude-code
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
### compare-services
|
|
356
|
+
|
|
357
|
+
Compare error patterns between two services from trace data.
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
agent-health compare-services -s <service1,service2> [options]
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
| Option | Description | Default |
|
|
364
|
+
|--------|-------------|---------|
|
|
365
|
+
| `-s, --services <a,b>` | Comma-separated service names **(required)** | - |
|
|
366
|
+
| `--start <time>` | Start time (ISO 8601 or relative like `1h`, `24h`) | - |
|
|
367
|
+
| `--end <time>` | End time (ISO 8601) | now |
|
|
368
|
+
| `--limit <n>` | Max spans to fetch per service | `1000` |
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
agent-health compare-services -s "lambda-api,eks-api" --start 24h
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
### kill
|
|
377
|
+
|
|
378
|
+
Kill a running agent process (e.g. the built-in Observio sample agent).
|
|
379
|
+
|
|
380
|
+
```
|
|
381
|
+
agent-health kill <target> # target: sample-agent
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Environment Variables
|
|
387
|
+
|
|
388
|
+
| Variable | Description |
|
|
389
|
+
|----------|-------------|
|
|
390
|
+
| `AWS_PROFILE` | AWS profile for Bedrock judge |
|
|
391
|
+
| `AWS_REGION` | AWS region |
|
|
392
|
+
| `DEBUG` | Enable verbose debug logging (`true`/`false`) |
|
|
393
|
+
| `MLCOMMONS_ENDPOINT` | ML-Commons agent URL |
|
|
394
|
+
| **Storage (Basic Auth)** | |
|
|
395
|
+
| `OPENSEARCH_STORAGE_ENDPOINT` | Storage cluster URL |
|
|
396
|
+
| `OPENSEARCH_STORAGE_USERNAME` | Storage auth user |
|
|
397
|
+
| `OPENSEARCH_STORAGE_PASSWORD` | Storage auth password |
|
|
398
|
+
| **Storage (AWS SigV4)** | |
|
|
399
|
+
| `OPENSEARCH_STORAGE_AUTH_TYPE` | Auth type: `none` \| `basic` \| `sigv4` |
|
|
400
|
+
| `OPENSEARCH_STORAGE_AWS_REGION` | AWS region (required for SigV4) |
|
|
401
|
+
| `OPENSEARCH_STORAGE_AWS_PROFILE` | AWS profile name (optional) |
|
|
402
|
+
| `OPENSEARCH_STORAGE_AWS_SERVICE` | `es` (managed) or `aoss` (serverless) |
|
|
403
|
+
| **Observability (Basic Auth)** | |
|
|
404
|
+
| `OPENSEARCH_LOGS_ENDPOINT` | Logs cluster URL |
|
|
405
|
+
| `OPENSEARCH_LOGS_USERNAME` | Logs auth user |
|
|
406
|
+
| `OPENSEARCH_LOGS_PASSWORD` | Logs auth password |
|
|
407
|
+
| **Observability (AWS SigV4)** | |
|
|
408
|
+
| `OPENSEARCH_LOGS_AUTH_TYPE` | Auth type: `none` \| `basic` \| `sigv4` |
|
|
409
|
+
| `OPENSEARCH_LOGS_AWS_REGION` | AWS region (required for SigV4) |
|
|
410
|
+
| `OPENSEARCH_LOGS_AWS_PROFILE` | AWS profile name (optional) |
|
|
411
|
+
| `OPENSEARCH_LOGS_AWS_SERVICE` | `es` (managed) or `aoss` (serverless) |
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
## Exit Codes
|
|
416
|
+
|
|
417
|
+
| Code | Meaning |
|
|
418
|
+
|------|---------|
|
|
419
|
+
| `0` | Success |
|
|
420
|
+
| `1` | Error |
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Output Formats
|
|
425
|
+
|
|
426
|
+
Most commands support `-o, --output`:
|
|
427
|
+
|
|
428
|
+
| Format | Use case |
|
|
429
|
+
|--------|----------|
|
|
430
|
+
| `table` | Human-readable (default) |
|
|
431
|
+
| `json` | Machine-readable, scripting |
|