@interf/compiler 0.1.12 → 0.2.1

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 (282) hide show
  1. package/README.md +197 -192
  2. package/dist/commands/benchmark.d.ts.map +1 -1
  3. package/dist/commands/benchmark.js +65 -84
  4. package/dist/commands/benchmark.js.map +1 -1
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +19 -3
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -0
  9. package/dist/commands/create.d.ts.map +1 -1
  10. package/dist/commands/create.js +39 -14
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/default.d.ts.map +1 -1
  13. package/dist/commands/default.js +2 -0
  14. package/dist/commands/default.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +8 -63
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/index.d.ts +11 -29
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/agent-args.d.ts +4 -0
  23. package/dist/lib/agent-args.d.ts.map +1 -0
  24. package/dist/lib/agent-args.js +42 -0
  25. package/dist/lib/agent-args.js.map +1 -0
  26. package/dist/lib/agent-constants.d.ts +6 -0
  27. package/dist/lib/agent-constants.d.ts.map +1 -0
  28. package/dist/lib/agent-constants.js +29 -0
  29. package/dist/lib/agent-constants.js.map +1 -0
  30. package/dist/lib/agent-detection.d.ts +8 -0
  31. package/dist/lib/agent-detection.d.ts.map +1 -0
  32. package/dist/lib/agent-detection.js +66 -0
  33. package/dist/lib/agent-detection.js.map +1 -0
  34. package/dist/lib/agent-execution.d.ts +3 -0
  35. package/dist/lib/agent-execution.d.ts.map +1 -0
  36. package/dist/lib/agent-execution.js +207 -0
  37. package/dist/lib/agent-execution.js.map +1 -0
  38. package/dist/lib/agent-logs.d.ts +3 -0
  39. package/dist/lib/agent-logs.d.ts.map +1 -0
  40. package/dist/lib/agent-logs.js +18 -0
  41. package/dist/lib/agent-logs.js.map +1 -0
  42. package/dist/lib/agent-preflight.d.ts +8 -0
  43. package/dist/lib/agent-preflight.d.ts.map +1 -0
  44. package/dist/lib/agent-preflight.js +77 -0
  45. package/dist/lib/agent-preflight.js.map +1 -0
  46. package/dist/lib/agent-render.d.ts +9 -0
  47. package/dist/lib/agent-render.d.ts.map +1 -0
  48. package/dist/lib/agent-render.js +219 -0
  49. package/dist/lib/agent-render.js.map +1 -0
  50. package/dist/lib/agent-status.d.ts +4 -0
  51. package/dist/lib/agent-status.d.ts.map +1 -0
  52. package/dist/lib/agent-status.js +59 -0
  53. package/dist/lib/agent-status.js.map +1 -0
  54. package/dist/lib/agent-types.d.ts +31 -0
  55. package/dist/lib/agent-types.d.ts.map +1 -0
  56. package/dist/lib/agent-types.js +2 -0
  57. package/dist/lib/agent-types.js.map +1 -0
  58. package/dist/lib/agents.d.ts +7 -49
  59. package/dist/lib/agents.d.ts.map +1 -1
  60. package/dist/lib/agents.js +8 -554
  61. package/dist/lib/agents.js.map +1 -1
  62. package/dist/lib/benchmark-execution.d.ts +9 -0
  63. package/dist/lib/benchmark-execution.d.ts.map +1 -0
  64. package/dist/lib/benchmark-execution.js +488 -0
  65. package/dist/lib/benchmark-execution.js.map +1 -0
  66. package/dist/lib/benchmark-paths.d.ts +11 -0
  67. package/dist/lib/benchmark-paths.d.ts.map +1 -0
  68. package/dist/lib/benchmark-paths.js +38 -0
  69. package/dist/lib/benchmark-paths.js.map +1 -0
  70. package/dist/lib/benchmark-specs.d.ts +8 -0
  71. package/dist/lib/benchmark-specs.d.ts.map +1 -0
  72. package/dist/lib/benchmark-specs.js +115 -0
  73. package/dist/lib/benchmark-specs.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +5 -0
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -0
  76. package/dist/lib/benchmark-targets.js +72 -0
  77. package/dist/lib/benchmark-targets.js.map +1 -0
  78. package/dist/lib/benchmark-types.d.ts +19 -0
  79. package/dist/lib/benchmark-types.d.ts.map +1 -0
  80. package/dist/lib/benchmark-types.js +2 -0
  81. package/dist/lib/benchmark-types.js.map +1 -0
  82. package/dist/lib/benchmark.d.ts +4 -29
  83. package/dist/lib/benchmark.d.ts.map +1 -1
  84. package/dist/lib/benchmark.js +3 -324
  85. package/dist/lib/benchmark.js.map +1 -1
  86. package/dist/lib/bundled-templates.d.ts +5 -0
  87. package/dist/lib/bundled-templates.d.ts.map +1 -0
  88. package/dist/lib/bundled-templates.js +23 -0
  89. package/dist/lib/bundled-templates.js.map +1 -0
  90. package/dist/lib/config.d.ts +1 -0
  91. package/dist/lib/config.d.ts.map +1 -1
  92. package/dist/lib/config.js +2 -0
  93. package/dist/lib/config.js.map +1 -1
  94. package/dist/lib/eval-packs.d.ts +204 -0
  95. package/dist/lib/eval-packs.d.ts.map +1 -0
  96. package/dist/lib/eval-packs.js +177 -0
  97. package/dist/lib/eval-packs.js.map +1 -0
  98. package/dist/lib/execution-profile.d.ts +18 -0
  99. package/dist/lib/execution-profile.d.ts.map +1 -0
  100. package/dist/lib/execution-profile.js +85 -0
  101. package/dist/lib/execution-profile.js.map +1 -0
  102. package/dist/lib/interf-bootstrap.d.ts +4 -0
  103. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  104. package/dist/lib/interf-bootstrap.js +71 -68
  105. package/dist/lib/interf-bootstrap.js.map +1 -1
  106. package/dist/lib/interf-compile-plan.d.ts +12 -0
  107. package/dist/lib/interf-compile-plan.d.ts.map +1 -0
  108. package/dist/lib/interf-compile-plan.js +143 -0
  109. package/dist/lib/interf-compile-plan.js.map +1 -0
  110. package/dist/lib/interf-detect.d.ts.map +1 -1
  111. package/dist/lib/interf-detect.js +11 -10
  112. package/dist/lib/interf-detect.js.map +1 -1
  113. package/dist/lib/interf-scaffold.d.ts +1 -10
  114. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  115. package/dist/lib/interf-scaffold.js +25 -362
  116. package/dist/lib/interf-scaffold.js.map +1 -1
  117. package/dist/lib/interf-workflow-package.d.ts +4 -0
  118. package/dist/lib/interf-workflow-package.d.ts.map +1 -0
  119. package/dist/lib/interf-workflow-package.js +131 -0
  120. package/dist/lib/interf-workflow-package.js.map +1 -0
  121. package/dist/lib/interf.d.ts +2 -1
  122. package/dist/lib/interf.d.ts.map +1 -1
  123. package/dist/lib/interf.js +2 -1
  124. package/dist/lib/interf.js.map +1 -1
  125. package/dist/lib/local-workflows.d.ts.map +1 -1
  126. package/dist/lib/local-workflows.js +8 -12
  127. package/dist/lib/local-workflows.js.map +1 -1
  128. package/dist/lib/logger.d.ts +4 -0
  129. package/dist/lib/logger.d.ts.map +1 -0
  130. package/dist/lib/logger.js +11 -0
  131. package/dist/lib/logger.js.map +1 -0
  132. package/dist/lib/obsidian.d.ts.map +1 -1
  133. package/dist/lib/obsidian.js +7 -3
  134. package/dist/lib/obsidian.js.map +1 -1
  135. package/dist/lib/parse.d.ts +2 -2
  136. package/dist/lib/parse.d.ts.map +1 -1
  137. package/dist/lib/parse.js +11 -7
  138. package/dist/lib/parse.js.map +1 -1
  139. package/dist/lib/registry.js +3 -3
  140. package/dist/lib/registry.js.map +1 -1
  141. package/dist/lib/runtime-acceptance.d.ts +4 -0
  142. package/dist/lib/runtime-acceptance.d.ts.map +1 -0
  143. package/dist/lib/runtime-acceptance.js +123 -0
  144. package/dist/lib/runtime-acceptance.js.map +1 -0
  145. package/dist/lib/runtime-contracts.d.ts +4 -0
  146. package/dist/lib/runtime-contracts.d.ts.map +1 -0
  147. package/dist/lib/runtime-contracts.js +63 -0
  148. package/dist/lib/runtime-contracts.js.map +1 -0
  149. package/dist/lib/runtime-paths.d.ts +8 -0
  150. package/dist/lib/runtime-paths.d.ts.map +1 -0
  151. package/dist/lib/runtime-paths.js +28 -0
  152. package/dist/lib/runtime-paths.js.map +1 -0
  153. package/dist/lib/runtime-prompt.d.ts +3 -0
  154. package/dist/lib/runtime-prompt.d.ts.map +1 -0
  155. package/dist/lib/runtime-prompt.js +59 -0
  156. package/dist/lib/runtime-prompt.js.map +1 -0
  157. package/dist/lib/runtime-reconcile.d.ts +6 -0
  158. package/dist/lib/runtime-reconcile.d.ts.map +1 -0
  159. package/dist/lib/runtime-reconcile.js +339 -0
  160. package/dist/lib/runtime-reconcile.js.map +1 -0
  161. package/dist/lib/runtime-runs.d.ts +12 -0
  162. package/dist/lib/runtime-runs.d.ts.map +1 -0
  163. package/dist/lib/runtime-runs.js +337 -0
  164. package/dist/lib/runtime-runs.js.map +1 -0
  165. package/dist/lib/runtime-types.d.ts +42 -0
  166. package/dist/lib/runtime-types.d.ts.map +1 -0
  167. package/dist/lib/runtime-types.js +2 -0
  168. package/dist/lib/runtime-types.js.map +1 -0
  169. package/dist/lib/runtime.d.ts +6 -58
  170. package/dist/lib/runtime.d.ts.map +1 -1
  171. package/dist/lib/runtime.js +5 -614
  172. package/dist/lib/runtime.js.map +1 -1
  173. package/dist/lib/schema.d.ts +156 -13
  174. package/dist/lib/schema.d.ts.map +1 -1
  175. package/dist/lib/schema.js +113 -4
  176. package/dist/lib/schema.js.map +1 -1
  177. package/dist/lib/source-config.d.ts +13 -0
  178. package/dist/lib/source-config.d.ts.map +1 -0
  179. package/dist/lib/source-config.js +75 -0
  180. package/dist/lib/source-config.js.map +1 -0
  181. package/dist/lib/state-artifacts.d.ts +15 -0
  182. package/dist/lib/state-artifacts.d.ts.map +1 -0
  183. package/dist/lib/state-artifacts.js +24 -0
  184. package/dist/lib/state-artifacts.js.map +1 -0
  185. package/dist/lib/state-health.d.ts +9 -0
  186. package/dist/lib/state-health.d.ts.map +1 -0
  187. package/dist/lib/state-health.js +330 -0
  188. package/dist/lib/state-health.js.map +1 -0
  189. package/dist/lib/state-io.d.ts +15 -0
  190. package/dist/lib/state-io.d.ts.map +1 -0
  191. package/dist/lib/state-io.js +219 -0
  192. package/dist/lib/state-io.js.map +1 -0
  193. package/dist/lib/state-paths.d.ts +5 -0
  194. package/dist/lib/state-paths.d.ts.map +1 -0
  195. package/dist/lib/state-paths.js +19 -0
  196. package/dist/lib/state-paths.js.map +1 -0
  197. package/dist/lib/state-view.d.ts +7 -0
  198. package/dist/lib/state-view.d.ts.map +1 -0
  199. package/dist/lib/state-view.js +147 -0
  200. package/dist/lib/state-view.js.map +1 -0
  201. package/dist/lib/state.d.ts +6 -46
  202. package/dist/lib/state.d.ts.map +1 -1
  203. package/dist/lib/state.js +5 -632
  204. package/dist/lib/state.js.map +1 -1
  205. package/dist/lib/summarize-plan.d.ts +1 -0
  206. package/dist/lib/summarize-plan.d.ts.map +1 -1
  207. package/dist/lib/summarize-plan.js +10 -0
  208. package/dist/lib/summarize-plan.js.map +1 -1
  209. package/dist/lib/user-config.js +2 -2
  210. package/dist/lib/user-config.js.map +1 -1
  211. package/dist/lib/validate-helpers.d.ts +21 -0
  212. package/dist/lib/validate-helpers.d.ts.map +1 -0
  213. package/dist/lib/validate-helpers.js +72 -0
  214. package/dist/lib/validate-helpers.js.map +1 -0
  215. package/dist/lib/validate-interface.d.ts +2 -0
  216. package/dist/lib/validate-interface.d.ts.map +1 -1
  217. package/dist/lib/validate-interface.js +103 -53
  218. package/dist/lib/validate-interface.js.map +1 -1
  219. package/dist/lib/validate-kb.d.ts +8 -0
  220. package/dist/lib/validate-kb.d.ts.map +1 -1
  221. package/dist/lib/validate-kb.js +53 -24
  222. package/dist/lib/validate-kb.js.map +1 -1
  223. package/dist/lib/validate.d.ts +1 -1
  224. package/dist/lib/validate.d.ts.map +1 -1
  225. package/dist/lib/validate.js +5 -2
  226. package/dist/lib/validate.js.map +1 -1
  227. package/dist/lib/workflow-definitions.d.ts +1 -1
  228. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  229. package/dist/lib/workflow-definitions.js +90 -166
  230. package/dist/lib/workflow-definitions.js.map +1 -1
  231. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  232. package/dist/lib/workflow-helpers.js +6 -3
  233. package/dist/lib/workflow-helpers.js.map +1 -1
  234. package/dist/lib/workflow-stage-runner.d.ts +41 -0
  235. package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
  236. package/dist/lib/workflow-stage-runner.js +106 -0
  237. package/dist/lib/workflow-stage-runner.js.map +1 -0
  238. package/dist/lib/workflow-starter-docs.d.ts +9 -0
  239. package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
  240. package/dist/lib/workflow-starter-docs.js +18 -0
  241. package/dist/lib/workflow-starter-docs.js.map +1 -0
  242. package/dist/lib/workflows-interface-contracts.d.ts +24 -0
  243. package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
  244. package/dist/lib/workflows-interface-contracts.js +304 -0
  245. package/dist/lib/workflows-interface-contracts.js.map +1 -0
  246. package/dist/lib/workflows-interface.d.ts +3 -10
  247. package/dist/lib/workflows-interface.d.ts.map +1 -1
  248. package/dist/lib/workflows-interface.js +117 -365
  249. package/dist/lib/workflows-interface.js.map +1 -1
  250. package/dist/lib/workflows-kb.d.ts.map +1 -1
  251. package/dist/lib/workflows-kb.js +79 -55
  252. package/dist/lib/workflows-kb.js.map +1 -1
  253. package/dist/lib/workflows.d.ts.map +1 -1
  254. package/dist/lib/workflows.js +1 -1
  255. package/dist/lib/workflows.js.map +1 -1
  256. package/package.json +15 -4
  257. package/skills/interface/analyze/SKILL.md +79 -28
  258. package/skills/interface/compile/SKILL.md +27 -28
  259. package/skills/interface/create/SKILL.md +53 -230
  260. package/skills/interface/create/references/compile-plan-format.md +31 -31
  261. package/skills/interface/create/references/workflows.md +17 -32
  262. package/skills/interface/query/SKILL.md +15 -1
  263. package/skills/interface/retrieve/SKILL.md +32 -65
  264. package/skills/knowledge-base/compile/SKILL.md +59 -83
  265. package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
  266. package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
  267. package/skills/knowledge-base/query/SKILL.md +13 -1
  268. package/skills/knowledge-base/summarize/SKILL.md +54 -24
  269. package/templates/interface/README.md +13 -12
  270. package/templates/interface/interfaces.md +14 -11
  271. package/templates/knowledge-base/README.md +0 -1
  272. package/templates/knowledge-base/registry.md +15 -15
  273. package/templates/workflow-package/README.md +16 -0
  274. package/templates/workflow-package/create/SKILL.md +8 -0
  275. package/templates/workflow-package/interface-query/SKILL.md +29 -0
  276. package/templates/workflow-package/interface-stage/SKILL.md +13 -0
  277. package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
  278. package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
  279. package/templates/workflow-starters/interface/interf/README.md +13 -0
  280. package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
  281. package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
  282. package/templates/workflow-starters/knowledge-base/karpathy/README.md +13 -0
@@ -0,0 +1,115 @@
1
+ import { existsSync, mkdirSync, readdirSync, writeFileSync, } from "node:fs";
2
+ import { basename, extname, join } from "node:path";
3
+ import { readJsonFileWithSchema } from "./parse.js";
4
+ import { BenchmarkSpecSchema } from "./schema.js";
5
+ import { BENCHMARK_EXTENSIONS, assertBenchmarkId, assertWritableBenchmarkPath, benchmarkSpecFilePath, benchmarkTypePath, normalizeBenchmarkId, } from "./benchmark-paths.js";
6
+ function readBenchmarkSpecFile(filePath) {
7
+ const extension = extname(filePath).toLowerCase();
8
+ if (!BENCHMARK_EXTENSIONS.has(extension))
9
+ return null;
10
+ const parsed = readJsonFileWithSchema(filePath, "benchmark spec", BenchmarkSpecSchema);
11
+ if (!parsed)
12
+ return null;
13
+ return {
14
+ ...parsed,
15
+ id: basename(filePath, extension),
16
+ filePath,
17
+ };
18
+ }
19
+ function serializeBenchmarkSpec(spec) {
20
+ return {
21
+ type: spec.type,
22
+ name: spec.name,
23
+ ...(spec.description ? { description: spec.description } : {}),
24
+ checks: spec.cases.map((benchmarkCase) => ({
25
+ id: benchmarkCase.id,
26
+ question: benchmarkCase.question,
27
+ ...(benchmarkCase.file ? { file: benchmarkCase.file } : {}),
28
+ ...(benchmarkCase.answer ? { answer: benchmarkCase.answer } : {}),
29
+ ...(benchmarkCase.strictness ? { strictness: benchmarkCase.strictness } : {}),
30
+ ...(benchmarkCase.expect ? { expect: benchmarkCase.expect } : {}),
31
+ })),
32
+ };
33
+ }
34
+ export function listBenchmarkSpecs(sourcePath, type) {
35
+ const dirPath = benchmarkTypePath(sourcePath, type);
36
+ if (!existsSync(dirPath))
37
+ return [];
38
+ return readdirSync(dirPath)
39
+ .map((entry) => join(dirPath, entry))
40
+ .filter((filePath) => BENCHMARK_EXTENSIONS.has(extname(filePath).toLowerCase()))
41
+ .map((filePath) => readBenchmarkSpecFile(filePath))
42
+ .filter((value) => value !== null)
43
+ .sort((left, right) => left.name.localeCompare(right.name) || left.id.localeCompare(right.id));
44
+ }
45
+ export function loadBenchmarkSpec(sourcePath, type, id) {
46
+ const normalizedId = normalizeBenchmarkId(id);
47
+ const filePath = join(benchmarkTypePath(sourcePath, type), `${normalizedId}.json`);
48
+ if (!existsSync(filePath))
49
+ return null;
50
+ return readBenchmarkSpecFile(filePath);
51
+ }
52
+ export function loadBenchmarkSpecFromFile(filePath) {
53
+ return readBenchmarkSpecFile(filePath);
54
+ }
55
+ export function writeBenchmarkSpec(sourcePath, spec) {
56
+ const id = normalizeBenchmarkId(spec.id ?? spec.name);
57
+ assertBenchmarkId(id);
58
+ const dirPath = benchmarkTypePath(sourcePath, spec.type);
59
+ mkdirSync(dirPath, { recursive: true });
60
+ const existingPath = join(dirPath, `${id}.json`);
61
+ if (existsSync(existingPath)) {
62
+ throw new Error(`Benchmark already exists: ${existingPath}`);
63
+ }
64
+ const filePath = benchmarkSpecFilePath(sourcePath, spec.type, id);
65
+ assertWritableBenchmarkPath(filePath);
66
+ const normalizedSpec = {
67
+ type: spec.type,
68
+ name: spec.name.trim(),
69
+ ...(spec.description && spec.description.trim().length > 0
70
+ ? { description: spec.description.trim() }
71
+ : {}),
72
+ cases: spec.cases.map((benchmarkCase) => ({
73
+ id: normalizeBenchmarkId(benchmarkCase.id),
74
+ question: benchmarkCase.question.trim(),
75
+ ...(benchmarkCase.file && benchmarkCase.file.trim().length > 0
76
+ ? { file: benchmarkCase.file.trim() }
77
+ : {}),
78
+ ...(benchmarkCase.answer && benchmarkCase.answer.trim().length > 0
79
+ ? { answer: benchmarkCase.answer.trim() }
80
+ : {}),
81
+ ...(benchmarkCase.strictness && benchmarkCase.strictness.trim().length > 0
82
+ ? { strictness: benchmarkCase.strictness.trim() }
83
+ : {}),
84
+ ...(benchmarkCase.expect
85
+ ? {
86
+ expect: {
87
+ ...(benchmarkCase.expect.must_include && benchmarkCase.expect.must_include.length > 0
88
+ ? { must_include: benchmarkCase.expect.must_include.map((value) => value.trim()).filter(Boolean) }
89
+ : {}),
90
+ ...(benchmarkCase.expect.must_include_one_of && benchmarkCase.expect.must_include_one_of.length > 0
91
+ ? {
92
+ must_include_one_of: benchmarkCase.expect.must_include_one_of
93
+ .map((group) => group.map((value) => value.trim()).filter(Boolean))
94
+ .filter((group) => group.length > 0),
95
+ }
96
+ : {}),
97
+ ...(benchmarkCase.expect.must_not_include && benchmarkCase.expect.must_not_include.length > 0
98
+ ? { must_not_include: benchmarkCase.expect.must_not_include.map((value) => value.trim()).filter(Boolean) }
99
+ : {}),
100
+ ...(typeof benchmarkCase.expect.min_words === "number"
101
+ ? { min_words: benchmarkCase.expect.min_words }
102
+ : {}),
103
+ ...(typeof benchmarkCase.expect.max_words === "number"
104
+ ? { max_words: benchmarkCase.expect.max_words }
105
+ : {}),
106
+ },
107
+ }
108
+ : {}),
109
+ })),
110
+ };
111
+ const parsed = BenchmarkSpecSchema.parse(normalizedSpec);
112
+ writeFileSync(filePath, `${JSON.stringify(serializeBenchmarkSpec(parsed), null, 2)}\n`);
113
+ return filePath;
114
+ }
115
+ //# sourceMappingURL=benchmark-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-specs.js","sourceRoot":"","sources":["../../src/lib/benchmark-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { BenchmarkTargetCandidate, BenchmarkTargetType } from "./benchmark-types.js";
2
+ export declare function listKnowledgeBaseBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
3
+ export declare function listInterfaceBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
4
+ export declare function listBenchmarkTargets(sourcePath: string, type: BenchmarkTargetType): BenchmarkTargetCandidate[];
5
+ //# sourceMappingURL=benchmark-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-targets.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark-targets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AA8C9B,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAgBhG;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAI5F;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,EAAE,CAI5B"}
@@ -0,0 +1,72 @@
1
+ import { existsSync, readdirSync, statSync } from "node:fs";
2
+ import { basename, join } from "node:path";
3
+ import { listKnowledgeBasesForSourceFolder, readInterfConfig } from "./interf.js";
4
+ import { computeInterfaceHealth, computeKnowledgeBaseHealth } from "./state.js";
5
+ function summarizeTargetSortKey(target) {
6
+ return `${target.knowledgeBaseName ?? ""}\u0000${target.name}\u0000${target.workflow}`;
7
+ }
8
+ function listInterfacesForKnowledgeBase(knowledgeBasePath) {
9
+ const interfacesPath = join(knowledgeBasePath, "interfaces");
10
+ if (!existsSync(interfacesPath))
11
+ return [];
12
+ return readdirSync(interfacesPath)
13
+ .map((entry) => join(interfacesPath, entry))
14
+ .filter((entryPath) => {
15
+ try {
16
+ return statSync(entryPath).isDirectory();
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ })
22
+ .map((entryPath) => {
23
+ const config = readInterfConfig(entryPath);
24
+ if (!config || config.type !== "interface")
25
+ return null;
26
+ const health = computeInterfaceHealth(entryPath);
27
+ const knowledgeBaseConfig = readInterfConfig(knowledgeBasePath);
28
+ const knowledgeBaseName = knowledgeBaseConfig?.type === "knowledge-base"
29
+ ? knowledgeBaseConfig.name
30
+ : basename(knowledgeBasePath);
31
+ return {
32
+ type: "interface",
33
+ name: config.name,
34
+ path: entryPath,
35
+ workflow: config.workflow ?? "interf",
36
+ knowledgeBaseName,
37
+ status: health.status,
38
+ stage: health.stage,
39
+ summary: health.summary,
40
+ eligible: health.status === "compiled",
41
+ };
42
+ })
43
+ .filter((value) => value !== null);
44
+ }
45
+ export function listKnowledgeBaseBenchmarkTargets(sourcePath) {
46
+ return listKnowledgeBasesForSourceFolder(sourcePath)
47
+ .map(({ path, config }) => {
48
+ const health = computeKnowledgeBaseHealth(path);
49
+ return {
50
+ type: "knowledge-base",
51
+ name: config.name,
52
+ path,
53
+ workflow: config.workflow ?? "interf",
54
+ status: health.status,
55
+ stage: health.stage,
56
+ summary: health.summary,
57
+ eligible: health.status === "compiled",
58
+ };
59
+ })
60
+ .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
61
+ }
62
+ export function listInterfaceBenchmarkTargets(sourcePath) {
63
+ return listKnowledgeBasesForSourceFolder(sourcePath)
64
+ .flatMap(({ path }) => listInterfacesForKnowledgeBase(path))
65
+ .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
66
+ }
67
+ export function listBenchmarkTargets(sourcePath, type) {
68
+ return type === "knowledge-base"
69
+ ? listKnowledgeBaseBenchmarkTargets(sourcePath)
70
+ : listInterfaceBenchmarkTargets(sourcePath);
71
+ }
72
+ //# sourceMappingURL=benchmark-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-targets.js","sourceRoot":"","sources":["../../src/lib/benchmark-targets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { BenchmarkSpec, RuntimeTargetType } from "./schema.js";
2
+ export type { BenchmarkCaseExpect, BenchmarkCase, BenchmarkSpec, BenchmarkCheckResult, BenchmarkCaseResult, BenchmarkTargetResult, BenchmarkRunResult, } from "./schema.js";
3
+ export type BenchmarkTargetType = RuntimeTargetType;
4
+ export interface LoadedBenchmarkSpec extends BenchmarkSpec {
5
+ id: string;
6
+ filePath: string;
7
+ }
8
+ export interface BenchmarkTargetCandidate {
9
+ type: BenchmarkTargetType;
10
+ name: string;
11
+ path: string;
12
+ workflow: string;
13
+ knowledgeBaseName?: string;
14
+ status: "idle" | "running" | "compiled" | "stale" | "failed";
15
+ stage: string;
16
+ summary: string;
17
+ eligible: boolean;
18
+ }
19
+ //# sourceMappingURL=benchmark-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-types.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,aAAa,EAEb,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=benchmark-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-types.js","sourceRoot":"","sources":["../../src/lib/benchmark-types.ts"],"names":[],"mappings":""}
@@ -1,30 +1,5 @@
1
- import { type BenchmarkRunResult, type BenchmarkSpec, type RuntimeTargetType } from "./schema.js";
2
- export type { BenchmarkCaseExpect, BenchmarkCase, BenchmarkSpec, BenchmarkCheckResult, BenchmarkCaseResult, BenchmarkTargetResult, BenchmarkRunResult, } from "./schema.js";
3
- export type BenchmarkTargetType = RuntimeTargetType;
4
- export interface LoadedBenchmarkSpec extends BenchmarkSpec {
5
- id: string;
6
- filePath: string;
7
- }
8
- export interface BenchmarkTargetCandidate {
9
- type: BenchmarkTargetType;
10
- name: string;
11
- path: string;
12
- workflow: string;
13
- knowledgeBaseName?: string;
14
- status: "idle" | "running" | "compiled" | "stale" | "failed";
15
- stage: string;
16
- summary: string;
17
- eligible: boolean;
18
- }
19
- export declare function listBenchmarkSpecs(sourcePath: string, type: BenchmarkTargetType): LoadedBenchmarkSpec[];
20
- export declare function loadBenchmarkSpec(sourcePath: string, type: BenchmarkTargetType, id: string): LoadedBenchmarkSpec | null;
21
- export declare function loadBenchmarkSpecFromFile(filePath: string): LoadedBenchmarkSpec | null;
22
- export declare function writeBenchmarkSpec(sourcePath: string, spec: BenchmarkSpec & {
23
- id?: string;
24
- }): string;
25
- export declare function listKnowledgeBaseBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
26
- export declare function listInterfaceBenchmarkTargets(sourcePath: string): BenchmarkTargetCandidate[];
27
- export declare function listBenchmarkTargets(sourcePath: string, type: BenchmarkTargetType): BenchmarkTargetCandidate[];
28
- export declare function runBenchmark(sourcePath: string, spec: LoadedBenchmarkSpec, targets: BenchmarkTargetCandidate[]): BenchmarkRunResult;
29
- export declare function saveBenchmarkRun(sourcePath: string, result: BenchmarkRunResult): string;
1
+ export type { BenchmarkCaseExpect, BenchmarkCase, BenchmarkSpec, BenchmarkCheckResult, BenchmarkCaseResult, BenchmarkTargetResult, BenchmarkRunResult, BenchmarkTargetType, LoadedBenchmarkSpec, BenchmarkTargetCandidate, } from "./benchmark-types.js";
2
+ export { listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, } from "./benchmark-specs.js";
3
+ export { listKnowledgeBaseBenchmarkTargets, listInterfaceBenchmarkTargets, listBenchmarkTargets, } from "./benchmark-targets.js";
4
+ export { runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./benchmark-execution.js";
30
5
  //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"AAYA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA0HD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,mBAAmB,EAAE,CAUvB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,MAAM,GACT,mBAAmB,GAAG,IAAI,CAK5B;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAEtF;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,MAAM,CAgDR;AAED,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAgBhG;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAI5F;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,EAAE,CAI5B;AAwFD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,wBAAwB,EAAE,GAClC,kBAAkB,CA4CpB;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAYR"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}
@@ -1,325 +1,4 @@
1
- import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from "node:fs";
2
- import { basename, extname, join } from "node:path";
3
- import { listKnowledgeBasesForSourceFolder, readInterfConfig } from "./interf.js";
4
- import { safeReadJsonFile } from "./parse.js";
5
- import { computeInterfaceHealth, computeKnowledgeBaseHealth } from "./state.js";
6
- import { BenchmarkSpecSchema, } from "./schema.js";
7
- const BENCHMARK_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,79}$/;
8
- const BENCHMARK_EXTENSIONS = new Set([".json"]);
9
- function benchmarkRootPath(sourcePath) {
10
- return join(sourcePath, "interf", "benchmarks");
11
- }
12
- function benchmarkTypePath(sourcePath, type) {
13
- return join(benchmarkRootPath(sourcePath), type);
14
- }
15
- function benchmarkRunsPath(sourcePath, type) {
16
- return join(benchmarkRootPath(sourcePath), "runs", type);
17
- }
18
- function benchmarkRunGitignorePath(sourcePath, type) {
19
- return join(benchmarkRunsPath(sourcePath, type), ".gitignore");
20
- }
21
- function benchmarkSpecFilePath(sourcePath, type, id) {
22
- return join(benchmarkTypePath(sourcePath, type), `${id}.json`);
23
- }
24
- function normalizeId(input) {
25
- return input
26
- .toLowerCase()
27
- .trim()
28
- .replace(/[^a-z0-9]+/g, "-")
29
- .replace(/^-+|-+$/g, "")
30
- .slice(0, 80);
31
- }
32
- function assertBenchmarkId(id) {
33
- if (!BENCHMARK_ID_PATTERN.test(id)) {
34
- throw new Error(`Invalid benchmark id: ${id}`);
35
- }
36
- }
37
- function assertWritableBenchmarkPath(filePath) {
38
- if (existsSync(filePath)) {
39
- throw new Error(`Benchmark already exists: ${filePath}`);
40
- }
41
- }
42
- function readBenchmarkSpecFile(filePath) {
43
- const extension = extname(filePath).toLowerCase();
44
- if (!BENCHMARK_EXTENSIONS.has(extension))
45
- return null;
46
- const raw = safeReadJsonFile(filePath, "benchmark spec");
47
- if (!raw)
48
- return null;
49
- const parsed = BenchmarkSpecSchema.safeParse(raw);
50
- if (!parsed.success) {
51
- console.warn(`Warning: failed to validate benchmark spec at ${filePath}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
52
- return null;
53
- }
54
- return {
55
- ...parsed.data,
56
- id: basename(filePath, extension),
57
- filePath,
58
- };
59
- }
60
- function parseWords(content) {
61
- return content.trim().split(/\s+/).filter(Boolean).length;
62
- }
63
- function normalizeText(content) {
64
- return content.toLowerCase().replace(/\s+/g, " ").trim();
65
- }
66
- function summarizeTargetSortKey(target) {
67
- return `${target.knowledgeBaseName ?? ""}\u0000${target.name}\u0000${target.workflow}`;
68
- }
69
- function listInterfacesForKnowledgeBase(knowledgeBasePath) {
70
- const interfacesPath = join(knowledgeBasePath, "interfaces");
71
- if (!existsSync(interfacesPath))
72
- return [];
73
- return readdirSync(interfacesPath)
74
- .map((entry) => join(interfacesPath, entry))
75
- .filter((entryPath) => {
76
- try {
77
- return statSync(entryPath).isDirectory();
78
- }
79
- catch {
80
- return false;
81
- }
82
- })
83
- .map((entryPath) => {
84
- const config = readInterfConfig(entryPath);
85
- if (!config || config.type !== "interface")
86
- return null;
87
- const health = computeInterfaceHealth(entryPath);
88
- const knowledgeBaseConfig = readInterfConfig(knowledgeBasePath);
89
- const knowledgeBaseName = knowledgeBaseConfig?.type === "knowledge-base"
90
- ? knowledgeBaseConfig.name
91
- : basename(knowledgeBasePath);
92
- return {
93
- type: "interface",
94
- name: config.name,
95
- path: entryPath,
96
- workflow: config.workflow ?? "briefing",
97
- knowledgeBaseName,
98
- status: health.status,
99
- stage: health.stage,
100
- summary: health.summary,
101
- eligible: health.status === "compiled",
102
- };
103
- })
104
- .filter((value) => value !== null);
105
- }
106
- export function listBenchmarkSpecs(sourcePath, type) {
107
- const dirPath = benchmarkTypePath(sourcePath, type);
108
- if (!existsSync(dirPath))
109
- return [];
110
- return readdirSync(dirPath)
111
- .map((entry) => join(dirPath, entry))
112
- .filter((filePath) => BENCHMARK_EXTENSIONS.has(extname(filePath).toLowerCase()))
113
- .map((filePath) => readBenchmarkSpecFile(filePath))
114
- .filter((value) => value !== null)
115
- .sort((left, right) => left.name.localeCompare(right.name) || left.id.localeCompare(right.id));
116
- }
117
- export function loadBenchmarkSpec(sourcePath, type, id) {
118
- const normalizedId = normalizeId(id);
119
- const filePath = join(benchmarkTypePath(sourcePath, type), `${normalizedId}.json`);
120
- if (!existsSync(filePath))
121
- return null;
122
- return readBenchmarkSpecFile(filePath);
123
- }
124
- export function loadBenchmarkSpecFromFile(filePath) {
125
- return readBenchmarkSpecFile(filePath);
126
- }
127
- export function writeBenchmarkSpec(sourcePath, spec) {
128
- const id = normalizeId(spec.id ?? spec.name);
129
- assertBenchmarkId(id);
130
- const dirPath = benchmarkTypePath(sourcePath, spec.type);
131
- mkdirSync(dirPath, { recursive: true });
132
- const existingPath = join(dirPath, `${id}.json`);
133
- if (existsSync(existingPath)) {
134
- throw new Error(`Benchmark already exists: ${existingPath}`);
135
- }
136
- const filePath = benchmarkSpecFilePath(sourcePath, spec.type, id);
137
- assertWritableBenchmarkPath(filePath);
138
- const normalizedSpec = {
139
- type: spec.type,
140
- name: spec.name.trim(),
141
- ...(spec.description && spec.description.trim().length > 0
142
- ? { description: spec.description.trim() }
143
- : {}),
144
- cases: spec.cases.map((benchmarkCase) => ({
145
- id: normalizeId(benchmarkCase.id),
146
- question: benchmarkCase.question.trim(),
147
- file: benchmarkCase.file.trim(),
148
- ...(benchmarkCase.expect
149
- ? {
150
- expect: {
151
- ...(benchmarkCase.expect.must_include && benchmarkCase.expect.must_include.length > 0
152
- ? { must_include: benchmarkCase.expect.must_include.map((value) => value.trim()).filter(Boolean) }
153
- : {}),
154
- ...(benchmarkCase.expect.must_not_include && benchmarkCase.expect.must_not_include.length > 0
155
- ? { must_not_include: benchmarkCase.expect.must_not_include.map((value) => value.trim()).filter(Boolean) }
156
- : {}),
157
- ...(typeof benchmarkCase.expect.min_words === "number"
158
- ? { min_words: benchmarkCase.expect.min_words }
159
- : {}),
160
- ...(typeof benchmarkCase.expect.max_words === "number"
161
- ? { max_words: benchmarkCase.expect.max_words }
162
- : {}),
163
- },
164
- }
165
- : {}),
166
- })),
167
- };
168
- const parsed = BenchmarkSpecSchema.parse(normalizedSpec);
169
- writeFileSync(filePath, `${JSON.stringify(parsed, null, 2)}\n`);
170
- return filePath;
171
- }
172
- export function listKnowledgeBaseBenchmarkTargets(sourcePath) {
173
- return listKnowledgeBasesForSourceFolder(sourcePath)
174
- .map(({ path, config }) => {
175
- const health = computeKnowledgeBaseHealth(path);
176
- return {
177
- type: "knowledge-base",
178
- name: config.name,
179
- path,
180
- workflow: config.workflow ?? "interf",
181
- status: health.status,
182
- stage: health.stage,
183
- summary: health.summary,
184
- eligible: health.status === "compiled",
185
- };
186
- })
187
- .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
188
- }
189
- export function listInterfaceBenchmarkTargets(sourcePath) {
190
- return listKnowledgeBasesForSourceFolder(sourcePath)
191
- .flatMap(({ path }) => listInterfacesForKnowledgeBase(path))
192
- .sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
193
- }
194
- export function listBenchmarkTargets(sourcePath, type) {
195
- return type === "knowledge-base"
196
- ? listKnowledgeBaseBenchmarkTargets(sourcePath)
197
- : listInterfaceBenchmarkTargets(sourcePath);
198
- }
199
- function runBenchmarkCase(target, benchmarkCase) {
200
- const outputPath = join(target.path, benchmarkCase.file);
201
- const checks = [];
202
- if (!existsSync(outputPath)) {
203
- checks.push({
204
- label: "file exists",
205
- ok: false,
206
- detail: `Missing ${benchmarkCase.file}`,
207
- });
208
- return {
209
- caseId: benchmarkCase.id,
210
- question: benchmarkCase.question,
211
- file: benchmarkCase.file,
212
- ok: false,
213
- wordCount: 0,
214
- passedChecks: 0,
215
- totalChecks: checks.length,
216
- checks,
217
- };
218
- }
219
- checks.push({
220
- label: "file exists",
221
- ok: true,
222
- detail: `Found ${benchmarkCase.file}`,
223
- });
224
- const content = readFileSync(outputPath, "utf8");
225
- const normalized = normalizeText(content);
226
- const wordCount = parseWords(content);
227
- for (const phrase of benchmarkCase.expect?.must_include ?? []) {
228
- const ok = normalized.includes(normalizeText(phrase));
229
- checks.push({
230
- label: `must include "${phrase}"`,
231
- ok,
232
- detail: ok ? "present" : "missing",
233
- });
234
- }
235
- for (const phrase of benchmarkCase.expect?.must_not_include ?? []) {
236
- const ok = !normalized.includes(normalizeText(phrase));
237
- checks.push({
238
- label: `must not include "${phrase}"`,
239
- ok,
240
- detail: ok ? "absent" : "present",
241
- });
242
- }
243
- if (typeof benchmarkCase.expect?.min_words === "number") {
244
- const ok = wordCount >= benchmarkCase.expect.min_words;
245
- checks.push({
246
- label: `min words ${benchmarkCase.expect.min_words}`,
247
- ok,
248
- detail: `${wordCount} words`,
249
- });
250
- }
251
- if (typeof benchmarkCase.expect?.max_words === "number") {
252
- const ok = wordCount <= benchmarkCase.expect.max_words;
253
- checks.push({
254
- label: `max words ${benchmarkCase.expect.max_words}`,
255
- ok,
256
- detail: `${wordCount} words`,
257
- });
258
- }
259
- const passedChecks = checks.filter((check) => check.ok).length;
260
- return {
261
- caseId: benchmarkCase.id,
262
- question: benchmarkCase.question,
263
- file: benchmarkCase.file,
264
- ok: passedChecks === checks.length,
265
- wordCount,
266
- passedChecks,
267
- totalChecks: checks.length,
268
- checks,
269
- };
270
- }
271
- export function runBenchmark(sourcePath, spec, targets) {
272
- for (const target of targets) {
273
- if (target.type !== spec.type) {
274
- throw new Error(`Benchmark target type mismatch: expected ${spec.type}, got ${target.type}`);
275
- }
276
- }
277
- const results = targets.map((target) => {
278
- const caseResults = spec.cases.map((benchmarkCase) => runBenchmarkCase(target, benchmarkCase));
279
- const passedCases = caseResults.filter((result) => result.ok).length;
280
- const passedChecks = caseResults.reduce((total, result) => total + result.passedChecks, 0);
281
- const totalChecks = caseResults.reduce((total, result) => total + result.totalChecks, 0);
282
- return {
283
- target: {
284
- type: target.type,
285
- name: target.name,
286
- path: target.path,
287
- workflow: target.workflow,
288
- ...(target.knowledgeBaseName ? { knowledgeBaseName: target.knowledgeBaseName } : {}),
289
- },
290
- ok: passedCases === caseResults.length,
291
- passedCases,
292
- totalCases: caseResults.length,
293
- passedChecks,
294
- totalChecks,
295
- caseResults,
296
- };
297
- });
298
- return {
299
- kind: "interf-benchmark-run",
300
- version: 1,
301
- generated_at: new Date().toISOString(),
302
- benchmark: {
303
- id: spec.id,
304
- name: spec.name,
305
- type: spec.type,
306
- file: spec.filePath,
307
- },
308
- source_path: sourcePath,
309
- target_count: results.length,
310
- results,
311
- };
312
- }
313
- export function saveBenchmarkRun(sourcePath, result) {
314
- const dirPath = benchmarkRunsPath(sourcePath, result.benchmark.type);
315
- mkdirSync(dirPath, { recursive: true });
316
- const gitignorePath = benchmarkRunGitignorePath(sourcePath, result.benchmark.type);
317
- if (!existsSync(gitignorePath)) {
318
- writeFileSync(gitignorePath, "*.json\n");
319
- }
320
- const timestamp = result.generated_at.replace(/[:.]/g, "-");
321
- const filePath = join(dirPath, `${timestamp}-${result.benchmark.id}.json`);
322
- writeFileSync(filePath, JSON.stringify(result, null, 2) + "\n");
323
- return filePath;
324
- }
1
+ export { listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, } from "./benchmark-specs.js";
2
+ export { listKnowledgeBaseBenchmarkTargets, listInterfaceBenchmarkTargets, listBenchmarkTargets, } from "./benchmark-targets.js";
3
+ export { runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./benchmark-execution.js";
325
4
  //# sourceMappingURL=benchmark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/lib/benchmark.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}