@opensearch-project/agent-health 0.5.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/cli/dist/index.js +2325 -961
- package/dist/assets/index-D-Np_l_T.js +246 -0
- package/dist/assets/index-vZt9QZKf.css +1 -0
- package/dist/index.html +2 -2
- package/docs/CLI.md +183 -3
- package/docs/CONFIGURATION.md +1 -1
- package/docs/CONNECTORS.md +1 -1
- package/docs/INSTRUMENT_WITH_OTEL.md +7 -0
- package/docs/SDK.md +178 -5
- package/docs/STORAGE_INDEX_FIELD_LIMITS.md +216 -0
- package/docs/skills/AGENT_HEALTH.md +55 -1
- package/docs/skills/add-connector/SKILL.md +5 -1
- package/examples/eval-files/demo.eval.js +1 -1
- package/examples/eval-files/ops-rca-classification.eval.js +71 -0
- package/examples/eval-files/ops-rca-evaluator.json +15 -0
- package/examples/eval-files/sdk-demo.eval.js +72 -0
- package/examples/eval-files/sdk-describe-demo.eval.js +50 -0
- package/examples/eval-files/sdk-hooks-demo.eval.js +1 -1
- package/lib/dist/lib/agentTrends.d.ts +210 -0
- package/lib/dist/lib/agentTrends.d.ts.map +1 -0
- package/lib/dist/lib/agentTrends.js +360 -0
- package/lib/dist/lib/agentTrends.js.map +1 -0
- package/lib/dist/lib/bedrockCompat.d.ts +27 -0
- package/lib/dist/lib/bedrockCompat.d.ts.map +1 -0
- package/lib/dist/lib/bedrockCompat.js +83 -0
- package/lib/dist/lib/bedrockCompat.js.map +1 -0
- package/lib/dist/lib/benchmarkCaseReview.d.ts +114 -0
- package/lib/dist/lib/benchmarkCaseReview.d.ts.map +1 -0
- package/lib/dist/lib/benchmarkCaseReview.js +177 -0
- package/lib/dist/lib/benchmarkCaseReview.js.map +1 -0
- package/lib/dist/lib/benchmarkImage.d.ts +52 -0
- package/lib/dist/lib/benchmarkImage.d.ts.map +1 -0
- package/lib/dist/lib/benchmarkImage.js +113 -0
- package/lib/dist/lib/benchmarkImage.js.map +1 -0
- package/lib/dist/lib/benchmarkRunsTable.d.ts +109 -0
- package/lib/dist/lib/benchmarkRunsTable.d.ts.map +1 -0
- package/lib/dist/lib/benchmarkRunsTable.js +212 -0
- package/lib/dist/lib/benchmarkRunsTable.js.map +1 -0
- package/lib/dist/lib/benchmarkVersionUtils.d.ts +13 -0
- package/lib/dist/lib/benchmarkVersionUtils.d.ts.map +1 -1
- package/lib/dist/lib/benchmarkVersionUtils.js +21 -0
- package/lib/dist/lib/benchmarkVersionUtils.js.map +1 -1
- package/lib/dist/lib/chunkedFetch.d.ts +18 -0
- package/lib/dist/lib/chunkedFetch.d.ts.map +1 -0
- package/lib/dist/lib/chunkedFetch.js +40 -0
- package/lib/dist/lib/chunkedFetch.js.map +1 -0
- package/lib/dist/lib/comparisonInsights.d.ts +151 -0
- package/lib/dist/lib/comparisonInsights.d.ts.map +1 -0
- package/lib/dist/lib/comparisonInsights.js +270 -0
- package/lib/dist/lib/comparisonInsights.js.map +1 -0
- package/lib/dist/lib/config/loader.d.ts.map +1 -1
- package/lib/dist/lib/config/loader.js +16 -1
- package/lib/dist/lib/config/loader.js.map +1 -1
- package/lib/dist/lib/config/types.d.ts +14 -0
- package/lib/dist/lib/config/types.d.ts.map +1 -1
- package/lib/dist/lib/constants.d.ts +11 -0
- package/lib/dist/lib/constants.d.ts.map +1 -1
- package/lib/dist/lib/constants.js +10 -1
- package/lib/dist/lib/constants.js.map +1 -1
- package/lib/dist/lib/contextFormat.d.ts +26 -0
- package/lib/dist/lib/contextFormat.d.ts.map +1 -0
- package/lib/dist/lib/contextFormat.js +28 -0
- package/lib/dist/lib/contextFormat.js.map +1 -0
- package/lib/dist/lib/dashboardMetrics.d.ts +11 -2
- package/lib/dist/lib/dashboardMetrics.d.ts.map +1 -1
- package/lib/dist/lib/dashboardMetrics.js +38 -3
- package/lib/dist/lib/dashboardMetrics.js.map +1 -1
- package/lib/dist/lib/envCompat.d.ts.map +1 -1
- package/lib/dist/lib/envCompat.js +14 -5
- package/lib/dist/lib/envCompat.js.map +1 -1
- package/lib/dist/lib/evaluationRerun.d.ts +102 -0
- package/lib/dist/lib/evaluationRerun.d.ts.map +1 -0
- package/lib/dist/lib/evaluationRerun.js +134 -0
- package/lib/dist/lib/evaluationRerun.js.map +1 -0
- package/lib/dist/lib/judgeFailureSummary.d.ts +66 -0
- package/lib/dist/lib/judgeFailureSummary.d.ts.map +1 -0
- package/lib/dist/lib/judgeFailureSummary.js +68 -0
- package/lib/dist/lib/judgeFailureSummary.js.map +1 -0
- package/lib/dist/lib/judgeStrategies.d.ts +108 -0
- package/lib/dist/lib/judgeStrategies.d.ts.map +1 -0
- package/lib/dist/lib/judgeStrategies.js +135 -0
- package/lib/dist/lib/judgeStrategies.js.map +1 -0
- package/lib/dist/lib/matchers/expect.d.ts +21 -1
- package/lib/dist/lib/matchers/expect.d.ts.map +1 -1
- package/lib/dist/lib/matchers/expect.js +51 -0
- package/lib/dist/lib/matchers/expect.js.map +1 -1
- package/lib/dist/lib/matchers/judgeAccessor.d.ts +4 -0
- package/lib/dist/lib/matchers/judgeAccessor.d.ts.map +1 -1
- package/lib/dist/lib/matchers/judgeAccessor.js +13 -2
- package/lib/dist/lib/matchers/judgeAccessor.js.map +1 -1
- package/lib/dist/lib/matchers/judgeReasoningParse.d.ts +49 -0
- package/lib/dist/lib/matchers/judgeReasoningParse.d.ts.map +1 -0
- package/lib/dist/lib/matchers/judgeReasoningParse.js +128 -0
- package/lib/dist/lib/matchers/judgeReasoningParse.js.map +1 -0
- package/lib/dist/lib/matchers/traces.d.ts +17 -2
- package/lib/dist/lib/matchers/traces.d.ts.map +1 -1
- package/lib/dist/lib/matchers/traces.js +136 -16
- package/lib/dist/lib/matchers/traces.js.map +1 -1
- package/lib/dist/lib/matchers/tracesPricing.d.ts +38 -0
- package/lib/dist/lib/matchers/tracesPricing.d.ts.map +1 -0
- package/lib/dist/lib/matchers/tracesPricing.js +64 -0
- package/lib/dist/lib/matchers/tracesPricing.js.map +1 -0
- package/lib/dist/lib/matchers/types.d.ts +25 -0
- package/lib/dist/lib/matchers/types.d.ts.map +1 -1
- package/lib/dist/lib/resolveCanonicalRun.d.ts +23 -0
- package/lib/dist/lib/resolveCanonicalRun.d.ts.map +1 -0
- package/lib/dist/lib/resolveCanonicalRun.js +26 -0
- package/lib/dist/lib/resolveCanonicalRun.js.map +1 -0
- package/lib/dist/lib/runActions.d.ts +120 -0
- package/lib/dist/lib/runActions.d.ts.map +1 -0
- package/lib/dist/lib/runActions.js +130 -0
- package/lib/dist/lib/runActions.js.map +1 -0
- package/lib/dist/lib/runInsights.d.ts +86 -0
- package/lib/dist/lib/runInsights.d.ts.map +1 -0
- package/lib/dist/lib/runInsights.js +185 -0
- package/lib/dist/lib/runInsights.js.map +1 -0
- package/lib/dist/lib/runName.d.ts +29 -0
- package/lib/dist/lib/runName.d.ts.map +1 -0
- package/lib/dist/lib/runName.js +38 -0
- package/lib/dist/lib/runName.js.map +1 -0
- package/lib/dist/lib/runReportPath.d.ts +16 -0
- package/lib/dist/lib/runReportPath.d.ts.map +1 -0
- package/lib/dist/lib/runReportPath.js +22 -0
- package/lib/dist/lib/runReportPath.js.map +1 -0
- package/lib/dist/lib/runSort.d.ts +27 -0
- package/lib/dist/lib/runSort.d.ts.map +1 -0
- package/lib/dist/lib/runSort.js +31 -0
- package/lib/dist/lib/runSort.js.map +1 -0
- package/lib/dist/lib/runStats.d.ts +109 -5
- package/lib/dist/lib/runStats.d.ts.map +1 -1
- package/lib/dist/lib/runStats.js +193 -10
- package/lib/dist/lib/runStats.js.map +1 -1
- package/lib/dist/lib/testCases/define.d.ts.map +1 -1
- package/lib/dist/lib/testCases/define.js +93 -46
- package/lib/dist/lib/testCases/define.js.map +1 -1
- package/lib/dist/lib/testCases/judge.d.ts.map +1 -1
- package/lib/dist/lib/testCases/judge.js +22 -4
- package/lib/dist/lib/testCases/judge.js.map +1 -1
- package/lib/dist/lib/testCases/loader.d.ts +35 -1
- package/lib/dist/lib/testCases/loader.d.ts.map +1 -1
- package/lib/dist/lib/testCases/loader.js +278 -31
- package/lib/dist/lib/testCases/loader.js.map +1 -1
- package/lib/dist/lib/trajectoryStepDisplay.d.ts +25 -0
- package/lib/dist/lib/trajectoryStepDisplay.d.ts.map +1 -0
- package/lib/dist/lib/trajectoryStepDisplay.js +42 -0
- package/lib/dist/lib/trajectoryStepDisplay.js.map +1 -0
- package/lib/dist/lib/utils.d.ts +34 -0
- package/lib/dist/lib/utils.d.ts.map +1 -1
- package/lib/dist/lib/utils.js +49 -0
- package/lib/dist/lib/utils.js.map +1 -1
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts +68 -22
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts.map +1 -1
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js +148 -111
- package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js.map +1 -1
- package/lib/dist/services/connectors/kiro/KiroConnector.d.ts +21 -13
- package/lib/dist/services/connectors/kiro/KiroConnector.d.ts.map +1 -1
- package/lib/dist/services/connectors/kiro/KiroConnector.js +22 -25
- package/lib/dist/services/connectors/kiro/KiroConnector.js.map +1 -1
- package/lib/dist/services/connectors/pi/PiConnector.d.ts +49 -10
- package/lib/dist/services/connectors/pi/PiConnector.d.ts.map +1 -1
- package/lib/dist/services/connectors/pi/PiConnector.js +102 -86
- package/lib/dist/services/connectors/pi/PiConnector.js.map +1 -1
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts +59 -14
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts.map +1 -1
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.js +95 -61
- package/lib/dist/services/connectors/subprocess/SubprocessConnector.js.map +1 -1
- package/lib/dist/services/evaluation/bedrockJudge.d.ts +18 -0
- package/lib/dist/services/evaluation/bedrockJudge.d.ts.map +1 -1
- package/lib/dist/services/evaluation/bedrockJudge.js +4 -0
- package/lib/dist/services/evaluation/bedrockJudge.js.map +1 -1
- package/lib/dist/services/evaluation/index.d.ts +18 -1
- package/lib/dist/services/evaluation/index.d.ts.map +1 -1
- package/lib/dist/services/evaluation/index.js +156 -19
- package/lib/dist/services/evaluation/index.js.map +1 -1
- package/lib/dist/services/metrics.d.ts +55 -0
- package/lib/dist/services/metrics.d.ts.map +1 -0
- package/lib/dist/services/metrics.js +89 -0
- package/lib/dist/services/metrics.js.map +1 -0
- package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts +1 -1
- package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts.map +1 -1
- package/lib/dist/services/storage/asyncBenchmarkStorage.js +30 -3
- package/lib/dist/services/storage/asyncBenchmarkStorage.js.map +1 -1
- package/lib/dist/services/storage/asyncRunStorage.d.ts +20 -1
- package/lib/dist/services/storage/asyncRunStorage.d.ts.map +1 -1
- package/lib/dist/services/storage/asyncRunStorage.js +125 -2
- package/lib/dist/services/storage/asyncRunStorage.js.map +1 -1
- package/lib/dist/services/storage/asyncTestCaseStorage.d.ts +18 -4
- package/lib/dist/services/storage/asyncTestCaseStorage.d.ts.map +1 -1
- package/lib/dist/services/storage/asyncTestCaseStorage.js +21 -4
- package/lib/dist/services/storage/asyncTestCaseStorage.js.map +1 -1
- package/lib/dist/services/storage/opensearchClient.d.ts +47 -12
- package/lib/dist/services/storage/opensearchClient.d.ts.map +1 -1
- package/lib/dist/services/storage/opensearchClient.js +12 -5
- package/lib/dist/services/storage/opensearchClient.js.map +1 -1
- package/lib/dist/services/traces/browserRecovery.d.ts +12 -1
- package/lib/dist/services/traces/browserRecovery.d.ts.map +1 -1
- package/lib/dist/services/traces/browserRecovery.js +35 -5
- package/lib/dist/services/traces/browserRecovery.js.map +1 -1
- package/lib/dist/services/traces/index.d.ts +8 -1
- package/lib/dist/services/traces/index.d.ts.map +1 -1
- package/lib/dist/services/traces/index.js +33 -12
- package/lib/dist/services/traces/index.js.map +1 -1
- package/lib/dist/services/traces/judgeAgentsHints.d.ts +98 -3
- package/lib/dist/services/traces/judgeAgentsHints.d.ts.map +1 -1
- package/lib/dist/services/traces/judgeAgentsHints.js +144 -3
- package/lib/dist/services/traces/judgeAgentsHints.js.map +1 -1
- package/lib/dist/services/traces/messageExtraction.d.ts.map +1 -1
- package/lib/dist/services/traces/messageExtraction.js +95 -33
- package/lib/dist/services/traces/messageExtraction.js.map +1 -1
- package/lib/dist/services/traces/spansToTrajectory.d.ts.map +1 -1
- package/lib/dist/services/traces/spansToTrajectory.js +51 -13
- package/lib/dist/services/traces/spansToTrajectory.js.map +1 -1
- package/lib/dist/services/traces/tracePoller.d.ts +27 -3
- package/lib/dist/services/traces/tracePoller.d.ts.map +1 -1
- package/lib/dist/services/traces/tracePoller.js +196 -33
- package/lib/dist/services/traces/tracePoller.js.map +1 -1
- package/lib/dist/services/traces/trajectoryMerge.d.ts +79 -0
- package/lib/dist/services/traces/trajectoryMerge.d.ts.map +1 -0
- package/lib/dist/services/traces/trajectoryMerge.js +109 -0
- package/lib/dist/services/traces/trajectoryMerge.js.map +1 -0
- package/lib/dist/types/index.d.ts +250 -3
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +24 -0
- package/lib/dist/types/index.js.map +1 -1
- package/package.json +8 -5
- package/server/dist/app.js +5490 -1557
- package/server/dist/index.js +5490 -1557
- package/dist/assets/index-CCQRDlO0.js +0 -243
- package/dist/assets/index-CNHQVbcj.css +0 -1
|
@@ -13,6 +13,7 @@ import { generateMockTrajectory } from './mockTrajectory.js';
|
|
|
13
13
|
import { callBedrockJudge } from './bedrockJudge.js';
|
|
14
14
|
import { buildJudgeMatcherEntry, formatExpectedOutcomesAsClaim } from '../../lib/matchers/judgeAccessor.js';
|
|
15
15
|
import { buildJudgeAgentsHints } from '../../services/traces/judgeAgentsHints.js';
|
|
16
|
+
import { buildEvaluatorErrorPatch } from '../../services/evaluation/evaluatorError.js';
|
|
16
17
|
// Re-export for use by experimentRunner when calling judge after trace polling
|
|
17
18
|
export { callBedrockJudge };
|
|
18
19
|
import { openSearchClient } from '../../services/opensearch/index.js';
|
|
@@ -122,7 +123,11 @@ export function computeSdkMatcherSessionMetrics(matcherResults, opts) {
|
|
|
122
123
|
trajectory_alignment_score: 0,
|
|
123
124
|
};
|
|
124
125
|
}
|
|
125
|
-
|
|
126
|
+
// `notReached` entries are a synthetic runner-appended marker (see
|
|
127
|
+
// appendNotReachedMarker below), not a matcher the user's body actually
|
|
128
|
+
// ran — exclude them from the gate denominator exactly like `observe`
|
|
129
|
+
// and `errored` entries, so they can't skew the pass-rate aggregate.
|
|
130
|
+
const gates = matcherResults.filter(m => m.role !== 'observe' && !m.errored && !m.notReached);
|
|
126
131
|
const total = gates.length;
|
|
127
132
|
const passing = gates.filter(m => m.pass).length;
|
|
128
133
|
// Vacuous pass when there are no gates (e.g. body just calls the agent
|
|
@@ -159,6 +164,87 @@ export function computeSdkMatcherSessionMetrics(matcherResults, opts) {
|
|
|
159
164
|
}
|
|
160
165
|
return out;
|
|
161
166
|
}
|
|
167
|
+
// ─── Always-record: objective actuals survive a mid-body throw ────────────
|
|
168
|
+
//
|
|
169
|
+
// Bug (owner-hit, measurement-harness-defeating): chai's `expect()` is
|
|
170
|
+
// fail-fast — the first failing assertion throws and the rest of the test
|
|
171
|
+
// body (later expect()/judge()/evaluate() calls) never executes. For a
|
|
172
|
+
// pass/fail assertion that's the intended Playwright-style contract, but an
|
|
173
|
+
// optimizer reading these reports needs ALL FOUR axes (accuracy, latency,
|
|
174
|
+
// tokens, cost) for every run, even when one gate fails — a token-budget
|
|
175
|
+
// gate failing shouldn't erase the cost figure or a judge score that
|
|
176
|
+
// would otherwise have been recorded.
|
|
177
|
+
//
|
|
178
|
+
// `durationMs`/`agentDurationMs` already survive a later throw: the runner
|
|
179
|
+
// stamps them onto `report.performanceMetrics` the instant `agent.run()`
|
|
180
|
+
// resolves (inside the `invoke()` closure in evaluationRunner.ts /
|
|
181
|
+
// benchmarkRunner.ts), which happens BEFORE the body gets a chance to run
|
|
182
|
+
// (and fail on) any further code. `totalTokens`/`totalCostUsd` did NOT get
|
|
183
|
+
// the same treatment — nothing wrote them onto the report unless a matcher
|
|
184
|
+
// in the body happened to read `result.traces.totalTokens`/`totalCost`,
|
|
185
|
+
// which never happens if the body throws before reaching that line.
|
|
186
|
+
//
|
|
187
|
+
// `stampObjectiveActuals` closes that gap: it reads straight from the SAME
|
|
188
|
+
// `TracesAccessor` the body would have read (`loadedTraces`, loaded once
|
|
189
|
+
// right after `agent.run()` resolves) and writes onto
|
|
190
|
+
// `report.performanceMetrics`, independent of whether any matcher asserted
|
|
191
|
+
// on them. See docs/SDK.md "Always-record guarantee".
|
|
192
|
+
//
|
|
193
|
+
// judge() score is deliberately NOT handled here: `judge()` (RFC 004) is
|
|
194
|
+
// already non-throwing and records its own MatcherResult synchronously the
|
|
195
|
+
// moment it's called — so a REACHED judge call is already always-recorded
|
|
196
|
+
// today with zero extra code. A judge call placed AFTER a throwing
|
|
197
|
+
// `expect()` in the user's source is a pure ordering problem: the runner
|
|
198
|
+
// cannot record a call that never executed. Only `expect.soft()` (see
|
|
199
|
+
// lib/matchers/expect.ts) rescues that case, by not throwing in the first
|
|
200
|
+
// place so the body reaches the judge() call at all.
|
|
201
|
+
export function stampObjectiveActuals(performanceMetrics, loadedTraces, hasCapturedResult) {
|
|
202
|
+
if (!hasCapturedResult || !performanceMetrics)
|
|
203
|
+
return;
|
|
204
|
+
try {
|
|
205
|
+
const { totalTokens, totalCost } = loadedTraces;
|
|
206
|
+
if (typeof totalTokens === 'number')
|
|
207
|
+
performanceMetrics.totalTokens = totalTokens;
|
|
208
|
+
if (typeof totalCost === 'number')
|
|
209
|
+
performanceMetrics.totalCostUsd = totalCost;
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
// `loadedTraces` is the "loud failure" accessor (#230) when
|
|
213
|
+
// `useTraces: true` but spans never arrived — every read throws. Leave
|
|
214
|
+
// totalTokens/totalCostUsd unset rather than writing a misleading `0`
|
|
215
|
+
// (0 would assert "no cost incurred", which we don't actually know).
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Append a synthetic "not reached" MatcherResult when the test body threw
|
|
220
|
+
* before completing, so the matcher panel can render a clearly distinct row
|
|
221
|
+
* for the tail of the test that never ran (the "T3 judge not reached"
|
|
222
|
+
* symptom) instead of silently omitting it. Callers must invoke this AFTER
|
|
223
|
+
* computing their own gate/error booleans from the real matcherResults —
|
|
224
|
+
* this function mutates the array in place, and the synthetic entry is
|
|
225
|
+
* excluded from gating everywhere via its `notReached: true` flag (see the
|
|
226
|
+
* `computeSdkMatcherSessionMetrics` gates filter above).
|
|
227
|
+
*
|
|
228
|
+
* No-op for an agent crash (`agentFailed`): there's no "test body" telling
|
|
229
|
+
* a coherent story when the agent itself never produced a trajectory —
|
|
230
|
+
* that case already has its own clearly-labelled `agent_failed` patch.
|
|
231
|
+
*/
|
|
232
|
+
export function appendNotReachedMarker(matcherResults, evalError, agentFailed) {
|
|
233
|
+
if (evalError === undefined || agentFailed)
|
|
234
|
+
return;
|
|
235
|
+
matcherResults.push({
|
|
236
|
+
description: 'Test body did not complete: an error was thrown before reaching ' +
|
|
237
|
+
'further matcher calls in source order, so any expect()/judge()/' +
|
|
238
|
+
'evaluate() calls after that point never executed. If the error came ' +
|
|
239
|
+
'from a failing expect() assertion (not a bug elsewhere in the test ' +
|
|
240
|
+
'body), expect.soft(...) records instead of throwing so later matchers ' +
|
|
241
|
+
'still run (see docs/SDK.md "Always-record guarantee").',
|
|
242
|
+
pass: false,
|
|
243
|
+
method: 'code-assertion',
|
|
244
|
+
notReached: true,
|
|
245
|
+
errorMessage: evalError instanceof Error ? evalError.message : String(evalError),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
162
248
|
/**
|
|
163
249
|
* Drive a single agent invocation through its connector and return the raw
|
|
164
250
|
* trajectory/runId/rawEvents — no judge, no report synthesis.
|
|
@@ -368,24 +454,69 @@ export async function runEvaluationWithConnector(agent, modelId, testCase, onSte
|
|
|
368
454
|
process.env.BEDROCK_MODEL_ID ||
|
|
369
455
|
modelConfig?.model_id ||
|
|
370
456
|
modelId;
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
//
|
|
377
|
-
//
|
|
378
|
-
|
|
379
|
-
//
|
|
380
|
-
//
|
|
381
|
-
//
|
|
382
|
-
//
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
457
|
+
// The judge call gets its OWN try/catch, separate from agent invocation
|
|
458
|
+
// above. Pre-fix, a judge failure here (e.g. the agent-trace-judge's
|
|
459
|
+
// "needs a runId or trace correlation hint" validation error for a
|
|
460
|
+
// `useTraces: false` REST agent -- the reported incident) fell through
|
|
461
|
+
// to the OUTER catch below and was indistinguishable from a genuine
|
|
462
|
+
// agent crash: `status: 'failed'`, no `metricsStatus`, generic
|
|
463
|
+
// "Evaluation failed: ..." reasoning. That shape is invisible to
|
|
464
|
+
// retry-judgement's `isJudgeFailedCase` (requires `metricsStatus:
|
|
465
|
+
// 'error'` on a `'completed'` result) and buckets as `failed` instead of
|
|
466
|
+
// `errored` in the runs list/stats (lib/runStats.ts), silently
|
|
467
|
+
// misattributing an evaluator problem as "the agent did badly". The
|
|
468
|
+
// agent DID complete here (we have `fullTrajectory`) -- use the
|
|
469
|
+
// canonical `buildEvaluatorErrorPatch('judge_failed', ...)` shape so
|
|
470
|
+
// this case is `status: 'completed'` + `metricsStatus: 'error'`,
|
|
471
|
+
// exactly like every other judge-failure code path in this codebase
|
|
472
|
+
// (evaluationRunner.ts, benchmarkRunner.ts, retryJudgement.ts,
|
|
473
|
+
// browserRecovery.ts).
|
|
474
|
+
let judgment;
|
|
475
|
+
try {
|
|
476
|
+
judgment = await callBedrockJudge(fullTrajectory, {
|
|
477
|
+
expectedOutcomes: testCase.expectedOutcomes,
|
|
478
|
+
expectedTrajectory: testCase.expectedTrajectory,
|
|
479
|
+
}, undefined, // No logs in direct connector mode
|
|
480
|
+
(chunk) => debug('Eval', 'Judge progress:', chunk.slice(0, 100)), judgeModelId, evaluatorId,
|
|
481
|
+
// Forward agent runId so the `agent` (trace) judge provider can
|
|
482
|
+
// scope its query_spans/query_logs tools. See callBedrockJudge.
|
|
483
|
+
agentRunId || undefined,
|
|
484
|
+
// Strategy C correlation hints (#264) so the trace judge tool can
|
|
485
|
+
// find spans the agent emits under its OWN correlation (claude-code
|
|
486
|
+
// session ids etc.), not just spans matching agent-health's runId
|
|
487
|
+
// via gen_ai.request.id.
|
|
488
|
+
buildJudgeAgentsHints({
|
|
489
|
+
agentKey: agent.key,
|
|
490
|
+
connectorProtocol: agent.connectorType,
|
|
491
|
+
timestamp: new Date().toISOString(),
|
|
492
|
+
performanceMetrics: { durationMs: Date.now() - evalStartTime, agentDurationMs },
|
|
493
|
+
}, agent.traceServiceName));
|
|
494
|
+
}
|
|
495
|
+
catch (judgeError) {
|
|
496
|
+
console.error('[Eval] Judge call failed:', judgeError instanceof Error ? judgeError.message : judgeError);
|
|
497
|
+
return {
|
|
498
|
+
id: reportId,
|
|
499
|
+
timestamp: new Date().toISOString(),
|
|
500
|
+
agentName: agent.name,
|
|
501
|
+
agentKey: agent.key,
|
|
502
|
+
modelName: modelId,
|
|
503
|
+
modelId,
|
|
504
|
+
testCaseId: testCase.id,
|
|
505
|
+
testCaseVersion: testCase.currentVersion ?? 1,
|
|
506
|
+
status: 'completed',
|
|
507
|
+
trajectory: fullTrajectory,
|
|
508
|
+
...buildEvaluatorErrorPatch('judge_failed', judgeError),
|
|
509
|
+
improvementStrategies: [],
|
|
510
|
+
runId: agentRunId || undefined,
|
|
511
|
+
sessionId: agentSessionId || undefined,
|
|
512
|
+
rawEvents,
|
|
513
|
+
connectorProtocol: connector.type,
|
|
514
|
+
performanceMetrics: {
|
|
515
|
+
durationMs: Date.now() - evalStartTime,
|
|
516
|
+
agentDurationMs,
|
|
517
|
+
},
|
|
518
|
+
};
|
|
519
|
+
}
|
|
389
520
|
debug('Eval', 'Metrics:', judgment.metrics);
|
|
390
521
|
const llmJudgeResponse = {
|
|
391
522
|
modelId: judgeModelId,
|
|
@@ -417,6 +548,9 @@ export async function runEvaluationWithConnector(agent, modelId, testCase, onSte
|
|
|
417
548
|
trajectory: fullTrajectory,
|
|
418
549
|
metrics: judgment.metrics,
|
|
419
550
|
llmJudgeReasoning: judgment.llmJudgeReasoning,
|
|
551
|
+
// Set only by the agent (trace) judge provider -- see
|
|
552
|
+
// JudgeResponse.judgeMode / TestCaseRun.judgeMode.
|
|
553
|
+
...(judgment.judgeMode ? { judgeMode: judgment.judgeMode } : {}),
|
|
420
554
|
// Unified judge surface (Option-B BC: legacy field above kept).
|
|
421
555
|
matcherResults: [
|
|
422
556
|
buildJudgeMatcherEntry(judgment, {
|
|
@@ -640,6 +774,9 @@ export async function runEvaluation(agent, modelId, testCase, onStep, onRawEvent
|
|
|
640
774
|
trajectory: fullTrajectory,
|
|
641
775
|
metrics: judgment.metrics,
|
|
642
776
|
llmJudgeReasoning: judgment.llmJudgeReasoning,
|
|
777
|
+
// Set only by the agent (trace) judge provider -- see
|
|
778
|
+
// JudgeResponse.judgeMode / TestCaseRun.judgeMode.
|
|
779
|
+
...(judgment.judgeMode ? { judgeMode: judgment.judgeMode } : {}),
|
|
643
780
|
// Unified judge surface (Option-B BC: legacy field above kept).
|
|
644
781
|
matcherResults: [
|
|
645
782
|
buildJudgeMatcherEntry(judgment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../services/evaluation/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../services/evaluation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Service - Client-side service for fetching trace-based metrics
|
|
3
|
+
*/
|
|
4
|
+
import { TraceMetrics } from '../types/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Fetch metrics for a single run from OpenSearch traces
|
|
7
|
+
* Backend handles config resolution (file or env vars) - no headers needed from frontend
|
|
8
|
+
*
|
|
9
|
+
* @param runId - The agent run ID (gen_ai.request.id span attribute)
|
|
10
|
+
* @param traceId - Optional Strategy-A correlator (the report's own OTel
|
|
11
|
+
* traceId). Required for REST/subprocess-connector runs (no native runId,
|
|
12
|
+
* `report.runId` falls back to `report.traceId`) and vendor agents (Claude
|
|
13
|
+
* Code) whose spans never carry a runId attribute — see
|
|
14
|
+
* server/services/metricsService.ts.
|
|
15
|
+
* @returns Computed metrics including tokens, cost, duration, tool calls
|
|
16
|
+
*/
|
|
17
|
+
export declare function fetchRunMetrics(runId: string, traceId?: string): Promise<TraceMetrics>;
|
|
18
|
+
/**
|
|
19
|
+
* Fetch metrics for multiple runs in batch
|
|
20
|
+
* Backend handles config resolution (file or env vars) - no headers needed from frontend
|
|
21
|
+
*
|
|
22
|
+
* @param runIds - Array of run IDs to fetch metrics for
|
|
23
|
+
* @param traceIdByRunId - Optional Strategy-A correlator map (runId -> report.traceId)
|
|
24
|
+
* @returns Object containing individual metrics and aggregate statistics
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchBatchMetrics(runIds: string[], sessionIdByRunId?: Record<string, string>, traceIdByRunId?: Record<string, string>): Promise<{
|
|
27
|
+
metrics: TraceMetrics[];
|
|
28
|
+
aggregate: {
|
|
29
|
+
totalRuns: number;
|
|
30
|
+
successRate: number;
|
|
31
|
+
totalCostUsd: number;
|
|
32
|
+
avgCostUsd: number;
|
|
33
|
+
avgDurationMs: number;
|
|
34
|
+
p50DurationMs: number;
|
|
35
|
+
p95DurationMs: number;
|
|
36
|
+
avgTokens: number;
|
|
37
|
+
totalInputTokens: number;
|
|
38
|
+
totalOutputTokens: number;
|
|
39
|
+
avgLlmCalls: number;
|
|
40
|
+
avgToolCalls: number;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Format cost as USD string
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatCost(costUsd: number): string;
|
|
47
|
+
/**
|
|
48
|
+
* Format duration in human-readable format
|
|
49
|
+
*/
|
|
50
|
+
export declare function formatDuration(durationMs: number): string;
|
|
51
|
+
/**
|
|
52
|
+
* Format token count with K/M suffix for large numbers
|
|
53
|
+
*/
|
|
54
|
+
export declare function formatTokens(tokens: number): string;
|
|
55
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../services/metrics.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAU5F;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;IACrJ,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC,CAmBD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { ENV_CONFIG } from '../lib/config.js';
|
|
6
|
+
const API_BASE = ENV_CONFIG.backendUrl;
|
|
7
|
+
/**
|
|
8
|
+
* Fetch metrics for a single run from OpenSearch traces
|
|
9
|
+
* Backend handles config resolution (file or env vars) - no headers needed from frontend
|
|
10
|
+
*
|
|
11
|
+
* @param runId - The agent run ID (gen_ai.request.id span attribute)
|
|
12
|
+
* @param traceId - Optional Strategy-A correlator (the report's own OTel
|
|
13
|
+
* traceId). Required for REST/subprocess-connector runs (no native runId,
|
|
14
|
+
* `report.runId` falls back to `report.traceId`) and vendor agents (Claude
|
|
15
|
+
* Code) whose spans never carry a runId attribute — see
|
|
16
|
+
* server/services/metricsService.ts.
|
|
17
|
+
* @returns Computed metrics including tokens, cost, duration, tool calls
|
|
18
|
+
*/
|
|
19
|
+
export async function fetchRunMetrics(runId, traceId) {
|
|
20
|
+
const traceIdParam = traceId ? `?traceId=${encodeURIComponent(traceId)}` : '';
|
|
21
|
+
const response = await fetch(`${API_BASE}/api/metrics/${encodeURIComponent(runId)}${traceIdParam}`);
|
|
22
|
+
if (!response.ok) {
|
|
23
|
+
const error = await response.json().catch(() => ({ error: 'Unknown error' }));
|
|
24
|
+
throw new Error(error.error || `Failed to fetch metrics: ${response.status}`);
|
|
25
|
+
}
|
|
26
|
+
return response.json();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Fetch metrics for multiple runs in batch
|
|
30
|
+
* Backend handles config resolution (file or env vars) - no headers needed from frontend
|
|
31
|
+
*
|
|
32
|
+
* @param runIds - Array of run IDs to fetch metrics for
|
|
33
|
+
* @param traceIdByRunId - Optional Strategy-A correlator map (runId -> report.traceId)
|
|
34
|
+
* @returns Object containing individual metrics and aggregate statistics
|
|
35
|
+
*/
|
|
36
|
+
export async function fetchBatchMetrics(runIds, sessionIdByRunId, traceIdByRunId) {
|
|
37
|
+
const response = await fetch(`${API_BASE}/api/metrics/batch`, {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
headers: {
|
|
40
|
+
'Content-Type': 'application/json',
|
|
41
|
+
},
|
|
42
|
+
body: JSON.stringify({
|
|
43
|
+
runIds,
|
|
44
|
+
...(sessionIdByRunId ? { sessionIds: sessionIdByRunId } : {}),
|
|
45
|
+
...(traceIdByRunId ? { traceIds: traceIdByRunId } : {}),
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
const error = await response.json().catch(() => ({ error: 'Unknown error' }));
|
|
50
|
+
throw new Error(error.error || `Failed to fetch batch metrics: ${response.status}`);
|
|
51
|
+
}
|
|
52
|
+
return response.json();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Format cost as USD string
|
|
56
|
+
*/
|
|
57
|
+
export function formatCost(costUsd) {
|
|
58
|
+
if (costUsd < 0.01) {
|
|
59
|
+
return `$${costUsd.toFixed(4)}`;
|
|
60
|
+
}
|
|
61
|
+
return `$${costUsd.toFixed(2)}`;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Format duration in human-readable format
|
|
65
|
+
*/
|
|
66
|
+
export function formatDuration(durationMs) {
|
|
67
|
+
if (durationMs < 1000) {
|
|
68
|
+
return `${Math.round(durationMs)}ms`;
|
|
69
|
+
}
|
|
70
|
+
if (durationMs < 60000) {
|
|
71
|
+
return `${(durationMs / 1000).toFixed(1)}s`;
|
|
72
|
+
}
|
|
73
|
+
const minutes = Math.floor(durationMs / 60000);
|
|
74
|
+
const seconds = Math.round((durationMs % 60000) / 1000);
|
|
75
|
+
return `${minutes}m ${seconds}s`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Format token count with K/M suffix for large numbers
|
|
79
|
+
*/
|
|
80
|
+
export function formatTokens(tokens) {
|
|
81
|
+
if (tokens >= 1000000) {
|
|
82
|
+
return `${(tokens / 1000000).toFixed(1)}M`;
|
|
83
|
+
}
|
|
84
|
+
if (tokens >= 1000) {
|
|
85
|
+
return `${(tokens / 1000).toFixed(1)}K`;
|
|
86
|
+
}
|
|
87
|
+
return tokens.toString();
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../services/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncBenchmarkStorage.d.ts","sourceRoot":"","sources":["../../../../services/storage/asyncBenchmarkStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asyncBenchmarkStorage.d.ts","sourceRoot":"","sources":["../../../../services/storage/asyncBenchmarkStorage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAsB,gBAAgB,EAAqC,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiJ1I,cAAM,qBAAqB;IAGzB;;;OAGG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IASzE;;;;;OAKG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa9H;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAM9F;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBpD;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IASjC;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM3D;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAMlF;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDtE;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BrE;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAWvF;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAU7G;;;OAGG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUnF;;;OAGG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAcnE;;;OAGG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAaxF;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAY7H;;;OAGG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmBjF;;;OAGG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;CAkBnH;AAGD,eAAO,MAAM,qBAAqB,uBAA8B,CAAC;AAGjE,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,uBAAwB,CAAC"}
|
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
* Maps between app's Benchmark type and OpenSearch StorageBenchmark.
|
|
10
10
|
*/
|
|
11
11
|
import { benchmarkStorage as opensearchBenchmarks } from './opensearchClient.js';
|
|
12
|
+
import { ENV_CONFIG } from '../../lib/config.js';
|
|
13
|
+
/**
|
|
14
|
+
* Base URL for the handful of routes this module fetches directly (everything
|
|
15
|
+
* else goes through `opensearchClient`'s request helper, which already
|
|
16
|
+
* prefixes it). In the browser this is the relative '/api/storage' (same
|
|
17
|
+
* origin); in Node (jest, CLI, SDK, migration scripts) it is an absolute
|
|
18
|
+
* http://localhost:<AH_PORT> URL — Node's fetch/undici REJECTS relative URLs
|
|
19
|
+
* with ERR_INVALID_URL, so a bare fetch('/api/storage/…') breaks every
|
|
20
|
+
* non-browser consumer of these methods.
|
|
21
|
+
*/
|
|
22
|
+
const STORAGE_API_BASE = ENV_CONFIG.storageApiUrl;
|
|
12
23
|
/**
|
|
13
24
|
* Convert OpenSearch storage format to app Benchmark format.
|
|
14
25
|
* Normalizes legacy data without version fields.
|
|
@@ -61,12 +72,22 @@ function toBenchmarkRun(stored) {
|
|
|
61
72
|
// Handle both current (agentKey) and legacy (agentId) field names
|
|
62
73
|
agentKey: stored.agentKey || stored.agentId || '',
|
|
63
74
|
modelId: stored.modelId,
|
|
75
|
+
// Judge model id / evaluator id (Evaluation Runs page Judge + Evaluator
|
|
76
|
+
// columns) — distinct from the agent's `modelId` above. Both fields are
|
|
77
|
+
// declared optional on StorageBenchmarkRunConfig, so `undefined` on
|
|
78
|
+
// older docs is already correctly typed without a cast.
|
|
79
|
+
judgeModelId: stored.judgeModelId,
|
|
80
|
+
evaluatorId: stored.evaluatorId,
|
|
64
81
|
headers: stored.headers,
|
|
65
82
|
benchmarkVersion: stored.benchmarkVersion ?? 1,
|
|
66
83
|
testCaseSnapshots: stored.testCaseSnapshots ?? [],
|
|
67
84
|
status: stored.status,
|
|
68
85
|
error: stored.error,
|
|
69
86
|
stats: stored.stats,
|
|
87
|
+
// Run-level judge-failure reason (lib/judgeFailureSummary.ts) — mapped
|
|
88
|
+
// explicitly because this mapper is an allow-list; without it the
|
|
89
|
+
// inspector banner never renders for benchmark-embedded runs.
|
|
90
|
+
judgeFailureSummary: stored.judgeFailureSummary,
|
|
70
91
|
results,
|
|
71
92
|
performanceMetrics: stored.performanceMetrics,
|
|
72
93
|
};
|
|
@@ -99,11 +120,14 @@ function toStorageFormat(benchmark) {
|
|
|
99
120
|
description: run.description,
|
|
100
121
|
agentKey: run.agentKey,
|
|
101
122
|
modelId: run.modelId,
|
|
123
|
+
judgeModelId: run.judgeModelId,
|
|
124
|
+
evaluatorId: run.evaluatorId,
|
|
102
125
|
headers: run.headers,
|
|
103
126
|
createdAt: run.createdAt,
|
|
104
127
|
benchmarkVersion: run.benchmarkVersion,
|
|
105
128
|
testCaseSnapshots: run.testCaseSnapshots,
|
|
106
129
|
results: run.results,
|
|
130
|
+
...(run.judgeFailureSummary && { judgeFailureSummary: run.judgeFailureSummary }),
|
|
107
131
|
...(run.performanceMetrics && { performanceMetrics: run.performanceMetrics }),
|
|
108
132
|
}));
|
|
109
133
|
}
|
|
@@ -237,12 +261,15 @@ class AsyncBenchmarkStorage {
|
|
|
237
261
|
description: r.description,
|
|
238
262
|
agentKey: r.agentKey,
|
|
239
263
|
modelId: r.modelId,
|
|
264
|
+
judgeModelId: r.judgeModelId,
|
|
265
|
+
evaluatorId: r.evaluatorId,
|
|
240
266
|
headers: r.headers,
|
|
241
267
|
createdAt: r.createdAt,
|
|
242
268
|
status: r.status,
|
|
243
269
|
benchmarkVersion: r.benchmarkVersion,
|
|
244
270
|
testCaseSnapshots: r.testCaseSnapshots,
|
|
245
271
|
results: r.results,
|
|
272
|
+
...(r.judgeFailureSummary && { judgeFailureSummary: r.judgeFailureSummary }),
|
|
246
273
|
}));
|
|
247
274
|
console.log('[asyncBenchmarkStorage] Saving updated runs:', storageRuns.length);
|
|
248
275
|
await opensearchBenchmarks.update(benchmarkId, { runs: storageRuns });
|
|
@@ -255,7 +282,7 @@ class AsyncBenchmarkStorage {
|
|
|
255
282
|
*/
|
|
256
283
|
async deleteRun(benchmarkId, runId) {
|
|
257
284
|
try {
|
|
258
|
-
const response = await fetch(
|
|
285
|
+
const response = await fetch(`${STORAGE_API_BASE}/benchmarks/${benchmarkId}/runs/${runId}`, {
|
|
259
286
|
method: 'DELETE',
|
|
260
287
|
});
|
|
261
288
|
if (response.status === 404) {
|
|
@@ -384,7 +411,7 @@ class AsyncBenchmarkStorage {
|
|
|
384
411
|
*/
|
|
385
412
|
async refreshAllStats(benchmarkId) {
|
|
386
413
|
try {
|
|
387
|
-
const response = await fetch(
|
|
414
|
+
const response = await fetch(`${STORAGE_API_BASE}/benchmarks/${benchmarkId}/refresh-all-stats`, {
|
|
388
415
|
method: 'POST',
|
|
389
416
|
});
|
|
390
417
|
if (!response.ok) {
|
|
@@ -405,7 +432,7 @@ class AsyncBenchmarkStorage {
|
|
|
405
432
|
*/
|
|
406
433
|
async refreshRunStats(benchmarkId, runId) {
|
|
407
434
|
try {
|
|
408
|
-
const response = await fetch(
|
|
435
|
+
const response = await fetch(`${STORAGE_API_BASE}/benchmarks/${benchmarkId}/runs/${runId}/refresh-stats`, {
|
|
409
436
|
method: 'POST',
|
|
410
437
|
});
|
|
411
438
|
if (!response.ok) {
|