oh-my-knowledge 0.28.0 → 0.30.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 +49 -3
- package/README.zh.md +49 -3
- package/dist/src/analysis/failure-clusterer.js +1 -1
- package/dist/src/analysis/failure-clusterer.js.map +1 -1
- package/dist/src/analysis/gap-analyzer.d.ts +8 -1
- package/dist/src/analysis/gap-analyzer.d.ts.map +1 -1
- package/dist/src/analysis/gap-analyzer.js +65 -33
- package/dist/src/analysis/gap-analyzer.js.map +1 -1
- package/dist/src/analysis/report-diagnostics.js +2 -0
- package/dist/src/analysis/report-diagnostics.js.map +1 -1
- package/dist/src/analysis/sample-diagnostics.js +14 -14
- package/dist/src/analysis/sample-diagnostics.js.map +1 -1
- package/dist/src/authoring/evolver.d.ts +7 -1
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +8 -5
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/authoring/generator.d.ts +21 -23
- package/dist/src/authoring/generator.d.ts.map +1 -1
- package/dist/src/authoring/generator.js +621 -40
- package/dist/src/authoring/generator.js.map +1 -1
- package/dist/src/authoring/sample-fixer.d.ts +45 -0
- package/dist/src/authoring/sample-fixer.d.ts.map +1 -0
- package/dist/src/authoring/sample-fixer.js +186 -0
- package/dist/src/authoring/sample-fixer.js.map +1 -0
- package/dist/src/cli/commands/evolve.d.ts.map +1 -1
- package/dist/src/cli/commands/evolve.js +17 -0
- package/dist/src/cli/commands/evolve.js.map +1 -1
- package/dist/src/cli/commands/observe.d.ts.map +1 -1
- package/dist/src/cli/commands/observe.js +170 -0
- package/dist/src/cli/commands/observe.js.map +1 -1
- package/dist/src/cli/commands/registry.d.ts.map +1 -1
- package/dist/src/cli/commands/registry.js +9 -1
- package/dist/src/cli/commands/registry.js.map +1 -1
- package/dist/src/cli/commands/sample.d.ts +13 -0
- package/dist/src/cli/commands/sample.d.ts.map +1 -1
- package/dist/src/cli/commands/sample.js +307 -13
- package/dist/src/cli/commands/sample.js.map +1 -1
- package/dist/src/cli/commands/studio.d.ts.map +1 -1
- package/dist/src/cli/commands/studio.js +8 -0
- package/dist/src/cli/commands/studio.js.map +1 -1
- package/dist/src/cli/i18n-dict.d.ts +1 -1
- package/dist/src/cli/i18n-dict.d.ts.map +1 -1
- package/dist/src/cli/i18n-dict.js +189 -17
- package/dist/src/cli/i18n-dict.js.map +1 -1
- package/dist/src/cli/parse-run-config.d.ts +14 -2
- package/dist/src/cli/parse-run-config.d.ts.map +1 -1
- package/dist/src/cli/parse-run-config.js +62 -10
- package/dist/src/cli/parse-run-config.js.map +1 -1
- package/dist/src/doctor/health/builtin-dimensions.d.ts.map +1 -1
- package/dist/src/doctor/health/builtin-dimensions.js +20 -23
- package/dist/src/doctor/health/builtin-dimensions.js.map +1 -1
- package/dist/src/doctor/health/composer.d.ts.map +1 -1
- package/dist/src/doctor/health/composer.js +7 -3
- package/dist/src/doctor/health/composer.js.map +1 -1
- package/dist/src/doctor/health/dimension-spec.d.ts +1 -0
- package/dist/src/doctor/health/dimension-spec.d.ts.map +1 -1
- package/dist/src/doctor/health/parser.d.ts.map +1 -1
- package/dist/src/doctor/health/parser.js +1 -0
- package/dist/src/doctor/health/parser.js.map +1 -1
- package/dist/src/doctor/health/prompt-builder.js +25 -17
- package/dist/src/doctor/health/prompt-builder.js.map +1 -1
- package/dist/src/doctor/html-renderer.d.ts.map +1 -1
- package/dist/src/doctor/html-renderer.js +76 -66
- package/dist/src/doctor/html-renderer.js.map +1 -1
- package/dist/src/doctor/rules.d.ts.map +1 -1
- package/dist/src/doctor/rules.js +32 -0
- package/dist/src/doctor/rules.js.map +1 -1
- package/dist/src/eval-core/cache.d.ts +16 -2
- package/dist/src/eval-core/cache.d.ts.map +1 -1
- package/dist/src/eval-core/cache.js +86 -15
- package/dist/src/eval-core/cache.js.map +1 -1
- package/dist/src/eval-core/evaluation-execution.d.ts +11 -1
- package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-execution.js +78 -6
- package/dist/src/eval-core/evaluation-execution.js.map +1 -1
- package/dist/src/eval-core/evaluation-job.d.ts +2 -1
- package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-job.js +2 -1
- package/dist/src/eval-core/evaluation-job.js.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts +7 -0
- package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.js +19 -2
- package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
- package/dist/src/eval-core/execution-strategy.d.ts +1 -1
- package/dist/src/eval-core/execution-strategy.d.ts.map +1 -1
- package/dist/src/eval-core/execution-strategy.js +12 -1
- package/dist/src/eval-core/execution-strategy.js.map +1 -1
- package/dist/src/eval-core/mock-hook.cjs +203 -0
- package/dist/src/eval-core/mocks-runtime.d.ts +96 -0
- package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -0
- package/dist/src/eval-core/mocks-runtime.js +323 -0
- package/dist/src/eval-core/mocks-runtime.js.map +1 -0
- package/dist/src/eval-core/schema.d.ts.map +1 -1
- package/dist/src/eval-core/schema.js +18 -5
- package/dist/src/eval-core/schema.js.map +1 -1
- package/dist/src/eval-core/task-planner.d.ts +9 -1
- package/dist/src/eval-core/task-planner.d.ts.map +1 -1
- package/dist/src/eval-core/task-planner.js +40 -1
- package/dist/src/eval-core/task-planner.js.map +1 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +5 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.js +2 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +22 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +39 -12
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.d.ts +5 -0
- package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.js +3 -1
- package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.d.ts +12 -2
- package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +17 -5
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +57 -6
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/executors/claude-sdk-trace.d.ts.map +1 -1
- package/dist/src/executors/claude-sdk-trace.js +10 -4
- package/dist/src/executors/claude-sdk-trace.js.map +1 -1
- package/dist/src/executors/claude-sdk.d.ts +1 -1
- package/dist/src/executors/claude-sdk.d.ts.map +1 -1
- package/dist/src/executors/claude-sdk.js +25 -2
- package/dist/src/executors/claude-sdk.js.map +1 -1
- package/dist/src/executors/shared.d.ts +1 -1
- package/dist/src/executors/shared.d.ts.map +1 -1
- package/dist/src/executors/shared.js +6 -1
- package/dist/src/executors/shared.js.map +1 -1
- package/dist/src/grading/assertions.d.ts +5 -0
- package/dist/src/grading/assertions.d.ts.map +1 -1
- package/dist/src/grading/assertions.js +27 -1
- package/dist/src/grading/assertions.js.map +1 -1
- package/dist/src/grading/debias-validate.js +4 -4
- package/dist/src/grading/debias-validate.js.map +1 -1
- package/dist/src/grading/diagnostic.d.ts +40 -0
- package/dist/src/grading/diagnostic.d.ts.map +1 -0
- package/dist/src/grading/diagnostic.js +450 -0
- package/dist/src/grading/diagnostic.js.map +1 -0
- package/dist/src/grading/gold-cli.js +2 -2
- package/dist/src/grading/gold-cli.js.map +1 -1
- package/dist/src/grading/index.d.ts +5 -0
- package/dist/src/grading/index.d.ts.map +1 -1
- package/dist/src/grading/judge.d.ts.map +1 -1
- package/dist/src/grading/judge.js +54 -2
- package/dist/src/grading/judge.js.map +1 -1
- package/dist/src/grading/layered-scores.d.ts.map +1 -1
- package/dist/src/grading/layered-scores.js +1 -0
- package/dist/src/grading/layered-scores.js.map +1 -1
- package/dist/src/inputs/eval-config.js +19 -0
- package/dist/src/inputs/eval-config.js.map +1 -1
- package/dist/src/inputs/load-samples.d.ts +22 -2
- package/dist/src/inputs/load-samples.d.ts.map +1 -1
- package/dist/src/inputs/load-samples.js +193 -22
- package/dist/src/inputs/load-samples.js.map +1 -1
- package/dist/src/inputs/skill-loader.d.ts.map +1 -1
- package/dist/src/inputs/skill-loader.js +11 -3
- package/dist/src/inputs/skill-loader.js.map +1 -1
- package/dist/src/observability/experience.d.ts +260 -0
- package/dist/src/observability/experience.d.ts.map +1 -0
- package/dist/src/observability/experience.js +1233 -0
- package/dist/src/observability/experience.js.map +1 -0
- package/dist/src/observability/inbox-view-model.d.ts +27 -0
- package/dist/src/observability/inbox-view-model.d.ts.map +1 -0
- package/dist/src/observability/inbox-view-model.js +135 -0
- package/dist/src/observability/inbox-view-model.js.map +1 -0
- package/dist/src/observability/inbox.d.ts +125 -0
- package/dist/src/observability/inbox.d.ts.map +1 -0
- package/dist/src/observability/inbox.js +741 -0
- package/dist/src/observability/inbox.js.map +1 -0
- package/dist/src/observability/problem-patterns.d.ts +51 -0
- package/dist/src/observability/problem-patterns.d.ts.map +1 -0
- package/dist/src/observability/problem-patterns.js +205 -0
- package/dist/src/observability/problem-patterns.js.map +1 -0
- package/dist/src/observability/review-state.d.ts +54 -0
- package/dist/src/observability/review-state.d.ts.map +1 -0
- package/dist/src/observability/review-state.js +131 -0
- package/dist/src/observability/review-state.js.map +1 -0
- package/dist/src/observability/skill-chain-advisories.d.ts +25 -0
- package/dist/src/observability/skill-chain-advisories.d.ts.map +1 -0
- package/dist/src/observability/skill-chain-advisories.js +69 -0
- package/dist/src/observability/skill-chain-advisories.js.map +1 -0
- package/dist/src/observability/skill-chain.d.ts +61 -0
- package/dist/src/observability/skill-chain.d.ts.map +1 -0
- package/dist/src/observability/skill-chain.js +233 -0
- package/dist/src/observability/skill-chain.js.map +1 -0
- package/dist/src/observability/text-signals.d.ts +7 -0
- package/dist/src/observability/text-signals.d.ts.map +1 -0
- package/dist/src/observability/text-signals.js +22 -0
- package/dist/src/observability/text-signals.js.map +1 -0
- package/dist/src/observability/trace-adapter.d.ts +12 -64
- package/dist/src/observability/trace-adapter.d.ts.map +1 -1
- package/dist/src/observability/trace-adapter.js +9 -355
- package/dist/src/observability/trace-adapter.js.map +1 -1
- package/dist/src/observability/trace-attribution.d.ts +56 -0
- package/dist/src/observability/trace-attribution.d.ts.map +1 -0
- package/dist/src/observability/trace-attribution.js +200 -0
- package/dist/src/observability/trace-attribution.js.map +1 -0
- package/dist/src/observability/trace-segmenter.d.ts +52 -0
- package/dist/src/observability/trace-segmenter.d.ts.map +1 -0
- package/dist/src/observability/trace-segmenter.js +320 -0
- package/dist/src/observability/trace-segmenter.js.map +1 -0
- package/dist/src/observability/trace-source.d.ts +99 -0
- package/dist/src/observability/trace-source.d.ts.map +1 -0
- package/dist/src/observability/trace-source.js +492 -0
- package/dist/src/observability/trace-source.js.map +1 -0
- package/dist/src/renderer/html-renderer.d.ts.map +1 -1
- package/dist/src/renderer/html-renderer.js +324 -218
- package/dist/src/renderer/html-renderer.js.map +1 -1
- package/dist/src/renderer/layout.d.ts.map +1 -1
- package/dist/src/renderer/layout.js +155 -71
- package/dist/src/renderer/layout.js.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.d.ts +4 -0
- package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -0
- package/dist/src/renderer/observation-inbox-renderer.js +5376 -0
- package/dist/src/renderer/observation-inbox-renderer.js.map +1 -0
- package/dist/src/renderer/skill-detail-renderer.d.ts +15 -0
- package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -0
- package/dist/src/renderer/skill-detail-renderer.js +1234 -0
- package/dist/src/renderer/skill-detail-renderer.js.map +1 -0
- package/dist/src/renderer/skill-list-renderer.d.ts +4 -0
- package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -0
- package/dist/src/renderer/skill-list-renderer.js +327 -0
- package/dist/src/renderer/skill-list-renderer.js.map +1 -0
- package/dist/src/renderer/summary.d.ts +17 -0
- package/dist/src/renderer/summary.d.ts.map +1 -1
- package/dist/src/renderer/summary.js +346 -74
- package/dist/src/renderer/summary.js.map +1 -1
- package/dist/src/renderer/table.d.ts.map +1 -1
- package/dist/src/renderer/table.js +213 -167
- package/dist/src/renderer/table.js.map +1 -1
- package/dist/src/renderer/test-view.d.ts +66 -0
- package/dist/src/renderer/test-view.d.ts.map +1 -0
- package/dist/src/renderer/test-view.js +905 -0
- package/dist/src/renderer/test-view.js.map +1 -0
- package/dist/src/renderer/trends.d.ts.map +1 -1
- package/dist/src/renderer/trends.js +3 -1
- package/dist/src/renderer/trends.js.map +1 -1
- package/dist/src/server/report-server.d.ts +6 -1
- package/dist/src/server/report-server.d.ts.map +1 -1
- package/dist/src/server/report-server.js +182 -6
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/report-store.d.ts.map +1 -1
- package/dist/src/server/report-store.js +33 -1
- package/dist/src/server/report-store.js.map +1 -1
- package/dist/src/server/skill-index.d.ts +77 -0
- package/dist/src/server/skill-index.d.ts.map +1 -0
- package/dist/src/server/skill-index.js +331 -0
- package/dist/src/server/skill-index.js.map +1 -0
- package/dist/src/server/skill-insights.d.ts +92 -0
- package/dist/src/server/skill-insights.d.ts.map +1 -0
- package/dist/src/server/skill-insights.js +676 -0
- package/dist/src/server/skill-insights.js.map +1 -0
- package/dist/src/shared/hard-rules.d.ts +40 -0
- package/dist/src/shared/hard-rules.d.ts.map +1 -0
- package/dist/src/shared/hard-rules.js +200 -0
- package/dist/src/shared/hard-rules.js.map +1 -0
- package/dist/src/shared/time.d.ts +2 -0
- package/dist/src/shared/time.d.ts.map +1 -0
- package/dist/src/shared/time.js +10 -0
- package/dist/src/shared/time.js.map +1 -0
- package/dist/src/shared/tool-search.d.ts +9 -0
- package/dist/src/shared/tool-search.d.ts.map +1 -0
- package/dist/src/shared/tool-search.js +104 -0
- package/dist/src/shared/tool-search.js.map +1 -0
- package/dist/src/types/eval.d.ts +83 -0
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/executor.d.ts +47 -0
- package/dist/src/types/executor.d.ts.map +1 -1
- package/dist/src/types/judge.d.ts +76 -0
- package/dist/src/types/judge.d.ts.map +1 -1
- package/dist/src/types/judge.js +3 -1
- package/dist/src/types/judge.js.map +1 -1
- package/dist/src/types/report.d.ts +63 -3
- package/dist/src/types/report.d.ts.map +1 -1
- package/dist/src/util/safe-slice.d.ts +23 -0
- package/dist/src/util/safe-slice.d.ts.map +1 -0
- package/dist/src/util/safe-slice.js +33 -0
- package/dist/src/util/safe-slice.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-detail-renderer.js","sourceRoot":"","sources":["../../../src/renderer/skill-detail-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-list-renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/skill-list-renderer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AAuR5E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,IAAI,GAAE,IAAmB,GACxB,MAAM,CA+CR"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill 列表页 — 卡片式,关键信号(健康等级 / 参考分 / 待优化数 / 趋势)显性化。
|
|
3
|
+
*
|
|
4
|
+
* ┌─ skill-name ───────────────────────────────── ⚠ N 待优化 · ↗ 趋势 ─┐
|
|
5
|
+
* │ ┌─────┐ 健康摘要一句话 │
|
|
6
|
+
* │ │ 🟡 │ 🩺 7/8 通过 · 🧪 5 用例 80% 4.2/5 · 👁 30 段 95% 稳定 │
|
|
7
|
+
* │ │ 良好 │ │
|
|
8
|
+
* │ │ 85 │ │
|
|
9
|
+
* │ └─────┘ │
|
|
10
|
+
* └────────────────────────────────────────────────────────────────────┘
|
|
11
|
+
*/
|
|
12
|
+
import { layout, e, DEFAULT_LANG } from './layout.js';
|
|
13
|
+
import { assessHealth } from './skill-detail-renderer.js';
|
|
14
|
+
function relTime(ts, lang) {
|
|
15
|
+
if (!ts)
|
|
16
|
+
return lang === 'zh' ? '未跑' : 'never';
|
|
17
|
+
try {
|
|
18
|
+
const past = new Date(ts).getTime();
|
|
19
|
+
const diff = Math.max(0, Date.now() - past);
|
|
20
|
+
const mins = Math.floor(diff / 60000);
|
|
21
|
+
if (mins < 60)
|
|
22
|
+
return lang === 'zh' ? `${mins} 分钟前` : `${mins}m ago`;
|
|
23
|
+
const hours = Math.floor(mins / 60);
|
|
24
|
+
if (hours < 24)
|
|
25
|
+
return lang === 'zh' ? `${hours} 小时前` : `${hours}h ago`;
|
|
26
|
+
return lang === 'zh' ? `${Math.floor(hours / 24)} 天前` : `${Math.floor(hours / 24)}d ago`;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function summarizeCard(entry, insights) {
|
|
33
|
+
// 待优化数 = detectInsights 数(跟详情页用同一份输入,避免列表/详情口径不一致)。
|
|
34
|
+
const warnCount = insights.length;
|
|
35
|
+
const highWarn = insights.filter((i) => i.severity === 'high').length;
|
|
36
|
+
// 趋势:用 eval 综合分历史第一份 vs 最后一份比较;无 history 用 doctor pass-rate fallback。
|
|
37
|
+
let trendDir = 'none';
|
|
38
|
+
let trendDelta = '';
|
|
39
|
+
if (entry.evalHistory.length >= 2) {
|
|
40
|
+
const first = entry.evalHistory[0].compositeScore;
|
|
41
|
+
const last = entry.evalHistory[entry.evalHistory.length - 1].compositeScore;
|
|
42
|
+
if (first != null && last != null) {
|
|
43
|
+
const d = last - first;
|
|
44
|
+
trendDir = d > 0.1 ? 'up' : d < -0.1 ? 'down' : 'flat';
|
|
45
|
+
trendDelta = (d > 0 ? '+' : '') + d.toFixed(2);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (entry.doctorHistory.length >= 2) {
|
|
49
|
+
const totalOf = (h) => h.passCount + h.warnCount + h.failCount;
|
|
50
|
+
const passPctOf = (h) => totalOf(h) > 0 ? (h.passCount / totalOf(h)) * 100 : 0;
|
|
51
|
+
const first = passPctOf(entry.doctorHistory[0]);
|
|
52
|
+
const last = passPctOf(entry.doctorHistory[entry.doctorHistory.length - 1]);
|
|
53
|
+
const d = last - first;
|
|
54
|
+
trendDir = d > 5 ? 'up' : d < -5 ? 'down' : 'flat';
|
|
55
|
+
trendDelta = (d > 0 ? '+' : '') + d.toFixed(0) + '%';
|
|
56
|
+
}
|
|
57
|
+
return { warnCount, highWarn, trendDir, trendDelta };
|
|
58
|
+
}
|
|
59
|
+
function renderHealthSummary(entry, lang) {
|
|
60
|
+
const parts = [];
|
|
61
|
+
if (entry.doctor) {
|
|
62
|
+
if (entry.doctor.failCount > 0)
|
|
63
|
+
parts.push(lang === 'zh' ? `doctor ${entry.doctor.failCount} 项不通过` : `doctor ${entry.doctor.failCount} fail`);
|
|
64
|
+
else if (entry.doctor.warnCount > 0)
|
|
65
|
+
parts.push(lang === 'zh' ? `doctor ${entry.doctor.warnCount} 项告警` : `doctor ${entry.doctor.warnCount} warn`);
|
|
66
|
+
else
|
|
67
|
+
parts.push(lang === 'zh' ? 'doctor 全通过' : 'doctor all pass');
|
|
68
|
+
}
|
|
69
|
+
if (entry.eval) {
|
|
70
|
+
const t = entry.eval.passCount + entry.eval.failCount;
|
|
71
|
+
if (t > 0) {
|
|
72
|
+
const pct = Math.round((entry.eval.passCount / t) * 100);
|
|
73
|
+
parts.push(lang === 'zh' ? `eval 通过率 ${pct}%` : `eval ${pct}% pass`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (entry.observe) {
|
|
77
|
+
const labels = lang === 'zh'
|
|
78
|
+
? { green: '稳定', yellow: '波动', red: '不稳' }
|
|
79
|
+
: { green: 'stable', yellow: 'flaky', red: 'unstable' };
|
|
80
|
+
parts.push(lang === 'zh' ? `observe ${labels[entry.observe.healthBand]}` : `observe ${labels[entry.observe.healthBand]}`);
|
|
81
|
+
}
|
|
82
|
+
if (parts.length === 0)
|
|
83
|
+
return lang === 'zh' ? '尚未运行任何检查' : 'No checks run yet';
|
|
84
|
+
return parts.join(lang === 'zh' ? ',' : ', ');
|
|
85
|
+
}
|
|
86
|
+
function renderMetrics(entry, lang) {
|
|
87
|
+
const items = [];
|
|
88
|
+
if (entry.doctor) {
|
|
89
|
+
const total = entry.doctor.passCount + entry.doctor.warnCount + entry.doctor.failCount;
|
|
90
|
+
items.push(`<span class="sl-metric">🩺 ${entry.doctor.passCount}/${total} ${lang === 'zh' ? '通过' : 'pass'}</span>`);
|
|
91
|
+
}
|
|
92
|
+
if (entry.eval) {
|
|
93
|
+
const total = entry.eval.passCount + entry.eval.failCount;
|
|
94
|
+
const pct = total > 0 ? Math.round((entry.eval.passCount / total) * 100) : 0;
|
|
95
|
+
const score = entry.eval.compositeScore != null ? entry.eval.compositeScore.toFixed(2) : '—';
|
|
96
|
+
items.push(`<span class="sl-metric">🧪 ${entry.eval.totalSamples} ${lang === 'zh' ? '用例' : 'samples'} · ${pct}% · ${score}/5</span>`);
|
|
97
|
+
}
|
|
98
|
+
if (entry.observe) {
|
|
99
|
+
const stab = ((1 - entry.observe.gapRate) * 100).toFixed(0);
|
|
100
|
+
items.push(`<span class="sl-metric">👁 ${entry.observe.segmentCount} ${lang === 'zh' ? '段' : 'segs'} · ${stab}% ${lang === 'zh' ? '稳定' : 'stable'}</span>`);
|
|
101
|
+
}
|
|
102
|
+
return items.join('');
|
|
103
|
+
}
|
|
104
|
+
function renderTrendBadge(t, lang) {
|
|
105
|
+
if (t.trendDir === 'none')
|
|
106
|
+
return '';
|
|
107
|
+
const arrow = t.trendDir === 'up' ? '↗' : t.trendDir === 'down' ? '↘' : '→';
|
|
108
|
+
const cls = t.trendDir === 'up' ? 'up' : t.trendDir === 'down' ? 'down' : 'flat';
|
|
109
|
+
const label = lang === 'zh'
|
|
110
|
+
? (t.trendDir === 'up' ? '上升' : t.trendDir === 'down' ? '下降' : '持平')
|
|
111
|
+
: (t.trendDir === 'up' ? 'up' : t.trendDir === 'down' ? 'down' : 'flat');
|
|
112
|
+
return `<span class="sl-trend sl-trend--${cls}" title="${lang === 'zh' ? '基于历史评测综合分变化' : 'Based on historical eval composite delta'}">${arrow} ${label}${t.trendDelta ? ` (${e(t.trendDelta)})` : ''}</span>`;
|
|
113
|
+
}
|
|
114
|
+
function renderCard(entry, insights, langQ, lang) {
|
|
115
|
+
const h = assessHealth(entry, insights, lang);
|
|
116
|
+
const summary = summarizeCard(entry, insights);
|
|
117
|
+
const lastTs = [entry.doctor?.timestamp, entry.eval?.timestamp, entry.observe?.generatedAt]
|
|
118
|
+
.filter((s) => Boolean(s)).sort().pop();
|
|
119
|
+
const detailHref = `/skills/${encodeURIComponent(entry.skillName)}${langQ}`;
|
|
120
|
+
const warnBadge = summary.warnCount > 0
|
|
121
|
+
? `<span class="sl-warn-badge sl-warn-badge--${summary.highWarn > 0 ? 'high' : 'med'}">${summary.highWarn > 0 ? '🔴' : '⚠'} ${summary.warnCount} ${lang === 'zh' ? '待优化' : 'todo'}</span>`
|
|
122
|
+
: `<span class="sl-warn-badge sl-warn-badge--ok">✓ ${lang === 'zh' ? '无待优化' : 'no todo'}</span>`;
|
|
123
|
+
return `<a class="sl-card sl-card--${h.color}" data-color="${h.color}" href="${e(detailHref)}">
|
|
124
|
+
<div class="sl-card-h">
|
|
125
|
+
<span class="sl-card-emoji">${h.emoji}</span>
|
|
126
|
+
<span class="sl-card-name">${e(entry.skillName)}</span>
|
|
127
|
+
<span class="sl-card-time">${relTime(lastTs, lang)}</span>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="sl-card-grade">
|
|
130
|
+
<span class="sl-card-label">${e(h.label)}</span>
|
|
131
|
+
${h.score != null
|
|
132
|
+
? `<span class="sl-card-score">${h.score}<span class="sl-card-score-unit">/100</span></span>`
|
|
133
|
+
: `<span class="sl-card-score sl-card-score--empty">—</span>`}
|
|
134
|
+
${warnBadge}
|
|
135
|
+
${renderTrendBadge(summary, lang)}
|
|
136
|
+
</div>
|
|
137
|
+
<div class="sl-card-summary">${renderHealthSummary(entry, lang)}</div>
|
|
138
|
+
<div class="sl-card-metrics">${renderMetrics(entry, lang)}</div>
|
|
139
|
+
</a>`;
|
|
140
|
+
}
|
|
141
|
+
function renderSummaryBar(idx, allEntries, insightsByEntry, lang) {
|
|
142
|
+
const s = idx.summary;
|
|
143
|
+
if (s.totalSkills === 0)
|
|
144
|
+
return '';
|
|
145
|
+
// grade 重新统计(用 assessHealth 而不是 entry.band,跟卡片显示一致)
|
|
146
|
+
const gradeCounts = { excellent: 0, good: 0, fair: 0, unhealthy: 0, unscored: 0 };
|
|
147
|
+
for (const ent of allEntries) {
|
|
148
|
+
const ins = insightsByEntry.get(ent.skillName) ?? [];
|
|
149
|
+
const h = assessHealth(ent, ins, lang);
|
|
150
|
+
gradeCounts[h.grade]++;
|
|
151
|
+
}
|
|
152
|
+
const totalSamples = allEntries.reduce((sum, ent) => sum + (ent.eval?.totalSamples ?? 0), 0);
|
|
153
|
+
const totalWarn = allEntries.reduce((sum, ent) => sum + (insightsByEntry.get(ent.skillName)?.length ?? 0), 0);
|
|
154
|
+
const totalHighWarn = allEntries.reduce((sum, ent) => sum + (insightsByEntry.get(ent.skillName)?.filter((i) => i.severity === 'high').length ?? 0), 0);
|
|
155
|
+
const lastTs = allEntries.flatMap((ent) => [ent.doctor?.timestamp, ent.eval?.timestamp, ent.observe?.generatedAt])
|
|
156
|
+
.filter((x) => Boolean(x)).sort().pop();
|
|
157
|
+
const overview = lang === 'zh'
|
|
158
|
+
? `${s.totalSkills} skill · ${lang === 'zh' ? '共' : 'across'} ${totalSamples} ${lang === 'zh' ? '用例' : 'samples'}${lastTs ? ` · ${lang === 'zh' ? '最近' : 'last'} ${relTime(lastTs, lang)}` : ''}${totalWarn > 0 ? ` · ⚠ ${totalWarn} ${lang === 'zh' ? '待优化' : 'todo'}${totalHighWarn > 0 ? `(${totalHighWarn} ${lang === 'zh' ? '高优' : 'high'})` : ''}` : ''}`
|
|
159
|
+
: `${s.totalSkills} skills · ${totalSamples} samples${lastTs ? ` · last ${relTime(lastTs, lang)}` : ''}${totalWarn > 0 ? ` · ⚠ ${totalWarn} todo${totalHighWarn > 0 ? ` (${totalHighWarn} high)` : ''}` : ''}`;
|
|
160
|
+
const greenCount = gradeCounts.good + gradeCounts.excellent;
|
|
161
|
+
const healthyCount = greenCount + gradeCounts.fair;
|
|
162
|
+
const healthRate = s.totalSkills > 0 ? Math.round((healthyCount / s.totalSkills) * 100) : 0;
|
|
163
|
+
const healthRateText = lang === 'zh'
|
|
164
|
+
? `健康率 ${healthyCount}/${s.totalSkills} (${healthRate}%)`
|
|
165
|
+
: `Health ${healthyCount}/${s.totalSkills} (${healthRate}%)`;
|
|
166
|
+
const gradeRow = `
|
|
167
|
+
<button class="sl-filter-pill sl-filter-pill--all sl-filter-pill--active" data-filter="all">${lang === 'zh' ? '全部' : 'All'} ${s.totalSkills}</button>
|
|
168
|
+
<button class="sl-filter-pill sl-filter-pill--red" data-filter="red">🔴 ${gradeCounts.unhealthy}</button>
|
|
169
|
+
<button class="sl-filter-pill sl-filter-pill--yellow" data-filter="yellow">🟡 ${gradeCounts.fair}</button>
|
|
170
|
+
<button class="sl-filter-pill sl-filter-pill--green" data-filter="green">🟢 ${greenCount}</button>
|
|
171
|
+
<button class="sl-filter-pill sl-filter-pill--gray" data-filter="gray">⚪ ${gradeCounts.unscored}</button>
|
|
172
|
+
<span class="sl-health-rate">${healthRateText}</span>
|
|
173
|
+
`;
|
|
174
|
+
return `<div class="sl-summary-card">
|
|
175
|
+
<div class="sl-summary-line">${overview}</div>
|
|
176
|
+
<div class="sl-summary-pills">${gradeRow}</div>
|
|
177
|
+
</div>`;
|
|
178
|
+
}
|
|
179
|
+
function renderNextSteps(idx, allEntries, insightsByEntry, lang) {
|
|
180
|
+
const items = [];
|
|
181
|
+
const unhealthy = allEntries.filter((ent) => assessHealth(ent, insightsByEntry.get(ent.skillName) ?? [], lang).grade === 'unhealthy').length;
|
|
182
|
+
if (unhealthy > 0) {
|
|
183
|
+
items.push(lang === 'zh'
|
|
184
|
+
? `🔴 ${unhealthy} 个 skill 不健康 — 点开"不健康"卡片看待优化项,优先 high`
|
|
185
|
+
: `🔴 ${unhealthy} skill(s) unhealthy — open the cards to see issues (high first)`);
|
|
186
|
+
}
|
|
187
|
+
const noObserve = idx.summary.totalSkills - idx.summary.withObserve;
|
|
188
|
+
if (noObserve > 0 && idx.summary.totalSkills >= 3) {
|
|
189
|
+
items.push(lang === 'zh'
|
|
190
|
+
? `👀 ${noObserve} 个 skill 没跑过 observe — 跑 omk observe 接生产数据`
|
|
191
|
+
: `👀 ${noObserve} skills missing observe — run omk observe`);
|
|
192
|
+
}
|
|
193
|
+
if (idx.summary.gray > 0) {
|
|
194
|
+
items.push(lang === 'zh'
|
|
195
|
+
? `⚪ ${idx.summary.gray} 个 skill 完全没报告 — 先跑 omk doctor / omk eval`
|
|
196
|
+
: `⚪ ${idx.summary.gray} skills with no reports — run omk doctor / omk eval first`);
|
|
197
|
+
}
|
|
198
|
+
if (items.length === 0)
|
|
199
|
+
return '';
|
|
200
|
+
return `<div class="sl-next-steps">
|
|
201
|
+
<div class="sl-next-steps-title">${lang === 'zh' ? '下一步建议' : 'Next steps'}</div>
|
|
202
|
+
<ul>${items.map((x) => `<li>${e(x)}</li>`).join('')}</ul>
|
|
203
|
+
</div>`;
|
|
204
|
+
}
|
|
205
|
+
const SKILL_LIST_CSS = `
|
|
206
|
+
/* 顶部汇总卡 */
|
|
207
|
+
.sl-summary-card { background:var(--bg-surface);border-radius:8px;padding:14px 18px;box-shadow:var(--shadow-sm);margin:8px 0 18px;display:flex;flex-direction:column;gap:10px }
|
|
208
|
+
.sl-summary-line { font-size:13.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums;line-height:1.55 }
|
|
209
|
+
.sl-summary-pills { display:flex;gap:8px;flex-wrap:wrap;align-items:center }
|
|
210
|
+
.sl-filter-pill { display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:14px;font-size:12px;font-weight:600;border:1.5px solid transparent;cursor:pointer;transition:all .15s;background:var(--bg-soft);color:var(--text-secondary) }
|
|
211
|
+
.sl-filter-pill:hover { opacity:.85 }
|
|
212
|
+
.sl-filter-pill--active { border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) }
|
|
213
|
+
.sl-filter-pill--red { background:rgba(156,74,63,.10);color:#9c4a3f }
|
|
214
|
+
.sl-filter-pill--yellow { background:rgba(176,128,48,.10);color:#b08030 }
|
|
215
|
+
.sl-filter-pill--green { background:rgba(94,130,82,.10);color:#5e8252 }
|
|
216
|
+
.sl-filter-pill--gray { background:var(--bg-soft);color:var(--text-muted) }
|
|
217
|
+
.sl-filter-pill--all { background:var(--bg-soft);color:var(--text-primary) }
|
|
218
|
+
.sl-health-rate { font-size:13px;font-weight:600;color:var(--text-secondary);margin-left:8px;padding:4px 10px;background:var(--bg-soft);border-radius:6px }
|
|
219
|
+
.sl-card--hidden { display:none !important }
|
|
220
|
+
|
|
221
|
+
/* 卡片列表 — 网格布局 */
|
|
222
|
+
.sl-cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px }
|
|
223
|
+
|
|
224
|
+
.sl-card { display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-primary);transition:transform .12s,box-shadow .12s,border-color .12s;border-left:4px solid var(--border) }
|
|
225
|
+
.sl-card:hover { transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none }
|
|
226
|
+
.sl-card:focus-visible { outline:2px solid var(--accent);outline-offset:2px }
|
|
227
|
+
.sl-card--green { border-left-color:#5e8252 }
|
|
228
|
+
.sl-card--yellow { border-left-color:#b08030 }
|
|
229
|
+
.sl-card--red { border-left-color:#9c4a3f }
|
|
230
|
+
.sl-card--gray { border-left-color:var(--border) }
|
|
231
|
+
|
|
232
|
+
/* 顶:健康等级色卡 */
|
|
233
|
+
.sl-card-grade { display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:7px;background:var(--bg-soft) }
|
|
234
|
+
.sl-card--green .sl-card-grade { background:rgba(94,130,82,.08) }
|
|
235
|
+
.sl-card--yellow .sl-card-grade { background:rgba(176,128,48,.08) }
|
|
236
|
+
.sl-card--red .sl-card-grade { background:rgba(156,74,63,.08) }
|
|
237
|
+
.sl-card-emoji { font-size:18px;line-height:1 }
|
|
238
|
+
.sl-card-label { font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:0.02em;margin-top:2px }
|
|
239
|
+
.sl-card-score { font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;margin-top:2px;display:flex;align-items:baseline;gap:1px }
|
|
240
|
+
.sl-card--green .sl-card-score { color:#5e8252 }
|
|
241
|
+
.sl-card--yellow .sl-card-score { color:#b08030 }
|
|
242
|
+
.sl-card--red .sl-card-score { color:#9c4a3f }
|
|
243
|
+
.sl-card--gray .sl-card-score { color:var(--text-muted) }
|
|
244
|
+
.sl-card-score-unit { font-size:10px;color:var(--text-muted);font-weight:500 }
|
|
245
|
+
.sl-card-score--empty { font-size:16px;color:var(--text-muted);font-weight:500 }
|
|
246
|
+
|
|
247
|
+
/* 标题行 */
|
|
248
|
+
.sl-card-h { display:flex;align-items:center;gap:8px }
|
|
249
|
+
.sl-card-emoji { font-size:20px;line-height:1;flex-shrink:0 }
|
|
250
|
+
.sl-card-name { font-size:15px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 }
|
|
251
|
+
.sl-card-time { font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0 }
|
|
252
|
+
.sl-card-summary { font-size:13px;color:var(--text-secondary);line-height:1.5 }
|
|
253
|
+
.sl-card-metrics { display:flex;gap:8px;flex-wrap:wrap }
|
|
254
|
+
.sl-metric { font-size:11.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums;background:var(--bg-soft);padding:3px 9px;border-radius:5px;line-height:1.5 }
|
|
255
|
+
.sl-warn-badge { display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:11px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4 }
|
|
256
|
+
.sl-warn-badge--high { background:rgba(156,74,63,.14);color:#9c4a3f }
|
|
257
|
+
.sl-warn-badge--med { background:rgba(176,128,48,.14);color:#b08030 }
|
|
258
|
+
.sl-warn-badge--ok { background:rgba(94,130,82,.14);color:#5e8252 }
|
|
259
|
+
.sl-trend { font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:8px;letter-spacing:0.01em }
|
|
260
|
+
.sl-trend--up { background:rgba(94,130,82,.14);color:#5e8252 }
|
|
261
|
+
.sl-trend--down { background:rgba(156,74,63,.14);color:#9c4a3f }
|
|
262
|
+
.sl-trend--flat { background:var(--bg-soft);color:var(--text-muted) }
|
|
263
|
+
.sl-card-arrow { color:var(--text-muted);font-size:18px;font-weight:300;line-height:1;margin-top:2px }
|
|
264
|
+
|
|
265
|
+
/* Next steps */
|
|
266
|
+
.sl-next-steps { margin-top:24px;padding:14px 18px;background:var(--bg-soft);border-radius:6px }
|
|
267
|
+
.sl-next-steps-title { font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;letter-spacing:0.02em }
|
|
268
|
+
.sl-next-steps ul { margin:0;padding-left:18px;color:var(--text-secondary);font-size:13.5px;line-height:1.8 }
|
|
269
|
+
.sl-empty-state { text-align:center;padding:60px 20px;color:var(--text-muted) }
|
|
270
|
+
.sl-empty-state code { background:var(--bg-soft);padding:2px 6px;border-radius:3px;font-family:"SF Mono",Menlo,monospace;font-size:13px }
|
|
271
|
+
.sl-legacy-hint { margin-top:24px;text-align:center;font-size:11.5px;color:var(--text-muted) }
|
|
272
|
+
.sl-legacy-hint a { color:var(--accent) }
|
|
273
|
+
|
|
274
|
+
/* 响应式 */
|
|
275
|
+
@media(max-width:640px){
|
|
276
|
+
.sl-cards { grid-template-columns:1fr }
|
|
277
|
+
.sl-card-name { font-size:14px }
|
|
278
|
+
.sl-metric { font-size:11px;padding:2px 7px }
|
|
279
|
+
}
|
|
280
|
+
`;
|
|
281
|
+
export function renderSkillList(idx, lang = DEFAULT_LANG) {
|
|
282
|
+
const langQ = lang === DEFAULT_LANG ? '' : `?lang=${lang}`;
|
|
283
|
+
// insightsBySkill 在 buildSkillIndex 里跟 SkillIndex 一起算好(共享缓存)。
|
|
284
|
+
// list renderer 直接消费,不再每请求 N×detectInsights 重算。
|
|
285
|
+
const insightsByEntry = idx.insightsBySkill;
|
|
286
|
+
const body = idx.entries.length === 0
|
|
287
|
+
? `<div class="sl-empty-state">
|
|
288
|
+
<p>${lang === 'zh' ? '暂无 skill 报告。先跑一次评测:' : 'No skill reports yet. Run an evaluation first:'}</p>
|
|
289
|
+
<p><code>omk eval --treatment my-skill</code></p>
|
|
290
|
+
</div>`
|
|
291
|
+
: `<div class="sl-cards">${idx.entries.map((ent) => renderCard(ent, insightsByEntry.get(ent.skillName) ?? [], langQ, lang)).join('')}</div>`;
|
|
292
|
+
const title = lang === 'zh' ? 'OMK Studio 工作台' : 'OMK Studio';
|
|
293
|
+
const subtitle = lang === 'zh'
|
|
294
|
+
? '一站式查看每个 skill 的健康状况、待优化项和历史趋势'
|
|
295
|
+
: 'One-stop view of every skill — health, issues, and historical trends';
|
|
296
|
+
return layout(title, `
|
|
297
|
+
<main>
|
|
298
|
+
<h1>${title}</h1>
|
|
299
|
+
<p class="subtitle">${subtitle}</p>
|
|
300
|
+
${renderSummaryBar(idx, idx.entries, insightsByEntry, lang)}
|
|
301
|
+
${body}
|
|
302
|
+
${renderNextSteps(idx, idx.entries, insightsByEntry, lang)}
|
|
303
|
+
<div class="sl-legacy-hint">
|
|
304
|
+
${lang === 'zh' ? '找老的 run 列表?' : 'Looking for the old run list?'} <a href="/runs${langQ}">/runs</a>
|
|
305
|
+
</div>
|
|
306
|
+
</main>
|
|
307
|
+
<style>${SKILL_LIST_CSS}</style>
|
|
308
|
+
<script>
|
|
309
|
+
(function(){
|
|
310
|
+
var pills = document.querySelectorAll('.sl-filter-pill');
|
|
311
|
+
pills.forEach(function(pill){
|
|
312
|
+
pill.addEventListener('click', function(){
|
|
313
|
+
pills.forEach(function(p){ p.classList.remove('sl-filter-pill--active'); });
|
|
314
|
+
pill.classList.add('sl-filter-pill--active');
|
|
315
|
+
var filter = pill.getAttribute('data-filter');
|
|
316
|
+
var cards = document.querySelectorAll('.sl-card');
|
|
317
|
+
cards.forEach(function(card){
|
|
318
|
+
if (filter === 'all') { card.classList.remove('sl-card--hidden'); }
|
|
319
|
+
else { card.classList.toggle('sl-card--hidden', card.getAttribute('data-color') !== filter); }
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
})();
|
|
324
|
+
</script>
|
|
325
|
+
`, lang);
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=skill-list-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-list-renderer.js","sourceRoot":"","sources":["../../../src/renderer/skill-list-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,23 @@ export declare function renderHumanAgreement(agreement: ReportHumanAgreement | u
|
|
|
30
30
|
*/
|
|
31
31
|
export declare function renderSaturationCurve(saturation: SaturationData | undefined, variants: string[], lang: Lang): string;
|
|
32
32
|
export declare function renderSummaryCards(variants: string[], summary: Record<string, VariantSummary>, lang: Lang, variance?: VarianceData): string;
|
|
33
|
+
/**
|
|
34
|
+
* 评分说明 modal — 公开 composite 计算方式 + 局限,所有展示综合分的地方都通向同一份说明
|
|
35
|
+
* (六维对比表头 / 列表页 score 列 / 趋势页 chart caption)。
|
|
36
|
+
*
|
|
37
|
+
* 测量学诚实性 ≠ 藏起来怕用户误用,而是展示 + 说清楚边界。这个 modal 是简版 (~10 行),
|
|
38
|
+
* 完整推导 (五层评分管道架构 / ratioToScore 公式 / 多层 gate 与 composite 关系)
|
|
39
|
+
* 在 docs/zh/scoring.md。
|
|
40
|
+
*/
|
|
41
|
+
export declare function renderScoringModal(id: string, lang: Lang): string;
|
|
42
|
+
/**
|
|
43
|
+
* Cross-sample inter-judge agreement table — only renders when at least one variant
|
|
44
|
+
* has multi-judge ensemble data. This is the v0.20.2 "blog headline" view: shows
|
|
45
|
+
* Pearson + MAD across the whole sample set, the metric that refutes "Claude judge
|
|
46
|
+
* Claude same-modality bias".
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderJudgeAgreementBlock(variants: string[], summary: Record<string, VariantSummary>, lang: Lang): string;
|
|
49
|
+
export declare function renderMethodologyAudit(report: Report, variants: string[], summary: Record<string, VariantSummary>, lang: Lang): string;
|
|
33
50
|
export declare function renderVarianceComparisons(variance: VarianceData | undefined, lang: Lang, layeredStatsOpen?: boolean, summary?: Record<string, VariantSummary>): string;
|
|
34
51
|
export declare function renderAnalysis(report: Report | undefined, lang: Lang): string;
|
|
35
52
|
export declare function renderAgentOverview(variants: string[], summary: Record<string, VariantSummary>, lang: Lang): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/renderer/summary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,YAAY,EAAsB,MAAM,yBAAyB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAyB,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAgD,YAAY,EAAoB,qBAAqB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAyCtQ,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAYlE;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAmBpE;
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/renderer/summary.ts"],"names":[],"mappings":"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"}
|