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.
Files changed (320) hide show
  1. package/README.md +198 -26
  2. package/README.zh.md +198 -26
  3. package/dist/src/authoring/evolver.d.ts +26 -2
  4. package/dist/src/authoring/evolver.d.ts.map +1 -1
  5. package/dist/src/authoring/evolver.js +410 -49
  6. package/dist/src/authoring/evolver.js.map +1 -1
  7. package/dist/src/authoring/generator.d.ts +5 -2
  8. package/dist/src/authoring/generator.d.ts.map +1 -1
  9. package/dist/src/authoring/generator.js +22 -6
  10. package/dist/src/authoring/generator.js.map +1 -1
  11. package/dist/src/authoring/sample-fixer.d.ts +10 -4
  12. package/dist/src/authoring/sample-fixer.d.ts.map +1 -1
  13. package/dist/src/authoring/sample-fixer.js +153 -126
  14. package/dist/src/authoring/sample-fixer.js.map +1 -1
  15. package/dist/src/cli/commands/doctor.d.ts +25 -1
  16. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/src/cli/commands/doctor.js +233 -124
  18. package/dist/src/cli/commands/doctor.js.map +1 -1
  19. package/dist/src/cli/commands/eval/gold/compare.d.ts +17 -0
  20. package/dist/src/cli/commands/eval/gold/compare.d.ts.map +1 -0
  21. package/dist/src/cli/commands/eval/gold/compare.js +91 -0
  22. package/dist/src/cli/commands/eval/gold/compare.js.map +1 -0
  23. package/dist/src/cli/commands/eval/gold/index.d.ts +9 -0
  24. package/dist/src/cli/commands/eval/gold/index.d.ts.map +1 -0
  25. package/dist/src/cli/commands/eval/gold/index.js +34 -0
  26. package/dist/src/cli/commands/eval/gold/index.js.map +1 -0
  27. package/dist/src/cli/commands/eval/gold/init.d.ts +11 -0
  28. package/dist/src/cli/commands/eval/gold/init.d.ts.map +1 -0
  29. package/dist/src/cli/commands/eval/gold/init.js +51 -0
  30. package/dist/src/cli/commands/eval/gold/init.js.map +1 -0
  31. package/dist/src/cli/commands/eval/gold/validate.d.ts +12 -0
  32. package/dist/src/cli/commands/eval/gold/validate.d.ts.map +1 -0
  33. package/dist/src/cli/commands/eval/gold/validate.js +46 -0
  34. package/dist/src/cli/commands/eval/gold/validate.js.map +1 -0
  35. package/dist/src/cli/commands/eval/index.d.ts +54 -0
  36. package/dist/src/cli/commands/eval/index.d.ts.map +1 -0
  37. package/dist/src/cli/commands/{eval-runner.js → eval/index.js} +216 -50
  38. package/dist/src/cli/commands/eval/index.js.map +1 -0
  39. package/dist/src/cli/commands/evolve.d.ts +36 -1
  40. package/dist/src/cli/commands/evolve.d.ts.map +1 -1
  41. package/dist/src/cli/commands/evolve.js +191 -47
  42. package/dist/src/cli/commands/evolve.js.map +1 -1
  43. package/dist/src/cli/commands/init.d.ts +15 -1
  44. package/dist/src/cli/commands/init.d.ts.map +1 -1
  45. package/dist/src/cli/commands/init.js +70 -28
  46. package/dist/src/cli/commands/init.js.map +1 -1
  47. package/dist/src/cli/commands/observe/inbox.d.ts +23 -0
  48. package/dist/src/cli/commands/observe/inbox.d.ts.map +1 -0
  49. package/dist/src/cli/commands/observe/inbox.js +258 -0
  50. package/dist/src/cli/commands/observe/inbox.js.map +1 -0
  51. package/dist/src/cli/commands/observe/index.d.ts +22 -0
  52. package/dist/src/cli/commands/observe/index.d.ts.map +1 -0
  53. package/dist/src/cli/commands/observe/index.js +118 -0
  54. package/dist/src/cli/commands/observe/index.js.map +1 -0
  55. package/dist/src/cli/commands/observe/ingest.d.ts +13 -0
  56. package/dist/src/cli/commands/observe/ingest.d.ts.map +1 -0
  57. package/dist/src/cli/commands/observe/ingest.js +69 -0
  58. package/dist/src/cli/commands/observe/ingest.js.map +1 -0
  59. package/dist/src/cli/commands/observe/show.d.ts +13 -0
  60. package/dist/src/cli/commands/observe/show.d.ts.map +1 -0
  61. package/dist/src/cli/commands/observe/show.js +49 -0
  62. package/dist/src/cli/commands/observe/show.js.map +1 -0
  63. package/dist/src/cli/commands/sample.d.ts +28 -5
  64. package/dist/src/cli/commands/sample.d.ts.map +1 -1
  65. package/dist/src/cli/commands/sample.js +242 -169
  66. package/dist/src/cli/commands/sample.js.map +1 -1
  67. package/dist/src/cli/commands/skill-extract.d.ts +20 -0
  68. package/dist/src/cli/commands/skill-extract.d.ts.map +1 -0
  69. package/dist/src/cli/commands/skill-extract.js +84 -0
  70. package/dist/src/cli/commands/skill-extract.js.map +1 -0
  71. package/dist/src/cli/commands/studio.d.ts +22 -1
  72. package/dist/src/cli/commands/studio.d.ts.map +1 -1
  73. package/dist/src/cli/commands/studio.js +111 -37
  74. package/dist/src/cli/commands/studio.js.map +1 -1
  75. package/dist/src/cli/index.js +15 -47
  76. package/dist/src/cli/index.js.map +1 -1
  77. package/dist/src/cli/lib/cli-exit.d.ts +16 -0
  78. package/dist/src/cli/lib/cli-exit.d.ts.map +1 -0
  79. package/dist/src/cli/lib/cli-exit.js +20 -0
  80. package/dist/src/cli/lib/cli-exit.js.map +1 -0
  81. package/dist/src/cli/lib/cmd-flags.d.ts +236 -0
  82. package/dist/src/cli/lib/cmd-flags.d.ts.map +1 -0
  83. package/dist/src/cli/lib/cmd-flags.js +46 -0
  84. package/dist/src/cli/lib/cmd-flags.js.map +1 -0
  85. package/dist/src/cli/{i18n-dict.d.ts → lib/i18n-dict.d.ts} +1 -1
  86. package/dist/src/cli/lib/i18n-dict.d.ts.map +1 -0
  87. package/dist/src/cli/{i18n-dict.js → lib/i18n-dict.js} +39 -264
  88. package/dist/src/cli/lib/i18n-dict.js.map +1 -0
  89. package/dist/src/cli/{i18n.d.ts → lib/i18n.d.ts} +11 -6
  90. package/dist/src/cli/lib/i18n.d.ts.map +1 -0
  91. package/dist/src/cli/{i18n.js → lib/i18n.js} +12 -7
  92. package/dist/src/cli/lib/i18n.js.map +1 -0
  93. package/dist/src/cli/{parse-run-config.d.ts → lib/parse-run-config.d.ts} +5 -6
  94. package/dist/src/cli/lib/parse-run-config.d.ts.map +1 -0
  95. package/dist/src/cli/{parse-run-config.js → lib/parse-run-config.js} +11 -61
  96. package/dist/src/cli/lib/parse-run-config.js.map +1 -0
  97. package/dist/src/cli/lib/progress.d.ts.map +1 -0
  98. package/dist/src/cli/lib/progress.js.map +1 -0
  99. package/dist/src/cli/{run-tally.d.ts → lib/run-tally.d.ts} +1 -1
  100. package/dist/src/cli/lib/run-tally.d.ts.map +1 -0
  101. package/dist/src/cli/lib/run-tally.js.map +1 -0
  102. package/dist/src/cli/{commands/_shared.d.ts → lib/shared.d.ts} +2 -2
  103. package/dist/src/cli/lib/shared.d.ts.map +1 -0
  104. package/dist/src/cli/{commands/_shared.js → lib/shared.js} +3 -3
  105. package/dist/src/cli/lib/shared.js.map +1 -0
  106. package/dist/src/cli/lib/update-check.d.ts.map +1 -0
  107. package/dist/src/cli/lib/update-check.js.map +1 -0
  108. package/dist/src/cli/oclif/base-command.d.ts +8 -0
  109. package/dist/src/cli/oclif/base-command.d.ts.map +1 -0
  110. package/dist/src/cli/oclif/base-command.js +27 -0
  111. package/dist/src/cli/oclif/base-command.js.map +1 -0
  112. package/dist/src/cli/oclif/help.d.ts +16 -0
  113. package/dist/src/cli/oclif/help.d.ts.map +1 -0
  114. package/dist/src/cli/oclif/help.js +33 -0
  115. package/dist/src/cli/oclif/help.js.map +1 -0
  116. package/dist/src/cli/oclif/i18n.d.ts +16 -0
  117. package/dist/src/cli/oclif/i18n.d.ts.map +1 -0
  118. package/dist/src/cli/oclif/i18n.js +62 -0
  119. package/dist/src/cli/oclif/i18n.js.map +1 -0
  120. package/dist/src/cli/oclif/parsers.d.ts +10 -0
  121. package/dist/src/cli/oclif/parsers.d.ts.map +1 -0
  122. package/dist/src/cli/oclif/parsers.js +102 -0
  123. package/dist/src/cli/oclif/parsers.js.map +1 -0
  124. package/dist/src/cli/oclif/projection.d.ts +23 -0
  125. package/dist/src/cli/oclif/projection.d.ts.map +1 -0
  126. package/dist/src/cli/oclif/projection.js +52 -0
  127. package/dist/src/cli/oclif/projection.js.map +1 -0
  128. package/dist/src/cli/oclif/run.d.ts +2 -0
  129. package/dist/src/cli/oclif/run.d.ts.map +1 -0
  130. package/dist/src/cli/oclif/run.js +11 -0
  131. package/dist/src/cli/oclif/run.js.map +1 -0
  132. package/dist/src/diagnosis/observe-mapper.d.ts +68 -0
  133. package/dist/src/diagnosis/observe-mapper.d.ts.map +1 -0
  134. package/dist/src/diagnosis/observe-mapper.js +276 -0
  135. package/dist/src/diagnosis/observe-mapper.js.map +1 -0
  136. package/dist/src/diagnosis/observe-producer.d.ts +9 -0
  137. package/dist/src/diagnosis/observe-producer.d.ts.map +1 -0
  138. package/dist/src/diagnosis/observe-producer.js +197 -0
  139. package/dist/src/diagnosis/observe-producer.js.map +1 -0
  140. package/dist/src/diagnosis/studio-projection.d.ts +14 -0
  141. package/dist/src/diagnosis/studio-projection.d.ts.map +1 -0
  142. package/dist/src/diagnosis/studio-projection.js +84 -0
  143. package/dist/src/diagnosis/studio-projection.js.map +1 -0
  144. package/dist/src/diagnosis/types.d.ts +79 -0
  145. package/dist/src/diagnosis/types.d.ts.map +1 -0
  146. package/dist/src/diagnosis/types.js +20 -0
  147. package/dist/src/diagnosis/types.js.map +1 -0
  148. package/dist/src/doctor/fixer.d.ts +12 -0
  149. package/dist/src/doctor/fixer.d.ts.map +1 -0
  150. package/dist/src/doctor/fixer.js +326 -0
  151. package/dist/src/doctor/fixer.js.map +1 -0
  152. package/dist/src/doctor/health/composer.js +7 -4
  153. package/dist/src/doctor/health/composer.js.map +1 -1
  154. package/dist/src/doctor/health/parser.d.ts +0 -1
  155. package/dist/src/doctor/health/parser.d.ts.map +1 -1
  156. package/dist/src/doctor/health/parser.js +37 -0
  157. package/dist/src/doctor/health/parser.js.map +1 -1
  158. package/dist/src/doctor/health/prompt-builder.d.ts +2 -21
  159. package/dist/src/doctor/health/prompt-builder.d.ts.map +1 -1
  160. package/dist/src/doctor/health/prompt-builder.js +1 -169
  161. package/dist/src/doctor/health/prompt-builder.js.map +1 -1
  162. package/dist/src/doctor/html-renderer.d.ts +1 -1
  163. package/dist/src/doctor/html-renderer.d.ts.map +1 -1
  164. package/dist/src/doctor/html-renderer.js +2 -2
  165. package/dist/src/doctor/html-renderer.js.map +1 -1
  166. package/dist/src/doctor/index.d.ts.map +1 -1
  167. package/dist/src/doctor/index.js +1 -0
  168. package/dist/src/doctor/index.js.map +1 -1
  169. package/dist/src/doctor/renderer.d.ts +1 -1
  170. package/dist/src/doctor/renderer.d.ts.map +1 -1
  171. package/dist/src/doctor/renderer.js +2 -2
  172. package/dist/src/doctor/renderer.js.map +1 -1
  173. package/dist/src/doctor/rules.js +1 -1
  174. package/dist/src/doctor/rules.js.map +1 -1
  175. package/dist/src/eval-core/mock-hook.cjs +13 -1
  176. package/dist/src/eval-core/mocks-runtime.d.ts +7 -3
  177. package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -1
  178. package/dist/src/eval-core/mocks-runtime.js +240 -4
  179. package/dist/src/eval-core/mocks-runtime.js.map +1 -1
  180. package/dist/src/eval-workflows/evaluation-pipeline.d.ts +1 -1
  181. package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
  182. package/dist/src/eval-workflows/evaluation-pipeline.js +1 -1
  183. package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
  184. package/dist/src/eval-workflows/run-evaluation.js +1 -1
  185. package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
  186. package/dist/src/executors/claude-cli.d.ts.map +1 -1
  187. package/dist/src/executors/claude-cli.js +6 -4
  188. package/dist/src/executors/claude-cli.js.map +1 -1
  189. package/dist/src/observability/experience.d.ts +184 -3
  190. package/dist/src/observability/experience.d.ts.map +1 -1
  191. package/dist/src/observability/experience.js +1208 -41
  192. package/dist/src/observability/experience.js.map +1 -1
  193. package/dist/src/observability/inbox-view-model.d.ts +3 -0
  194. package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
  195. package/dist/src/observability/inbox-view-model.js +9 -0
  196. package/dist/src/observability/inbox-view-model.js.map +1 -1
  197. package/dist/src/observability/inbox.d.ts +2 -0
  198. package/dist/src/observability/inbox.d.ts.map +1 -1
  199. package/dist/src/observability/inbox.js +16 -2
  200. package/dist/src/observability/inbox.js.map +1 -1
  201. package/dist/src/observability/problem-patterns.d.ts +1 -0
  202. package/dist/src/observability/problem-patterns.d.ts.map +1 -1
  203. package/dist/src/observability/problem-patterns.js +8 -8
  204. package/dist/src/observability/problem-patterns.js.map +1 -1
  205. package/dist/src/observability/resolved-review.d.ts +25 -0
  206. package/dist/src/observability/resolved-review.d.ts.map +1 -0
  207. package/dist/src/observability/resolved-review.js +231 -0
  208. package/dist/src/observability/resolved-review.js.map +1 -0
  209. package/dist/src/observability/review-state.d.ts +9 -2
  210. package/dist/src/observability/review-state.d.ts.map +1 -1
  211. package/dist/src/observability/review-state.js +40 -2
  212. package/dist/src/observability/review-state.js.map +1 -1
  213. package/dist/src/observability/skill-chain-advisories.js +4 -4
  214. package/dist/src/observability/skill-chain-advisories.js.map +1 -1
  215. package/dist/src/observability/skill-chain.d.ts +1 -0
  216. package/dist/src/observability/skill-chain.d.ts.map +1 -1
  217. package/dist/src/observability/skill-chain.js +72 -35
  218. package/dist/src/observability/skill-chain.js.map +1 -1
  219. package/dist/src/observability/soft-standards.d.ts +130 -0
  220. package/dist/src/observability/soft-standards.d.ts.map +1 -0
  221. package/dist/src/observability/soft-standards.js +426 -0
  222. package/dist/src/observability/soft-standards.js.map +1 -0
  223. package/dist/src/observability/text-signals.d.ts +7 -0
  224. package/dist/src/observability/text-signals.d.ts.map +1 -1
  225. package/dist/src/observability/text-signals.js +88 -4
  226. package/dist/src/observability/text-signals.js.map +1 -1
  227. package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
  228. package/dist/src/observability/trace-segmenter.js +4 -2
  229. package/dist/src/observability/trace-segmenter.js.map +1 -1
  230. package/dist/src/observability/trace-source.d.ts.map +1 -1
  231. package/dist/src/observability/trace-source.js +13 -3
  232. package/dist/src/observability/trace-source.js.map +1 -1
  233. package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
  234. package/dist/src/renderer/observation-inbox-renderer.js +5914 -924
  235. package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
  236. package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -1
  237. package/dist/src/renderer/skill-detail-renderer.js +15 -5
  238. package/dist/src/renderer/skill-detail-renderer.js.map +1 -1
  239. package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -1
  240. package/dist/src/renderer/skill-list-renderer.js +10 -3
  241. package/dist/src/renderer/skill-list-renderer.js.map +1 -1
  242. package/dist/src/renderer/test-view.js +2 -2
  243. package/dist/src/renderer/test-view.js.map +1 -1
  244. package/dist/src/server/report-server.d.ts.map +1 -1
  245. package/dist/src/server/report-server.js +95 -2
  246. package/dist/src/server/report-server.js.map +1 -1
  247. package/dist/src/server/skill-index.d.ts +5 -1
  248. package/dist/src/server/skill-index.d.ts.map +1 -1
  249. package/dist/src/server/skill-index.js +72 -26
  250. package/dist/src/server/skill-index.js.map +1 -1
  251. package/dist/src/server/skill-insights.d.ts +10 -1
  252. package/dist/src/server/skill-insights.d.ts.map +1 -1
  253. package/dist/src/server/skill-insights.js +113 -1
  254. package/dist/src/server/skill-insights.js.map +1 -1
  255. package/dist/src/shared/hard-rules.d.ts +2 -0
  256. package/dist/src/shared/hard-rules.d.ts.map +1 -1
  257. package/dist/src/shared/hard-rules.js +42 -0
  258. package/dist/src/shared/hard-rules.js.map +1 -1
  259. package/dist/src/shared/llm-prompts/index.d.ts +14 -0
  260. package/dist/src/shared/llm-prompts/index.d.ts.map +1 -0
  261. package/dist/src/shared/llm-prompts/index.js +35 -0
  262. package/dist/src/shared/llm-prompts/index.js.map +1 -0
  263. package/dist/src/shared/llm-prompts/skill-health.d.ts +22 -0
  264. package/dist/src/shared/llm-prompts/skill-health.d.ts.map +1 -0
  265. package/dist/src/shared/llm-prompts/skill-health.js +170 -0
  266. package/dist/src/shared/llm-prompts/skill-health.js.map +1 -0
  267. package/dist/src/types/doctor.d.ts +2 -0
  268. package/dist/src/types/doctor.d.ts.map +1 -1
  269. package/dist/src/types/eval.d.ts +6 -1
  270. package/dist/src/types/eval.d.ts.map +1 -1
  271. package/dist/src/types/report.d.ts +6 -0
  272. package/dist/src/types/report.d.ts.map +1 -1
  273. package/docs/prompts/llm-enhanced-review.prompt.md +111 -0
  274. package/package.json +29 -4
  275. package/dist/src/cli/cli-exit.d.ts +0 -15
  276. package/dist/src/cli/cli-exit.d.ts.map +0 -1
  277. package/dist/src/cli/cli-exit.js +0 -19
  278. package/dist/src/cli/cli-exit.js.map +0 -1
  279. package/dist/src/cli/commands/_shared.d.ts.map +0 -1
  280. package/dist/src/cli/commands/_shared.js.map +0 -1
  281. package/dist/src/cli/commands/eval-gold.d.ts +0 -2
  282. package/dist/src/cli/commands/eval-gold.d.ts.map +0 -1
  283. package/dist/src/cli/commands/eval-gold.js +0 -137
  284. package/dist/src/cli/commands/eval-gold.js.map +0 -1
  285. package/dist/src/cli/commands/eval-runner.d.ts +0 -2
  286. package/dist/src/cli/commands/eval-runner.d.ts.map +0 -1
  287. package/dist/src/cli/commands/eval-runner.js.map +0 -1
  288. package/dist/src/cli/commands/eval.d.ts +0 -2
  289. package/dist/src/cli/commands/eval.d.ts.map +0 -1
  290. package/dist/src/cli/commands/eval.js +0 -11
  291. package/dist/src/cli/commands/eval.js.map +0 -1
  292. package/dist/src/cli/commands/observe.d.ts +0 -2
  293. package/dist/src/cli/commands/observe.d.ts.map +0 -1
  294. package/dist/src/cli/commands/observe.js +0 -247
  295. package/dist/src/cli/commands/observe.js.map +0 -1
  296. package/dist/src/cli/commands/registry.d.ts +0 -11
  297. package/dist/src/cli/commands/registry.d.ts.map +0 -1
  298. package/dist/src/cli/commands/registry.js +0 -32
  299. package/dist/src/cli/commands/registry.js.map +0 -1
  300. package/dist/src/cli/i18n-dict.d.ts.map +0 -1
  301. package/dist/src/cli/i18n-dict.js.map +0 -1
  302. package/dist/src/cli/i18n.d.ts.map +0 -1
  303. package/dist/src/cli/i18n.js.map +0 -1
  304. package/dist/src/cli/parse-run-config.d.ts.map +0 -1
  305. package/dist/src/cli/parse-run-config.js.map +0 -1
  306. package/dist/src/cli/parse-strict.d.ts +0 -7
  307. package/dist/src/cli/parse-strict.d.ts.map +0 -1
  308. package/dist/src/cli/parse-strict.js +0 -26
  309. package/dist/src/cli/parse-strict.js.map +0 -1
  310. package/dist/src/cli/progress.d.ts.map +0 -1
  311. package/dist/src/cli/progress.js.map +0 -1
  312. package/dist/src/cli/run-tally.d.ts.map +0 -1
  313. package/dist/src/cli/run-tally.js.map +0 -1
  314. package/dist/src/cli/update-check.d.ts.map +0 -1
  315. package/dist/src/cli/update-check.js.map +0 -1
  316. /package/dist/src/cli/{progress.d.ts → lib/progress.d.ts} +0 -0
  317. /package/dist/src/cli/{progress.js → lib/progress.js} +0 -0
  318. /package/dist/src/cli/{run-tally.js → lib/run-tally.js} +0 -0
  319. /package/dist/src/cli/{update-check.d.ts → lib/update-check.d.ts} +0 -0
  320. /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.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';
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"}