oh-my-knowledge 0.30.0 → 0.31.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 +198 -26
- package/README.zh.md +198 -26
- package/dist/src/authoring/evolver.d.ts +26 -2
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +410 -49
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/authoring/generator.d.ts +5 -2
- package/dist/src/authoring/generator.d.ts.map +1 -1
- package/dist/src/authoring/generator.js +22 -6
- package/dist/src/authoring/generator.js.map +1 -1
- package/dist/src/authoring/sample-fixer.d.ts +10 -4
- package/dist/src/authoring/sample-fixer.d.ts.map +1 -1
- package/dist/src/authoring/sample-fixer.js +153 -126
- package/dist/src/authoring/sample-fixer.js.map +1 -1
- package/dist/src/cli/commands/doctor.d.ts +25 -1
- package/dist/src/cli/commands/doctor.d.ts.map +1 -1
- package/dist/src/cli/commands/doctor.js +233 -124
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/eval/gold/compare.d.ts +17 -0
- package/dist/src/cli/commands/eval/gold/compare.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/compare.js +91 -0
- package/dist/src/cli/commands/eval/gold/compare.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts +9 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.js +34 -0
- package/dist/src/cli/commands/eval/gold/index.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts +11 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.js +51 -0
- package/dist/src/cli/commands/eval/gold/init.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts +12 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.js +46 -0
- package/dist/src/cli/commands/eval/gold/validate.js.map +1 -0
- package/dist/src/cli/commands/eval/index.d.ts +54 -0
- package/dist/src/cli/commands/eval/index.d.ts.map +1 -0
- package/dist/src/cli/commands/{eval-runner.js → eval/index.js} +216 -50
- package/dist/src/cli/commands/eval/index.js.map +1 -0
- package/dist/src/cli/commands/evolve.d.ts +36 -1
- package/dist/src/cli/commands/evolve.d.ts.map +1 -1
- package/dist/src/cli/commands/evolve.js +191 -47
- package/dist/src/cli/commands/evolve.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +15 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +70 -28
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/observe/inbox.d.ts +23 -0
- package/dist/src/cli/commands/observe/inbox.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/inbox.js +258 -0
- package/dist/src/cli/commands/observe/inbox.js.map +1 -0
- package/dist/src/cli/commands/observe/index.d.ts +22 -0
- package/dist/src/cli/commands/observe/index.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/index.js +118 -0
- package/dist/src/cli/commands/observe/index.js.map +1 -0
- package/dist/src/cli/commands/observe/ingest.d.ts +13 -0
- package/dist/src/cli/commands/observe/ingest.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/ingest.js +69 -0
- package/dist/src/cli/commands/observe/ingest.js.map +1 -0
- package/dist/src/cli/commands/observe/show.d.ts +13 -0
- package/dist/src/cli/commands/observe/show.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/show.js +49 -0
- package/dist/src/cli/commands/observe/show.js.map +1 -0
- package/dist/src/cli/commands/sample.d.ts +28 -5
- package/dist/src/cli/commands/sample.d.ts.map +1 -1
- package/dist/src/cli/commands/sample.js +242 -169
- package/dist/src/cli/commands/sample.js.map +1 -1
- package/dist/src/cli/commands/skill-extract.d.ts +20 -0
- package/dist/src/cli/commands/skill-extract.d.ts.map +1 -0
- package/dist/src/cli/commands/skill-extract.js +84 -0
- package/dist/src/cli/commands/skill-extract.js.map +1 -0
- package/dist/src/cli/commands/studio.d.ts +22 -1
- package/dist/src/cli/commands/studio.d.ts.map +1 -1
- package/dist/src/cli/commands/studio.js +111 -37
- package/dist/src/cli/commands/studio.js.map +1 -1
- package/dist/src/cli/index.js +15 -47
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/lib/cli-exit.d.ts +16 -0
- package/dist/src/cli/lib/cli-exit.d.ts.map +1 -0
- package/dist/src/cli/lib/cli-exit.js +20 -0
- package/dist/src/cli/lib/cli-exit.js.map +1 -0
- package/dist/src/cli/lib/cmd-flags.d.ts +236 -0
- package/dist/src/cli/lib/cmd-flags.d.ts.map +1 -0
- package/dist/src/cli/lib/cmd-flags.js +46 -0
- package/dist/src/cli/lib/cmd-flags.js.map +1 -0
- package/dist/src/cli/{i18n-dict.d.ts → lib/i18n-dict.d.ts} +1 -1
- package/dist/src/cli/lib/i18n-dict.d.ts.map +1 -0
- package/dist/src/cli/{i18n-dict.js → lib/i18n-dict.js} +39 -264
- package/dist/src/cli/lib/i18n-dict.js.map +1 -0
- package/dist/src/cli/{i18n.d.ts → lib/i18n.d.ts} +11 -6
- package/dist/src/cli/lib/i18n.d.ts.map +1 -0
- package/dist/src/cli/{i18n.js → lib/i18n.js} +12 -7
- package/dist/src/cli/lib/i18n.js.map +1 -0
- package/dist/src/cli/{parse-run-config.d.ts → lib/parse-run-config.d.ts} +5 -6
- package/dist/src/cli/lib/parse-run-config.d.ts.map +1 -0
- package/dist/src/cli/{parse-run-config.js → lib/parse-run-config.js} +11 -61
- package/dist/src/cli/lib/parse-run-config.js.map +1 -0
- package/dist/src/cli/lib/progress.d.ts.map +1 -0
- package/dist/src/cli/lib/progress.js.map +1 -0
- package/dist/src/cli/{run-tally.d.ts → lib/run-tally.d.ts} +1 -1
- package/dist/src/cli/lib/run-tally.d.ts.map +1 -0
- package/dist/src/cli/lib/run-tally.js.map +1 -0
- package/dist/src/cli/{commands/_shared.d.ts → lib/shared.d.ts} +2 -2
- package/dist/src/cli/lib/shared.d.ts.map +1 -0
- package/dist/src/cli/{commands/_shared.js → lib/shared.js} +3 -3
- package/dist/src/cli/lib/shared.js.map +1 -0
- package/dist/src/cli/lib/update-check.d.ts.map +1 -0
- package/dist/src/cli/lib/update-check.js.map +1 -0
- package/dist/src/cli/oclif/base-command.d.ts +8 -0
- package/dist/src/cli/oclif/base-command.d.ts.map +1 -0
- package/dist/src/cli/oclif/base-command.js +27 -0
- package/dist/src/cli/oclif/base-command.js.map +1 -0
- package/dist/src/cli/oclif/help.d.ts +16 -0
- package/dist/src/cli/oclif/help.d.ts.map +1 -0
- package/dist/src/cli/oclif/help.js +33 -0
- package/dist/src/cli/oclif/help.js.map +1 -0
- package/dist/src/cli/oclif/i18n.d.ts +16 -0
- package/dist/src/cli/oclif/i18n.d.ts.map +1 -0
- package/dist/src/cli/oclif/i18n.js +62 -0
- package/dist/src/cli/oclif/i18n.js.map +1 -0
- package/dist/src/cli/oclif/parsers.d.ts +10 -0
- package/dist/src/cli/oclif/parsers.d.ts.map +1 -0
- package/dist/src/cli/oclif/parsers.js +102 -0
- package/dist/src/cli/oclif/parsers.js.map +1 -0
- package/dist/src/cli/oclif/projection.d.ts +23 -0
- package/dist/src/cli/oclif/projection.d.ts.map +1 -0
- package/dist/src/cli/oclif/projection.js +52 -0
- package/dist/src/cli/oclif/projection.js.map +1 -0
- package/dist/src/cli/oclif/run.d.ts +2 -0
- package/dist/src/cli/oclif/run.d.ts.map +1 -0
- package/dist/src/cli/oclif/run.js +11 -0
- package/dist/src/cli/oclif/run.js.map +1 -0
- package/dist/src/diagnosis/observe-mapper.d.ts +68 -0
- package/dist/src/diagnosis/observe-mapper.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-mapper.js +276 -0
- package/dist/src/diagnosis/observe-mapper.js.map +1 -0
- package/dist/src/diagnosis/observe-producer.d.ts +9 -0
- package/dist/src/diagnosis/observe-producer.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-producer.js +197 -0
- package/dist/src/diagnosis/observe-producer.js.map +1 -0
- package/dist/src/diagnosis/studio-projection.d.ts +14 -0
- package/dist/src/diagnosis/studio-projection.d.ts.map +1 -0
- package/dist/src/diagnosis/studio-projection.js +84 -0
- package/dist/src/diagnosis/studio-projection.js.map +1 -0
- package/dist/src/diagnosis/types.d.ts +79 -0
- package/dist/src/diagnosis/types.d.ts.map +1 -0
- package/dist/src/diagnosis/types.js +20 -0
- package/dist/src/diagnosis/types.js.map +1 -0
- package/dist/src/doctor/fixer.d.ts +12 -0
- package/dist/src/doctor/fixer.d.ts.map +1 -0
- package/dist/src/doctor/fixer.js +326 -0
- package/dist/src/doctor/fixer.js.map +1 -0
- package/dist/src/doctor/health/composer.js +7 -4
- package/dist/src/doctor/health/composer.js.map +1 -1
- package/dist/src/doctor/health/parser.d.ts +0 -1
- package/dist/src/doctor/health/parser.d.ts.map +1 -1
- package/dist/src/doctor/health/parser.js +37 -0
- package/dist/src/doctor/health/parser.js.map +1 -1
- package/dist/src/doctor/health/prompt-builder.d.ts +2 -21
- package/dist/src/doctor/health/prompt-builder.d.ts.map +1 -1
- package/dist/src/doctor/health/prompt-builder.js +1 -169
- package/dist/src/doctor/health/prompt-builder.js.map +1 -1
- package/dist/src/doctor/html-renderer.d.ts +1 -1
- package/dist/src/doctor/html-renderer.d.ts.map +1 -1
- package/dist/src/doctor/html-renderer.js +2 -2
- package/dist/src/doctor/html-renderer.js.map +1 -1
- package/dist/src/doctor/index.d.ts.map +1 -1
- package/dist/src/doctor/index.js +1 -0
- package/dist/src/doctor/index.js.map +1 -1
- package/dist/src/doctor/renderer.d.ts +1 -1
- package/dist/src/doctor/renderer.d.ts.map +1 -1
- package/dist/src/doctor/renderer.js +2 -2
- package/dist/src/doctor/renderer.js.map +1 -1
- package/dist/src/doctor/rules.js +1 -1
- package/dist/src/doctor/rules.js.map +1 -1
- package/dist/src/eval-core/mock-hook.cjs +13 -1
- package/dist/src/eval-core/mocks-runtime.d.ts +7 -3
- package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -1
- package/dist/src/eval-core/mocks-runtime.js +240 -4
- package/dist/src/eval-core/mocks-runtime.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +1 -1
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +6 -4
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/observability/experience.d.ts +184 -3
- package/dist/src/observability/experience.d.ts.map +1 -1
- package/dist/src/observability/experience.js +1208 -41
- package/dist/src/observability/experience.js.map +1 -1
- package/dist/src/observability/inbox-view-model.d.ts +3 -0
- package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
- package/dist/src/observability/inbox-view-model.js +9 -0
- package/dist/src/observability/inbox-view-model.js.map +1 -1
- package/dist/src/observability/inbox.d.ts +2 -0
- package/dist/src/observability/inbox.d.ts.map +1 -1
- package/dist/src/observability/inbox.js +16 -2
- package/dist/src/observability/inbox.js.map +1 -1
- package/dist/src/observability/problem-patterns.d.ts +1 -0
- package/dist/src/observability/problem-patterns.d.ts.map +1 -1
- package/dist/src/observability/problem-patterns.js +8 -8
- package/dist/src/observability/problem-patterns.js.map +1 -1
- package/dist/src/observability/resolved-review.d.ts +25 -0
- package/dist/src/observability/resolved-review.d.ts.map +1 -0
- package/dist/src/observability/resolved-review.js +231 -0
- package/dist/src/observability/resolved-review.js.map +1 -0
- package/dist/src/observability/review-state.d.ts +9 -2
- package/dist/src/observability/review-state.d.ts.map +1 -1
- package/dist/src/observability/review-state.js +40 -2
- package/dist/src/observability/review-state.js.map +1 -1
- package/dist/src/observability/skill-chain-advisories.js +4 -4
- package/dist/src/observability/skill-chain-advisories.js.map +1 -1
- package/dist/src/observability/skill-chain.d.ts +1 -0
- package/dist/src/observability/skill-chain.d.ts.map +1 -1
- package/dist/src/observability/skill-chain.js +72 -35
- package/dist/src/observability/skill-chain.js.map +1 -1
- package/dist/src/observability/soft-standards.d.ts +130 -0
- package/dist/src/observability/soft-standards.d.ts.map +1 -0
- package/dist/src/observability/soft-standards.js +426 -0
- package/dist/src/observability/soft-standards.js.map +1 -0
- package/dist/src/observability/text-signals.d.ts +7 -0
- package/dist/src/observability/text-signals.d.ts.map +1 -1
- package/dist/src/observability/text-signals.js +88 -4
- package/dist/src/observability/text-signals.js.map +1 -1
- package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
- package/dist/src/observability/trace-segmenter.js +4 -2
- package/dist/src/observability/trace-segmenter.js.map +1 -1
- package/dist/src/observability/trace-source.d.ts.map +1 -1
- package/dist/src/observability/trace-source.js +13 -3
- package/dist/src/observability/trace-source.js.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.js +5914 -924
- package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.js +15 -5
- package/dist/src/renderer/skill-detail-renderer.js.map +1 -1
- package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-list-renderer.js +10 -3
- package/dist/src/renderer/skill-list-renderer.js.map +1 -1
- package/dist/src/renderer/test-view.js +2 -2
- package/dist/src/renderer/test-view.js.map +1 -1
- package/dist/src/server/report-server.d.ts.map +1 -1
- package/dist/src/server/report-server.js +95 -2
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/skill-index.d.ts +5 -1
- package/dist/src/server/skill-index.d.ts.map +1 -1
- package/dist/src/server/skill-index.js +72 -26
- package/dist/src/server/skill-index.js.map +1 -1
- package/dist/src/server/skill-insights.d.ts +10 -1
- package/dist/src/server/skill-insights.d.ts.map +1 -1
- package/dist/src/server/skill-insights.js +113 -1
- package/dist/src/server/skill-insights.js.map +1 -1
- package/dist/src/shared/hard-rules.d.ts +2 -0
- package/dist/src/shared/hard-rules.d.ts.map +1 -1
- package/dist/src/shared/hard-rules.js +42 -0
- package/dist/src/shared/hard-rules.js.map +1 -1
- package/dist/src/shared/llm-prompts/index.d.ts +14 -0
- package/dist/src/shared/llm-prompts/index.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/index.js +35 -0
- package/dist/src/shared/llm-prompts/index.js.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts +22 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.js +170 -0
- package/dist/src/shared/llm-prompts/skill-health.js.map +1 -0
- package/dist/src/types/doctor.d.ts +2 -0
- package/dist/src/types/doctor.d.ts.map +1 -1
- package/dist/src/types/eval.d.ts +6 -1
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +6 -0
- package/dist/src/types/report.d.ts.map +1 -1
- package/docs/prompts/llm-enhanced-review.prompt.md +111 -0
- package/package.json +29 -4
- package/dist/src/cli/cli-exit.d.ts +0 -15
- package/dist/src/cli/cli-exit.d.ts.map +0 -1
- package/dist/src/cli/cli-exit.js +0 -19
- package/dist/src/cli/cli-exit.js.map +0 -1
- package/dist/src/cli/commands/_shared.d.ts.map +0 -1
- package/dist/src/cli/commands/_shared.js.map +0 -1
- package/dist/src/cli/commands/eval-gold.d.ts +0 -2
- package/dist/src/cli/commands/eval-gold.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-gold.js +0 -137
- package/dist/src/cli/commands/eval-gold.js.map +0 -1
- package/dist/src/cli/commands/eval-runner.d.ts +0 -2
- package/dist/src/cli/commands/eval-runner.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-runner.js.map +0 -1
- package/dist/src/cli/commands/eval.d.ts +0 -2
- package/dist/src/cli/commands/eval.d.ts.map +0 -1
- package/dist/src/cli/commands/eval.js +0 -11
- package/dist/src/cli/commands/eval.js.map +0 -1
- package/dist/src/cli/commands/observe.d.ts +0 -2
- package/dist/src/cli/commands/observe.d.ts.map +0 -1
- package/dist/src/cli/commands/observe.js +0 -247
- package/dist/src/cli/commands/observe.js.map +0 -1
- package/dist/src/cli/commands/registry.d.ts +0 -11
- package/dist/src/cli/commands/registry.d.ts.map +0 -1
- package/dist/src/cli/commands/registry.js +0 -32
- package/dist/src/cli/commands/registry.js.map +0 -1
- package/dist/src/cli/i18n-dict.d.ts.map +0 -1
- package/dist/src/cli/i18n-dict.js.map +0 -1
- package/dist/src/cli/i18n.d.ts.map +0 -1
- package/dist/src/cli/i18n.js.map +0 -1
- package/dist/src/cli/parse-run-config.d.ts.map +0 -1
- package/dist/src/cli/parse-run-config.js.map +0 -1
- package/dist/src/cli/parse-strict.d.ts +0 -7
- package/dist/src/cli/parse-strict.d.ts.map +0 -1
- package/dist/src/cli/parse-strict.js +0 -26
- package/dist/src/cli/parse-strict.js.map +0 -1
- package/dist/src/cli/progress.d.ts.map +0 -1
- package/dist/src/cli/progress.js.map +0 -1
- package/dist/src/cli/run-tally.d.ts.map +0 -1
- package/dist/src/cli/run-tally.js.map +0 -1
- package/dist/src/cli/update-check.d.ts.map +0 -1
- package/dist/src/cli/update-check.js.map +0 -1
- /package/dist/src/cli/{progress.d.ts → lib/progress.d.ts} +0 -0
- /package/dist/src/cli/{progress.js → lib/progress.js} +0 -0
- /package/dist/src/cli/{run-tally.js → lib/run-tally.js} +0 -0
- /package/dist/src/cli/{update-check.d.ts → lib/update-check.d.ts} +0 -0
- /package/dist/src/cli/{update-check.js → lib/update-check.js} +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* omk CLI 各个 oclif Command 的 typed args / flags interface 集中模块。
|
|
3
|
+
*
|
|
4
|
+
* 当前覆盖 13 个真正吃 typed parse 的命令 — `eval gold` topic 是只打 help 的 shim,
|
|
5
|
+
* 不进入业务,所以这里没给它定义专门的 interface;加新 Command 时跟着 oclif 文件
|
|
6
|
+
* 一起补对应 interface。
|
|
7
|
+
*
|
|
8
|
+
* 用途:
|
|
9
|
+
* - oclif Command 静态 `flags = { ... }` 通过 `Flags.xxx()` 声明,但 `this.parse(X)`
|
|
10
|
+
* 返回的 flags 是 oclif 推导出的 ad-hoc 类型。业务函数 `run<Cmd>(args, flags, lang)`
|
|
11
|
+
* 接的是这里定义的**稳定 business-facing interface**(给跨命令业务模块跟单测复用),
|
|
12
|
+
* oclif Command 在 run() 里走 `{ ...flags, lang }` spread 把 oclif parse 结果传过去。
|
|
13
|
+
*
|
|
14
|
+
* - args 也走同样的 typed interface,oclif `static args = { ... }` 的 key 跟
|
|
15
|
+
* interface field 命名靠 review + 跑通的测试 case 保持对齐。
|
|
16
|
+
*
|
|
17
|
+
* 这里**不是**完整的 drift gate:
|
|
18
|
+
* - TS 结构类型 + `{ ...flags, lang }` spread + 多数 EvalFlags 字段可选,导致
|
|
19
|
+
* ① oclif static 加新 flag 但忘记补 interface,不报错(spread 多余字段不报);
|
|
20
|
+
* ② interface 漏 optional 字段,也不报错。
|
|
21
|
+
* - 真值是各 Command file 的 `static flags = { ... }`,runtime 跟 codegen 都读它。
|
|
22
|
+
* - 如果未来需要硬 drift gate,可在每个 Command run() body 加
|
|
23
|
+
* `flags satisfies <XxxFlags>`(单向:catch interface required 字段缺失)
|
|
24
|
+
* + paired type-level 等价检查(双向:catch 多 / 少 字段)。当前没加是因为
|
|
25
|
+
* `{ ...flags, lang }` 的 spread 模式让 satisfies 错位率高,加之 oclif parse 错配
|
|
26
|
+
* 测试运行时就挂,human review 加测试已经能抓住绝大多数 drift。
|
|
27
|
+
*
|
|
28
|
+
* Flag 类型映射约定:
|
|
29
|
+
* - `Flags.boolean({ default: false })` → `boolean`
|
|
30
|
+
* - `Flags.boolean({})`(无 default)→ `boolean | undefined`(保留三态)
|
|
31
|
+
* - `Flags.string({})` → `string | undefined`
|
|
32
|
+
* - `Flags.string({ default: 'x' })` → `string`(因 default 让它非 undefined)
|
|
33
|
+
* - `Flags.string({ required: true })` → `string`
|
|
34
|
+
* - lang 字段统一 `Lang`(`'zh' | 'en'`),业务侧不读 oclif `flags.lang`(它会被
|
|
35
|
+
* `default: 'zh'` 盖掉 `OMK_LANG=en` 环境变量),而走 `resolveLang(process.argv)`,
|
|
36
|
+
* 优先级 `--lang CLI flag > OMK_LANG env > zh`。
|
|
37
|
+
*
|
|
38
|
+
* 三态 boolean 注意:oclif 对 `Flags.boolean({})`(没 `default`)运行时不会塞 `false`,
|
|
39
|
+
* 而是字段缺失,字段读出来是 `undefined`。这点对 `eval` 跟 `parseRunConfig()` fallback
|
|
40
|
+
* 关键 — `undefined`(CLI 没传)走 `eval.yaml` config / 内置 default;`false`(显式
|
|
41
|
+
* `--no-xxx`)真的关。如果在 interface 里把它标成 `boolean`,后续维护者按类型读
|
|
42
|
+
* `flags.bootstrap` 会静默把「没传」当成「关」,绕开 config fallback。所以未设
|
|
43
|
+
* `default: false` 的 boolean 必须在 interface 里标成可选(`field?: boolean`)。
|
|
44
|
+
*/
|
|
45
|
+
export type Lang = 'zh' | 'en';
|
|
46
|
+
export interface InitArgs {
|
|
47
|
+
targetDir?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface InitFlags {
|
|
50
|
+
lang: Lang;
|
|
51
|
+
}
|
|
52
|
+
export interface DoctorArgs {
|
|
53
|
+
target?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface DoctorFlags {
|
|
56
|
+
lang: Lang;
|
|
57
|
+
json: boolean;
|
|
58
|
+
gate: boolean;
|
|
59
|
+
executor?: string;
|
|
60
|
+
model?: string;
|
|
61
|
+
samples?: string;
|
|
62
|
+
timeout?: string;
|
|
63
|
+
html?: string;
|
|
64
|
+
'static-only': boolean;
|
|
65
|
+
}
|
|
66
|
+
export type EvalArgs = Record<string, never>;
|
|
67
|
+
export interface EvalFlags {
|
|
68
|
+
lang: Lang;
|
|
69
|
+
control?: string;
|
|
70
|
+
treatment?: string;
|
|
71
|
+
config?: string;
|
|
72
|
+
samples?: string;
|
|
73
|
+
'skill-dir'?: string;
|
|
74
|
+
model?: string;
|
|
75
|
+
executor?: string;
|
|
76
|
+
'judge-models'?: string;
|
|
77
|
+
'output-dir'?: string;
|
|
78
|
+
'no-judge'?: boolean;
|
|
79
|
+
'no-cache'?: boolean;
|
|
80
|
+
'dry-run'?: boolean;
|
|
81
|
+
concurrency?: string;
|
|
82
|
+
timeout?: string;
|
|
83
|
+
batch?: boolean;
|
|
84
|
+
'skip-connectivity'?: boolean;
|
|
85
|
+
'skip-doctor'?: boolean;
|
|
86
|
+
'mcp-config'?: string;
|
|
87
|
+
'no-serve'?: boolean;
|
|
88
|
+
verbose?: boolean;
|
|
89
|
+
retry?: string;
|
|
90
|
+
resume?: string;
|
|
91
|
+
'layered-stats'?: boolean;
|
|
92
|
+
'strict-baseline'?: boolean;
|
|
93
|
+
'no-strict-baseline'?: boolean;
|
|
94
|
+
effort?: string;
|
|
95
|
+
'no-diagnostic'?: boolean;
|
|
96
|
+
blind?: boolean;
|
|
97
|
+
repeat?: string;
|
|
98
|
+
'judge-repeat'?: string;
|
|
99
|
+
bootstrap?: boolean;
|
|
100
|
+
'bootstrap-samples'?: string;
|
|
101
|
+
'gold-dir'?: string;
|
|
102
|
+
'no-debias-length'?: boolean;
|
|
103
|
+
'budget-usd'?: string;
|
|
104
|
+
'budget-per-sample-usd'?: string;
|
|
105
|
+
'budget-per-sample-ms'?: string;
|
|
106
|
+
threshold?: string;
|
|
107
|
+
'trivial-diff'?: string;
|
|
108
|
+
'report-only'?: boolean;
|
|
109
|
+
'no-gate'?: boolean;
|
|
110
|
+
}
|
|
111
|
+
export interface EvolveArgs {
|
|
112
|
+
skillPath: string;
|
|
113
|
+
}
|
|
114
|
+
export interface EvolveFlags {
|
|
115
|
+
lang: Lang;
|
|
116
|
+
rounds: string;
|
|
117
|
+
target?: string;
|
|
118
|
+
samples: string;
|
|
119
|
+
model: string;
|
|
120
|
+
'judge-models': string;
|
|
121
|
+
'improve-model': string;
|
|
122
|
+
concurrency: string;
|
|
123
|
+
timeout: string;
|
|
124
|
+
executor: string;
|
|
125
|
+
'skip-connectivity': boolean;
|
|
126
|
+
effort?: string;
|
|
127
|
+
'no-diagnostic': boolean;
|
|
128
|
+
'skip-doctor': boolean;
|
|
129
|
+
'stop-on-assertions-pass': boolean;
|
|
130
|
+
'auto-fix-samples': boolean;
|
|
131
|
+
'sample-fix-max-attempts': string;
|
|
132
|
+
'reuse-latest-eval': boolean;
|
|
133
|
+
'improve-mode': string;
|
|
134
|
+
}
|
|
135
|
+
export interface SampleArgs {
|
|
136
|
+
skillPath?: string;
|
|
137
|
+
}
|
|
138
|
+
export interface SampleFlags {
|
|
139
|
+
lang: Lang;
|
|
140
|
+
batch: boolean;
|
|
141
|
+
count?: string;
|
|
142
|
+
model: string;
|
|
143
|
+
'skill-dir': string;
|
|
144
|
+
focus?: string;
|
|
145
|
+
'no-mock': boolean;
|
|
146
|
+
fix: boolean;
|
|
147
|
+
'reports-dir'?: string;
|
|
148
|
+
treatment?: string;
|
|
149
|
+
}
|
|
150
|
+
export type GoldInitArgs = Record<string, never>;
|
|
151
|
+
export interface GoldInitFlags {
|
|
152
|
+
lang: Lang;
|
|
153
|
+
out: string;
|
|
154
|
+
annotator?: string;
|
|
155
|
+
}
|
|
156
|
+
export interface GoldValidateArgs {
|
|
157
|
+
dir: string;
|
|
158
|
+
}
|
|
159
|
+
export interface GoldValidateFlags {
|
|
160
|
+
lang: Lang;
|
|
161
|
+
}
|
|
162
|
+
export interface GoldCompareArgs {
|
|
163
|
+
reportId: string;
|
|
164
|
+
}
|
|
165
|
+
export interface GoldCompareFlags {
|
|
166
|
+
lang: Lang;
|
|
167
|
+
'gold-dir'?: string;
|
|
168
|
+
variant?: string;
|
|
169
|
+
'reports-dir'?: string;
|
|
170
|
+
'bootstrap-samples'?: string;
|
|
171
|
+
seed?: string;
|
|
172
|
+
}
|
|
173
|
+
export interface ObserveArgs {
|
|
174
|
+
sessionsDir?: string;
|
|
175
|
+
}
|
|
176
|
+
export interface ObserveFlags {
|
|
177
|
+
lang: Lang;
|
|
178
|
+
kb?: string;
|
|
179
|
+
last?: string;
|
|
180
|
+
from?: string;
|
|
181
|
+
to?: string;
|
|
182
|
+
skills?: string;
|
|
183
|
+
'output-dir'?: string;
|
|
184
|
+
}
|
|
185
|
+
export interface ObserveIngestArgs {
|
|
186
|
+
traceDir: string;
|
|
187
|
+
}
|
|
188
|
+
export interface ObserveIngestFlags {
|
|
189
|
+
lang: Lang;
|
|
190
|
+
'output-dir'?: string;
|
|
191
|
+
}
|
|
192
|
+
export type ObserveInboxArgs = Record<string, never>;
|
|
193
|
+
export interface ObserveInboxFlags {
|
|
194
|
+
lang: Lang;
|
|
195
|
+
'input-dir'?: string;
|
|
196
|
+
skill?: string;
|
|
197
|
+
limit?: string;
|
|
198
|
+
explore?: string;
|
|
199
|
+
'include-noise': boolean;
|
|
200
|
+
'by-skill': boolean;
|
|
201
|
+
'llm-enhanced-review': boolean;
|
|
202
|
+
refresh: boolean;
|
|
203
|
+
model?: string;
|
|
204
|
+
executor?: string;
|
|
205
|
+
json: boolean;
|
|
206
|
+
}
|
|
207
|
+
export interface ObserveShowArgs {
|
|
208
|
+
inboxId: string;
|
|
209
|
+
}
|
|
210
|
+
export interface ObserveShowFlags {
|
|
211
|
+
lang: Lang;
|
|
212
|
+
'input-dir'?: string;
|
|
213
|
+
}
|
|
214
|
+
export interface SkillExtractArgs {
|
|
215
|
+
skillName: string;
|
|
216
|
+
}
|
|
217
|
+
export interface SkillExtractFlags {
|
|
218
|
+
lang: Lang;
|
|
219
|
+
'input-dir'?: string;
|
|
220
|
+
review: string;
|
|
221
|
+
status?: string;
|
|
222
|
+
reason?: string;
|
|
223
|
+
json: boolean;
|
|
224
|
+
}
|
|
225
|
+
export type StudioArgs = Record<string, never>;
|
|
226
|
+
export interface StudioFlags {
|
|
227
|
+
lang: Lang;
|
|
228
|
+
port: string;
|
|
229
|
+
host?: string;
|
|
230
|
+
'reports-dir'?: string;
|
|
231
|
+
'analyses-dir'?: string;
|
|
232
|
+
'observations-dir'?: string;
|
|
233
|
+
'no-open': boolean;
|
|
234
|
+
dev: boolean;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=cmd-flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd-flags.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/cmd-flags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* omk CLI 各个 oclif Command 的 typed args / flags interface 集中模块。
|
|
3
|
+
*
|
|
4
|
+
* 当前覆盖 13 个真正吃 typed parse 的命令 — `eval gold` topic 是只打 help 的 shim,
|
|
5
|
+
* 不进入业务,所以这里没给它定义专门的 interface;加新 Command 时跟着 oclif 文件
|
|
6
|
+
* 一起补对应 interface。
|
|
7
|
+
*
|
|
8
|
+
* 用途:
|
|
9
|
+
* - oclif Command 静态 `flags = { ... }` 通过 `Flags.xxx()` 声明,但 `this.parse(X)`
|
|
10
|
+
* 返回的 flags 是 oclif 推导出的 ad-hoc 类型。业务函数 `run<Cmd>(args, flags, lang)`
|
|
11
|
+
* 接的是这里定义的**稳定 business-facing interface**(给跨命令业务模块跟单测复用),
|
|
12
|
+
* oclif Command 在 run() 里走 `{ ...flags, lang }` spread 把 oclif parse 结果传过去。
|
|
13
|
+
*
|
|
14
|
+
* - args 也走同样的 typed interface,oclif `static args = { ... }` 的 key 跟
|
|
15
|
+
* interface field 命名靠 review + 跑通的测试 case 保持对齐。
|
|
16
|
+
*
|
|
17
|
+
* 这里**不是**完整的 drift gate:
|
|
18
|
+
* - TS 结构类型 + `{ ...flags, lang }` spread + 多数 EvalFlags 字段可选,导致
|
|
19
|
+
* ① oclif static 加新 flag 但忘记补 interface,不报错(spread 多余字段不报);
|
|
20
|
+
* ② interface 漏 optional 字段,也不报错。
|
|
21
|
+
* - 真值是各 Command file 的 `static flags = { ... }`,runtime 跟 codegen 都读它。
|
|
22
|
+
* - 如果未来需要硬 drift gate,可在每个 Command run() body 加
|
|
23
|
+
* `flags satisfies <XxxFlags>`(单向:catch interface required 字段缺失)
|
|
24
|
+
* + paired type-level 等价检查(双向:catch 多 / 少 字段)。当前没加是因为
|
|
25
|
+
* `{ ...flags, lang }` 的 spread 模式让 satisfies 错位率高,加之 oclif parse 错配
|
|
26
|
+
* 测试运行时就挂,human review 加测试已经能抓住绝大多数 drift。
|
|
27
|
+
*
|
|
28
|
+
* Flag 类型映射约定:
|
|
29
|
+
* - `Flags.boolean({ default: false })` → `boolean`
|
|
30
|
+
* - `Flags.boolean({})`(无 default)→ `boolean | undefined`(保留三态)
|
|
31
|
+
* - `Flags.string({})` → `string | undefined`
|
|
32
|
+
* - `Flags.string({ default: 'x' })` → `string`(因 default 让它非 undefined)
|
|
33
|
+
* - `Flags.string({ required: true })` → `string`
|
|
34
|
+
* - lang 字段统一 `Lang`(`'zh' | 'en'`),业务侧不读 oclif `flags.lang`(它会被
|
|
35
|
+
* `default: 'zh'` 盖掉 `OMK_LANG=en` 环境变量),而走 `resolveLang(process.argv)`,
|
|
36
|
+
* 优先级 `--lang CLI flag > OMK_LANG env > zh`。
|
|
37
|
+
*
|
|
38
|
+
* 三态 boolean 注意:oclif 对 `Flags.boolean({})`(没 `default`)运行时不会塞 `false`,
|
|
39
|
+
* 而是字段缺失,字段读出来是 `undefined`。这点对 `eval` 跟 `parseRunConfig()` fallback
|
|
40
|
+
* 关键 — `undefined`(CLI 没传)走 `eval.yaml` config / 内置 default;`false`(显式
|
|
41
|
+
* `--no-xxx`)真的关。如果在 interface 里把它标成 `boolean`,后续维护者按类型读
|
|
42
|
+
* `flags.bootstrap` 会静默把「没传」当成「关」,绕开 config fallback。所以未设
|
|
43
|
+
* `default: false` 的 boolean 必须在 interface 里标成可选(`field?: boolean`)。
|
|
44
|
+
*/
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=cmd-flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd-flags.js","sourceRoot":"","sources":["../../../../src/cli/lib/cmd-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG"}
|
|
@@ -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_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.
|
|
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_baseline_reused' | '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.observe' | 'cli.help.observe_ingest' | 'cli.help.observe_inbox' | 'cli.help.observe_show' | 'cli.help.skill_extract' | '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.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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-dict.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/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,+BAA+B,GAC/B,oBAAoB,GACpB,sBAAsB,GACtB,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,gCAAgC,GAChC,2BAA2B,GAC3B,gCAAgC,GAChC,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,GAChB,uBAAuB,GAEvB,+BAA+B,GAC/B,2BAA2B,GAC3B,2BAA2B,GAC3B,kCAAkC,GAClC,wBAAwB,GACxB,uBAAuB,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,2BAA2B,GAC3B,wBAAwB,GAExB,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,uBAAuB,GACvB,wBAAwB,GACxB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GAEjB,gCAAgC,GAChC,gCAAgC,GAChC,8BAA8B,GAC9B,kCAAkC,GAClC,oCAAoC,GAEpC,2BAA2B,GAC3B,iCAAiC,GACjC,iCAAiC,GACjC,8BAA8B,GAC9B,qCAAqC,GACrC,iCAAiC,GACjC,8BAA8B,GAC9B,+BAA+B,GAC/B,+BAA+B,GAC/B,iCAAiC,GACjC,mCAAmC,GACnC,kCAAkC,GAElC,wCAAwC,GACxC,mCAAmC,GACnC,uCAAuC,GACvC,kCAAkC,GAClC,wCAAwC,GACxC,gCAAgC,GAChC,gCAAgC,GAEhC,gCAAgC,GAChC,gCAAgC,GAChC,8BAA8B,GAC9B,kCAAkC,GAElC,wCAAwC,GACxC,sCAAsC,GACtC,0CAA0C,GAC1C,wCAAwC,GACxC,mCAAmC,GACnC,mCAAmC,GACnC,kCAAkC,GAClC,wCAAwC,GACxC,8CAA8C,GAC9C,8CAA8C,GAC9C,2CAA2C,GAC3C,gDAAgD,GAChD,0CAA0C,GAE1C,oDAAoD,GACpD,kDAAkD,GAClD,kDAAkD,GAClD,gDAAgD,GAChD,4CAA4C,GAC5C,0CAA0C,GAC1C,0CAA0C,GAC1C,gDAAgD,GAEhD,8BAA8B,GAE9B,qCAAqC,GACrC,wCAAwC,GACxC,iDAAiD,GACjD,kCAAkC,GAElC,2BAA2B,GAC3B,6BAA6B,GAC7B,yBAAyB,GACzB,mCAAmC,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CAm1BtD,CAAC"}
|