oh-my-knowledge 0.33.0 → 0.35.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 (739) hide show
  1. package/README.md +21 -5
  2. package/README.zh.md +25 -9
  3. package/dist/analysis/coverage-analyzer.d.ts +0 -1
  4. package/dist/analysis/coverage-analyzer.js +0 -1
  5. package/dist/analysis/failure-clusterer.d.ts +0 -1
  6. package/dist/analysis/failure-clusterer.js +0 -1
  7. package/dist/analysis/gap-analyzer.d.ts +0 -1
  8. package/dist/analysis/gap-analyzer.js +0 -1
  9. package/dist/analysis/hedging-classifier.d.ts +0 -1
  10. package/dist/analysis/hedging-classifier.js +1 -2
  11. package/dist/analysis/report-diagnostics.d.ts +0 -1
  12. package/dist/analysis/report-diagnostics.js +0 -1
  13. package/dist/analysis/sample-diagnostics.d.ts +1 -2
  14. package/dist/analysis/sample-diagnostics.js +18 -19
  15. package/dist/analysis/saturation.d.ts +0 -1
  16. package/dist/analysis/saturation.js +0 -1
  17. package/dist/assets/agent-skills/omk/SKILL.md +197 -0
  18. package/dist/assets/agent-skills/omk/references/commands.md +556 -0
  19. package/dist/authoring/evolver.d.ts +130 -6
  20. package/dist/authoring/evolver.js +233 -35
  21. package/dist/authoring/generator.d.ts +0 -1
  22. package/dist/authoring/generator.js +0 -1
  23. package/dist/authoring/sample-fixer.d.ts +0 -1
  24. package/dist/authoring/sample-fixer.js +0 -1
  25. package/dist/cli/commands/doctor.d.ts +0 -1
  26. package/dist/cli/commands/doctor.js +2 -3
  27. package/dist/cli/commands/eval/gold/compare.d.ts +0 -1
  28. package/dist/cli/commands/eval/gold/compare.js +0 -1
  29. package/dist/cli/commands/eval/gold/index.d.ts +0 -1
  30. package/dist/cli/commands/eval/gold/index.js +0 -1
  31. package/dist/cli/commands/eval/gold/init.d.ts +0 -1
  32. package/dist/cli/commands/eval/gold/init.js +0 -1
  33. package/dist/cli/commands/eval/gold/validate.d.ts +0 -1
  34. package/dist/cli/commands/eval/gold/validate.js +0 -1
  35. package/dist/cli/commands/eval/index.d.ts +3 -1
  36. package/dist/cli/commands/eval/index.js +56 -11
  37. package/dist/cli/commands/evolve.d.ts +6 -1
  38. package/dist/cli/commands/evolve.js +77 -6
  39. package/dist/cli/commands/init.d.ts +0 -1
  40. package/dist/cli/commands/init.js +0 -1
  41. package/dist/cli/commands/install.d.ts +24 -0
  42. package/dist/cli/commands/install.js +436 -0
  43. package/dist/cli/commands/observe/inbox.d.ts +0 -1
  44. package/dist/cli/commands/observe/inbox.js +0 -1
  45. package/dist/cli/commands/observe/index.d.ts +0 -1
  46. package/dist/cli/commands/observe/index.js +0 -1
  47. package/dist/cli/commands/observe/ingest.d.ts +0 -1
  48. package/dist/cli/commands/observe/ingest.js +0 -1
  49. package/dist/cli/commands/observe/show.d.ts +0 -1
  50. package/dist/cli/commands/observe/show.js +0 -1
  51. package/dist/cli/commands/sample.d.ts +1 -2
  52. package/dist/cli/commands/sample.js +27 -15
  53. package/dist/cli/commands/studio.d.ts +0 -1
  54. package/dist/cli/commands/studio.js +0 -1
  55. package/dist/cli/index.d.ts +0 -1
  56. package/dist/cli/index.js +1 -2
  57. package/dist/cli/lib/cli-exit.d.ts +0 -1
  58. package/dist/cli/lib/cli-exit.js +0 -1
  59. package/dist/cli/lib/cmd-flags.d.ts +7 -1
  60. package/dist/cli/lib/cmd-flags.js +0 -1
  61. package/dist/cli/lib/i18n-dict/common.d.ts +0 -1
  62. package/dist/cli/lib/i18n-dict/common.js +0 -1
  63. package/dist/cli/lib/i18n-dict/evolve.d.ts +1 -2
  64. package/dist/cli/lib/i18n-dict/evolve.js +16 -1
  65. package/dist/cli/lib/i18n-dict/gen.d.ts +0 -1
  66. package/dist/cli/lib/i18n-dict/gen.js +0 -1
  67. package/dist/cli/lib/i18n-dict/help.d.ts +0 -1
  68. package/dist/cli/lib/i18n-dict/help.js +0 -1
  69. package/dist/cli/lib/i18n-dict/init.d.ts +0 -1
  70. package/dist/cli/lib/i18n-dict/init.js +0 -1
  71. package/dist/cli/lib/i18n-dict/install.d.ts +3 -0
  72. package/dist/cli/lib/i18n-dict/install.js +110 -0
  73. package/dist/cli/lib/i18n-dict/run.d.ts +1 -2
  74. package/dist/cli/lib/i18n-dict/run.js +8 -1
  75. package/dist/cli/lib/i18n-dict/types.d.ts +0 -1
  76. package/dist/cli/lib/i18n-dict/types.js +0 -1
  77. package/dist/cli/lib/i18n-dict.d.ts +2 -2
  78. package/dist/cli/lib/i18n-dict.js +2 -1
  79. package/dist/cli/lib/i18n.d.ts +0 -1
  80. package/dist/cli/lib/i18n.js +0 -1
  81. package/dist/cli/lib/parse-run-config/judge-models.d.ts +0 -1
  82. package/dist/cli/lib/parse-run-config/judge-models.js +0 -1
  83. package/dist/cli/lib/parse-run-config/samples-discovery.d.ts +0 -1
  84. package/dist/cli/lib/parse-run-config/samples-discovery.js +1 -4
  85. package/dist/cli/lib/parse-run-config/variant-resolution.d.ts +0 -1
  86. package/dist/cli/lib/parse-run-config/variant-resolution.js +41 -8
  87. package/dist/cli/lib/parse-run-config.d.ts +0 -1
  88. package/dist/cli/lib/parse-run-config.js +1 -2
  89. package/dist/cli/lib/progress.d.ts +0 -1
  90. package/dist/cli/lib/progress.js +0 -1
  91. package/dist/cli/lib/resolve-skill-input.d.ts +0 -1
  92. package/dist/cli/lib/resolve-skill-input.js +0 -1
  93. package/dist/cli/lib/run-tally.d.ts +0 -1
  94. package/dist/cli/lib/run-tally.js +1 -2
  95. package/dist/cli/lib/shared.d.ts +0 -1
  96. package/dist/cli/lib/shared.js +1 -2
  97. package/dist/cli/lib/update-check.d.ts +0 -1
  98. package/dist/cli/lib/update-check.js +0 -1
  99. package/dist/cli/lib/update-fetch-worker.d.ts +0 -1
  100. package/dist/cli/lib/update-fetch-worker.js +0 -1
  101. package/dist/cli/oclif/base-command.d.ts +0 -1
  102. package/dist/cli/oclif/base-command.js +0 -1
  103. package/dist/cli/oclif/help.d.ts +0 -1
  104. package/dist/cli/oclif/help.js +0 -1
  105. package/dist/cli/oclif/i18n.d.ts +0 -1
  106. package/dist/cli/oclif/i18n.js +0 -1
  107. package/dist/cli/oclif/parsers.d.ts +0 -1
  108. package/dist/cli/oclif/parsers.js +0 -1
  109. package/dist/cli/oclif/projection.d.ts +0 -1
  110. package/dist/cli/oclif/projection.js +0 -1
  111. package/dist/cli/oclif/run.d.ts +0 -1
  112. package/dist/cli/oclif/run.js +0 -1
  113. package/dist/diagnosis/observe-mapper.d.ts +2 -3
  114. package/dist/diagnosis/observe-mapper.js +6 -7
  115. package/dist/diagnosis/observe-producer.d.ts +0 -1
  116. package/dist/diagnosis/observe-producer.js +3 -4
  117. package/dist/diagnosis/studio-projection.d.ts +0 -1
  118. package/dist/diagnosis/studio-projection.js +0 -1
  119. package/dist/diagnosis/types.d.ts +0 -1
  120. package/dist/diagnosis/types.js +0 -1
  121. package/dist/doctor/fixer.d.ts +0 -1
  122. package/dist/doctor/fixer.js +0 -1
  123. package/dist/doctor/health/builtin-dimensions.d.ts +0 -1
  124. package/dist/doctor/health/builtin-dimensions.js +0 -1
  125. package/dist/doctor/health/composer.d.ts +0 -1
  126. package/dist/doctor/health/composer.js +1 -2
  127. package/dist/doctor/health/dimension-registry.d.ts +0 -1
  128. package/dist/doctor/health/dimension-registry.js +0 -1
  129. package/dist/doctor/health/dimension-spec.d.ts +0 -1
  130. package/dist/doctor/health/dimension-spec.js +0 -1
  131. package/dist/doctor/health/load-custom-dimensions.d.ts +0 -1
  132. package/dist/doctor/health/load-custom-dimensions.js +0 -1
  133. package/dist/doctor/health/parser.d.ts +0 -1
  134. package/dist/doctor/health/parser.js +0 -1
  135. package/dist/doctor/health/prompt-builder.d.ts +0 -1
  136. package/dist/doctor/health/prompt-builder.js +0 -1
  137. package/dist/doctor/health/register.d.ts +0 -1
  138. package/dist/doctor/health/register.js +0 -1
  139. package/dist/doctor/index.d.ts +0 -1
  140. package/dist/doctor/index.js +6 -7
  141. package/dist/doctor/messages.d.ts +0 -1
  142. package/dist/doctor/messages.js +1 -2
  143. package/dist/doctor/preflight.d.ts +0 -1
  144. package/dist/doctor/preflight.js +0 -1
  145. package/dist/doctor/renderer.d.ts +0 -1
  146. package/dist/doctor/renderer.js +0 -1
  147. package/dist/doctor/rules.d.ts +0 -1
  148. package/dist/doctor/rules.js +0 -1
  149. package/dist/eval-core/bootstrap.d.ts +0 -1
  150. package/dist/eval-core/bootstrap.js +0 -1
  151. package/dist/eval-core/cache.d.ts +11 -4
  152. package/dist/eval-core/cache.js +13 -6
  153. package/dist/eval-core/comparability.d.ts +0 -1
  154. package/dist/eval-core/comparability.js +3 -4
  155. package/dist/eval-core/dependency-checker.d.ts +0 -1
  156. package/dist/eval-core/dependency-checker.js +5 -3
  157. package/dist/eval-core/evaluation-execution.d.ts +0 -1
  158. package/dist/eval-core/evaluation-execution.js +4 -2
  159. package/dist/eval-core/evaluation-job.d.ts +0 -1
  160. package/dist/eval-core/evaluation-job.js +0 -1
  161. package/dist/eval-core/evaluation-reporting.d.ts +0 -1
  162. package/dist/eval-core/evaluation-reporting.js +18 -8
  163. package/dist/eval-core/execution-strategy.d.ts +0 -1
  164. package/dist/eval-core/execution-strategy.js +8 -3
  165. package/dist/eval-core/fact-checker.d.ts +0 -1
  166. package/dist/eval-core/fact-checker.js +0 -1
  167. package/dist/eval-core/layer-gates.d.ts +0 -1
  168. package/dist/eval-core/layer-gates.js +0 -1
  169. package/dist/eval-core/mocks-runtime.d.ts +0 -1
  170. package/dist/eval-core/mocks-runtime.js +0 -1
  171. package/dist/eval-core/schema.d.ts +0 -1
  172. package/dist/eval-core/schema.js +0 -1
  173. package/dist/eval-core/statistics.d.ts +0 -1
  174. package/dist/eval-core/statistics.js +0 -1
  175. package/dist/eval-core/task-planner.d.ts +0 -1
  176. package/dist/eval-core/task-planner.js +2 -2
  177. package/dist/eval-core/verdict.d.ts +0 -1
  178. package/dist/eval-core/verdict.js +0 -1
  179. package/dist/eval-workflows/batch-evaluation-workflow.d.ts +18 -3
  180. package/dist/eval-workflows/batch-evaluation-workflow.js +31 -15
  181. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.d.ts +0 -1
  182. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.js +0 -1
  183. package/dist/eval-workflows/evaluation-pipeline/report-finalize.d.ts +0 -1
  184. package/dist/eval-workflows/evaluation-pipeline/report-finalize.js +0 -1
  185. package/dist/eval-workflows/evaluation-pipeline/run-state.d.ts +0 -1
  186. package/dist/eval-workflows/evaluation-pipeline/run-state.js +0 -1
  187. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.d.ts +0 -1
  188. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.js +0 -1
  189. package/dist/eval-workflows/evaluation-pipeline.d.ts +0 -1
  190. package/dist/eval-workflows/evaluation-pipeline.js +0 -1
  191. package/dist/eval-workflows/evaluation-preparation.d.ts +1 -5
  192. package/dist/eval-workflows/evaluation-preparation.js +22 -44
  193. package/dist/eval-workflows/messages.d.ts +0 -1
  194. package/dist/eval-workflows/messages.js +0 -1
  195. package/dist/eval-workflows/run-evaluation.d.ts +3 -8
  196. package/dist/eval-workflows/run-evaluation.js +9 -19
  197. package/dist/executors/anthropic-api.d.ts +0 -1
  198. package/dist/executors/anthropic-api.js +1 -2
  199. package/dist/executors/claude-cli.d.ts +0 -1
  200. package/dist/executors/claude-cli.js +0 -1
  201. package/dist/executors/claude-sdk-trace.d.ts +0 -1
  202. package/dist/executors/claude-sdk-trace.js +0 -1
  203. package/dist/executors/claude-sdk.d.ts +0 -1
  204. package/dist/executors/claude-sdk.js +0 -1
  205. package/dist/executors/codex-cli-trace.d.ts +0 -1
  206. package/dist/executors/codex-cli-trace.js +0 -1
  207. package/dist/executors/codex-cli.d.ts +0 -1
  208. package/dist/executors/codex-cli.js +0 -1
  209. package/dist/executors/codex-sdk.d.ts +0 -1
  210. package/dist/executors/codex-sdk.js +0 -1
  211. package/dist/executors/gemini.d.ts +0 -1
  212. package/dist/executors/gemini.js +0 -1
  213. package/dist/executors/index.d.ts +0 -1
  214. package/dist/executors/index.js +0 -1
  215. package/dist/executors/openai-api.d.ts +0 -1
  216. package/dist/executors/openai-api.js +0 -1
  217. package/dist/executors/runtime-fingerprint.d.ts +0 -1
  218. package/dist/executors/runtime-fingerprint.js +2 -3
  219. package/dist/executors/script.d.ts +0 -1
  220. package/dist/executors/script.js +0 -1
  221. package/dist/executors/shared.d.ts +0 -2
  222. package/dist/executors/shared.js +0 -1
  223. package/dist/grading/assertions.d.ts +0 -1
  224. package/dist/grading/assertions.js +0 -1
  225. package/dist/grading/debias-validate.d.ts +0 -1
  226. package/dist/grading/debias-validate.js +0 -1
  227. package/dist/grading/diagnostic.d.ts +0 -1
  228. package/dist/grading/diagnostic.js +0 -1
  229. package/dist/grading/gold-cli.d.ts +0 -1
  230. package/dist/grading/gold-cli.js +0 -1
  231. package/dist/grading/gold-dataset.d.ts +0 -1
  232. package/dist/grading/gold-dataset.js +0 -1
  233. package/dist/grading/human-gold.d.ts +0 -1
  234. package/dist/grading/human-gold.js +0 -1
  235. package/dist/grading/index.d.ts +0 -1
  236. package/dist/grading/index.js +0 -1
  237. package/dist/grading/judge.d.ts +0 -1
  238. package/dist/grading/judge.js +0 -1
  239. package/dist/grading/layered-scores.d.ts +0 -1
  240. package/dist/grading/layered-scores.js +0 -1
  241. package/dist/inputs/content-hash.d.ts +28 -0
  242. package/dist/inputs/content-hash.js +106 -0
  243. package/dist/inputs/eval-config.d.ts +0 -1
  244. package/dist/inputs/eval-config.js +44 -11
  245. package/dist/inputs/load-samples.d.ts +0 -1
  246. package/dist/inputs/load-samples.js +0 -1
  247. package/dist/inputs/materialize-copy.d.ts +37 -0
  248. package/dist/inputs/materialize-copy.js +193 -0
  249. package/dist/inputs/mcp-resolver.d.ts +0 -1
  250. package/dist/inputs/mcp-resolver.js +0 -1
  251. package/dist/inputs/skill-loader.d.ts +145 -12
  252. package/dist/inputs/skill-loader.js +476 -60
  253. package/dist/inputs/source-resolver.d.ts +35 -0
  254. package/dist/inputs/source-resolver.js +105 -0
  255. package/dist/inputs/url-fetcher.d.ts +0 -1
  256. package/dist/inputs/url-fetcher.js +0 -1
  257. package/dist/managed/evidence.d.ts +22 -0
  258. package/dist/managed/evidence.js +143 -0
  259. package/dist/managed/index.d.ts +6 -0
  260. package/dist/managed/index.js +6 -0
  261. package/dist/managed/store.d.ts +72 -0
  262. package/dist/managed/store.js +224 -0
  263. package/dist/observability/experience-frontmatter.d.ts +0 -1
  264. package/dist/observability/experience-frontmatter.js +0 -1
  265. package/dist/observability/experience.d.ts +1 -2
  266. package/dist/observability/experience.js +1 -2
  267. package/dist/observability/feedback-matchers.d.ts +0 -1
  268. package/dist/observability/feedback-matchers.js +0 -1
  269. package/dist/observability/feedback-projection.d.ts +0 -1
  270. package/dist/observability/feedback-projection.js +0 -1
  271. package/dist/observability/inbox-view-model.d.ts +0 -1
  272. package/dist/observability/inbox-view-model.js +0 -1
  273. package/dist/observability/inbox.d.ts +0 -1
  274. package/dist/observability/inbox.js +2 -3
  275. package/dist/observability/problem-patterns.d.ts +0 -1
  276. package/dist/observability/problem-patterns.js +0 -1
  277. package/dist/observability/resolved-review.d.ts +0 -1
  278. package/dist/observability/resolved-review.js +4 -5
  279. package/dist/observability/review-state.d.ts +0 -1
  280. package/dist/observability/review-state.js +3 -4
  281. package/dist/observability/skill-chain-advisories.d.ts +0 -1
  282. package/dist/observability/skill-chain-advisories.js +0 -1
  283. package/dist/observability/skill-chain.d.ts +0 -1
  284. package/dist/observability/skill-chain.js +5 -6
  285. package/dist/observability/skill-health-analyzer.d.ts +0 -1
  286. package/dist/observability/skill-health-analyzer.js +0 -1
  287. package/dist/observability/soft-standards/constants.d.ts +0 -1
  288. package/dist/observability/soft-standards/constants.js +0 -1
  289. package/dist/observability/soft-standards/index.d.ts +0 -1
  290. package/dist/observability/soft-standards/index.js +0 -1
  291. package/dist/observability/soft-standards/llm-extractor.d.ts +0 -1
  292. package/dist/observability/soft-standards/llm-extractor.js +7 -8
  293. package/dist/observability/soft-standards/runtime-evaluator.d.ts +0 -1
  294. package/dist/observability/soft-standards/runtime-evaluator.js +2 -3
  295. package/dist/observability/soft-standards/skill-standards-store.d.ts +0 -1
  296. package/dist/observability/soft-standards/skill-standards-store.js +5 -6
  297. package/dist/observability/soft-standards/types.d.ts +10 -11
  298. package/dist/observability/soft-standards/types.js +0 -1
  299. package/dist/observability/text-signals.d.ts +0 -1
  300. package/dist/observability/text-signals.js +0 -1
  301. package/dist/observability/trace-adapter.d.ts +0 -1
  302. package/dist/observability/trace-adapter.js +0 -1
  303. package/dist/observability/trace-attribution.d.ts +0 -1
  304. package/dist/observability/trace-attribution.js +0 -1
  305. package/dist/observability/trace-segmenter.d.ts +0 -1
  306. package/dist/observability/trace-segmenter.js +0 -1
  307. package/dist/observability/trace-source.d.ts +0 -1
  308. package/dist/observability/trace-source.js +0 -1
  309. package/dist/renderer/html-renderer.d.ts +0 -1
  310. package/dist/renderer/html-renderer.js +4 -5
  311. package/dist/renderer/layout.d.ts +0 -1
  312. package/dist/renderer/layout.js +2 -3
  313. package/dist/renderer/observation-inbox/helpers.d.ts +0 -1
  314. package/dist/renderer/observation-inbox/helpers.js +0 -1
  315. package/dist/renderer/observation-inbox/styles.d.ts +0 -1
  316. package/dist/renderer/observation-inbox/styles.js +0 -1
  317. package/dist/renderer/observation-inbox-renderer.d.ts +0 -1
  318. package/dist/renderer/observation-inbox-renderer.js +13 -14
  319. package/dist/renderer/skill-detail-renderer.d.ts +0 -1
  320. package/dist/renderer/skill-detail-renderer.js +3 -4
  321. package/dist/renderer/skill-health-renderer.d.ts +0 -1
  322. package/dist/renderer/skill-health-renderer.js +0 -1
  323. package/dist/renderer/skill-list-renderer.d.ts +0 -1
  324. package/dist/renderer/skill-list-renderer.js +0 -1
  325. package/dist/renderer/summary.d.ts +0 -1
  326. package/dist/renderer/summary.js +1 -2
  327. package/dist/renderer/table.d.ts +0 -1
  328. package/dist/renderer/table.js +0 -1
  329. package/dist/renderer/test-view.d.ts +0 -1
  330. package/dist/renderer/test-view.js +0 -1
  331. package/dist/renderer/trends.d.ts +0 -1
  332. package/dist/renderer/trends.js +0 -1
  333. package/dist/server/job-store.d.ts +0 -1
  334. package/dist/server/job-store.js +0 -1
  335. package/dist/server/report-server.d.ts +0 -1
  336. package/dist/server/report-server.js +1 -2
  337. package/dist/server/report-store.d.ts +1 -2
  338. package/dist/server/report-store.js +6 -7
  339. package/dist/server/skill-index.d.ts +0 -1
  340. package/dist/server/skill-index.js +4 -5
  341. package/dist/server/skill-insights.d.ts +0 -1
  342. package/dist/server/skill-insights.js +8 -9
  343. package/dist/shared/hard-rules.d.ts +0 -1
  344. package/dist/shared/hard-rules.js +0 -1
  345. package/dist/shared/llm-prompts/index.d.ts +0 -1
  346. package/dist/shared/llm-prompts/index.js +0 -1
  347. package/dist/shared/llm-prompts/skill-health.d.ts +0 -1
  348. package/dist/shared/llm-prompts/skill-health.js +0 -1
  349. package/dist/shared/time.d.ts +0 -1
  350. package/dist/shared/time.js +0 -1
  351. package/dist/shared/tool-search.d.ts +0 -1
  352. package/dist/shared/tool-search.js +0 -1
  353. package/dist/types/dependencies.d.ts +0 -1
  354. package/dist/types/dependencies.js +0 -1
  355. package/dist/types/diagnosis.d.ts +0 -1
  356. package/dist/types/diagnosis.js +0 -1
  357. package/dist/types/doctor.d.ts +4 -5
  358. package/dist/types/doctor.js +2 -3
  359. package/dist/types/eval.d.ts +13 -2
  360. package/dist/types/eval.js +0 -1
  361. package/dist/types/executor.d.ts +1 -2
  362. package/dist/types/executor.js +0 -1
  363. package/dist/types/index.d.ts +1 -1
  364. package/dist/types/index.js +1 -1
  365. package/dist/types/judge.d.ts +0 -1
  366. package/dist/types/judge.js +0 -1
  367. package/dist/types/managed.d.ts +110 -0
  368. package/dist/types/managed.js +1 -0
  369. package/dist/types/observability.d.ts +5 -6
  370. package/dist/types/observability.js +0 -1
  371. package/dist/types/report.d.ts +19 -6
  372. package/dist/types/report.js +0 -1
  373. package/dist/types/shared.d.ts +0 -1
  374. package/dist/types/shared.js +0 -1
  375. package/dist/types/skill-index.d.ts +0 -1
  376. package/dist/types/skill-index.js +0 -1
  377. package/dist/types/storage.d.ts +0 -1
  378. package/dist/types/storage.js +0 -1
  379. package/dist/util/safe-slice.d.ts +0 -1
  380. package/dist/util/safe-slice.js +0 -1
  381. package/package.json +9 -4
  382. package/dist/analysis/coverage-analyzer.d.ts.map +0 -1
  383. package/dist/analysis/coverage-analyzer.js.map +0 -1
  384. package/dist/analysis/failure-clusterer.d.ts.map +0 -1
  385. package/dist/analysis/failure-clusterer.js.map +0 -1
  386. package/dist/analysis/gap-analyzer.d.ts.map +0 -1
  387. package/dist/analysis/gap-analyzer.js.map +0 -1
  388. package/dist/analysis/hedging-classifier.d.ts.map +0 -1
  389. package/dist/analysis/hedging-classifier.js.map +0 -1
  390. package/dist/analysis/report-diagnostics.d.ts.map +0 -1
  391. package/dist/analysis/report-diagnostics.js.map +0 -1
  392. package/dist/analysis/sample-diagnostics.d.ts.map +0 -1
  393. package/dist/analysis/sample-diagnostics.js.map +0 -1
  394. package/dist/analysis/saturation.d.ts.map +0 -1
  395. package/dist/analysis/saturation.js.map +0 -1
  396. package/dist/authoring/evolver.d.ts.map +0 -1
  397. package/dist/authoring/evolver.js.map +0 -1
  398. package/dist/authoring/generator.d.ts.map +0 -1
  399. package/dist/authoring/generator.js.map +0 -1
  400. package/dist/authoring/sample-fixer.d.ts.map +0 -1
  401. package/dist/authoring/sample-fixer.js.map +0 -1
  402. package/dist/cli/commands/doctor.d.ts.map +0 -1
  403. package/dist/cli/commands/doctor.js.map +0 -1
  404. package/dist/cli/commands/eval/gold/compare.d.ts.map +0 -1
  405. package/dist/cli/commands/eval/gold/compare.js.map +0 -1
  406. package/dist/cli/commands/eval/gold/index.d.ts.map +0 -1
  407. package/dist/cli/commands/eval/gold/index.js.map +0 -1
  408. package/dist/cli/commands/eval/gold/init.d.ts.map +0 -1
  409. package/dist/cli/commands/eval/gold/init.js.map +0 -1
  410. package/dist/cli/commands/eval/gold/validate.d.ts.map +0 -1
  411. package/dist/cli/commands/eval/gold/validate.js.map +0 -1
  412. package/dist/cli/commands/eval/index.d.ts.map +0 -1
  413. package/dist/cli/commands/eval/index.js.map +0 -1
  414. package/dist/cli/commands/evolve.d.ts.map +0 -1
  415. package/dist/cli/commands/evolve.js.map +0 -1
  416. package/dist/cli/commands/init.d.ts.map +0 -1
  417. package/dist/cli/commands/init.js.map +0 -1
  418. package/dist/cli/commands/observe/inbox.d.ts.map +0 -1
  419. package/dist/cli/commands/observe/inbox.js.map +0 -1
  420. package/dist/cli/commands/observe/index.d.ts.map +0 -1
  421. package/dist/cli/commands/observe/index.js.map +0 -1
  422. package/dist/cli/commands/observe/ingest.d.ts.map +0 -1
  423. package/dist/cli/commands/observe/ingest.js.map +0 -1
  424. package/dist/cli/commands/observe/show.d.ts.map +0 -1
  425. package/dist/cli/commands/observe/show.js.map +0 -1
  426. package/dist/cli/commands/sample.d.ts.map +0 -1
  427. package/dist/cli/commands/sample.js.map +0 -1
  428. package/dist/cli/commands/studio.d.ts.map +0 -1
  429. package/dist/cli/commands/studio.js.map +0 -1
  430. package/dist/cli/index.d.ts.map +0 -1
  431. package/dist/cli/index.js.map +0 -1
  432. package/dist/cli/lib/cli-exit.d.ts.map +0 -1
  433. package/dist/cli/lib/cli-exit.js.map +0 -1
  434. package/dist/cli/lib/cmd-flags.d.ts.map +0 -1
  435. package/dist/cli/lib/cmd-flags.js.map +0 -1
  436. package/dist/cli/lib/i18n-dict/common.d.ts.map +0 -1
  437. package/dist/cli/lib/i18n-dict/common.js.map +0 -1
  438. package/dist/cli/lib/i18n-dict/evolve.d.ts.map +0 -1
  439. package/dist/cli/lib/i18n-dict/evolve.js.map +0 -1
  440. package/dist/cli/lib/i18n-dict/gen.d.ts.map +0 -1
  441. package/dist/cli/lib/i18n-dict/gen.js.map +0 -1
  442. package/dist/cli/lib/i18n-dict/help.d.ts.map +0 -1
  443. package/dist/cli/lib/i18n-dict/help.js.map +0 -1
  444. package/dist/cli/lib/i18n-dict/init.d.ts.map +0 -1
  445. package/dist/cli/lib/i18n-dict/init.js.map +0 -1
  446. package/dist/cli/lib/i18n-dict/run.d.ts.map +0 -1
  447. package/dist/cli/lib/i18n-dict/run.js.map +0 -1
  448. package/dist/cli/lib/i18n-dict/types.d.ts.map +0 -1
  449. package/dist/cli/lib/i18n-dict/types.js.map +0 -1
  450. package/dist/cli/lib/i18n-dict.d.ts.map +0 -1
  451. package/dist/cli/lib/i18n-dict.js.map +0 -1
  452. package/dist/cli/lib/i18n.d.ts.map +0 -1
  453. package/dist/cli/lib/i18n.js.map +0 -1
  454. package/dist/cli/lib/parse-run-config/judge-models.d.ts.map +0 -1
  455. package/dist/cli/lib/parse-run-config/judge-models.js.map +0 -1
  456. package/dist/cli/lib/parse-run-config/samples-discovery.d.ts.map +0 -1
  457. package/dist/cli/lib/parse-run-config/samples-discovery.js.map +0 -1
  458. package/dist/cli/lib/parse-run-config/variant-resolution.d.ts.map +0 -1
  459. package/dist/cli/lib/parse-run-config/variant-resolution.js.map +0 -1
  460. package/dist/cli/lib/parse-run-config.d.ts.map +0 -1
  461. package/dist/cli/lib/parse-run-config.js.map +0 -1
  462. package/dist/cli/lib/progress.d.ts.map +0 -1
  463. package/dist/cli/lib/progress.js.map +0 -1
  464. package/dist/cli/lib/resolve-skill-input.d.ts.map +0 -1
  465. package/dist/cli/lib/resolve-skill-input.js.map +0 -1
  466. package/dist/cli/lib/run-tally.d.ts.map +0 -1
  467. package/dist/cli/lib/run-tally.js.map +0 -1
  468. package/dist/cli/lib/shared.d.ts.map +0 -1
  469. package/dist/cli/lib/shared.js.map +0 -1
  470. package/dist/cli/lib/update-check.d.ts.map +0 -1
  471. package/dist/cli/lib/update-check.js.map +0 -1
  472. package/dist/cli/lib/update-fetch-worker.d.ts.map +0 -1
  473. package/dist/cli/lib/update-fetch-worker.js.map +0 -1
  474. package/dist/cli/oclif/base-command.d.ts.map +0 -1
  475. package/dist/cli/oclif/base-command.js.map +0 -1
  476. package/dist/cli/oclif/help.d.ts.map +0 -1
  477. package/dist/cli/oclif/help.js.map +0 -1
  478. package/dist/cli/oclif/i18n.d.ts.map +0 -1
  479. package/dist/cli/oclif/i18n.js.map +0 -1
  480. package/dist/cli/oclif/parsers.d.ts.map +0 -1
  481. package/dist/cli/oclif/parsers.js.map +0 -1
  482. package/dist/cli/oclif/projection.d.ts.map +0 -1
  483. package/dist/cli/oclif/projection.js.map +0 -1
  484. package/dist/cli/oclif/run.d.ts.map +0 -1
  485. package/dist/cli/oclif/run.js.map +0 -1
  486. package/dist/diagnosis/observe-mapper.d.ts.map +0 -1
  487. package/dist/diagnosis/observe-mapper.js.map +0 -1
  488. package/dist/diagnosis/observe-producer.d.ts.map +0 -1
  489. package/dist/diagnosis/observe-producer.js.map +0 -1
  490. package/dist/diagnosis/studio-projection.d.ts.map +0 -1
  491. package/dist/diagnosis/studio-projection.js.map +0 -1
  492. package/dist/diagnosis/types.d.ts.map +0 -1
  493. package/dist/diagnosis/types.js.map +0 -1
  494. package/dist/doctor/fixer.d.ts.map +0 -1
  495. package/dist/doctor/fixer.js.map +0 -1
  496. package/dist/doctor/health/builtin-dimensions.d.ts.map +0 -1
  497. package/dist/doctor/health/builtin-dimensions.js.map +0 -1
  498. package/dist/doctor/health/composer.d.ts.map +0 -1
  499. package/dist/doctor/health/composer.js.map +0 -1
  500. package/dist/doctor/health/dimension-registry.d.ts.map +0 -1
  501. package/dist/doctor/health/dimension-registry.js.map +0 -1
  502. package/dist/doctor/health/dimension-spec.d.ts.map +0 -1
  503. package/dist/doctor/health/dimension-spec.js.map +0 -1
  504. package/dist/doctor/health/load-custom-dimensions.d.ts.map +0 -1
  505. package/dist/doctor/health/load-custom-dimensions.js.map +0 -1
  506. package/dist/doctor/health/parser.d.ts.map +0 -1
  507. package/dist/doctor/health/parser.js.map +0 -1
  508. package/dist/doctor/health/prompt-builder.d.ts.map +0 -1
  509. package/dist/doctor/health/prompt-builder.js.map +0 -1
  510. package/dist/doctor/health/register.d.ts.map +0 -1
  511. package/dist/doctor/health/register.js.map +0 -1
  512. package/dist/doctor/index.d.ts.map +0 -1
  513. package/dist/doctor/index.js.map +0 -1
  514. package/dist/doctor/messages.d.ts.map +0 -1
  515. package/dist/doctor/messages.js.map +0 -1
  516. package/dist/doctor/preflight.d.ts.map +0 -1
  517. package/dist/doctor/preflight.js.map +0 -1
  518. package/dist/doctor/renderer.d.ts.map +0 -1
  519. package/dist/doctor/renderer.js.map +0 -1
  520. package/dist/doctor/rules.d.ts.map +0 -1
  521. package/dist/doctor/rules.js.map +0 -1
  522. package/dist/eval-core/bootstrap.d.ts.map +0 -1
  523. package/dist/eval-core/bootstrap.js.map +0 -1
  524. package/dist/eval-core/cache.d.ts.map +0 -1
  525. package/dist/eval-core/cache.js.map +0 -1
  526. package/dist/eval-core/comparability.d.ts.map +0 -1
  527. package/dist/eval-core/comparability.js.map +0 -1
  528. package/dist/eval-core/dependency-checker.d.ts.map +0 -1
  529. package/dist/eval-core/dependency-checker.js.map +0 -1
  530. package/dist/eval-core/evaluation-execution.d.ts.map +0 -1
  531. package/dist/eval-core/evaluation-execution.js.map +0 -1
  532. package/dist/eval-core/evaluation-job.d.ts.map +0 -1
  533. package/dist/eval-core/evaluation-job.js.map +0 -1
  534. package/dist/eval-core/evaluation-reporting.d.ts.map +0 -1
  535. package/dist/eval-core/evaluation-reporting.js.map +0 -1
  536. package/dist/eval-core/execution-strategy.d.ts.map +0 -1
  537. package/dist/eval-core/execution-strategy.js.map +0 -1
  538. package/dist/eval-core/fact-checker.d.ts.map +0 -1
  539. package/dist/eval-core/fact-checker.js.map +0 -1
  540. package/dist/eval-core/layer-gates.d.ts.map +0 -1
  541. package/dist/eval-core/layer-gates.js.map +0 -1
  542. package/dist/eval-core/mocks-runtime.d.ts.map +0 -1
  543. package/dist/eval-core/mocks-runtime.js.map +0 -1
  544. package/dist/eval-core/schema.d.ts.map +0 -1
  545. package/dist/eval-core/schema.js.map +0 -1
  546. package/dist/eval-core/statistics.d.ts.map +0 -1
  547. package/dist/eval-core/statistics.js.map +0 -1
  548. package/dist/eval-core/task-planner.d.ts.map +0 -1
  549. package/dist/eval-core/task-planner.js.map +0 -1
  550. package/dist/eval-core/verdict.d.ts.map +0 -1
  551. package/dist/eval-core/verdict.js.map +0 -1
  552. package/dist/eval-workflows/batch-evaluation-workflow.d.ts.map +0 -1
  553. package/dist/eval-workflows/batch-evaluation-workflow.js.map +0 -1
  554. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.d.ts.map +0 -1
  555. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.js.map +0 -1
  556. package/dist/eval-workflows/evaluation-pipeline/report-finalize.d.ts.map +0 -1
  557. package/dist/eval-workflows/evaluation-pipeline/report-finalize.js.map +0 -1
  558. package/dist/eval-workflows/evaluation-pipeline/run-state.d.ts.map +0 -1
  559. package/dist/eval-workflows/evaluation-pipeline/run-state.js.map +0 -1
  560. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.d.ts.map +0 -1
  561. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.js.map +0 -1
  562. package/dist/eval-workflows/evaluation-pipeline.d.ts.map +0 -1
  563. package/dist/eval-workflows/evaluation-pipeline.js.map +0 -1
  564. package/dist/eval-workflows/evaluation-preparation.d.ts.map +0 -1
  565. package/dist/eval-workflows/evaluation-preparation.js.map +0 -1
  566. package/dist/eval-workflows/messages.d.ts.map +0 -1
  567. package/dist/eval-workflows/messages.js.map +0 -1
  568. package/dist/eval-workflows/run-evaluation.d.ts.map +0 -1
  569. package/dist/eval-workflows/run-evaluation.js.map +0 -1
  570. package/dist/executors/anthropic-api.d.ts.map +0 -1
  571. package/dist/executors/anthropic-api.js.map +0 -1
  572. package/dist/executors/claude-cli.d.ts.map +0 -1
  573. package/dist/executors/claude-cli.js.map +0 -1
  574. package/dist/executors/claude-sdk-trace.d.ts.map +0 -1
  575. package/dist/executors/claude-sdk-trace.js.map +0 -1
  576. package/dist/executors/claude-sdk.d.ts.map +0 -1
  577. package/dist/executors/claude-sdk.js.map +0 -1
  578. package/dist/executors/codex-cli-trace.d.ts.map +0 -1
  579. package/dist/executors/codex-cli-trace.js.map +0 -1
  580. package/dist/executors/codex-cli.d.ts.map +0 -1
  581. package/dist/executors/codex-cli.js.map +0 -1
  582. package/dist/executors/codex-sdk.d.ts.map +0 -1
  583. package/dist/executors/codex-sdk.js.map +0 -1
  584. package/dist/executors/gemini.d.ts.map +0 -1
  585. package/dist/executors/gemini.js.map +0 -1
  586. package/dist/executors/index.d.ts.map +0 -1
  587. package/dist/executors/index.js.map +0 -1
  588. package/dist/executors/openai-api.d.ts.map +0 -1
  589. package/dist/executors/openai-api.js.map +0 -1
  590. package/dist/executors/runtime-fingerprint.d.ts.map +0 -1
  591. package/dist/executors/runtime-fingerprint.js.map +0 -1
  592. package/dist/executors/script.d.ts.map +0 -1
  593. package/dist/executors/script.js.map +0 -1
  594. package/dist/executors/shared.d.ts.map +0 -1
  595. package/dist/executors/shared.js.map +0 -1
  596. package/dist/grading/assertions.d.ts.map +0 -1
  597. package/dist/grading/assertions.js.map +0 -1
  598. package/dist/grading/debias-validate.d.ts.map +0 -1
  599. package/dist/grading/debias-validate.js.map +0 -1
  600. package/dist/grading/diagnostic.d.ts.map +0 -1
  601. package/dist/grading/diagnostic.js.map +0 -1
  602. package/dist/grading/gold-cli.d.ts.map +0 -1
  603. package/dist/grading/gold-cli.js.map +0 -1
  604. package/dist/grading/gold-dataset.d.ts.map +0 -1
  605. package/dist/grading/gold-dataset.js.map +0 -1
  606. package/dist/grading/human-gold.d.ts.map +0 -1
  607. package/dist/grading/human-gold.js.map +0 -1
  608. package/dist/grading/index.d.ts.map +0 -1
  609. package/dist/grading/index.js.map +0 -1
  610. package/dist/grading/judge.d.ts.map +0 -1
  611. package/dist/grading/judge.js.map +0 -1
  612. package/dist/grading/layered-scores.d.ts.map +0 -1
  613. package/dist/grading/layered-scores.js.map +0 -1
  614. package/dist/inputs/eval-config.d.ts.map +0 -1
  615. package/dist/inputs/eval-config.js.map +0 -1
  616. package/dist/inputs/load-samples.d.ts.map +0 -1
  617. package/dist/inputs/load-samples.js.map +0 -1
  618. package/dist/inputs/mcp-resolver.d.ts.map +0 -1
  619. package/dist/inputs/mcp-resolver.js.map +0 -1
  620. package/dist/inputs/skill-loader.d.ts.map +0 -1
  621. package/dist/inputs/skill-loader.js.map +0 -1
  622. package/dist/inputs/url-fetcher.d.ts.map +0 -1
  623. package/dist/inputs/url-fetcher.js.map +0 -1
  624. package/dist/observability/experience-frontmatter.d.ts.map +0 -1
  625. package/dist/observability/experience-frontmatter.js.map +0 -1
  626. package/dist/observability/experience.d.ts.map +0 -1
  627. package/dist/observability/experience.js.map +0 -1
  628. package/dist/observability/feedback-matchers.d.ts.map +0 -1
  629. package/dist/observability/feedback-matchers.js.map +0 -1
  630. package/dist/observability/feedback-projection.d.ts.map +0 -1
  631. package/dist/observability/feedback-projection.js.map +0 -1
  632. package/dist/observability/inbox-view-model.d.ts.map +0 -1
  633. package/dist/observability/inbox-view-model.js.map +0 -1
  634. package/dist/observability/inbox.d.ts.map +0 -1
  635. package/dist/observability/inbox.js.map +0 -1
  636. package/dist/observability/problem-patterns.d.ts.map +0 -1
  637. package/dist/observability/problem-patterns.js.map +0 -1
  638. package/dist/observability/resolved-review.d.ts.map +0 -1
  639. package/dist/observability/resolved-review.js.map +0 -1
  640. package/dist/observability/review-state.d.ts.map +0 -1
  641. package/dist/observability/review-state.js.map +0 -1
  642. package/dist/observability/skill-chain-advisories.d.ts.map +0 -1
  643. package/dist/observability/skill-chain-advisories.js.map +0 -1
  644. package/dist/observability/skill-chain.d.ts.map +0 -1
  645. package/dist/observability/skill-chain.js.map +0 -1
  646. package/dist/observability/skill-health-analyzer.d.ts.map +0 -1
  647. package/dist/observability/skill-health-analyzer.js.map +0 -1
  648. package/dist/observability/soft-standards/constants.d.ts.map +0 -1
  649. package/dist/observability/soft-standards/constants.js.map +0 -1
  650. package/dist/observability/soft-standards/index.d.ts.map +0 -1
  651. package/dist/observability/soft-standards/index.js.map +0 -1
  652. package/dist/observability/soft-standards/llm-extractor.d.ts.map +0 -1
  653. package/dist/observability/soft-standards/llm-extractor.js.map +0 -1
  654. package/dist/observability/soft-standards/runtime-evaluator.d.ts.map +0 -1
  655. package/dist/observability/soft-standards/runtime-evaluator.js.map +0 -1
  656. package/dist/observability/soft-standards/skill-standards-store.d.ts.map +0 -1
  657. package/dist/observability/soft-standards/skill-standards-store.js.map +0 -1
  658. package/dist/observability/soft-standards/types.d.ts.map +0 -1
  659. package/dist/observability/soft-standards/types.js.map +0 -1
  660. package/dist/observability/text-signals.d.ts.map +0 -1
  661. package/dist/observability/text-signals.js.map +0 -1
  662. package/dist/observability/trace-adapter.d.ts.map +0 -1
  663. package/dist/observability/trace-adapter.js.map +0 -1
  664. package/dist/observability/trace-attribution.d.ts.map +0 -1
  665. package/dist/observability/trace-attribution.js.map +0 -1
  666. package/dist/observability/trace-segmenter.d.ts.map +0 -1
  667. package/dist/observability/trace-segmenter.js.map +0 -1
  668. package/dist/observability/trace-source.d.ts.map +0 -1
  669. package/dist/observability/trace-source.js.map +0 -1
  670. package/dist/renderer/html-renderer.d.ts.map +0 -1
  671. package/dist/renderer/html-renderer.js.map +0 -1
  672. package/dist/renderer/layout.d.ts.map +0 -1
  673. package/dist/renderer/layout.js.map +0 -1
  674. package/dist/renderer/observation-inbox/helpers.d.ts.map +0 -1
  675. package/dist/renderer/observation-inbox/helpers.js.map +0 -1
  676. package/dist/renderer/observation-inbox/styles.d.ts.map +0 -1
  677. package/dist/renderer/observation-inbox/styles.js.map +0 -1
  678. package/dist/renderer/observation-inbox-renderer.d.ts.map +0 -1
  679. package/dist/renderer/observation-inbox-renderer.js.map +0 -1
  680. package/dist/renderer/skill-detail-renderer.d.ts.map +0 -1
  681. package/dist/renderer/skill-detail-renderer.js.map +0 -1
  682. package/dist/renderer/skill-health-renderer.d.ts.map +0 -1
  683. package/dist/renderer/skill-health-renderer.js.map +0 -1
  684. package/dist/renderer/skill-list-renderer.d.ts.map +0 -1
  685. package/dist/renderer/skill-list-renderer.js.map +0 -1
  686. package/dist/renderer/summary.d.ts.map +0 -1
  687. package/dist/renderer/summary.js.map +0 -1
  688. package/dist/renderer/table.d.ts.map +0 -1
  689. package/dist/renderer/table.js.map +0 -1
  690. package/dist/renderer/test-view.d.ts.map +0 -1
  691. package/dist/renderer/test-view.js.map +0 -1
  692. package/dist/renderer/trends.d.ts.map +0 -1
  693. package/dist/renderer/trends.js.map +0 -1
  694. package/dist/server/job-store.d.ts.map +0 -1
  695. package/dist/server/job-store.js.map +0 -1
  696. package/dist/server/report-server.d.ts.map +0 -1
  697. package/dist/server/report-server.js.map +0 -1
  698. package/dist/server/report-store.d.ts.map +0 -1
  699. package/dist/server/report-store.js.map +0 -1
  700. package/dist/server/skill-index.d.ts.map +0 -1
  701. package/dist/server/skill-index.js.map +0 -1
  702. package/dist/server/skill-insights.d.ts.map +0 -1
  703. package/dist/server/skill-insights.js.map +0 -1
  704. package/dist/shared/hard-rules.d.ts.map +0 -1
  705. package/dist/shared/hard-rules.js.map +0 -1
  706. package/dist/shared/llm-prompts/index.d.ts.map +0 -1
  707. package/dist/shared/llm-prompts/index.js.map +0 -1
  708. package/dist/shared/llm-prompts/skill-health.d.ts.map +0 -1
  709. package/dist/shared/llm-prompts/skill-health.js.map +0 -1
  710. package/dist/shared/time.d.ts.map +0 -1
  711. package/dist/shared/time.js.map +0 -1
  712. package/dist/shared/tool-search.d.ts.map +0 -1
  713. package/dist/shared/tool-search.js.map +0 -1
  714. package/dist/types/dependencies.d.ts.map +0 -1
  715. package/dist/types/dependencies.js.map +0 -1
  716. package/dist/types/diagnosis.d.ts.map +0 -1
  717. package/dist/types/diagnosis.js.map +0 -1
  718. package/dist/types/doctor.d.ts.map +0 -1
  719. package/dist/types/doctor.js.map +0 -1
  720. package/dist/types/eval.d.ts.map +0 -1
  721. package/dist/types/eval.js.map +0 -1
  722. package/dist/types/executor.d.ts.map +0 -1
  723. package/dist/types/executor.js.map +0 -1
  724. package/dist/types/index.d.ts.map +0 -1
  725. package/dist/types/index.js.map +0 -1
  726. package/dist/types/judge.d.ts.map +0 -1
  727. package/dist/types/judge.js.map +0 -1
  728. package/dist/types/observability.d.ts.map +0 -1
  729. package/dist/types/observability.js.map +0 -1
  730. package/dist/types/report.d.ts.map +0 -1
  731. package/dist/types/report.js.map +0 -1
  732. package/dist/types/shared.d.ts.map +0 -1
  733. package/dist/types/shared.js.map +0 -1
  734. package/dist/types/skill-index.d.ts.map +0 -1
  735. package/dist/types/skill-index.js.map +0 -1
  736. package/dist/types/storage.d.ts.map +0 -1
  737. package/dist/types/storage.js.map +0 -1
  738. package/dist/util/safe-slice.d.ts.map +0 -1
  739. package/dist/util/safe-slice.js.map +0 -1
@@ -15,4 +15,3 @@ export declare function buildCodexArgs({ model, cwd, prompt }: {
15
15
  prompt: string;
16
16
  }): string[];
17
17
  export declare function codexCliExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, allowedSkills, verbose }: ExecutorInput): Promise<ExecResult>;
18
- //# sourceMappingURL=codex-cli.d.ts.map
@@ -251,4 +251,3 @@ export async function codexCliExecutor({ model, system, prompt, cwd, skillDir, t
251
251
  };
252
252
  }
253
253
  }
254
- //# sourceMappingURL=codex-cli.js.map
@@ -15,4 +15,3 @@ export declare function buildCodexSdkThreadOptions({ model, cwd }: {
15
15
  export declare function buildCodexSdkClientOptions(env: NodeJS.ProcessEnv): CodexOptions;
16
16
  export declare function createCodexSdkClient(env: NodeJS.ProcessEnv): Promise<Codex>;
17
17
  export declare function codexSdkExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, allowedSkills, verbose }: ExecutorInput): Promise<ExecResult>;
18
- //# sourceMappingURL=codex-sdk.d.ts.map
@@ -211,4 +211,3 @@ export async function codexSdkExecutor({ model, system, prompt, cwd, skillDir, t
211
211
  process.removeListener('SIGINT', sigintListener);
212
212
  }
213
213
  }
214
- //# sourceMappingURL=codex-sdk.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ExecResult, ExecutorInput } from '../types/index.js';
2
2
  export declare function geminiExecutor({ model, system, prompt, timeoutMs }: ExecutorInput): Promise<ExecResult>;
3
- //# sourceMappingURL=gemini.d.ts.map
@@ -79,4 +79,3 @@ export async function geminiExecutor({ model, system, prompt, timeoutMs = DEFAUL
79
79
  };
80
80
  }
81
81
  }
82
- //# sourceMappingURL=gemini.js.map
@@ -4,4 +4,3 @@ import { createScriptExecutor } from './script.js';
4
4
  import { DEFAULT_MODEL, JUDGE_MODEL } from './shared.js';
5
5
  export { DEFAULT_MODEL, JUDGE_MODEL, extractAgentTrace, createScriptExecutor };
6
6
  export declare function createExecutor(name?: string): ExecutorFn;
7
- //# sourceMappingURL=index.d.ts.map
@@ -24,4 +24,3 @@ export { DEFAULT_MODEL, JUDGE_MODEL, extractAgentTrace, createScriptExecutor };
24
24
  export function createExecutor(name = 'claude') {
25
25
  return EXECUTOR_REGISTRY[name] || createScriptExecutor(name);
26
26
  }
27
- //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ExecResult, ExecutorInput } from '../types/index.js';
2
2
  export declare function openAiApiExecutor({ model, system, prompt, timeoutMs }: ExecutorInput): Promise<ExecResult>;
3
- //# sourceMappingURL=openai-api.d.ts.map
@@ -37,4 +37,3 @@ export async function openAiApiExecutor({ model, system, prompt, timeoutMs = DEF
37
37
  return { ok: false, error, durationMs, durationApiMs: 0, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0, costUSD: 0, output: null, stopReason, numTurns: 0 };
38
38
  }
39
39
  }
40
- //# sourceMappingURL=openai-api.js.map
@@ -4,4 +4,3 @@ export interface ExecutorRuntimeFingerprintOptions {
4
4
  env?: NodeJS.ProcessEnv;
5
5
  }
6
6
  export declare function getExecutorRuntimeFingerprint(executorName: string, model: string, options?: ExecutorRuntimeFingerprintOptions): ExecutorRuntimeFingerprint;
7
- //# sourceMappingURL=runtime-fingerprint.d.ts.map
@@ -140,7 +140,7 @@ function withFingerprint(input) {
140
140
  const stablePayload = {
141
141
  executor: input.executor,
142
142
  model: input.model,
143
- kind: input.kind,
143
+ kind: input.runtimeKind,
144
144
  binary: input.binary
145
145
  ? {
146
146
  name: input.binary.name,
@@ -171,7 +171,7 @@ function runtime(executor, model, kind, capabilities, extra = {}) {
171
171
  return withFingerprint({
172
172
  executor,
173
173
  model,
174
- kind,
174
+ runtimeKind: kind,
175
175
  capabilities,
176
176
  ...extra,
177
177
  });
@@ -274,4 +274,3 @@ export function getExecutorRuntimeFingerprint(executorName, model, options = {})
274
274
  RUNTIME_CACHE.set(cacheKey, fp);
275
275
  return fp;
276
276
  }
277
- //# sourceMappingURL=runtime-fingerprint.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ExecutorFn } from '../types/index.js';
2
2
  export declare function createScriptExecutor(command: string): ExecutorFn;
3
- //# sourceMappingURL=script.d.ts.map
@@ -74,4 +74,3 @@ export function createScriptExecutor(command) {
74
74
  }
75
75
  };
76
76
  }
77
- //# sourceMappingURL=script.js.map
@@ -128,7 +128,6 @@ export interface CodexEvent {
128
128
  results?: unknown[];
129
129
  changes?: Array<{
130
130
  path?: string;
131
- kind?: string;
132
131
  }>;
133
132
  server?: string;
134
133
  tool?: string;
@@ -191,4 +190,3 @@ export declare function spawnWithSigintPropagation(command: string, args: string
191
190
  child: ChildProcess;
192
191
  done: Promise<SpawnHelperResult>;
193
192
  };
194
- //# sourceMappingURL=shared.d.ts.map
@@ -250,4 +250,3 @@ export function spawnWithSigintPropagation(command, args, options = {}) {
250
250
  });
251
251
  return { child, done };
252
252
  }
253
- //# sourceMappingURL=shared.js.map
@@ -36,4 +36,3 @@ export declare function runAssertions(output: string, assertions: Assertion[], c
36
36
  };
37
37
  }): AssertionResults;
38
38
  export declare function runAsyncAssertions(output: string, assertions: Assertion[], { executor, judgeModel, sample, samplesDir }: AsyncAssertionContext): Promise<AssertionResults>;
39
- //# sourceMappingURL=assertions.d.ts.map
@@ -551,4 +551,3 @@ async function runRagJudge(assertion, output, sample, executor, judgeModel) {
551
551
  return { passed: false, message: 'failed to parse judge response', costUSD: result.costUSD || 0, ...reported };
552
552
  }
553
553
  }
554
- //# sourceMappingURL=assertions.js.map
@@ -81,4 +81,3 @@ export interface DebiasValidateResult {
81
81
  */
82
82
  export declare function validateLengthDebias(input: DebiasValidateInput): Promise<DebiasValidateResult>;
83
83
  export declare function formatDebiasValidate(result: DebiasValidateResult): string;
84
- //# sourceMappingURL=debias-validate.d.ts.map
@@ -170,4 +170,3 @@ export function formatDebiasValidate(result) {
170
170
  }
171
171
  return lines.join('\n');
172
172
  }
173
- //# sourceMappingURL=debias-validate.js.map
@@ -37,4 +37,3 @@ export declare function salvagePartialJson(blob: string): {
37
37
  };
38
38
  export declare function runDiagnostic(opts: RunDiagnosticOptions): Promise<DiagnosticResult>;
39
39
  export {};
40
- //# sourceMappingURL=diagnostic.d.ts.map
@@ -447,4 +447,3 @@ function parseFailureModes(raw) {
447
447
  }
448
448
  return out;
449
449
  }
450
- //# sourceMappingURL=diagnostic.js.map
@@ -82,4 +82,3 @@ export declare function validateGoldDataset(dir: string): {
82
82
  issues: string[];
83
83
  sampleCount: number;
84
84
  };
85
- //# sourceMappingURL=gold-cli.d.ts.map
@@ -244,4 +244,3 @@ export function validateGoldDataset(dir) {
244
244
  sampleCount: dataset?.annotations.length ?? 0,
245
245
  };
246
246
  }
247
- //# sourceMappingURL=gold-cli.js.map
@@ -70,4 +70,3 @@ export interface LoadResult {
70
70
  export declare function loadGoldDataset(dir: string): LoadResult;
71
71
  /** Re-export YAML serializer so the `gold init` CLI can write a template. */
72
72
  export declare function dumpYaml(value: unknown): string;
73
- //# sourceMappingURL=gold-dataset.d.ts.map
@@ -158,4 +158,3 @@ function validateAnnotation(raw, path, index) {
158
158
  export function dumpYaml(value) {
159
159
  return yaml.dump(value, { lineWidth: 100, noRefs: true });
160
160
  }
161
- //# sourceMappingURL=gold-dataset.js.map
@@ -99,4 +99,3 @@ export declare function computeAgreementWithCI(pairs: RatingPair[], options?: {
99
99
  max: number;
100
100
  };
101
101
  }): AgreementResult;
102
- //# sourceMappingURL=human-gold.d.ts.map
@@ -185,4 +185,3 @@ function roundOrNaN(x) {
185
185
  return NaN;
186
186
  return Math.round(x * 10000) / 10000;
187
187
  }
188
- //# sourceMappingURL=human-gold.js.map
@@ -58,4 +58,3 @@ interface GradeOptions {
58
58
  export declare function grade({ output, sample, judgeModels, judgeExecutors, allowLlmJudge, execMetrics, samplesDir, judgeRepeat, lengthDebias }: GradeOptions): Promise<GradeResult>;
59
59
  export { runAssertions, validateJsonSchema } from './assertions.js';
60
60
  export { buildTraceSummary } from './judge.js';
61
- //# sourceMappingURL=index.d.ts.map
@@ -137,4 +137,3 @@ export async function grade({ output, sample, judgeModels, judgeExecutors, allow
137
137
  }
138
138
  export { runAssertions, validateJsonSchema } from './assertions.js';
139
139
  export { buildTraceSummary } from './judge.js';
140
- //# sourceMappingURL=index.js.map
@@ -73,4 +73,3 @@ export declare function computeJudgeAgreement(judgeScores: number[][]): JudgeAgr
73
73
  */
74
74
  export declare function llmJudgeEnsemble(options: LlmJudgeOptions, judges: JudgeConfig[], executorByName: (name: string) => ExecutorFn, judgeRepeat?: number): Promise<DimensionResult>;
75
75
  export {};
76
- //# sourceMappingURL=judge.d.ts.map
@@ -473,4 +473,3 @@ export async function llmJudgeEnsemble(options, judges, executorByName, judgeRep
473
473
  agreement,
474
474
  };
475
475
  }
476
- //# sourceMappingURL=judge.js.map
@@ -10,4 +10,3 @@ export declare function computeLayeredScores(results: CompositeInput): {
10
10
  layeredScores: LayeredScores;
11
11
  };
12
12
  export {};
13
- //# sourceMappingURL=layered-scores.d.ts.map
@@ -60,4 +60,3 @@ export function computeLayeredScores(results) {
60
60
  const compositeScore = scores.length > 0 ? Number((scores.reduce((a, b) => a + b, 0) / scores.length).toFixed(2)) : 0;
61
61
  return { compositeScore, layeredScores: layered };
62
62
  }
63
- //# sourceMappingURL=layered-scores.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 给定相对源根的路径分段(空数组 = 源根本身),判断是否进可分发树。hash 的 walk、copy 的 filter、
3
+ * git 物化共用此一处,保证三者完全一致。
4
+ *
5
+ * 关键:检查**每一段**而非只看叶子。本地 walk / cpSync 是逐层下降、命中目录即剪枝,只看叶子也够;
6
+ * 但 git ls-tree 给的是**扁平路径**(如 `.omk/samples.json`),只看叶子 `samples.json` 会让 `.omk`
7
+ * 内容漏过。故:任一段命中全局排除即排除;首段命中 root-only(evolve)即排除(嵌套同名是合法资产)。
8
+ */
9
+ export declare function isDistributablePath(segments: string[]): boolean;
10
+ /**
11
+ * cpSync 的 filter,口径与 hashArtifactSource 的 walk 完全一致(「分发出去的 == 算进 hash 的」):
12
+ * 源根永远拷;软链跳过(避免软链目标改了却不触发 drift、回避软链环);其余按 isDistributablePath
13
+ * 逐段判定。install 分发(copyArtifactToTarget)与 eval 隔离副本物化(materializeIsolatedCopy)
14
+ * 共用此一处 —— copy / hash / 副本三者绝不发散。
15
+ */
16
+ export declare function distributableCopyFilter(sourceRoot: string): (src: string) => boolean;
17
+ /**
18
+ * artifact 内容 hash —— drift baseline 与 evidence 绑定的依据。
19
+ * - 文件-skill:单个 .md 的字节;
20
+ * - 目录-skill:覆盖**整棵可分发目录树**(SKILL.md + references/ 等资产,但排除 .omk / .git /
21
+ * evolve 等评测迭代产物),按相对路径排序后把每个文件的`路径 + 字节长度 + 内容`喂进同一个
22
+ * sha256 —— 改任意资产都会令 hash 变化、drift 不漏;只补样本则 hash 不动。
23
+ * 用 createHash 直接喂 Buffer(字节级,二进制资产也稳;分隔符是运行时字节,源码里不引入任何不可见字符)。
24
+ * 读时(list / drift 检查 / eval 报告)用同一函数重算比对。
25
+ */
26
+ /** sha256 前 12 位的字节摘要 —— 单文件 / 单 blob 内容指纹的共用底座(整树哈、git 单文件哈都走它)。 */
27
+ export declare function hashBytes(buf: Buffer): string;
28
+ export declare function hashArtifactSource(source: string, isDirectorySkill: boolean): string;
@@ -0,0 +1,106 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync, readdirSync, lstatSync } from 'node:fs';
3
+ import { join, relative, sep } from 'node:path';
4
+ /**
5
+ * artifact「可分发树」与内容指纹 —— inputs 层的纯内容哈希工具。install(受管记录)与 eval
6
+ * (report 的 artifactHashes)共用同一处,保证「同一个 skill,装出来与测出来的指纹落在同一空间」,
7
+ * 是证据随 artifact 走(evidence.contentHash === record.contentHash)的承重基础。
8
+ *
9
+ * 放在 inputs 层而非 managed:这两个函数语义上属内容哈希、无 managed 专属依赖;skill-loader、
10
+ * source-resolver、managed/store 都在它之上消费,inputs 是更低层,不成环。
11
+ */
12
+ /**
13
+ * 不进 artifact「可分发树」的条目 —— omk 的评测 / 迭代 / VCS / 系统产物,既不该被拷进 agent
14
+ * skill 目录,也不该计入 artifact contentHash。区分两类语义,避免误伤合法嵌套资产:
15
+ * - **任意层级排除**:隐藏元数据 / VCS / 系统 / 依赖目录,任何深度出现都是噪声
16
+ * (`.omk` = samples / managed / observations;`.git`;`node_modules`;OS 垃圾);
17
+ * - **仅源根第一层排除**:omk 保留的工作目录,只在 skill 根有保留语义,嵌套同名是用户合法资产
18
+ * (`evolve` 是 `<skillDir>/evolve/` 候选快照;但 `references/evolve/guide.md` 应正常分发并计入 hash)。
19
+ * spec 里 artifact content hash 与 sample-set hash 是分开的证据轴,故只补样本(.omk)不该改 hash。
20
+ */
21
+ const GLOBAL_EXCLUDED_NAMES = new Set(['.omk', '.git', 'node_modules', '.DS_Store', 'Thumbs.db']);
22
+ const ROOT_ONLY_EXCLUDED_NAMES = new Set(['evolve']);
23
+ /**
24
+ * 给定相对源根的路径分段(空数组 = 源根本身),判断是否进可分发树。hash 的 walk、copy 的 filter、
25
+ * git 物化共用此一处,保证三者完全一致。
26
+ *
27
+ * 关键:检查**每一段**而非只看叶子。本地 walk / cpSync 是逐层下降、命中目录即剪枝,只看叶子也够;
28
+ * 但 git ls-tree 给的是**扁平路径**(如 `.omk/samples.json`),只看叶子 `samples.json` 会让 `.omk`
29
+ * 内容漏过。故:任一段命中全局排除即排除;首段命中 root-only(evolve)即排除(嵌套同名是合法资产)。
30
+ */
31
+ export function isDistributablePath(segments) {
32
+ if (segments.length === 0)
33
+ return true; // 源根永远算
34
+ for (const seg of segments) {
35
+ if (GLOBAL_EXCLUDED_NAMES.has(seg))
36
+ return false;
37
+ }
38
+ if (ROOT_ONLY_EXCLUDED_NAMES.has(segments[0]))
39
+ return false;
40
+ return true;
41
+ }
42
+ /**
43
+ * cpSync 的 filter,口径与 hashArtifactSource 的 walk 完全一致(「分发出去的 == 算进 hash 的」):
44
+ * 源根永远拷;软链跳过(避免软链目标改了却不触发 drift、回避软链环);其余按 isDistributablePath
45
+ * 逐段判定。install 分发(copyArtifactToTarget)与 eval 隔离副本物化(materializeIsolatedCopy)
46
+ * 共用此一处 —— copy / hash / 副本三者绝不发散。
47
+ */
48
+ export function distributableCopyFilter(sourceRoot) {
49
+ return (src) => {
50
+ const rel = relative(sourceRoot, src);
51
+ if (rel === '')
52
+ return true;
53
+ if (lstatSync(src).isSymbolicLink())
54
+ return false;
55
+ return isDistributablePath(rel.split(sep));
56
+ };
57
+ }
58
+ /**
59
+ * artifact 内容 hash —— drift baseline 与 evidence 绑定的依据。
60
+ * - 文件-skill:单个 .md 的字节;
61
+ * - 目录-skill:覆盖**整棵可分发目录树**(SKILL.md + references/ 等资产,但排除 .omk / .git /
62
+ * evolve 等评测迭代产物),按相对路径排序后把每个文件的`路径 + 字节长度 + 内容`喂进同一个
63
+ * sha256 —— 改任意资产都会令 hash 变化、drift 不漏;只补样本则 hash 不动。
64
+ * 用 createHash 直接喂 Buffer(字节级,二进制资产也稳;分隔符是运行时字节,源码里不引入任何不可见字符)。
65
+ * 读时(list / drift 检查 / eval 报告)用同一函数重算比对。
66
+ */
67
+ /** sha256 前 12 位的字节摘要 —— 单文件 / 单 blob 内容指纹的共用底座(整树哈、git 单文件哈都走它)。 */
68
+ export function hashBytes(buf) {
69
+ return createHash('sha256').update(buf).digest('hex').slice(0, 12);
70
+ }
71
+ export function hashArtifactSource(source, isDirectorySkill) {
72
+ if (!isDirectorySkill) {
73
+ return hashBytes(readFileSync(source));
74
+ }
75
+ const rels = [];
76
+ const walk = (dir, segments) => {
77
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
78
+ const segs = [...segments, entry.name];
79
+ if (!isDistributablePath(segs))
80
+ continue;
81
+ // 软链既非 isFile 也非 isDirectory,天然跳过 —— 与 copyArtifactToTarget 的 filter 一致
82
+ // (hash 覆盖的 == 分发出去的),避免软链目标改变却不触发 drift,也回避软链环。
83
+ if (entry.isDirectory())
84
+ walk(join(dir, entry.name), segs);
85
+ else if (entry.isFile())
86
+ rels.push(segs.join('/'));
87
+ }
88
+ };
89
+ walk(source, []);
90
+ rels.sort();
91
+ const h = createHash('sha256');
92
+ const sep = Buffer.from([0]);
93
+ for (const rel of rels) {
94
+ const content = readFileSync(join(source, rel));
95
+ // 路径与内容都做长度前缀,彻底排除"不同树拼出同一串"的歧义(文件名虽不含 NUL,核心层仍按可注入防)。
96
+ h.update(String(Buffer.byteLength(rel)));
97
+ h.update(sep);
98
+ h.update(rel);
99
+ h.update(sep);
100
+ h.update(String(content.length));
101
+ h.update(sep);
102
+ h.update(content);
103
+ h.update(sep);
104
+ }
105
+ return h.digest('hex').slice(0, 12);
106
+ }
@@ -10,4 +10,3 @@ export declare function loadEvalConfig(configPath: string): EvalConfig;
10
10
  * so the downstream variant resolver can treat CLI and config uniformly.
11
11
  */
12
12
  export declare function configVariantsToSpecs(variants: EvalConfigVariant[]): VariantSpec[];
13
- //# sourceMappingURL=eval-config.d.ts.map
@@ -23,12 +23,19 @@ export function loadEvalConfig(configPath) {
23
23
  * so the downstream variant resolver can treat CLI and config uniformly.
24
24
  */
25
25
  export function configVariantsToSpecs(variants) {
26
- return variants.map((v) => ({
27
- name: v.name,
28
- role: v.role,
29
- expr: v.cwd ? `${v.artifact}@${v.cwd}` : v.artifact,
30
- ...(v.allowedSkills !== undefined && { allowedSkills: v.allowedSkills }),
31
- }));
26
+ return variants.map((v) => {
27
+ // 远端 git:expr 落规范身份串 `git+<url>@<ref>:<spec>`(仅供 variantIdentity 去重、绝不 re-split),
28
+ // 真正解析走结构化 spec.git;本地 artifact 直接用其字符串身份。
29
+ const expr = v.git ? `git+${v.git.url}@${v.git.ref ?? 'HEAD'}:${v.git.spec}` : v.artifact;
30
+ return {
31
+ name: v.name,
32
+ role: v.role,
33
+ expr,
34
+ ...(v.git !== undefined && { git: v.git }),
35
+ ...(v.cwd !== undefined && { cwd: v.cwd }),
36
+ ...(v.allowedSkills !== undefined && { allowedSkills: v.allowedSkills }),
37
+ };
38
+ });
32
39
  }
33
40
  function validateEvalConfig(parsed, configPath) {
34
41
  if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
@@ -55,8 +62,31 @@ function validateEvalConfig(parsed, configPath) {
55
62
  if (typeof v.role !== 'string' || !VALID_ROLES.includes(v.role)) {
56
63
  throw new Error(`${configPath}: variants[${i}].role must be 'control' or 'treatment' (got: ${JSON.stringify(v.role)})`);
57
64
  }
58
- if (typeof v.artifact !== 'string' || !v.artifact) {
59
- throw new Error(`${configPath}: variants[${i}].artifact is required and must be a string`);
65
+ // artifact(本地字符串身份)与 git(远端结构化)二选一、不可兼有。
66
+ const hasArtifact = v.artifact !== undefined;
67
+ const hasGit = v.git !== undefined;
68
+ if (hasArtifact === hasGit) {
69
+ throw new Error(`${configPath}: variants[${i}] must have exactly one of 'artifact' or 'git'`);
70
+ }
71
+ if (hasArtifact && (typeof v.artifact !== 'string' || !v.artifact)) {
72
+ throw new Error(`${configPath}: variants[${i}].artifact must be a non-empty string`);
73
+ }
74
+ let git;
75
+ if (hasGit) {
76
+ if (typeof v.git !== 'object' || v.git === null || Array.isArray(v.git)) {
77
+ throw new Error(`${configPath}: variants[${i}].git must be an object { url, ref?, spec }`);
78
+ }
79
+ const g = v.git;
80
+ if (typeof g.url !== 'string' || !g.url) {
81
+ throw new Error(`${configPath}: variants[${i}].git.url is required and must be a string`);
82
+ }
83
+ if (typeof g.spec !== 'string' || !g.spec) {
84
+ throw new Error(`${configPath}: variants[${i}].git.spec is required and must be a string (in-repo skill path)`);
85
+ }
86
+ if (g.ref !== undefined && (typeof g.ref !== 'string' || !g.ref)) {
87
+ throw new Error(`${configPath}: variants[${i}].git.ref must be a non-empty string when present`);
88
+ }
89
+ git = { url: g.url, spec: g.spec, ...(g.ref !== undefined && { ref: g.ref }) };
60
90
  }
61
91
  if (v.cwd !== undefined && typeof v.cwd !== 'string') {
62
92
  throw new Error(`${configPath}: variants[${i}].cwd must be a string`);
@@ -87,7 +117,8 @@ function validateEvalConfig(parsed, configPath) {
87
117
  variants.push({
88
118
  name: v.name,
89
119
  role: v.role,
90
- artifact: v.artifact,
120
+ ...(hasArtifact && { artifact: v.artifact }),
121
+ ...(git !== undefined && { git }),
91
122
  cwd: v.cwd,
92
123
  ...(allowedSkills !== undefined && { allowedSkills }),
93
124
  });
@@ -244,9 +275,11 @@ function resolveConfigPaths(config, configDir) {
244
275
  goldDir: config.goldDir ? resolveRel(config.goldDir) : undefined,
245
276
  variants: config.variants.map((v) => ({
246
277
  ...v,
247
- artifact: isNonPathExpr(v.artifact) ? v.artifact : (looksLikePath(v.artifact) ? resolveRel(v.artifact) : v.artifact),
278
+ // git 变体无 artifact(git.url 是 URL、git.spec 是仓库相对路径,都不按本地路径解析,原样经 ...v 携带)。
279
+ ...(v.artifact !== undefined && {
280
+ artifact: isNonPathExpr(v.artifact) ? v.artifact : (looksLikePath(v.artifact) ? resolveRel(v.artifact) : v.artifact),
281
+ }),
248
282
  cwd: v.cwd ? resolveRel(v.cwd) : undefined,
249
283
  })),
250
284
  };
251
285
  }
252
- //# sourceMappingURL=eval-config.js.map
@@ -33,4 +33,3 @@ export interface LoadSamplesResult {
33
33
  */
34
34
  export declare function loadSamples(samplesPath: string): LoadSamplesResult;
35
35
  export declare function validateSamples(samples: Sample[]): void;
36
- //# sourceMappingURL=load-samples.d.ts.map
@@ -245,4 +245,3 @@ function loadSampleFile(samplesPath) {
245
245
  validateSamples(samples);
246
246
  return { samples, requires };
247
247
  }
248
- //# sourceMappingURL=load-samples.js.map
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 内容寻址隔离副本 —— eval 把任意源(本地目录-skill / 本地单文件-skill / 本地 git ref / 远端 git)
3
+ * 在测量前落地成的那一份。executor 的 cwd 锚到 copyRoot,被测 agent 在隔离副本里跑、不碰用户真实
4
+ * 目录,references/ 资产成为真实运行时输入。路径按 contentHash 命名 → 同内容同路径 → task.cwd
5
+ * 稳定 → cache key / runtime fingerprint 稳定。
6
+ */
7
+ export interface IsolatedCopy {
8
+ /** 副本根:目录-skill 为目录 `<treesDir>/<hash>`、单文件-skill 为 `<treesDir>/<hash>/<name>.md`。 */
9
+ copyRoot: string;
10
+ /** = hashArtifactSource(copyRoot, isDirectorySkill);与 install 受管记录的 contentHash 同空间。 */
11
+ contentHash: string;
12
+ isDirectorySkill: boolean;
13
+ }
14
+ /** 隔离副本根目录(与 managed / isolated-cwd / reports 同 home-dir 模式)。
15
+ * `OMK_TREES_DIR` 可重定位(测试隔离 / 用户迁移)。 */
16
+ export declare function treesDir(): string;
17
+ /**
18
+ * 内容寻址副本的 LRU 回收:`<treesDir>/<hash>` 数超过上限时,按 mtime 从旧到新淘汰,直到回到上限内。
19
+ * **绝不删**被活进程占用的副本(`.locks/<hash>.<pid>` 且 pid 在世)—— 这才是「正在跑的 eval 的 cwd 不被删」
20
+ * 的真实保证(不靠 mtime 当 liveness)。grace 窗口是第二道兜底。软上限:被占用/grace 内的大批新副本会暂时
21
+ * 超限,待其释放/老化后回收。`.tmp-` 暂存与 `.locks` 不计、不删。
22
+ * materializeIsolatedCopy 命中走 utimes 触碰(LRU touch)+ 落锁;未命中落盘后落锁并调本函数;也可独立调用。
23
+ */
24
+ export declare function pruneTreesDir(opts?: {
25
+ maxEntries?: number;
26
+ graceMs?: number;
27
+ }): void;
28
+ /**
29
+ * 把一棵已在盘的本地源树(目录或单 .md)落地成内容寻址隔离副本。
30
+ * - 先从**源**算整树 / 单文件指纹(`hashArtifactSource` 与副本同 filter → 同 hash),不必先 copy
31
+ * - `<treesDir>/<hash>` 已存在 → 内容寻址命中,直接复用、**零 copy**(同 hash 内容必然相同)
32
+ * - 未命中 → 物化到同卷临时目录 `<treesDir>/.tmp-xxx`(目录-skill 用 install 同一 distributable
33
+ * filter;单文件-skill copyFile 到 `<tmp>/<name>.md`,使 `<hash>` 恒为目录、消歧),再原子
34
+ * `rename` 到 `<hash>`;rename 撞 EEXIST/ENOTEMPTY(并发已落同 hash)即删临时复用。
35
+ * 物化只发生一次/variant(resolveArtifacts 解析期),不随 sample 数放大。
36
+ */
37
+ export declare function materializeIsolatedCopy(localRoot: string, isDirectorySkill: boolean, name: string): IsolatedCopy;