oh-my-knowledge 0.29.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 +12 -5
- package/README.zh.md +12 -5
- package/dist/src/analysis/report-diagnostics.js +2 -0
- package/dist/src/analysis/report-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.js +2 -1
- package/dist/src/cli/commands/observe.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/i18n-dict.d.ts +1 -1
- package/dist/src/cli/i18n-dict.d.ts.map +1 -1
- package/dist/src/cli/i18n-dict.js +64 -6
- 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/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/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 +11 -1
- package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
- package/dist/src/observability/inbox-view-model.js +76 -3
- package/dist/src/observability/inbox-view-model.js.map +1 -1
- package/dist/src/observability/inbox.d.ts +27 -2
- package/dist/src/observability/inbox.d.ts.map +1 -1
- package/dist/src/observability/inbox.js +46 -8
- package/dist/src/observability/inbox.js.map +1 -1
- 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 +1 -1
- package/dist/src/observability/trace-adapter.d.ts.map +1 -1
- package/dist/src/observability/trace-adapter.js +1 -1
- package/dist/src/observability/trace-adapter.js.map +1 -1
- package/dist/src/observability/trace-attribution.d.ts +29 -1
- package/dist/src/observability/trace-attribution.d.ts.map +1 -1
- package/dist/src/observability/trace-attribution.js +106 -10
- package/dist/src/observability/trace-attribution.js.map +1 -1
- package/dist/src/observability/trace-segmenter.d.ts +11 -1
- package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
- package/dist/src/observability/trace-segmenter.js +117 -28
- package/dist/src/observability/trace-segmenter.js.map +1 -1
- package/dist/src/observability/trace-source.d.ts +28 -1
- package/dist/src/observability/trace-source.d.ts.map +1 -1
- package/dist/src/observability/trace-source.js +356 -6
- package/dist/src/observability/trace-source.js.map +1 -1
- package/dist/src/renderer/html-renderer.d.ts.map +1 -1
- package/dist/src/renderer/html-renderer.js +229 -171
- 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 +108 -61
- package/dist/src/renderer/layout.js.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.js +4567 -91
- package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
- 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.map +1 -1
- package/dist/src/renderer/summary.js +78 -50
- 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/server/report-server.d.ts +4 -1
- package/dist/src/server/report-server.d.ts.map +1 -1
- package/dist/src/server/report-server.js +149 -4
- 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/types/eval.d.ts +83 -0
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/executor.d.ts +43 -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
|
@@ -1,9 +1,143 @@
|
|
|
1
1
|
import { CliExit } from '../cli-exit.js';
|
|
2
|
-
import { resolve, join } from 'node:path';
|
|
3
|
-
import { existsSync } from 'node:fs';
|
|
2
|
+
import { resolve, join, basename, dirname, extname } from 'node:path';
|
|
3
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import yaml from 'js-yaml';
|
|
4
5
|
import { tCli, langFromArgv } from '../i18n.js';
|
|
5
|
-
import { COMMON_OPTIONS } from '../parse-run-config.js';
|
|
6
|
+
import { COMMON_OPTIONS, DEFAULT_REPORTS_DIR } from '../parse-run-config.js';
|
|
6
7
|
import { parseArgsStrictOrExit } from '../parse-strict.js';
|
|
8
|
+
import { loadSamples, parseYaml } from '../../inputs/load-samples.js';
|
|
9
|
+
import { hashSample, hashString } from '../../eval-core/evaluation-reporting.js';
|
|
10
|
+
function isRecord(value) {
|
|
11
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
12
|
+
}
|
|
13
|
+
function isYamlPath(filePath) {
|
|
14
|
+
return /\.(ya?ml)$/i.test(filePath);
|
|
15
|
+
}
|
|
16
|
+
function parseSampleDocument(filePath) {
|
|
17
|
+
const raw = readFileSync(filePath, 'utf-8');
|
|
18
|
+
return isYamlPath(filePath) ? parseYaml(raw) : JSON.parse(raw);
|
|
19
|
+
}
|
|
20
|
+
function getSamplesArray(document, filePath) {
|
|
21
|
+
if (Array.isArray(document))
|
|
22
|
+
return document;
|
|
23
|
+
if (isRecord(document) && Array.isArray(document.samples))
|
|
24
|
+
return document.samples;
|
|
25
|
+
throw new Error(`invalid samples file shape: ${filePath} (expected an array or an object with a 'samples' field)`);
|
|
26
|
+
}
|
|
27
|
+
function stringifySampleDocument(filePath, document) {
|
|
28
|
+
if (isYamlPath(filePath))
|
|
29
|
+
return yaml.dump(document, { lineWidth: -1, noRefs: true });
|
|
30
|
+
return JSON.stringify(document, null, 2);
|
|
31
|
+
}
|
|
32
|
+
function formatIdList(ids) {
|
|
33
|
+
const shown = ids.slice(0, 5);
|
|
34
|
+
const suffix = ids.length > shown.length ? ` +${ids.length - shown.length}` : '';
|
|
35
|
+
return shown.join(', ') + suffix;
|
|
36
|
+
}
|
|
37
|
+
export function collectSampleDesignFailureIds(report, treatmentName) {
|
|
38
|
+
const ids = new Set();
|
|
39
|
+
for (const entry of report.results) {
|
|
40
|
+
const rootCause = entry.variants[treatmentName]?.diagnostic?.rootCause ?? [];
|
|
41
|
+
if (rootCause.includes('sample_design'))
|
|
42
|
+
ids.add(entry.sample_id);
|
|
43
|
+
}
|
|
44
|
+
return ids;
|
|
45
|
+
}
|
|
46
|
+
export function assertFixReportMatchesCurrentInputs(params) {
|
|
47
|
+
const { report, treatmentName, skillContent, samples, sampleIds } = params;
|
|
48
|
+
const lang = params.lang ?? 'zh';
|
|
49
|
+
const issues = [];
|
|
50
|
+
const expectedSkillHash = report.meta.artifactHashes?.[treatmentName];
|
|
51
|
+
const currentSkillHash = hashString(skillContent);
|
|
52
|
+
if (!expectedSkillHash) {
|
|
53
|
+
issues.push(lang === 'zh'
|
|
54
|
+
? `报告缺少 ${treatmentName} 的 skill 指纹,无法确认诊断对应当前 SKILL.md。`
|
|
55
|
+
: `Report is missing the skill hash for ${treatmentName}; cannot verify it matches the current SKILL.md.`);
|
|
56
|
+
}
|
|
57
|
+
else if (expectedSkillHash !== currentSkillHash) {
|
|
58
|
+
issues.push(lang === 'zh'
|
|
59
|
+
? `skill 指纹不一致:报告 ${expectedSkillHash},当前 ${currentSkillHash}。`
|
|
60
|
+
: `Skill hash mismatch: report ${expectedSkillHash}, current ${currentSkillHash}.`);
|
|
61
|
+
}
|
|
62
|
+
const reportSampleHashes = report.meta.sampleHashes;
|
|
63
|
+
if (!reportSampleHashes) {
|
|
64
|
+
issues.push(lang === 'zh'
|
|
65
|
+
? '报告缺少用例指纹,无法确认 sample_design 诊断对应当前 samples。'
|
|
66
|
+
: 'Report is missing sample hashes; cannot verify sample_design diagnostics match the current samples.');
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const samplesById = new Map(samples.map((sample) => [sample.sample_id, sample]));
|
|
70
|
+
const missingCurrentSamples = [];
|
|
71
|
+
const missingReportHashes = [];
|
|
72
|
+
const mismatchedSamples = [];
|
|
73
|
+
for (const sampleId of sampleIds) {
|
|
74
|
+
const currentSample = samplesById.get(sampleId);
|
|
75
|
+
if (!currentSample) {
|
|
76
|
+
missingCurrentSamples.push(sampleId);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const expectedSampleHash = reportSampleHashes[sampleId];
|
|
80
|
+
if (!expectedSampleHash) {
|
|
81
|
+
missingReportHashes.push(sampleId);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const currentSampleHash = hashSample(currentSample);
|
|
85
|
+
if (expectedSampleHash !== currentSampleHash) {
|
|
86
|
+
mismatchedSamples.push(sampleId);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (missingCurrentSamples.length > 0) {
|
|
90
|
+
issues.push(lang === 'zh'
|
|
91
|
+
? `当前 samples 缺少报告中的用例:${formatIdList(missingCurrentSamples)}。`
|
|
92
|
+
: `Current samples are missing report sample(s): ${formatIdList(missingCurrentSamples)}.`);
|
|
93
|
+
}
|
|
94
|
+
if (missingReportHashes.length > 0) {
|
|
95
|
+
issues.push(lang === 'zh'
|
|
96
|
+
? `报告缺少这些用例的指纹:${formatIdList(missingReportHashes)}。`
|
|
97
|
+
: `Report is missing hashes for sample(s): ${formatIdList(missingReportHashes)}.`);
|
|
98
|
+
}
|
|
99
|
+
if (mismatchedSamples.length > 0) {
|
|
100
|
+
issues.push(lang === 'zh'
|
|
101
|
+
? `用例指纹不一致:${formatIdList(mismatchedSamples)}。`
|
|
102
|
+
: `Sample hash mismatch: ${formatIdList(mismatchedSamples)}.`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (issues.length === 0)
|
|
106
|
+
return;
|
|
107
|
+
const heading = lang === 'zh'
|
|
108
|
+
? '报告与当前输入不一致,已停止自动修复。'
|
|
109
|
+
: 'Report does not match the current inputs; automatic fixing stopped.';
|
|
110
|
+
const hint = lang === 'zh'
|
|
111
|
+
? '请先重新运行 omk eval,再执行 omk sample --fix。'
|
|
112
|
+
: 'Re-run omk eval first, then run omk sample --fix again.';
|
|
113
|
+
throw new Error([heading, ...issues, hint].join('\n'));
|
|
114
|
+
}
|
|
115
|
+
export function writeFixedSamplesToSources(loaded, samples, changedIds) {
|
|
116
|
+
if (changedIds.size === 0)
|
|
117
|
+
return [];
|
|
118
|
+
const fixedById = new Map(samples.map((sample) => [sample.sample_id, sample]));
|
|
119
|
+
const idsByFile = new Map();
|
|
120
|
+
for (const sampleId of changedIds) {
|
|
121
|
+
const filePath = loaded.sampleSourceById[sampleId];
|
|
122
|
+
if (!filePath)
|
|
123
|
+
throw new Error(`sample ${sampleId} source file not found`);
|
|
124
|
+
const ids = idsByFile.get(filePath) ?? new Set();
|
|
125
|
+
ids.add(sampleId);
|
|
126
|
+
idsByFile.set(filePath, ids);
|
|
127
|
+
}
|
|
128
|
+
const written = [];
|
|
129
|
+
for (const [filePath, ids] of idsByFile.entries()) {
|
|
130
|
+
const document = parseSampleDocument(filePath);
|
|
131
|
+
const fileSamples = getSamplesArray(document, filePath);
|
|
132
|
+
const nextSamples = fileSamples.map((sample) => (ids.has(sample.sample_id) ? (fixedById.get(sample.sample_id) ?? sample) : sample));
|
|
133
|
+
const nextDocument = Array.isArray(document)
|
|
134
|
+
? nextSamples
|
|
135
|
+
: { ...document, samples: nextSamples };
|
|
136
|
+
writeFileSync(filePath, stringifySampleDocument(filePath, nextDocument));
|
|
137
|
+
written.push(filePath);
|
|
138
|
+
}
|
|
139
|
+
return written;
|
|
140
|
+
}
|
|
7
141
|
export async function execute(argv) {
|
|
8
142
|
const lang = langFromArgv(argv);
|
|
9
143
|
const { values, positionals } = parseArgsStrictOrExit({
|
|
@@ -11,16 +145,32 @@ export async function execute(argv) {
|
|
|
11
145
|
options: {
|
|
12
146
|
...COMMON_OPTIONS,
|
|
13
147
|
batch: { type: 'boolean', default: false },
|
|
14
|
-
count: { type: 'string'
|
|
15
|
-
model: { type: 'string', default: '
|
|
148
|
+
count: { type: 'string' },
|
|
149
|
+
model: { type: 'string', default: 'opus' },
|
|
16
150
|
'skill-dir': { type: 'string', default: 'skills' },
|
|
151
|
+
focus: { type: 'string' },
|
|
152
|
+
fix: { type: 'boolean', default: false },
|
|
153
|
+
'reports-dir': { type: 'string' },
|
|
154
|
+
treatment: { type: 'string' },
|
|
17
155
|
},
|
|
18
156
|
allowPositionals: true,
|
|
19
157
|
});
|
|
158
|
+
if (values.fix) {
|
|
159
|
+
await executeFix(values, positionals, lang);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
20
162
|
const { generateSamples } = await import('../../authoring/generator.js');
|
|
21
|
-
const { readFileSync, writeFileSync } = await import('node:fs');
|
|
22
|
-
const
|
|
163
|
+
const { readFileSync, writeFileSync, mkdirSync } = await import('node:fs');
|
|
164
|
+
const path = await import('node:path');
|
|
165
|
+
// count 语义:用户显式给值 → 强制 N 条;不给 → undefined,LLM 按 skill 类型自定数量。
|
|
166
|
+
const count = values.count !== undefined
|
|
167
|
+
? Math.max(1, Number(values.count) || 5)
|
|
168
|
+
: undefined;
|
|
23
169
|
const model = values.model;
|
|
170
|
+
const focus = values.focus || undefined;
|
|
171
|
+
if (focus) {
|
|
172
|
+
process.stderr.write(tCli('cli.gen.focus_applied', lang, { focus }));
|
|
173
|
+
}
|
|
24
174
|
if (values.batch) {
|
|
25
175
|
// Batch mode: generate for all skills missing eval-samples
|
|
26
176
|
const skillDir = resolve(values['skill-dir']);
|
|
@@ -37,17 +187,20 @@ export async function execute(argv) {
|
|
|
37
187
|
let samplesPath;
|
|
38
188
|
const fullPath = join(skillDir, entry);
|
|
39
189
|
if (entry.endsWith('.md') && !entry.endsWith('.eval-samples.json')) {
|
|
190
|
+
// 单文件 skill 没有 ".omk/" 容器(无目录),沿用 sibling 文件 <name>.eval-samples.json
|
|
40
191
|
name = entry.slice(0, -3);
|
|
41
192
|
skillPath = fullPath;
|
|
42
193
|
samplesPath = join(skillDir, `${name}.eval-samples.json`);
|
|
43
194
|
}
|
|
44
195
|
else if (statSync(fullPath).isDirectory()) {
|
|
196
|
+
// 目录 skill 走 omk 标准约定: <skill>/.omk/samples.json
|
|
197
|
+
// 与 loadSamples 的目录模式对齐(支持 .omk/ 下多文件合并)
|
|
45
198
|
const skillMd = join(fullPath, 'SKILL.md');
|
|
46
199
|
if (!existsSync(skillMd))
|
|
47
200
|
continue;
|
|
48
201
|
name = entry;
|
|
49
202
|
skillPath = skillMd;
|
|
50
|
-
samplesPath = join(fullPath, '
|
|
203
|
+
samplesPath = join(fullPath, '.omk', 'samples.json');
|
|
51
204
|
}
|
|
52
205
|
else {
|
|
53
206
|
continue;
|
|
@@ -56,10 +209,16 @@ export async function execute(argv) {
|
|
|
56
209
|
process.stderr.write(tCli('cli.gen.skill_skipped_existing', lang, { name }));
|
|
57
210
|
continue;
|
|
58
211
|
}
|
|
59
|
-
|
|
212
|
+
if (count !== undefined) {
|
|
213
|
+
process.stderr.write(tCli('cli.gen.skill_generating', lang, { name, count }));
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
process.stderr.write(tCli('cli.gen.skill_generating_auto', lang, { name }));
|
|
217
|
+
}
|
|
60
218
|
try {
|
|
61
219
|
const skillContent = readFileSync(skillPath, 'utf-8');
|
|
62
|
-
const { samples, costUSD } = await generateSamples({ skillContent, count, model });
|
|
220
|
+
const { samples, costUSD } = await generateSamples({ skillContent, count, model, focus });
|
|
221
|
+
mkdirSync(path.dirname(samplesPath), { recursive: true });
|
|
63
222
|
writeFileSync(samplesPath, JSON.stringify(samples, null, 2));
|
|
64
223
|
const cost = costUSD > 0 ? ` $${costUSD.toFixed(4)}` : '';
|
|
65
224
|
process.stderr.write(tCli('cli.gen.skill_done', lang, {
|
|
@@ -94,14 +253,28 @@ export async function execute(argv) {
|
|
|
94
253
|
throw new CliExit(1);
|
|
95
254
|
}
|
|
96
255
|
const skillContent = readFileSync(resolvedPath, 'utf-8');
|
|
97
|
-
|
|
256
|
+
// 输出路径推断:如果传入的是 <skill>/SKILL.md(目录式 skill),
|
|
257
|
+
// 写到 <skill>/.omk/samples.json(omk 标准约定);
|
|
258
|
+
// 否则(SKILL.md 不存在 / 单文件 skill / 直接跑 .md)落到 cwd 兜底。
|
|
259
|
+
const skillBasename = path.basename(resolvedPath);
|
|
260
|
+
const skillParentDir = path.dirname(resolvedPath);
|
|
261
|
+
const isStandardSkillLayout = skillBasename === 'SKILL.md';
|
|
262
|
+
const outputPath = isStandardSkillLayout
|
|
263
|
+
? path.join(skillParentDir, '.omk', 'samples.json')
|
|
264
|
+
: resolve('eval-samples.json');
|
|
98
265
|
if (existsSync(outputPath)) {
|
|
99
266
|
console.error(tCli('cli.gen.samples_already_exists', lang));
|
|
100
267
|
throw new CliExit(1);
|
|
101
268
|
}
|
|
102
|
-
|
|
269
|
+
if (count !== undefined) {
|
|
270
|
+
process.stderr.write(tCli('cli.gen.single_generating', lang, { count }));
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
process.stderr.write(tCli('cli.gen.single_generating_auto', lang));
|
|
274
|
+
}
|
|
103
275
|
try {
|
|
104
|
-
const { samples, costUSD } = await generateSamples({ skillContent, count, model });
|
|
276
|
+
const { samples, costUSD } = await generateSamples({ skillContent, count, model, focus });
|
|
277
|
+
mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
105
278
|
writeFileSync(outputPath, JSON.stringify(samples, null, 2));
|
|
106
279
|
const cost = costUSD > 0 ? ` $${costUSD.toFixed(4)}` : '';
|
|
107
280
|
process.stderr.write(tCli('cli.gen.single_done', lang, {
|
|
@@ -118,4 +291,125 @@ export async function execute(argv) {
|
|
|
118
291
|
}
|
|
119
292
|
}
|
|
120
293
|
}
|
|
294
|
+
async function executeFix(values, positionals, lang) {
|
|
295
|
+
const { fixSamples } = await import('../../authoring/sample-fixer.js');
|
|
296
|
+
const { createFileStore } = await import('../../server/report-store.js');
|
|
297
|
+
const model = values.model ?? 'opus';
|
|
298
|
+
const reportsDir = resolve(values['reports-dir'] ?? DEFAULT_REPORTS_DIR);
|
|
299
|
+
// 1. Determine skill path and samples path
|
|
300
|
+
const skillPath = positionals[0];
|
|
301
|
+
if (!skillPath) {
|
|
302
|
+
console.error(lang === 'zh' ? '请指定 skill 路径,如: omk sample skills/my-skill/SKILL.md --fix' : 'Specify skill path: omk sample skills/my-skill/SKILL.md --fix');
|
|
303
|
+
throw new CliExit(1);
|
|
304
|
+
}
|
|
305
|
+
const resolvedSkillPath = resolve(skillPath);
|
|
306
|
+
if (!existsSync(resolvedSkillPath)) {
|
|
307
|
+
console.error(lang === 'zh' ? `skill 文件不存在: ${resolvedSkillPath}` : `Skill file not found: ${resolvedSkillPath}`);
|
|
308
|
+
throw new CliExit(1);
|
|
309
|
+
}
|
|
310
|
+
const isDir = basename(resolvedSkillPath) === 'SKILL.md';
|
|
311
|
+
const skillDir = isDir ? dirname(resolvedSkillPath) : dirname(resolvedSkillPath);
|
|
312
|
+
const samplesInput = isDir
|
|
313
|
+
? join(skillDir, '.omk')
|
|
314
|
+
: resolve('eval-samples.json');
|
|
315
|
+
if (!existsSync(samplesInput)) {
|
|
316
|
+
console.error(lang === 'zh' ? `samples 路径不存在: ${samplesInput},先运行 omk sample 生成` : `Samples path not found: ${samplesInput}, run omk sample first`);
|
|
317
|
+
throw new CliExit(1);
|
|
318
|
+
}
|
|
319
|
+
// 2. Determine treatment name
|
|
320
|
+
const defaultTreatmentName = isDir
|
|
321
|
+
? basename(skillDir)
|
|
322
|
+
: basename(resolvedSkillPath, extname(resolvedSkillPath));
|
|
323
|
+
const treatmentName = values.treatment ?? defaultTreatmentName;
|
|
324
|
+
// 3. Find the latest report
|
|
325
|
+
process.stderr.write(lang === 'zh' ? `🔍 正在查找 ${treatmentName} 的最新评测报告...\n` : `🔍 Scanning latest report for ${treatmentName}...\n`);
|
|
326
|
+
const store = createFileStore(reportsDir);
|
|
327
|
+
const reports = await store.findByVariant(treatmentName);
|
|
328
|
+
if (reports.length === 0) {
|
|
329
|
+
console.error(lang === 'zh' ? `未找到 ${treatmentName} 的评测报告(报告目录: ${reportsDir})` : `No eval report found for ${treatmentName} in ${reportsDir}`);
|
|
330
|
+
throw new CliExit(1);
|
|
331
|
+
}
|
|
332
|
+
const report = reports[0];
|
|
333
|
+
process.stderr.write(lang === 'zh' ? `📄 使用报告: ${report.id} (${report.meta?.timestamp ?? '?'})\n` : `📄 Using report: ${report.id} (${report.meta?.timestamp ?? '?'})\n`);
|
|
334
|
+
// 4. Load samples using the same semantics as eval.
|
|
335
|
+
let loadedSamples;
|
|
336
|
+
try {
|
|
337
|
+
loadedSamples = loadSamples(samplesInput);
|
|
338
|
+
}
|
|
339
|
+
catch (err) {
|
|
340
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
341
|
+
console.error(lang === 'zh' ? `samples 加载失败: ${message}` : `Failed to load samples: ${message}`);
|
|
342
|
+
throw new CliExit(1);
|
|
343
|
+
}
|
|
344
|
+
const samples = loadedSamples.samples;
|
|
345
|
+
const skillContent = readFileSync(resolvedSkillPath, 'utf-8');
|
|
346
|
+
// 5. Count sample_design failures and verify this report still matches current inputs.
|
|
347
|
+
const sampleDesignIds = collectSampleDesignFailureIds(report, treatmentName);
|
|
348
|
+
const sampleDesignCount = sampleDesignIds.size;
|
|
349
|
+
if (sampleDesignCount === 0) {
|
|
350
|
+
process.stderr.write(lang === 'zh' ? '✅ 没有 sample_design 类型的失败,无需修复\n' : '✅ No sample_design failures found, nothing to fix\n');
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
try {
|
|
354
|
+
assertFixReportMatchesCurrentInputs({
|
|
355
|
+
report,
|
|
356
|
+
treatmentName,
|
|
357
|
+
skillContent,
|
|
358
|
+
samples,
|
|
359
|
+
sampleIds: sampleDesignIds,
|
|
360
|
+
lang,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
catch (err) {
|
|
364
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
365
|
+
throw new CliExit(1);
|
|
366
|
+
}
|
|
367
|
+
process.stderr.write(lang === 'zh' ? `🔧 发现 ${sampleDesignCount} 条 sample_design 失败,开始修复...\n` : `🔧 Found ${sampleDesignCount} sample_design failure(s), fixing...\n`);
|
|
368
|
+
// 6. Create executor wrapper
|
|
369
|
+
const { createExecutor } = await import('../../executors/index.js');
|
|
370
|
+
const exec = createExecutor('claude');
|
|
371
|
+
const executorFn = async (opts) => {
|
|
372
|
+
const result = await exec({
|
|
373
|
+
model: opts.model,
|
|
374
|
+
system: opts.system,
|
|
375
|
+
prompt: opts.prompt,
|
|
376
|
+
timeoutMs: opts.timeoutMs,
|
|
377
|
+
lean: opts.lean,
|
|
378
|
+
});
|
|
379
|
+
return { ok: result.ok, text: result.output ?? '', costUSD: result.costUSD };
|
|
380
|
+
};
|
|
381
|
+
// 7. Run fixes
|
|
382
|
+
const result = await fixSamples({
|
|
383
|
+
skillContent,
|
|
384
|
+
samples,
|
|
385
|
+
report,
|
|
386
|
+
treatmentKey: treatmentName,
|
|
387
|
+
executor: executorFn,
|
|
388
|
+
model,
|
|
389
|
+
});
|
|
390
|
+
// 8. Write back
|
|
391
|
+
let writtenFiles = [];
|
|
392
|
+
if (result.fixedCount > 0) {
|
|
393
|
+
const changedIds = new Set(result.fixes.filter((f) => f.changed).map((f) => f.sampleId));
|
|
394
|
+
writtenFiles = writeFixedSamplesToSources(loadedSamples, result.samples, changedIds);
|
|
395
|
+
}
|
|
396
|
+
// 9. Report
|
|
397
|
+
for (const f of result.fixes) {
|
|
398
|
+
if (f.changed) {
|
|
399
|
+
process.stderr.write(lang === 'zh' ? ` ✅ ${f.sampleId} 已修复\n` : ` ✅ ${f.sampleId} fixed\n`);
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
process.stderr.write(lang === 'zh' ? ` ⚠ ${f.sampleId} 未修改${f.error ? `: ${f.error}` : ''}\n` : ` ⚠ ${f.sampleId} unchanged${f.error ? `: ${f.error}` : ''}\n`);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
const cost = result.costUSD > 0 ? ` $${result.costUSD.toFixed(4)}` : '';
|
|
406
|
+
const outputTarget = writtenFiles.length === 0
|
|
407
|
+
? samplesInput
|
|
408
|
+
: writtenFiles.length === 1
|
|
409
|
+
? writtenFiles[0]
|
|
410
|
+
: `${writtenFiles.length} files`;
|
|
411
|
+
process.stderr.write(lang === 'zh'
|
|
412
|
+
? `\n🔧 修复完成: ${result.fixedCount}/${sampleDesignCount} 条已修复 → ${outputTarget}${cost}\n`
|
|
413
|
+
: `\n🔧 Fix complete: ${result.fixedCount}/${sampleDesignCount} fixed → ${outputTarget}${cost}\n`);
|
|
414
|
+
}
|
|
121
415
|
//# sourceMappingURL=sample.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../../src/cli/commands/sample.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../../src/cli/commands/sample.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* 未来扩 Lang (zh-TW / ja / ko ...): 改 src/types/shared.ts 的 Lang union,
|
|
46
46
|
* Record 类型自动强制每 key 加新语言版本。
|
|
47
47
|
*/
|
|
48
|
-
export type CliMessageKey = 'cli.common.unknown_domain' | 'cli.init.scaffolded' | 'cli.init.next_steps_title' | 'cli.init.next_step_edit_samples' | 'cli.init.next_step_edit_skills' | 'cli.init.next_step_run' | 'cli.init.note_codex_executor' | 'cli.update.new_version_available' | 'cli.progress.preflight_starting' | 'cli.progress.sample_retry' | 'cli.progress.sample_error' | 'cli.progress.sample_executing' | 'cli.progress.sample_exec_done' | 'cli.progress.output_preview' | 'cli.progress.judging' | 'cli.progress.judged' | 'cli.progress.skipped' | 'cli.progress.sample_done' | 'cli.progress.sample_failed_done' | 'cli.run.invalid_repeat' | 'cli.run.invalid_judge_repeat' | 'cli.run.no_debias_length_active' | 'cli.run.invalid_bootstrap_samples' | 'cli.run.bootstrap_samples_too_large' | 'cli.run.power_warning_tiny_n' | 'cli.run.power_warning_small_n' | 'cli.run.power_warning_repeat_one' | 'cli.run.dry_run_no_scores' | 'cli.run.skill_section' | 'cli.run.run_section' | 'cli.run.batch_complete' | 'cli.run.batch_verdict_header' | 'cli.run.batch_child_report_missing' | 'cli.run.eval_complete' | 'cli.run.tally' | 'cli.run.report_saved' | 'cli.run.report_only_gate_skipped' | 'cli.run.report_server_running' | 'cli.run.report_server_view' | 'cli.run.report_server_stop' | 'cli.run.no_serve_in_non_tty' | 'cli.run.no_serve_view_hint' | 'cli.run.gold_load_failed' | 'cli.run.gold_load_issue' | 'cli.run.contamination_warning' | 'cli.common.error_prefix' | 'cli.observe.view_hint' | 'cli.common.skill_dir_not_found' | 'cli.common.skill_file_not_found' | 'cli.common.report_not_found' | 'cli.common.no_judge_model' | 'cli.common.judge_models_single_only' | 'cli.common.warn_load_samples_failed' | 'cli.studio.started' | 'cli.studio.stop_hint' | 'cli.studio.open_failed' | 'cli.gen.skill_skipped_existing' | 'cli.gen.skill_generating' | 'cli.gen.skill_done' | 'cli.gen.skill_failed' | 'cli.gen.batch_none_needed' | 'cli.gen.batch_summary' | 'cli.gen.specify_skill_path' | 'cli.gen.samples_already_exists' | 'cli.gen.single_generating' | 'cli.gen.single_done' | 'cli.gen.review_hint' | 'cli.gen.failed' | 'cli.evolve.specify_skill_path' | 'cli.evolve.section_header' | 'cli.evolve.round_baseline' | 'cli.evolve.round_error' | 'cli.evolve.round_done' | 'cli.evolve.summary' | 'cli.evolve.best_path' | 'cli.evolve.versions_saved' | 'cli.evolve.report_link' | 'cli.help.product_main' | 'cli.help.init_usage' | 'cli.help.eval' | 'cli.help.eval_gold' | 'cli.help.observe' | 'cli.help.observe_ingest' | 'cli.help.observe_inbox' | 'cli.help.observe_show' | 'cli.help.evolve' | 'cli.help.sample' | 'cli.help.studio' | 'cli.doctor.rule.skill_readable' | 'cli.doctor.rule.skill_metadata' | 'cli.doctor.rule.dependencies' | 'cli.doctor.rule.samples_contract' | 'cli.doctor.rule.skill_health_check' | 'cli.doctor.health.skipped' | 'cli.doctor.health.no_dimensions' | 'cli.doctor.health.fail.executor' | 'cli.doctor.health.fail.parse' | 'cli.doctor.health.fail.empty_output' | 'cli.doctor.health.hint.executor' | 'cli.doctor.health.hint.parse' | 'cli.doctor.health.dim.message' | 'cli.doctor.health.dim.missing' | 'cli.doctor.health.summary.label' | 'cli.doctor.health.summary.message' | 'cli.doctor.health.summary.no_top' | 'cli.doctor.health.dim.trigger-boundary' | 'cli.doctor.health.dim.doc-clarity' | 'cli.doctor.health.dim.instr-precision' | 'cli.doctor.health.dim.dependency' | 'cli.doctor.health.dim.tool-conventions' | 'cli.doctor.health.dim.security' | 'cli.doctor.health.dim.examples' | 'cli.doctor.skill_readable.pass' | 'cli.doctor.skill_metadata.pass' | 'cli.doctor.dependencies.pass' | 'cli.doctor.samples_contract.pass' | 'cli.doctor.skill_readable.fail.missing' | 'cli.doctor.skill_readable.fail.empty' | 'cli.doctor.skill_readable.fail.too_short' | 'cli.doctor.skill_readable.hint.missing' | 'cli.doctor.dependencies.hint.tool' | 'cli.doctor.dependencies.hint.file' | 'cli.doctor.dependencies.hint.env' | 'cli.doctor.dependencies.hint.preflight' | 'cli.doctor.dependencies.issue.tool_not_found' | 'cli.doctor.dependencies.issue.file_not_found' | 'cli.doctor.dependencies.issue.env_not_set' | 'cli.doctor.dependencies.issue.preflight_failed' | 'cli.doctor.skill_readable.hint.too_short' | 'cli.doctor.skill_metadata.fail.frontmatter_invalid' | 'cli.doctor.skill_metadata.fail.missing_skillmd' | 'cli.doctor.skill_metadata.hint.frontmatter' | 'cli.doctor.skill_metadata.hint.missing_skillmd' | 'cli.doctor.dependencies.fail' | 'cli.doctor.samples_contract.skipped' | 'cli.doctor.samples_contract.warn.empty' | 'cli.doctor.samples_contract.warn.missing_prompt' | 'cli.doctor.samples_contract.hint' | 'cli.help.doctor_usage' | 'cli.doctor.no_skill_found' | 'cli.doctor.samples_detected' | 'cli.doctor.gate_blocked' | 'cli.run.skip_connectivity_warning';
|
|
48
|
+
export type CliMessageKey = 'cli.common.unknown_domain' | 'cli.init.scaffolded' | 'cli.init.next_steps_title' | 'cli.init.next_step_edit_samples' | 'cli.init.next_step_edit_skills' | 'cli.init.next_step_run' | 'cli.init.note_codex_executor' | 'cli.update.new_version_available' | 'cli.progress.preflight_starting' | 'cli.progress.sample_retry' | 'cli.progress.sample_error' | 'cli.progress.sample_executing' | 'cli.progress.sample_exec_done' | 'cli.progress.output_preview' | 'cli.progress.judging' | 'cli.progress.judged' | 'cli.progress.skipped' | 'cli.progress.sample_done' | 'cli.progress.sample_failed_done' | 'cli.run.invalid_repeat' | 'cli.run.invalid_judge_repeat' | 'cli.run.no_debias_length_active' | 'cli.run.invalid_bootstrap_samples' | 'cli.run.bootstrap_samples_too_large' | 'cli.run.power_warning_tiny_n' | 'cli.run.power_warning_small_n' | 'cli.run.power_warning_repeat_one' | 'cli.run.dry_run_no_scores' | 'cli.run.skill_section' | 'cli.run.run_section' | 'cli.run.batch_complete' | 'cli.run.batch_verdict_header' | 'cli.run.batch_child_report_missing' | 'cli.run.eval_complete' | 'cli.run.tally' | 'cli.run.report_saved' | 'cli.run.report_only_gate_skipped' | 'cli.run.report_server_running' | 'cli.run.report_server_view' | 'cli.run.report_server_stop' | 'cli.run.no_serve_in_non_tty' | 'cli.run.no_serve_view_hint' | 'cli.run.gold_load_failed' | 'cli.run.gold_load_issue' | 'cli.run.contamination_warning' | 'cli.common.error_prefix' | 'cli.observe.view_hint' | 'cli.common.skill_dir_not_found' | 'cli.common.skill_file_not_found' | 'cli.common.report_not_found' | 'cli.common.no_judge_model' | 'cli.common.judge_models_single_only' | 'cli.common.warn_load_samples_failed' | 'cli.studio.started' | 'cli.studio.stop_hint' | 'cli.studio.open_failed' | 'cli.gen.skill_skipped_existing' | 'cli.gen.skill_generating' | 'cli.gen.skill_generating_auto' | 'cli.gen.skill_done' | 'cli.gen.skill_failed' | 'cli.gen.batch_none_needed' | 'cli.gen.batch_summary' | 'cli.gen.specify_skill_path' | 'cli.gen.samples_already_exists' | 'cli.gen.single_generating' | 'cli.gen.single_generating_auto' | 'cli.gen.single_done' | 'cli.gen.review_hint' | 'cli.gen.failed' | 'cli.gen.focus_applied' | 'cli.evolve.specify_skill_path' | 'cli.evolve.section_header' | 'cli.evolve.round_baseline' | 'cli.evolve.round_error' | 'cli.evolve.round_done' | 'cli.evolve.summary' | 'cli.evolve.best_path' | 'cli.evolve.versions_saved' | 'cli.evolve.report_link' | 'cli.help.product_main' | 'cli.help.init_usage' | 'cli.help.eval' | 'cli.help.eval_gold' | 'cli.help.observe' | 'cli.help.observe_ingest' | 'cli.help.observe_inbox' | 'cli.help.observe_show' | 'cli.help.evolve' | 'cli.help.sample' | 'cli.help.studio' | 'cli.doctor.rule.skill_readable' | 'cli.doctor.rule.skill_metadata' | 'cli.doctor.rule.dependencies' | 'cli.doctor.rule.samples_contract' | 'cli.doctor.rule.skill_health_check' | 'cli.doctor.health.skipped' | 'cli.doctor.health.no_dimensions' | 'cli.doctor.health.fail.executor' | 'cli.doctor.health.fail.parse' | 'cli.doctor.health.fail.empty_output' | 'cli.doctor.health.hint.executor' | 'cli.doctor.health.hint.parse' | 'cli.doctor.health.dim.message' | 'cli.doctor.health.dim.missing' | 'cli.doctor.health.summary.label' | 'cli.doctor.health.summary.message' | 'cli.doctor.health.summary.no_top' | 'cli.doctor.health.dim.trigger-boundary' | 'cli.doctor.health.dim.doc-clarity' | 'cli.doctor.health.dim.instr-precision' | 'cli.doctor.health.dim.dependency' | 'cli.doctor.health.dim.tool-conventions' | 'cli.doctor.health.dim.security' | 'cli.doctor.health.dim.examples' | 'cli.doctor.skill_readable.pass' | 'cli.doctor.skill_metadata.pass' | 'cli.doctor.dependencies.pass' | 'cli.doctor.samples_contract.pass' | 'cli.doctor.skill_readable.fail.missing' | 'cli.doctor.skill_readable.fail.empty' | 'cli.doctor.skill_readable.fail.too_short' | 'cli.doctor.skill_readable.hint.missing' | 'cli.doctor.dependencies.hint.tool' | 'cli.doctor.dependencies.hint.file' | 'cli.doctor.dependencies.hint.env' | 'cli.doctor.dependencies.hint.preflight' | 'cli.doctor.dependencies.issue.tool_not_found' | 'cli.doctor.dependencies.issue.file_not_found' | 'cli.doctor.dependencies.issue.env_not_set' | 'cli.doctor.dependencies.issue.preflight_failed' | 'cli.doctor.skill_readable.hint.too_short' | 'cli.doctor.skill_metadata.fail.frontmatter_invalid' | 'cli.doctor.skill_metadata.fail.hardrules_invalid' | 'cli.doctor.skill_metadata.fail.workflows_invalid' | 'cli.doctor.skill_metadata.fail.missing_skillmd' | 'cli.doctor.skill_metadata.hint.frontmatter' | 'cli.doctor.skill_metadata.hint.hardrules' | 'cli.doctor.skill_metadata.hint.workflows' | 'cli.doctor.skill_metadata.hint.missing_skillmd' | 'cli.doctor.dependencies.fail' | 'cli.doctor.samples_contract.skipped' | 'cli.doctor.samples_contract.warn.empty' | 'cli.doctor.samples_contract.warn.missing_prompt' | 'cli.doctor.samples_contract.hint' | 'cli.help.doctor_usage' | 'cli.doctor.no_skill_found' | 'cli.doctor.samples_detected' | 'cli.doctor.gate_blocked' | 'cli.run.skip_connectivity_warning';
|
|
49
49
|
export interface CliMessage {
|
|
50
50
|
zh: string;
|
|
51
51
|
en: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-dict.d.ts","sourceRoot":"","sources":["../../../src/cli/i18n-dict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,MAAM,MAAM,aAAa,GAErB,2BAA2B,GAE3B,qBAAqB,GACrB,2BAA2B,GAC3B,iCAAiC,GACjC,gCAAgC,GAChC,wBAAwB,GACxB,8BAA8B,GAE9B,kCAAkC,GAElC,iCAAiC,GACjC,2BAA2B,GAC3B,2BAA2B,GAC3B,+BAA+B,GAC/B,+BAA+B,GAC/B,6BAA6B,GAC7B,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,0BAA0B,GAC1B,iCAAiC,GAEjC,wBAAwB,GACxB,8BAA8B,GAC9B,iCAAiC,GACjC,mCAAmC,GACnC,qCAAqC,GACrC,8BAA8B,GAC9B,+BAA+B,GAC/B,kCAAkC,GAClC,2BAA2B,GAE3B,uBAAuB,GACvB,qBAAqB,GACrB,wBAAwB,GACxB,8BAA8B,GAC9B,oCAAoC,GACpC,uBAAuB,GACvB,eAAe,GACf,sBAAsB,GACtB,kCAAkC,GAClC,+BAA+B,GAC/B,4BAA4B,GAC5B,4BAA4B,GAC5B,6BAA6B,GAC7B,4BAA4B,GAC5B,0BAA0B,GAC1B,yBAAyB,GACzB,+BAA+B,GAC/B,yBAAyB,GAEzB,uBAAuB,GAEvB,gCAAgC,GAChC,iCAAiC,GACjC,6BAA6B,GAC7B,2BAA2B,GAC3B,qCAAqC,GACrC,qCAAqC,GAErC,oBAAoB,GACpB,sBAAsB,GACtB,wBAAwB,GAExB,gCAAgC,GAChC,0BAA0B,GAC1B,oBAAoB,GACpB,sBAAsB,GACtB,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,gCAAgC,GAChC,2BAA2B,GAC3B,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"i18n-dict.d.ts","sourceRoot":"","sources":["../../../src/cli/i18n-dict.ts"],"names":[],"mappings":"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"}
|
|
@@ -278,6 +278,10 @@ export const CLI_DICT = {
|
|
|
278
278
|
zh: '🔄 {name}: 正在生成 {count} 条评测用例...\n',
|
|
279
279
|
en: '🔄 {name}: generating {count} test cases...\n',
|
|
280
280
|
},
|
|
281
|
+
'cli.gen.skill_generating_auto': {
|
|
282
|
+
zh: '🔄 {name}: 正在生成评测用例(数量由 LLM 按 skill 类型自动判断)...\n',
|
|
283
|
+
en: '🔄 {name}: generating test cases (count auto-decided by LLM based on skill type)...\n',
|
|
284
|
+
},
|
|
281
285
|
'cli.gen.skill_done': {
|
|
282
286
|
zh: '✅ {name}: 已生成 {n} 条用例 → {path}{cost}\n',
|
|
283
287
|
en: '✅ {name}: generated {n} samples → {path}{cost}\n',
|
|
@@ -306,6 +310,10 @@ export const CLI_DICT = {
|
|
|
306
310
|
zh: '🔄 正在生成 {count} 条评测用例...\n',
|
|
307
311
|
en: '🔄 Generating {count} test cases...\n',
|
|
308
312
|
},
|
|
313
|
+
'cli.gen.single_generating_auto': {
|
|
314
|
+
zh: '🔄 正在生成评测用例(数量由 LLM 按 skill 类型自动判断)...\n',
|
|
315
|
+
en: '🔄 Generating test cases (count auto-decided by LLM based on skill type)...\n',
|
|
316
|
+
},
|
|
309
317
|
'cli.gen.single_done': {
|
|
310
318
|
zh: '✅ 已生成 {n} 条用例 → {path}{cost}\n',
|
|
311
319
|
en: '✅ Generated {n} samples → {path}{cost}\n',
|
|
@@ -318,6 +326,10 @@ export const CLI_DICT = {
|
|
|
318
326
|
zh: '生成失败: {message}',
|
|
319
327
|
en: 'Generation failed: {message}',
|
|
320
328
|
},
|
|
329
|
+
'cli.gen.focus_applied': {
|
|
330
|
+
zh: '🎯 场景重点(--focus):{focus}\n',
|
|
331
|
+
en: '🎯 Focus scenarios (--focus): {focus}\n',
|
|
332
|
+
},
|
|
321
333
|
'cli.evolve.specify_skill_path': {
|
|
322
334
|
zh: '请指定 skill 文件路径, 例如: omk evolve skills/my-skill.md',
|
|
323
335
|
en: 'Please specify a skill file path, e.g.: omk evolve skills/my-skill.md',
|
|
@@ -453,7 +465,8 @@ omk eval——离线评测 skill 版本,并给出 ship/no-ship verdict
|
|
|
453
465
|
--treatment <v1,v2> 实验组 variant,逗号分隔
|
|
454
466
|
--config <path> eval.yaml / JSON 配置
|
|
455
467
|
--executor <name> 执行器:claude / claude-sdk / codex / openai / gemini / custom
|
|
456
|
-
--model <name> 任务执行模型(默认:sonnet)
|
|
468
|
+
--model <name> 任务执行模型(默认:opus;想要省钱可改 sonnet / haiku;想钉版本可写 claude-opus-4-7)
|
|
469
|
+
--effort <level> 执行模型扩展思考预算 low / medium / high / xhigh / max(默认:low;高 effort 跨报告不可严格比较)
|
|
457
470
|
--judge-models <list> 评委配置,例如 claude:haiku 或 claude:opus,openai:gpt-4o
|
|
458
471
|
--dry-run 预览任务,不调用模型
|
|
459
472
|
--batch 批量评测:每个 skill 独立 vs baseline
|
|
@@ -463,6 +476,9 @@ omk eval——离线评测 skill 版本,并给出 ship/no-ship verdict
|
|
|
463
476
|
--trivial-diff <number> 实际可忽略 diff(默认:0.1)
|
|
464
477
|
--report-only / --no-gate 生成报告并打印 verdict,但始终 exit 0
|
|
465
478
|
--no-serve 评测后不自动启动报告 server
|
|
479
|
+
--no-judge 关闭 judge 主观评分(仍跑断言;layered 评分可能塌缩到事实/行为层)
|
|
480
|
+
--no-diagnostic 关闭 diagnostic 诊断 LLM 调用(默认开启,给 failed sample 出"哪错了 + 怎么改"建议)
|
|
481
|
+
--skip-doctor escape hatch:跳过 doctor 健康检查门禁(默认强制启用)。评测环境用 mock/stub 提供依赖时绕开 doctor 物理路径误报;garbage-in 风险由调用方承担
|
|
466
482
|
|
|
467
483
|
示例:
|
|
468
484
|
omk eval --control baseline --treatment my-skill # 单 skill 必要性测试(baseline 是保留 variant 名,代表「不注入 skill 的裸基线」)
|
|
@@ -484,7 +500,8 @@ Common options:
|
|
|
484
500
|
--treatment <v1,v2> Treatment variants, comma-separated
|
|
485
501
|
--config <path> eval.yaml / JSON config
|
|
486
502
|
--executor <name> Executor: claude / claude-sdk / codex / openai / gemini / custom
|
|
487
|
-
--model <name> Task execution model (default: sonnet)
|
|
503
|
+
--model <name> Task execution model (default: opus; pass --model sonnet/haiku to save cost, or claude-opus-4-7 to pin)
|
|
504
|
+
--effort <level> Reasoning effort for executor LLM: low / medium / high / xhigh / max (default: low; reports across efforts not strictly comparable)
|
|
488
505
|
--judge-models <list> Judge config, e.g. claude:haiku or claude:opus,openai:gpt-4o
|
|
489
506
|
--dry-run Preview tasks without model calls
|
|
490
507
|
--batch Batch evaluation: each skill independently against baseline
|
|
@@ -494,6 +511,9 @@ Common options:
|
|
|
494
511
|
--trivial-diff <number> Practically negligible diff (default: 0.1)
|
|
495
512
|
--report-only / --no-gate Produce the report and print verdict, but always exit 0
|
|
496
513
|
--no-serve Do not auto-start report server after evaluation
|
|
514
|
+
--no-judge Disable judge subjective scoring (assertions still run; layered scoring may collapse to fact/behavior layers)
|
|
515
|
+
--no-diagnostic Disable diagnostic LLM call (on by default; emits "what went wrong + how to fix" advice for failed samples)
|
|
516
|
+
--skip-doctor Escape hatch: bypass the doctor health check gate (default on). Useful when the eval environment supplies dependencies via mocks/stubs and doctor's physical-path checks misfire; caller owns garbage-in risk
|
|
497
517
|
|
|
498
518
|
Examples:
|
|
499
519
|
omk eval --control baseline --treatment my-skill # Single-skill necessity test (baseline is a reserved variant — "no skill injected")
|
|
@@ -714,11 +734,22 @@ omk sample——生成或补齐 eval-samples 评测用例
|
|
|
714
734
|
omk sample <skill-path> [options]
|
|
715
735
|
omk sample --batch [--skill-dir <dir>] [options]
|
|
716
736
|
|
|
737
|
+
输出位置(默认):
|
|
738
|
+
<skill>/SKILL.md → <skill>/.omk/samples.json(omk 标准约定)
|
|
739
|
+
其他 .md 路径 → 当前目录的 eval-samples.json(兜底)
|
|
740
|
+
|
|
717
741
|
选项:
|
|
718
|
-
--count <n>
|
|
719
|
-
|
|
742
|
+
--count <n> 强制生成 N 条(不指定时由 LLM 按 skill 类型自动判断:
|
|
743
|
+
工作流型 6-8 条 / 原子型 4-6 条 / 混合型 5-7 条)
|
|
744
|
+
--model <name> 生成模型(默认:opus;lean+effort-low 已自动开,想省钱可改 sonnet/haiku)
|
|
745
|
+
--focus <text> 自然语言指定希望覆盖的场景(追加到 prompt,优先级高于自由发挥)
|
|
720
746
|
--batch 为 skill 目录下缺少 eval-samples 的 skill 批量生成
|
|
721
747
|
--skill-dir <path> skill 目录(batch 使用,默认:skills)
|
|
748
|
+
|
|
749
|
+
示例:
|
|
750
|
+
omk improve samples skills/req-tool.md
|
|
751
|
+
omk improve samples skills/req-tool.md --count 8 \\
|
|
752
|
+
--focus "重点覆盖 tag 查询走 PROJECT 空 → WORKSPACE 兜底的多步流程,以及 search 失败的错误路径"
|
|
722
753
|
`,
|
|
723
754
|
en: `
|
|
724
755
|
omk sample — generate or fill eval-samples test cases
|
|
@@ -727,11 +758,22 @@ Usage:
|
|
|
727
758
|
omk sample <skill-path> [options]
|
|
728
759
|
omk sample --batch [--skill-dir <dir>] [options]
|
|
729
760
|
|
|
761
|
+
Output path (default):
|
|
762
|
+
<skill>/SKILL.md → <skill>/.omk/samples.json (omk standard layout)
|
|
763
|
+
other .md paths → ./eval-samples.json in current directory (fallback)
|
|
764
|
+
|
|
730
765
|
Options:
|
|
731
|
-
--count <n>
|
|
732
|
-
|
|
766
|
+
--count <n> Force N samples (omit to let LLM auto-decide by skill type:
|
|
767
|
+
workflow 6-8 / atomic 4-6 / mixed 5-7)
|
|
768
|
+
--model <name> Generation model (default: opus; lean+effort-low applied; pass --model sonnet/haiku to save cost)
|
|
769
|
+
--focus <text> Natural-language scenario hints appended to the prompt (overrides freeform diversity)
|
|
733
770
|
--batch Generate for skills that are missing eval-samples
|
|
734
771
|
--skill-dir <path> Skill directory for batch mode (default: skills)
|
|
772
|
+
|
|
773
|
+
Examples:
|
|
774
|
+
omk improve samples skills/req-tool.md
|
|
775
|
+
omk improve samples skills/req-tool.md --count 8 \\
|
|
776
|
+
--focus "Cover PROJECT-empty → WORKSPACE-fallback multi-step tag lookup and the search-failure error path"
|
|
735
777
|
`,
|
|
736
778
|
},
|
|
737
779
|
'cli.help.studio': {
|
|
@@ -899,6 +941,14 @@ Examples:
|
|
|
899
941
|
zh: 'front-matter 格式错误: {error}',
|
|
900
942
|
en: 'front-matter format error: {error}',
|
|
901
943
|
},
|
|
944
|
+
'cli.doctor.skill_metadata.fail.hardrules_invalid': {
|
|
945
|
+
zh: 'hardRules 结构错误: {error}',
|
|
946
|
+
en: 'hardRules schema error: {error}',
|
|
947
|
+
},
|
|
948
|
+
'cli.doctor.skill_metadata.fail.workflows_invalid': {
|
|
949
|
+
zh: 'workflows 结构错误: {error}',
|
|
950
|
+
en: 'workflows schema error: {error}',
|
|
951
|
+
},
|
|
902
952
|
'cli.doctor.skill_metadata.fail.missing_skillmd': {
|
|
903
953
|
zh: 'directory-skill 缺少 SKILL.md 入口文件',
|
|
904
954
|
en: 'directory-skill missing SKILL.md entry file',
|
|
@@ -907,6 +957,14 @@ Examples:
|
|
|
907
957
|
zh: 'front-matter 用 YAML 语法,key: value 或 - item 形式。可参考 examples/multi-skills 下的 skill 写法',
|
|
908
958
|
en: 'front-matter uses YAML syntax (key: value or - item). See examples/multi-skills for reference',
|
|
909
959
|
},
|
|
960
|
+
'cli.doctor.skill_metadata.hint.hardrules': {
|
|
961
|
+
zh: 'hardRules 必须写在 SKILL.md front-matter 中,格式为 hardRules: [{ id, rule, expectedBehavior }];id 要稳定且唯一,expectedBehavior 写可观察行为。',
|
|
962
|
+
en: 'hardRules must live in SKILL.md front-matter as hardRules: [{ id, rule, expectedBehavior }]; id must be stable and unique, expectedBehavior should describe observable behavior.',
|
|
963
|
+
},
|
|
964
|
+
'cli.doctor.skill_metadata.hint.workflows': {
|
|
965
|
+
zh: 'workflows 必须写在 SKILL.md front-matter 中,格式为 workflows: [{ id, description, nodes: [{ id, action }] }];nodes 也兼容 steps 别名。',
|
|
966
|
+
en: 'workflows must live in SKILL.md front-matter as workflows: [{ id, description, nodes: [{ id, action }] }]; nodes also accepts the steps alias.',
|
|
967
|
+
},
|
|
910
968
|
'cli.doctor.skill_metadata.hint.missing_skillmd': {
|
|
911
969
|
zh: 'directory-skill 必须有 SKILL.md 文件作为入口。或将 skill 写成单文件 .md',
|
|
912
970
|
en: 'directory-skills require a SKILL.md entry file. Alternatively, write the skill as a single .md file',
|