@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.
Files changed (230) hide show
  1. package/README.md +1 -0
  2. package/cli/dist/index.js +2325 -961
  3. package/dist/assets/index-D-Np_l_T.js +246 -0
  4. package/dist/assets/index-vZt9QZKf.css +1 -0
  5. package/dist/index.html +2 -2
  6. package/docs/CLI.md +183 -3
  7. package/docs/CONFIGURATION.md +1 -1
  8. package/docs/CONNECTORS.md +1 -1
  9. package/docs/INSTRUMENT_WITH_OTEL.md +7 -0
  10. package/docs/SDK.md +178 -5
  11. package/docs/STORAGE_INDEX_FIELD_LIMITS.md +216 -0
  12. package/docs/skills/AGENT_HEALTH.md +55 -1
  13. package/docs/skills/add-connector/SKILL.md +5 -1
  14. package/examples/eval-files/demo.eval.js +1 -1
  15. package/examples/eval-files/ops-rca-classification.eval.js +71 -0
  16. package/examples/eval-files/ops-rca-evaluator.json +15 -0
  17. package/examples/eval-files/sdk-demo.eval.js +72 -0
  18. package/examples/eval-files/sdk-describe-demo.eval.js +50 -0
  19. package/examples/eval-files/sdk-hooks-demo.eval.js +1 -1
  20. package/lib/dist/lib/agentTrends.d.ts +210 -0
  21. package/lib/dist/lib/agentTrends.d.ts.map +1 -0
  22. package/lib/dist/lib/agentTrends.js +360 -0
  23. package/lib/dist/lib/agentTrends.js.map +1 -0
  24. package/lib/dist/lib/bedrockCompat.d.ts +27 -0
  25. package/lib/dist/lib/bedrockCompat.d.ts.map +1 -0
  26. package/lib/dist/lib/bedrockCompat.js +83 -0
  27. package/lib/dist/lib/bedrockCompat.js.map +1 -0
  28. package/lib/dist/lib/benchmarkCaseReview.d.ts +114 -0
  29. package/lib/dist/lib/benchmarkCaseReview.d.ts.map +1 -0
  30. package/lib/dist/lib/benchmarkCaseReview.js +177 -0
  31. package/lib/dist/lib/benchmarkCaseReview.js.map +1 -0
  32. package/lib/dist/lib/benchmarkImage.d.ts +52 -0
  33. package/lib/dist/lib/benchmarkImage.d.ts.map +1 -0
  34. package/lib/dist/lib/benchmarkImage.js +113 -0
  35. package/lib/dist/lib/benchmarkImage.js.map +1 -0
  36. package/lib/dist/lib/benchmarkRunsTable.d.ts +109 -0
  37. package/lib/dist/lib/benchmarkRunsTable.d.ts.map +1 -0
  38. package/lib/dist/lib/benchmarkRunsTable.js +212 -0
  39. package/lib/dist/lib/benchmarkRunsTable.js.map +1 -0
  40. package/lib/dist/lib/benchmarkVersionUtils.d.ts +13 -0
  41. package/lib/dist/lib/benchmarkVersionUtils.d.ts.map +1 -1
  42. package/lib/dist/lib/benchmarkVersionUtils.js +21 -0
  43. package/lib/dist/lib/benchmarkVersionUtils.js.map +1 -1
  44. package/lib/dist/lib/chunkedFetch.d.ts +18 -0
  45. package/lib/dist/lib/chunkedFetch.d.ts.map +1 -0
  46. package/lib/dist/lib/chunkedFetch.js +40 -0
  47. package/lib/dist/lib/chunkedFetch.js.map +1 -0
  48. package/lib/dist/lib/comparisonInsights.d.ts +151 -0
  49. package/lib/dist/lib/comparisonInsights.d.ts.map +1 -0
  50. package/lib/dist/lib/comparisonInsights.js +270 -0
  51. package/lib/dist/lib/comparisonInsights.js.map +1 -0
  52. package/lib/dist/lib/config/loader.d.ts.map +1 -1
  53. package/lib/dist/lib/config/loader.js +16 -1
  54. package/lib/dist/lib/config/loader.js.map +1 -1
  55. package/lib/dist/lib/config/types.d.ts +14 -0
  56. package/lib/dist/lib/config/types.d.ts.map +1 -1
  57. package/lib/dist/lib/constants.d.ts +11 -0
  58. package/lib/dist/lib/constants.d.ts.map +1 -1
  59. package/lib/dist/lib/constants.js +10 -1
  60. package/lib/dist/lib/constants.js.map +1 -1
  61. package/lib/dist/lib/contextFormat.d.ts +26 -0
  62. package/lib/dist/lib/contextFormat.d.ts.map +1 -0
  63. package/lib/dist/lib/contextFormat.js +28 -0
  64. package/lib/dist/lib/contextFormat.js.map +1 -0
  65. package/lib/dist/lib/dashboardMetrics.d.ts +11 -2
  66. package/lib/dist/lib/dashboardMetrics.d.ts.map +1 -1
  67. package/lib/dist/lib/dashboardMetrics.js +38 -3
  68. package/lib/dist/lib/dashboardMetrics.js.map +1 -1
  69. package/lib/dist/lib/envCompat.d.ts.map +1 -1
  70. package/lib/dist/lib/envCompat.js +14 -5
  71. package/lib/dist/lib/envCompat.js.map +1 -1
  72. package/lib/dist/lib/evaluationRerun.d.ts +102 -0
  73. package/lib/dist/lib/evaluationRerun.d.ts.map +1 -0
  74. package/lib/dist/lib/evaluationRerun.js +134 -0
  75. package/lib/dist/lib/evaluationRerun.js.map +1 -0
  76. package/lib/dist/lib/judgeFailureSummary.d.ts +66 -0
  77. package/lib/dist/lib/judgeFailureSummary.d.ts.map +1 -0
  78. package/lib/dist/lib/judgeFailureSummary.js +68 -0
  79. package/lib/dist/lib/judgeFailureSummary.js.map +1 -0
  80. package/lib/dist/lib/judgeStrategies.d.ts +108 -0
  81. package/lib/dist/lib/judgeStrategies.d.ts.map +1 -0
  82. package/lib/dist/lib/judgeStrategies.js +135 -0
  83. package/lib/dist/lib/judgeStrategies.js.map +1 -0
  84. package/lib/dist/lib/matchers/expect.d.ts +21 -1
  85. package/lib/dist/lib/matchers/expect.d.ts.map +1 -1
  86. package/lib/dist/lib/matchers/expect.js +51 -0
  87. package/lib/dist/lib/matchers/expect.js.map +1 -1
  88. package/lib/dist/lib/matchers/judgeAccessor.d.ts +4 -0
  89. package/lib/dist/lib/matchers/judgeAccessor.d.ts.map +1 -1
  90. package/lib/dist/lib/matchers/judgeAccessor.js +13 -2
  91. package/lib/dist/lib/matchers/judgeAccessor.js.map +1 -1
  92. package/lib/dist/lib/matchers/judgeReasoningParse.d.ts +49 -0
  93. package/lib/dist/lib/matchers/judgeReasoningParse.d.ts.map +1 -0
  94. package/lib/dist/lib/matchers/judgeReasoningParse.js +128 -0
  95. package/lib/dist/lib/matchers/judgeReasoningParse.js.map +1 -0
  96. package/lib/dist/lib/matchers/traces.d.ts +17 -2
  97. package/lib/dist/lib/matchers/traces.d.ts.map +1 -1
  98. package/lib/dist/lib/matchers/traces.js +136 -16
  99. package/lib/dist/lib/matchers/traces.js.map +1 -1
  100. package/lib/dist/lib/matchers/tracesPricing.d.ts +38 -0
  101. package/lib/dist/lib/matchers/tracesPricing.d.ts.map +1 -0
  102. package/lib/dist/lib/matchers/tracesPricing.js +64 -0
  103. package/lib/dist/lib/matchers/tracesPricing.js.map +1 -0
  104. package/lib/dist/lib/matchers/types.d.ts +25 -0
  105. package/lib/dist/lib/matchers/types.d.ts.map +1 -1
  106. package/lib/dist/lib/resolveCanonicalRun.d.ts +23 -0
  107. package/lib/dist/lib/resolveCanonicalRun.d.ts.map +1 -0
  108. package/lib/dist/lib/resolveCanonicalRun.js +26 -0
  109. package/lib/dist/lib/resolveCanonicalRun.js.map +1 -0
  110. package/lib/dist/lib/runActions.d.ts +120 -0
  111. package/lib/dist/lib/runActions.d.ts.map +1 -0
  112. package/lib/dist/lib/runActions.js +130 -0
  113. package/lib/dist/lib/runActions.js.map +1 -0
  114. package/lib/dist/lib/runInsights.d.ts +86 -0
  115. package/lib/dist/lib/runInsights.d.ts.map +1 -0
  116. package/lib/dist/lib/runInsights.js +185 -0
  117. package/lib/dist/lib/runInsights.js.map +1 -0
  118. package/lib/dist/lib/runName.d.ts +29 -0
  119. package/lib/dist/lib/runName.d.ts.map +1 -0
  120. package/lib/dist/lib/runName.js +38 -0
  121. package/lib/dist/lib/runName.js.map +1 -0
  122. package/lib/dist/lib/runReportPath.d.ts +16 -0
  123. package/lib/dist/lib/runReportPath.d.ts.map +1 -0
  124. package/lib/dist/lib/runReportPath.js +22 -0
  125. package/lib/dist/lib/runReportPath.js.map +1 -0
  126. package/lib/dist/lib/runSort.d.ts +27 -0
  127. package/lib/dist/lib/runSort.d.ts.map +1 -0
  128. package/lib/dist/lib/runSort.js +31 -0
  129. package/lib/dist/lib/runSort.js.map +1 -0
  130. package/lib/dist/lib/runStats.d.ts +109 -5
  131. package/lib/dist/lib/runStats.d.ts.map +1 -1
  132. package/lib/dist/lib/runStats.js +193 -10
  133. package/lib/dist/lib/runStats.js.map +1 -1
  134. package/lib/dist/lib/testCases/define.d.ts.map +1 -1
  135. package/lib/dist/lib/testCases/define.js +93 -46
  136. package/lib/dist/lib/testCases/define.js.map +1 -1
  137. package/lib/dist/lib/testCases/judge.d.ts.map +1 -1
  138. package/lib/dist/lib/testCases/judge.js +22 -4
  139. package/lib/dist/lib/testCases/judge.js.map +1 -1
  140. package/lib/dist/lib/testCases/loader.d.ts +35 -1
  141. package/lib/dist/lib/testCases/loader.d.ts.map +1 -1
  142. package/lib/dist/lib/testCases/loader.js +278 -31
  143. package/lib/dist/lib/testCases/loader.js.map +1 -1
  144. package/lib/dist/lib/trajectoryStepDisplay.d.ts +25 -0
  145. package/lib/dist/lib/trajectoryStepDisplay.d.ts.map +1 -0
  146. package/lib/dist/lib/trajectoryStepDisplay.js +42 -0
  147. package/lib/dist/lib/trajectoryStepDisplay.js.map +1 -0
  148. package/lib/dist/lib/utils.d.ts +34 -0
  149. package/lib/dist/lib/utils.d.ts.map +1 -1
  150. package/lib/dist/lib/utils.js +49 -0
  151. package/lib/dist/lib/utils.js.map +1 -1
  152. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts +68 -22
  153. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts.map +1 -1
  154. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js +148 -111
  155. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js.map +1 -1
  156. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts +21 -13
  157. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts.map +1 -1
  158. package/lib/dist/services/connectors/kiro/KiroConnector.js +22 -25
  159. package/lib/dist/services/connectors/kiro/KiroConnector.js.map +1 -1
  160. package/lib/dist/services/connectors/pi/PiConnector.d.ts +49 -10
  161. package/lib/dist/services/connectors/pi/PiConnector.d.ts.map +1 -1
  162. package/lib/dist/services/connectors/pi/PiConnector.js +102 -86
  163. package/lib/dist/services/connectors/pi/PiConnector.js.map +1 -1
  164. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts +59 -14
  165. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts.map +1 -1
  166. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js +95 -61
  167. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js.map +1 -1
  168. package/lib/dist/services/evaluation/bedrockJudge.d.ts +18 -0
  169. package/lib/dist/services/evaluation/bedrockJudge.d.ts.map +1 -1
  170. package/lib/dist/services/evaluation/bedrockJudge.js +4 -0
  171. package/lib/dist/services/evaluation/bedrockJudge.js.map +1 -1
  172. package/lib/dist/services/evaluation/index.d.ts +18 -1
  173. package/lib/dist/services/evaluation/index.d.ts.map +1 -1
  174. package/lib/dist/services/evaluation/index.js +156 -19
  175. package/lib/dist/services/evaluation/index.js.map +1 -1
  176. package/lib/dist/services/metrics.d.ts +55 -0
  177. package/lib/dist/services/metrics.d.ts.map +1 -0
  178. package/lib/dist/services/metrics.js +89 -0
  179. package/lib/dist/services/metrics.js.map +1 -0
  180. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts +1 -1
  181. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts.map +1 -1
  182. package/lib/dist/services/storage/asyncBenchmarkStorage.js +30 -3
  183. package/lib/dist/services/storage/asyncBenchmarkStorage.js.map +1 -1
  184. package/lib/dist/services/storage/asyncRunStorage.d.ts +20 -1
  185. package/lib/dist/services/storage/asyncRunStorage.d.ts.map +1 -1
  186. package/lib/dist/services/storage/asyncRunStorage.js +125 -2
  187. package/lib/dist/services/storage/asyncRunStorage.js.map +1 -1
  188. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts +18 -4
  189. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts.map +1 -1
  190. package/lib/dist/services/storage/asyncTestCaseStorage.js +21 -4
  191. package/lib/dist/services/storage/asyncTestCaseStorage.js.map +1 -1
  192. package/lib/dist/services/storage/opensearchClient.d.ts +47 -12
  193. package/lib/dist/services/storage/opensearchClient.d.ts.map +1 -1
  194. package/lib/dist/services/storage/opensearchClient.js +12 -5
  195. package/lib/dist/services/storage/opensearchClient.js.map +1 -1
  196. package/lib/dist/services/traces/browserRecovery.d.ts +12 -1
  197. package/lib/dist/services/traces/browserRecovery.d.ts.map +1 -1
  198. package/lib/dist/services/traces/browserRecovery.js +35 -5
  199. package/lib/dist/services/traces/browserRecovery.js.map +1 -1
  200. package/lib/dist/services/traces/index.d.ts +8 -1
  201. package/lib/dist/services/traces/index.d.ts.map +1 -1
  202. package/lib/dist/services/traces/index.js +33 -12
  203. package/lib/dist/services/traces/index.js.map +1 -1
  204. package/lib/dist/services/traces/judgeAgentsHints.d.ts +98 -3
  205. package/lib/dist/services/traces/judgeAgentsHints.d.ts.map +1 -1
  206. package/lib/dist/services/traces/judgeAgentsHints.js +144 -3
  207. package/lib/dist/services/traces/judgeAgentsHints.js.map +1 -1
  208. package/lib/dist/services/traces/messageExtraction.d.ts.map +1 -1
  209. package/lib/dist/services/traces/messageExtraction.js +95 -33
  210. package/lib/dist/services/traces/messageExtraction.js.map +1 -1
  211. package/lib/dist/services/traces/spansToTrajectory.d.ts.map +1 -1
  212. package/lib/dist/services/traces/spansToTrajectory.js +51 -13
  213. package/lib/dist/services/traces/spansToTrajectory.js.map +1 -1
  214. package/lib/dist/services/traces/tracePoller.d.ts +27 -3
  215. package/lib/dist/services/traces/tracePoller.d.ts.map +1 -1
  216. package/lib/dist/services/traces/tracePoller.js +196 -33
  217. package/lib/dist/services/traces/tracePoller.js.map +1 -1
  218. package/lib/dist/services/traces/trajectoryMerge.d.ts +79 -0
  219. package/lib/dist/services/traces/trajectoryMerge.d.ts.map +1 -0
  220. package/lib/dist/services/traces/trajectoryMerge.js +109 -0
  221. package/lib/dist/services/traces/trajectoryMerge.js.map +1 -0
  222. package/lib/dist/types/index.d.ts +250 -3
  223. package/lib/dist/types/index.d.ts.map +1 -1
  224. package/lib/dist/types/index.js +24 -0
  225. package/lib/dist/types/index.js.map +1 -1
  226. package/package.json +8 -5
  227. package/server/dist/app.js +5490 -1557
  228. package/server/dist/index.js +5490 -1557
  229. package/dist/assets/index-CCQRDlO0.js +0 -243
  230. 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
- const gates = matcherResults.filter(m => m.role !== 'observe' && !m.errored);
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
- const judgment = await callBedrockJudge(fullTrajectory, {
372
- expectedOutcomes: testCase.expectedOutcomes,
373
- expectedTrajectory: testCase.expectedTrajectory,
374
- }, undefined, // No logs in direct connector mode
375
- (chunk) => debug('Eval', 'Judge progress:', chunk.slice(0, 100)), judgeModelId, evaluatorId,
376
- // Forward agent runId so the `agent` (trace) judge provider can
377
- // scope its query_spans/query_logs tools. See callBedrockJudge.
378
- agentRunId || undefined,
379
- // Strategy C correlation hints (#264) so the trace judge tool can
380
- // find spans the agent emits under its OWN correlation (claude-code
381
- // session ids etc.), not just spans matching agent-health's runId
382
- // via gen_ai.request.id.
383
- buildJudgeAgentsHints({
384
- agentKey: agent.key,
385
- connectorProtocol: agent.connectorType,
386
- timestamp: new Date().toISOString(),
387
- performanceMetrics: { durationMs: Date.now() - evalStartTime, agentDurationMs },
388
- }, agent.traceServiceName));
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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"}
@@ -65,7 +65,7 @@ declare class AsyncBenchmarkStorage {
65
65
  */
66
66
  bulkCreate(benchmarks: Benchmark[]): Promise<{
67
67
  created: number;
68
- errors: boolean;
68
+ errors: number;
69
69
  }>;
70
70
  /**
71
71
  * Update benchmark metadata only (name, description) - no version change
@@ -1 +1 @@
1
- {"version":3,"file":"asyncBenchmarkStorage.d.ts","sourceRoot":"","sources":["../../../../services/storage/asyncBenchmarkStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncBenchmarkStorage.d.ts","sourceRoot":"","sources":["../../../../services/storage/asyncBenchmarkStorage.ts"],"names":[],"mappings":"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"}
@@ -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(`/api/storage/benchmarks/${benchmarkId}/runs/${runId}`, {
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(`/api/storage/benchmarks/${benchmarkId}/refresh-all-stats`, {
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(`/api/storage/benchmarks/${benchmarkId}/runs/${runId}/refresh-stats`, {
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) {