@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
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { getCategoryFromLabels, getSubcategoryFromLabels } from '../lib/testCaseLabels.js';
|
|
6
|
+
/** True when this run's result counts as a pass for agreement purposes. */
|
|
7
|
+
function isPass(r) {
|
|
8
|
+
return r?.passFailStatus === 'passed';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* True when the run produced *some verdict* we can bucket (pass OR fail).
|
|
12
|
+
* Three shapes count:
|
|
13
|
+
* - a judge verdict (`passFailStatus` passed/failed);
|
|
14
|
+
* - a run-level failure (`status: 'failed'` — the agent errored/crashed on
|
|
15
|
+
* this case, which IS a fail verdict for agreement purposes).
|
|
16
|
+
* NOT a verdict (→ uncovered): missing results, and evaluator-errored
|
|
17
|
+
* reports (`errored: true`, `passFailStatus` cleared — issue #242 keeps
|
|
18
|
+
* "the judge broke" distinct from "the agent failed"; bucketing them as
|
|
19
|
+
* fails would poison All-fail with infrastructure noise).
|
|
20
|
+
*/
|
|
21
|
+
function hasVerdict(r) {
|
|
22
|
+
if (!r || r.status === 'missing')
|
|
23
|
+
return false;
|
|
24
|
+
if (r.passFailStatus === 'passed' || r.passFailStatus === 'failed')
|
|
25
|
+
return true;
|
|
26
|
+
if (r.errored)
|
|
27
|
+
return false;
|
|
28
|
+
return r.status === 'failed';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Partition rows into agreement buckets across the given runs.
|
|
32
|
+
* A row only participates when EVERY selected run has a verdict for it —
|
|
33
|
+
* partially-covered rows go to `uncovered` (they can't agree or disagree).
|
|
34
|
+
*/
|
|
35
|
+
export function partitionByAgreement(rows, runIds) {
|
|
36
|
+
const partition = { allPass: [], allFail: [], split: [], uncovered: [] };
|
|
37
|
+
if (runIds.length === 0)
|
|
38
|
+
return partition;
|
|
39
|
+
for (const row of rows) {
|
|
40
|
+
const results = runIds.map(id => row.results[id]);
|
|
41
|
+
if (results.some(r => !hasVerdict(r))) {
|
|
42
|
+
partition.uncovered.push(row);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const passes = results.filter(r => isPass(r)).length;
|
|
46
|
+
if (passes === runIds.length)
|
|
47
|
+
partition.allPass.push(row);
|
|
48
|
+
else if (passes === 0)
|
|
49
|
+
partition.allFail.push(row);
|
|
50
|
+
else
|
|
51
|
+
partition.split.push(row);
|
|
52
|
+
}
|
|
53
|
+
return partition;
|
|
54
|
+
}
|
|
55
|
+
/** Bucket a single row (same semantics as {@link partitionByAgreement}); null = uncovered. */
|
|
56
|
+
export function bucketRow(row, runIds) {
|
|
57
|
+
const results = runIds.map(id => row.results[id]);
|
|
58
|
+
if (results.some(r => !hasVerdict(r)))
|
|
59
|
+
return null;
|
|
60
|
+
const passes = results.filter(r => isPass(r)).length;
|
|
61
|
+
if (passes === runIds.length)
|
|
62
|
+
return 'allPass';
|
|
63
|
+
if (passes === 0)
|
|
64
|
+
return 'allFail';
|
|
65
|
+
return 'split';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Synthetic bucket names. Parentheses are deliberately outside the
|
|
69
|
+
* name-tag charset (`[\w-]`), so a real benchmark category can never
|
|
70
|
+
* collide with these rollup buckets.
|
|
71
|
+
*/
|
|
72
|
+
export const UNCATEGORIZED = '(uncategorized)';
|
|
73
|
+
/** Rollup bucket for categories with too few cases to be meaningful. */
|
|
74
|
+
export const OTHER_CATEGORY = '(other)';
|
|
75
|
+
/**
|
|
76
|
+
* Extract a row's category.
|
|
77
|
+
* Priority:
|
|
78
|
+
* 1. The `subcategory:<x>` label — the proper, purpose-built tag for this
|
|
79
|
+
* (set via the SDK's `test(name, { labels: ['subcategory:basic'] })`,
|
|
80
|
+
* the JSON/CLI import's `subcategory` field, or the Test Case editor).
|
|
81
|
+
* Prefer this over anything scraped from free text: it's validated,
|
|
82
|
+
* exported/round-tripped, and shown elsewhere in the UI (EvalsPage,
|
|
83
|
+
* BenchmarkEditor) — a real column, not a regex guess.
|
|
84
|
+
* 2. A bracketed tag embedded in the test-case name — a convention older
|
|
85
|
+
* imported benchmarks used before `subcategory` existed (e.g.
|
|
86
|
+
* "qst_0011 [basic] How long is …"). Kept only for benchmarks that
|
|
87
|
+
* predate the `subcategory` field; new imports should set it instead.
|
|
88
|
+
* 3. A `topic:<x>` label (the generic labels system, pre-dates
|
|
89
|
+
* `subcategory` as a dedicated concept).
|
|
90
|
+
* 4. {@link UNCATEGORIZED}.
|
|
91
|
+
* (`category:<x>` labels are intentionally NOT used here: imported benchmarks
|
|
92
|
+
* commonly stamp a single `category:RAG` on every case, which would collapse
|
|
93
|
+
* the breakdown into one column — that's the coarse domain, not this facet.
|
|
94
|
+
* {@link categoryLabelIsUsableFallback} + {@link extractRowCategoryEffective}
|
|
95
|
+
* add `category:` back in, but ONLY for the comparisons where it's actually
|
|
96
|
+
* informative — see their docs.)
|
|
97
|
+
*/
|
|
98
|
+
export function extractRowCategory(row) {
|
|
99
|
+
const subcategory = getSubcategoryFromLabels(row.labels);
|
|
100
|
+
if (subcategory)
|
|
101
|
+
return subcategory.toLowerCase();
|
|
102
|
+
const m = /\[([\w-]+)\]/.exec(row.testCaseName || '');
|
|
103
|
+
if (m)
|
|
104
|
+
return m[1].toLowerCase();
|
|
105
|
+
const topic = (row.labels || []).find(l => l.toLowerCase().startsWith('topic:'));
|
|
106
|
+
if (topic)
|
|
107
|
+
return topic.slice('topic:'.length).toLowerCase();
|
|
108
|
+
return UNCATEGORIZED;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Whether `category:` should be used as a LAST-RESORT fallback facet for
|
|
112
|
+
* this set of rows. True only when, among the rows {@link extractRowCategory}
|
|
113
|
+
* leaves as {@link UNCATEGORIZED} (rows with a real `[bracket]`/`topic:`
|
|
114
|
+
* facet keep using that, whether or not `category:` also varies — one
|
|
115
|
+
* differently-tagged row must not disable the fallback for every OTHER row
|
|
116
|
+
* that has nothing better):
|
|
117
|
+
* 1. There's at least one such row.
|
|
118
|
+
* 2. The `category:` label, normalized the same way {@link
|
|
119
|
+
* extractRowCategoryEffective} returns it (lowercased, so
|
|
120
|
+
* `category:RAG` and `category:rag` count as ONE value, not two —
|
|
121
|
+
* inconsistent casing must not look like variance), has ≥2 distinct
|
|
122
|
+
* values that EACH appear on ≥2 rows. The 2-per-value floor keeps a
|
|
123
|
+
* single stray/typo'd label from flipping this on for what is really a
|
|
124
|
+
* uniform category with one dirty row — that must still resolve to
|
|
125
|
+
* "nothing to facet by", not a real-facet-plus-a-noise-column matrix.
|
|
126
|
+
* A uniformly-stamped `category:RAG` (the case the original "intentionally
|
|
127
|
+
* NOT used" heuristic was written for) stays excluded — falling back to it
|
|
128
|
+
* would add a redundant single-value column to every such comparison,
|
|
129
|
+
* exactly the noise that heuristic was trying to avoid. WixQA-400's
|
|
130
|
+
* `category:expertwritten|simulated` (200/200) is the motivating case where
|
|
131
|
+
* it DOES vary (both values well above the floor) and is genuinely useful.
|
|
132
|
+
* Callers that resolve a per-row category for a set of rows should compute
|
|
133
|
+
* this ONCE for the whole set and pass it to every {@link
|
|
134
|
+
* extractRowCategoryEffective} call, so the matrix, its shared-weakness
|
|
135
|
+
* callout, and the table's click-to-filter all agree on the same facet.
|
|
136
|
+
*/
|
|
137
|
+
export function categoryLabelIsUsableFallback(rows) {
|
|
138
|
+
const uncategorizedRows = rows.filter(r => extractRowCategory(r) === UNCATEGORIZED);
|
|
139
|
+
if (uncategorizedRows.length === 0)
|
|
140
|
+
return false;
|
|
141
|
+
const counts = new Map();
|
|
142
|
+
for (const r of uncategorizedRows) {
|
|
143
|
+
const category = getCategoryFromLabels(r.labels)?.toLowerCase();
|
|
144
|
+
if (category)
|
|
145
|
+
counts.set(category, (counts.get(category) || 0) + 1);
|
|
146
|
+
}
|
|
147
|
+
const distinctMeaningfulValues = Array.from(counts.values()).filter(n => n >= 2).length;
|
|
148
|
+
return distinctMeaningfulValues > 1;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* {@link extractRowCategory}, extended with the `category:` fallback when
|
|
152
|
+
* {@link categoryLabelIsUsableFallback} (computed once per row-set, passed
|
|
153
|
+
* in as `useCategoryFallback`) says it's actually informative for this
|
|
154
|
+
* comparison. Only reached when the base extraction is {@link
|
|
155
|
+
* UNCATEGORIZED} — a real bracket/topic facet always wins.
|
|
156
|
+
*/
|
|
157
|
+
export function extractRowCategoryEffective(row, useCategoryFallback) {
|
|
158
|
+
const base = extractRowCategory(row);
|
|
159
|
+
if (base !== UNCATEGORIZED || !useCategoryFallback)
|
|
160
|
+
return base;
|
|
161
|
+
const category = getCategoryFromLabels(row.labels);
|
|
162
|
+
return category ? category.toLowerCase() : UNCATEGORIZED;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Default minimum case count for a category to get its own column; smaller
|
|
166
|
+
* ones roll up into `other`. Callers with small datasets may lower this —
|
|
167
|
+
* a cell needs enough cases that a single verdict flip doesn't swing it
|
|
168
|
+
* by tens of percentage points.
|
|
169
|
+
*/
|
|
170
|
+
export const MIN_CATEGORY_CASES = 5;
|
|
171
|
+
/** Per-category pass rates per run, with small categories rolled into `other`. */
|
|
172
|
+
export function buildCategoryBreakdown(rows, runIds, minCases = MIN_CATEGORY_CASES) {
|
|
173
|
+
// Raw counts per category (row-level, for rollup decisions)
|
|
174
|
+
const useCategoryFallback = categoryLabelIsUsableFallback(rows);
|
|
175
|
+
const rawTotals = {};
|
|
176
|
+
for (const row of rows) {
|
|
177
|
+
const cat = extractRowCategoryEffective(row, useCategoryFallback);
|
|
178
|
+
rawTotals[cat] = (rawTotals[cat] || 0) + 1;
|
|
179
|
+
}
|
|
180
|
+
const keep = new Set(Object.keys(rawTotals).filter(c => rawTotals[c] >= minCases));
|
|
181
|
+
const resolve = (cat) => (keep.has(cat) ? cat : OTHER_CATEGORY);
|
|
182
|
+
const members = {};
|
|
183
|
+
for (const raw of Object.keys(rawTotals)) {
|
|
184
|
+
const col = resolve(raw);
|
|
185
|
+
(members[col] = members[col] || []).push(raw);
|
|
186
|
+
}
|
|
187
|
+
const perRun = {};
|
|
188
|
+
const totals = {};
|
|
189
|
+
for (const row of rows) {
|
|
190
|
+
const cat = resolve(extractRowCategoryEffective(row, useCategoryFallback));
|
|
191
|
+
totals[cat] = (totals[cat] || 0) + 1;
|
|
192
|
+
for (const runId of runIds) {
|
|
193
|
+
const r = row.results[runId];
|
|
194
|
+
if (!hasVerdict(r))
|
|
195
|
+
continue;
|
|
196
|
+
perRun[runId] = perRun[runId] || {};
|
|
197
|
+
const cell = (perRun[runId][cat] = perRun[runId][cat] || { passed: 0, total: 0 });
|
|
198
|
+
cell.total += 1;
|
|
199
|
+
if (isPass(r))
|
|
200
|
+
cell.passed += 1;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const categories = Object.keys(totals).sort((a, b) => {
|
|
204
|
+
if (a === OTHER_CATEGORY)
|
|
205
|
+
return 1;
|
|
206
|
+
if (b === OTHER_CATEGORY)
|
|
207
|
+
return -1;
|
|
208
|
+
return (totals[b] || 0) - (totals[a] || 0);
|
|
209
|
+
});
|
|
210
|
+
return { categories, perRun, totals, members, usesCategoryFallback: useCategoryFallback };
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Tie tolerance (pp) for the "weakest" claim. Kept at rounding-error level
|
|
214
|
+
* on purpose: the callout says "weakest category", so another category may
|
|
215
|
+
* not be meaningfully lower for any run — a 5pp allowance here would make
|
|
216
|
+
* the copy dishonest.
|
|
217
|
+
*/
|
|
218
|
+
const WEAKEST_TOLERANCE_PP = 1;
|
|
219
|
+
/** Don't flag a shared weakness unless the mean rate is actually weak. */
|
|
220
|
+
const WEAKNESS_MAX_MEAN_RATE = 75;
|
|
221
|
+
/**
|
|
222
|
+
* Detect a category that is the weakest (within {@link WEAKEST_TOLERANCE_PP})
|
|
223
|
+
* for EVERY selected run — the "shared floor". When present, it usually
|
|
224
|
+
* indicates a benchmark/corpus-level problem rather than an agent choice.
|
|
225
|
+
* Returns null when runs disagree about their weakest category or nothing is
|
|
226
|
+
* genuinely weak. `other`/`uncategorized` rollups are never flagged.
|
|
227
|
+
*/
|
|
228
|
+
export function detectSharedWeakness(breakdown, partition, runIds) {
|
|
229
|
+
const candidates = breakdown.categories.filter(c => c !== OTHER_CATEGORY && c !== UNCATEGORIZED);
|
|
230
|
+
if (candidates.length < 2 || runIds.length === 0)
|
|
231
|
+
return null;
|
|
232
|
+
const rate = (runId, cat) => {
|
|
233
|
+
const cell = breakdown.perRun[runId]?.[cat];
|
|
234
|
+
if (!cell || cell.total === 0)
|
|
235
|
+
return null;
|
|
236
|
+
return (cell.passed / cell.total) * 100;
|
|
237
|
+
};
|
|
238
|
+
// Mean-weakest candidate across runs.
|
|
239
|
+
let best = null;
|
|
240
|
+
for (const cat of candidates) {
|
|
241
|
+
const rates = runIds.map(id => rate(id, cat)).filter((x) => x !== null);
|
|
242
|
+
if (rates.length !== runIds.length)
|
|
243
|
+
continue; // needs coverage in every run
|
|
244
|
+
const mean = rates.reduce((a, b) => a + b, 0) / rates.length;
|
|
245
|
+
if (!best || mean < best.mean)
|
|
246
|
+
best = { cat, mean };
|
|
247
|
+
}
|
|
248
|
+
if (!best || best.mean >= WEAKNESS_MAX_MEAN_RATE)
|
|
249
|
+
return null;
|
|
250
|
+
// It must be every run's weakest category (within tolerance).
|
|
251
|
+
for (const runId of runIds) {
|
|
252
|
+
const candidateRate = rate(runId, best.cat);
|
|
253
|
+
if (candidateRate === null)
|
|
254
|
+
return null;
|
|
255
|
+
for (const cat of candidates) {
|
|
256
|
+
if (cat === best.cat)
|
|
257
|
+
continue;
|
|
258
|
+
const r = rate(runId, cat);
|
|
259
|
+
if (r !== null && r < candidateRate - WEAKEST_TOLERANCE_PP)
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
const rates = {};
|
|
264
|
+
for (const runId of runIds)
|
|
265
|
+
rates[runId] = Math.round(rate(runId, best.cat));
|
|
266
|
+
const allFailInCat = partition.allFail.filter(row => extractRowCategoryEffective(row, breakdown.usesCategoryFallback) === best.cat).length;
|
|
267
|
+
const allFailShare = partition.allFail.length > 0 ? allFailInCat / partition.allFail.length : 0;
|
|
268
|
+
return { category: best.cat, rates, allFailShare };
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=comparisonInsights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparisonInsights.js","sourceRoot":"","sources":["../../comparisonInsights.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../config/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAIV,cAAc,EACd,oBAAoB,EACpB,cAAc,EAIf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,oBAInC,CAAC;AAWF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,GAAG,IAAI,CASjF;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../config/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAIV,cAAc,EACd,oBAAoB,EACpB,cAAc,EAIf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,oBAInC,CAAC;AAWF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,GAAG,IAAI,CASjF;AAoKD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,EAC3B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,cAAc,CAAC,CAqCzB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,CAmB1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,GAAG,IAAI,CAEpF"}
|
|
@@ -65,6 +65,11 @@ function toAgentConfig(userAgent) {
|
|
|
65
65
|
enabled: userAgent.enabled ?? true,
|
|
66
66
|
headers: userAgent.headers ?? {},
|
|
67
67
|
useTraces: userAgent.useTraces ?? false,
|
|
68
|
+
// Trace-correlation fields — dropping these silently broke per-agent
|
|
69
|
+
// service-window correlation (fell back to protocol defaults, colliding
|
|
70
|
+
// with other emitters) and per-agent poll budgets (fell back to 60×10s).
|
|
71
|
+
traceServiceName: userAgent.traceServiceName,
|
|
72
|
+
tracePolling: userAgent.tracePolling,
|
|
68
73
|
connectorType: userAgent.connectorType,
|
|
69
74
|
connectorConfig: userAgent.connectorConfig,
|
|
70
75
|
hooks: userAgent.hooks,
|
|
@@ -174,7 +179,17 @@ async function loadUserConfig(configPath) {
|
|
|
174
179
|
}
|
|
175
180
|
catch (error) {
|
|
176
181
|
const message = error instanceof Error ? error.message : String(error);
|
|
177
|
-
|
|
182
|
+
let helpText = '';
|
|
183
|
+
// Improved error messages for common issues. Deliberately checks the
|
|
184
|
+
// literal word 'tsconfig' below (not a bare 'TS' substring, which would
|
|
185
|
+
// false-positive on unrelated messages containing those two letters).
|
|
186
|
+
if (message.includes('ERR_MODULE_NOT_FOUND') || message.includes('Cannot find')) {
|
|
187
|
+
helpText = `\n\n Ensure your cwd package.json has: {\"type\":\"module\"}`;
|
|
188
|
+
}
|
|
189
|
+
if (message.includes('tsconfig')) {
|
|
190
|
+
helpText = `\n\n Set TSX_TSCONFIG_PATH to your tsconfig.json location, e.g.:\n TSX_TSCONFIG_PATH=/path/to/agent-health/tsconfig.json npx @opensearch-project/agent-health`;
|
|
191
|
+
}
|
|
192
|
+
throw new Error(`Failed to load config file ${configPath}: ${message}${helpText}`);
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
195
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../config/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,19 @@ export interface UserAgentConfig {
|
|
|
16
16
|
enabled?: boolean;
|
|
17
17
|
headers?: Record<string, string>;
|
|
18
18
|
useTraces?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* OTel `service.name` this agent's spans are emitted under — used by the
|
|
21
|
+
* trace poller / Traces tab for service-window correlation (Strategy C).
|
|
22
|
+
* Without it, correlation falls back to the connector-protocol default
|
|
23
|
+
* (e.g. `pi-agent`), which can collide with OTHER emitters sharing that
|
|
24
|
+
* service name on the same observability cluster.
|
|
25
|
+
*/
|
|
26
|
+
traceServiceName?: string;
|
|
27
|
+
/** Trace-poll overrides (attempts × interval) for slow ingestion pipelines. */
|
|
28
|
+
tracePolling?: {
|
|
29
|
+
maxAttempts?: number;
|
|
30
|
+
intervalMs?: number;
|
|
31
|
+
};
|
|
19
32
|
connectorType?: ConnectorProtocol;
|
|
20
33
|
connectorConfig?: Record<string, any>;
|
|
21
34
|
hooks?: AgentHooks;
|
|
@@ -106,6 +119,7 @@ export interface ResolvedServerConfig {
|
|
|
106
119
|
port: number;
|
|
107
120
|
reuseExistingServer: boolean;
|
|
108
121
|
startTimeout: number;
|
|
122
|
+
readOnly?: boolean;
|
|
109
123
|
}
|
|
110
124
|
/**
|
|
111
125
|
* User configuration file structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../config/types.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,CAAC,SAAS,CAAC,GACX,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;IAC7G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,YAAY,GAAG,aAAa,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,17 @@ export declare const VALID_CONNECTOR_TYPES: ConnectorProtocol[];
|
|
|
15
15
|
export declare const BROWSER_SAFE_CONNECTORS: ConnectorProtocol[];
|
|
16
16
|
/** Keys of built-in agents shipped with the tool. */
|
|
17
17
|
export declare const BUILT_IN_AGENT_KEYS: Set<string>;
|
|
18
|
+
/**
|
|
19
|
+
* True when an agent is one of the tool's shipped built-ins — as opposed to an
|
|
20
|
+
* agent authored in agent-health.config.ts or a UI-added custom endpoint.
|
|
21
|
+
* Prefers the server-computed `builtIn` flag (from /api/agents); falls back to
|
|
22
|
+
* BUILT_IN_AGENT_KEYS for the hardcoded defaults used before refreshConfig().
|
|
23
|
+
*/
|
|
24
|
+
export declare function isBuiltInAgent(a: {
|
|
25
|
+
key: string;
|
|
26
|
+
builtIn?: boolean;
|
|
27
|
+
isCustom?: boolean;
|
|
28
|
+
}): boolean;
|
|
18
29
|
/**
|
|
19
30
|
* Ordered list of preferred default agent keys, used when picking an initial
|
|
20
31
|
* agent for popups/forms (e.g. QuickRunModal). The first entry that exists in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAGpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CA8C5E,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,EAAuC,iBAAiB,EAAE,CAAC;AAE7F,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,qBAEZ,CAAC;AAEzB,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAGpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CA8C5E,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,EAAuC,iBAAiB,EAAE,CAAC;AAE7F,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,qBAEZ,CAAC;AAEzB,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,aAAkF,CAAC;AAEnH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAEjG;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,+BAAgC,CAAC;AAE1E;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAiCD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAe3E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAwK5B,CAAC;AAEF,eAAO,MAAM,UAAU;;;GAStB,CAAC;AAEF;;GAEG;AACH,eAAO,IAAI,UAAU,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAE3F,CAAC;AAEF;;;;GAIG;AACH,KAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAGvC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAGhF;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BnD"}
|
|
@@ -57,7 +57,16 @@ export const BROWSER_SAFE_CONNECTORS = Object.entries(CONNECTOR_TYPE_INFO)
|
|
|
57
57
|
.filter(([, info]) => !info.serverOnly)
|
|
58
58
|
.map(([type]) => type);
|
|
59
59
|
/** Keys of built-in agents shipped with the tool. */
|
|
60
|
-
export const BUILT_IN_AGENT_KEYS = new Set(['demo', 'observio', 'claude-code', 'strands', 'langgraph-rest']);
|
|
60
|
+
export const BUILT_IN_AGENT_KEYS = new Set(['demo', 'observio', 'claude-code', 'strands', 'pi', 'langgraph-rest']);
|
|
61
|
+
/**
|
|
62
|
+
* True when an agent is one of the tool's shipped built-ins — as opposed to an
|
|
63
|
+
* agent authored in agent-health.config.ts or a UI-added custom endpoint.
|
|
64
|
+
* Prefers the server-computed `builtIn` flag (from /api/agents); falls back to
|
|
65
|
+
* BUILT_IN_AGENT_KEYS for the hardcoded defaults used before refreshConfig().
|
|
66
|
+
*/
|
|
67
|
+
export function isBuiltInAgent(a) {
|
|
68
|
+
return (a.builtIn ?? BUILT_IN_AGENT_KEYS.has(a.key)) && !a.isCustom;
|
|
69
|
+
}
|
|
61
70
|
/**
|
|
62
71
|
* Ordered list of preferred default agent keys, used when picking an initial
|
|
63
72
|
* agent for popups/forms (e.g. QuickRunModal). The first entry that exists in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY1C,MAAM,CAAC,MAAM,mBAAmB,GAAiD;IAC/E,gBAAgB,EAAE;QAChB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,0EAA0E;QACvF,UAAU,EAAE,KAAK;KAClB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,sEAAsE;QACnF,UAAU,EAAE,KAAK;KAClB;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,+FAA+F;QAC5G,UAAU,EAAE,KAAK;KAClB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,uFAAuF;QACpG,UAAU,EAAE,IAAI;KACjB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qFAAqF;QAClG,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,+FAA+F;QAC5G,UAAU,EAAE,IAAI;KACjB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE,KAAK;KAClB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,2DAA2D;QACxE,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAwB,CAAC;AAE7F,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAA8C;KACrH,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;KACtC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAEzB,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure formatting helper for `AgentContextItem.value` (types/index.ts):
|
|
3
|
+
* test-case context entries are persisted as an opaque string, but in
|
|
4
|
+
* practice the vast majority are JSON blobs (OpenSearch query bodies, alert
|
|
5
|
+
* payloads, etc.) — see the "Detect Error Codes" test case whose context
|
|
6
|
+
* renders as a raw truncated one-liner like
|
|
7
|
+
* `{"appId":"explore","timeRange":{"from":"now-15m",...` today.
|
|
8
|
+
*
|
|
9
|
+
* `formatContextValue()` detects that case and returns a pretty-printed
|
|
10
|
+
* (2-space indent), untruncated string for structural JSON, while leaving
|
|
11
|
+
* plain-text context (free-form notes, log lines, etc.) untouched. Kept as
|
|
12
|
+
* a standalone pure function — no React, no Prism — so it's trivial to
|
|
13
|
+
* unit test in isolation from the DOM/highlighting concerns that live in
|
|
14
|
+
* `components/evals3/ContextValueView.tsx`.
|
|
15
|
+
*/
|
|
16
|
+
export interface FormattedContextValue {
|
|
17
|
+
/** True when `value` parsed as a JSON object or array. */
|
|
18
|
+
isJson: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* `JSON.stringify(parsed, null, 2)` when `isJson`, otherwise the original
|
|
21
|
+
* `value` unchanged (and un-truncated).
|
|
22
|
+
*/
|
|
23
|
+
pretty: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function formatContextValue(value: string): FormattedContextValue;
|
|
26
|
+
//# sourceMappingURL=contextFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextFormat.d.ts","sourceRoot":"","sources":["../../contextFormat.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAwBvE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright OpenSearch Contributors
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
export function formatContextValue(value) {
|
|
6
|
+
if (typeof value !== 'string' || value.trim() === '') {
|
|
7
|
+
return { isJson: false, pretty: value ?? '' };
|
|
8
|
+
}
|
|
9
|
+
let parsed;
|
|
10
|
+
try {
|
|
11
|
+
parsed = JSON.parse(value);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// Not valid JSON (plain text, a log line, unquoted keys, etc.) — render
|
|
15
|
+
// verbatim rather than guessing at a "fix".
|
|
16
|
+
return { isJson: false, pretty: value };
|
|
17
|
+
}
|
|
18
|
+
// Bare JSON primitives (a quoted string, a number, a boolean, null) parse
|
|
19
|
+
// successfully but pretty-printing them buys nothing over the raw value —
|
|
20
|
+
// reserve the structural JSON treatment (indentation, syntax highlight,
|
|
21
|
+
// collapsible block) for objects/arrays, which is what actually renders
|
|
22
|
+
// as an unreadable one-liner today.
|
|
23
|
+
if (parsed === null || typeof parsed !== 'object') {
|
|
24
|
+
return { isJson: false, pretty: value };
|
|
25
|
+
}
|
|
26
|
+
return { isJson: true, pretty: JSON.stringify(parsed, null, 2) };
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=contextFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextFormat.js","sourceRoot":"","sources":["../../contextFormat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,4CAA4C;QAC5C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,oCAAoC;IACpC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC"}
|
|
@@ -77,11 +77,20 @@ export declare function getUniqueAgents(benchmarks: Benchmark[]): Array<{
|
|
|
77
77
|
name: string;
|
|
78
78
|
}>;
|
|
79
79
|
/**
|
|
80
|
-
* Color palette for agents (matches existing chart patterns)
|
|
80
|
+
* Color palette for agents (matches existing chart patterns).
|
|
81
|
+
* Explicit overrides win; everything else resolves via a deterministic
|
|
82
|
+
* hash below so every chart that colors dots/lines/badges by agent (the
|
|
83
|
+
* Agent Trends dot plot included) shares ONE consistent, app-wide mapping.
|
|
81
84
|
*/
|
|
82
85
|
export declare const AGENT_COLORS: Record<string, string>;
|
|
83
86
|
/**
|
|
84
|
-
* Get color for an agent key
|
|
87
|
+
* Get color for an agent key. Deterministic per key via a simple string
|
|
88
|
+
* hash into `AGENT_COLOR_PALETTE` — NOT a sorted-index assignment, on
|
|
89
|
+
* purpose: an index-based scheme reassigns colors as the visible agent
|
|
90
|
+
* set changes (e.g. narrowing a benchmark filter from 14 agents to 3
|
|
91
|
+
* shifts everyone's index), so the SAME agent could render a different
|
|
92
|
+
* color depending on what else happens to be in scope. A hash of the key
|
|
93
|
+
* itself is stable everywhere, independent of any other agent's presence.
|
|
85
94
|
*/
|
|
86
95
|
export declare function getAgentColor(agentKey: string): string;
|
|
87
96
|
//# sourceMappingURL=dashboardMetrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboardMetrics.d.ts","sourceRoot":"","sources":["../../dashboardMetrics.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAuBpE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAM/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK5D;AAkBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAChF,OAAO,CAAC,EAAE,eAAe,EACzB,SAAS,GAAE,SAAgB,GAC1B,cAAc,EAAE,CAiGlB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/E,qBAAqB,EAAE,CA+FzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAa7F;AAED
|
|
1
|
+
{"version":3,"file":"dashboardMetrics.d.ts","sourceRoot":"","sources":["../../dashboardMetrics.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAuBpE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAM/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK5D;AAkBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAChF,OAAO,CAAC,EAAE,eAAe,EACzB,SAAS,GAAE,SAAgB,GAC1B,cAAc,EAAE,CAiGlB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/E,qBAAqB,EAAE,CA+FzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAa7F;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE/C,CAAC;AAuBF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtD"}
|