@interf/compiler 0.2.5 → 0.3.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 (240) hide show
  1. package/README.md +182 -183
  2. package/dist/commands/benchmark.d.ts.map +1 -1
  3. package/dist/commands/benchmark.js +60 -351
  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 +43 -110
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create-workflow-wizard.d.ts +4 -25
  9. package/dist/commands/create-workflow-wizard.d.ts.map +1 -1
  10. package/dist/commands/create-workflow-wizard.js +29 -214
  11. package/dist/commands/create-workflow-wizard.js.map +1 -1
  12. package/dist/commands/create.d.ts +2 -11
  13. package/dist/commands/create.d.ts.map +1 -1
  14. package/dist/commands/create.js +72 -461
  15. package/dist/commands/create.js.map +1 -1
  16. package/dist/commands/default.d.ts.map +1 -1
  17. package/dist/commands/default.js +16 -28
  18. package/dist/commands/default.js.map +1 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +71 -340
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +12 -22
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/reset.d.ts.map +1 -1
  26. package/dist/commands/reset.js +27 -124
  27. package/dist/commands/reset.js.map +1 -1
  28. package/dist/commands/source-config-wizard.d.ts +11 -11
  29. package/dist/commands/source-config-wizard.d.ts.map +1 -1
  30. package/dist/commands/source-config-wizard.js +68 -69
  31. package/dist/commands/source-config-wizard.js.map +1 -1
  32. package/dist/commands/status.d.ts.map +1 -1
  33. package/dist/commands/status.js +60 -56
  34. package/dist/commands/status.js.map +1 -1
  35. package/dist/commands/verify.d.ts.map +1 -1
  36. package/dist/commands/verify.js +59 -98
  37. package/dist/commands/verify.js.map +1 -1
  38. package/dist/index.d.ts +7 -7
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -6
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/agent-constants.js +1 -1
  43. package/dist/lib/agent-constants.js.map +1 -1
  44. package/dist/lib/benchmark-execution.d.ts.map +1 -1
  45. package/dist/lib/benchmark-execution.js +7 -16
  46. package/dist/lib/benchmark-execution.js.map +1 -1
  47. package/dist/lib/benchmark-targets.d.ts +3 -4
  48. package/dist/lib/benchmark-targets.d.ts.map +1 -1
  49. package/dist/lib/benchmark-targets.js +9 -55
  50. package/dist/lib/benchmark-targets.js.map +1 -1
  51. package/dist/lib/benchmark-types.d.ts +2 -3
  52. package/dist/lib/benchmark-types.d.ts.map +1 -1
  53. package/dist/lib/benchmark.d.ts +1 -1
  54. package/dist/lib/benchmark.d.ts.map +1 -1
  55. package/dist/lib/benchmark.js +1 -1
  56. package/dist/lib/benchmark.js.map +1 -1
  57. package/dist/lib/config.d.ts +1 -2
  58. package/dist/lib/config.d.ts.map +1 -1
  59. package/dist/lib/config.js +2 -4
  60. package/dist/lib/config.js.map +1 -1
  61. package/dist/lib/discovery.d.ts +1 -1
  62. package/dist/lib/discovery.d.ts.map +1 -1
  63. package/dist/lib/discovery.js +7 -2
  64. package/dist/lib/discovery.js.map +1 -1
  65. package/dist/lib/eval-packs.d.ts +6 -52
  66. package/dist/lib/eval-packs.d.ts.map +1 -1
  67. package/dist/lib/eval-packs.js +11 -39
  68. package/dist/lib/eval-packs.js.map +1 -1
  69. package/dist/lib/interf-bootstrap.d.ts +3 -5
  70. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  71. package/dist/lib/interf-bootstrap.js +10 -57
  72. package/dist/lib/interf-bootstrap.js.map +1 -1
  73. package/dist/lib/interf-detect.d.ts +13 -11
  74. package/dist/lib/interf-detect.d.ts.map +1 -1
  75. package/dist/lib/interf-detect.js +59 -45
  76. package/dist/lib/interf-detect.js.map +1 -1
  77. package/dist/lib/interf-scaffold.d.ts +2 -5
  78. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  79. package/dist/lib/interf-scaffold.js +98 -235
  80. package/dist/lib/interf-scaffold.js.map +1 -1
  81. package/dist/lib/interf-workflow-package.d.ts +1 -2
  82. package/dist/lib/interf-workflow-package.d.ts.map +1 -1
  83. package/dist/lib/interf-workflow-package.js +94 -90
  84. package/dist/lib/interf-workflow-package.js.map +1 -1
  85. package/dist/lib/interf.d.ts +4 -5
  86. package/dist/lib/interf.d.ts.map +1 -1
  87. package/dist/lib/interf.js +3 -6
  88. package/dist/lib/interf.js.map +1 -1
  89. package/dist/lib/local-workflows.d.ts +9 -8
  90. package/dist/lib/local-workflows.d.ts.map +1 -1
  91. package/dist/lib/local-workflows.js +42 -94
  92. package/dist/lib/local-workflows.js.map +1 -1
  93. package/dist/lib/obsidian.d.ts +1 -3
  94. package/dist/lib/obsidian.d.ts.map +1 -1
  95. package/dist/lib/obsidian.js +10 -81
  96. package/dist/lib/obsidian.js.map +1 -1
  97. package/dist/lib/registry.d.ts +6 -17
  98. package/dist/lib/registry.d.ts.map +1 -1
  99. package/dist/lib/registry.js +36 -50
  100. package/dist/lib/registry.js.map +1 -1
  101. package/dist/lib/runtime-contracts.d.ts +2 -3
  102. package/dist/lib/runtime-contracts.d.ts.map +1 -1
  103. package/dist/lib/runtime-contracts.js +10 -9
  104. package/dist/lib/runtime-contracts.js.map +1 -1
  105. package/dist/lib/runtime-reconcile.d.ts +2 -5
  106. package/dist/lib/runtime-reconcile.d.ts.map +1 -1
  107. package/dist/lib/runtime-reconcile.js +23 -176
  108. package/dist/lib/runtime-reconcile.js.map +1 -1
  109. package/dist/lib/runtime-runs.d.ts.map +1 -1
  110. package/dist/lib/runtime-runs.js +52 -57
  111. package/dist/lib/runtime-runs.js.map +1 -1
  112. package/dist/lib/runtime-types.d.ts +5 -6
  113. package/dist/lib/runtime-types.d.ts.map +1 -1
  114. package/dist/lib/runtime.d.ts +2 -2
  115. package/dist/lib/runtime.d.ts.map +1 -1
  116. package/dist/lib/runtime.js +1 -1
  117. package/dist/lib/runtime.js.map +1 -1
  118. package/dist/lib/schema.d.ts +53 -312
  119. package/dist/lib/schema.d.ts.map +1 -1
  120. package/dist/lib/schema.js +39 -206
  121. package/dist/lib/schema.js.map +1 -1
  122. package/dist/lib/source-config.d.ts +7 -7
  123. package/dist/lib/source-config.d.ts.map +1 -1
  124. package/dist/lib/source-config.js +55 -62
  125. package/dist/lib/source-config.js.map +1 -1
  126. package/dist/lib/state-artifacts.d.ts +5 -11
  127. package/dist/lib/state-artifacts.d.ts.map +1 -1
  128. package/dist/lib/state-artifacts.js +8 -18
  129. package/dist/lib/state-artifacts.js.map +1 -1
  130. package/dist/lib/state-health.d.ts +4 -8
  131. package/dist/lib/state-health.d.ts.map +1 -1
  132. package/dist/lib/state-health.js +27 -223
  133. package/dist/lib/state-health.js.map +1 -1
  134. package/dist/lib/state-io.d.ts +7 -12
  135. package/dist/lib/state-io.d.ts.map +1 -1
  136. package/dist/lib/state-io.js +26 -93
  137. package/dist/lib/state-io.js.map +1 -1
  138. package/dist/lib/state-view.d.ts +4 -6
  139. package/dist/lib/state-view.d.ts.map +1 -1
  140. package/dist/lib/state-view.js +62 -101
  141. package/dist/lib/state-view.js.map +1 -1
  142. package/dist/lib/state.d.ts +5 -5
  143. package/dist/lib/state.d.ts.map +1 -1
  144. package/dist/lib/state.js +4 -4
  145. package/dist/lib/state.js.map +1 -1
  146. package/dist/lib/summarize-plan.d.ts +2 -2
  147. package/dist/lib/summarize-plan.d.ts.map +1 -1
  148. package/dist/lib/summarize-plan.js +13 -13
  149. package/dist/lib/summarize-plan.js.map +1 -1
  150. package/dist/lib/{validate-kb.d.ts → validate-workspace.d.ts} +8 -8
  151. package/dist/lib/validate-workspace.d.ts.map +1 -0
  152. package/dist/lib/{validate-kb.js → validate-workspace.js} +44 -46
  153. package/dist/lib/validate-workspace.js.map +1 -0
  154. package/dist/lib/validate.d.ts +5 -7
  155. package/dist/lib/validate.d.ts.map +1 -1
  156. package/dist/lib/validate.js +6 -19
  157. package/dist/lib/validate.js.map +1 -1
  158. package/dist/lib/workflow-definitions.d.ts +14 -50
  159. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  160. package/dist/lib/workflow-definitions.js +74 -349
  161. package/dist/lib/workflow-definitions.js.map +1 -1
  162. package/dist/lib/workflow-helpers.d.ts +3 -4
  163. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  164. package/dist/lib/workflow-helpers.js +15 -49
  165. package/dist/lib/workflow-helpers.js.map +1 -1
  166. package/dist/lib/workflow-stage-runner.d.ts +1 -2
  167. package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
  168. package/dist/lib/workflow-stage-runner.js +4 -6
  169. package/dist/lib/workflow-stage-runner.js.map +1 -1
  170. package/dist/lib/workflow-starter-docs.d.ts +3 -5
  171. package/dist/lib/workflow-starter-docs.d.ts.map +1 -1
  172. package/dist/lib/workflow-starter-docs.js +2 -17
  173. package/dist/lib/workflow-starter-docs.js.map +1 -1
  174. package/dist/lib/workflows.d.ts +9 -14
  175. package/dist/lib/workflows.d.ts.map +1 -1
  176. package/dist/lib/workflows.js +13 -30
  177. package/dist/lib/workflows.js.map +1 -1
  178. package/dist/lib/workspace-compile.d.ts +50 -0
  179. package/dist/lib/workspace-compile.d.ts.map +1 -0
  180. package/dist/lib/{workflows-kb.js → workspace-compile.js} +81 -89
  181. package/dist/lib/workspace-compile.js.map +1 -0
  182. package/package.json +9 -9
  183. package/skills/benchmark/SKILL.md +16 -24
  184. package/skills/workflow/create/SKILL.md +7 -14
  185. package/templates/workspace/README.md +23 -0
  186. package/templates/workspace/interfignore +2 -0
  187. package/dist/lib/bundled-templates.d.ts +0 -5
  188. package/dist/lib/bundled-templates.d.ts.map +0 -1
  189. package/dist/lib/bundled-templates.js +0 -23
  190. package/dist/lib/bundled-templates.js.map +0 -1
  191. package/dist/lib/interf-compile-plan.d.ts +0 -12
  192. package/dist/lib/interf-compile-plan.d.ts.map +0 -1
  193. package/dist/lib/interf-compile-plan.js +0 -143
  194. package/dist/lib/interf-compile-plan.js.map +0 -1
  195. package/dist/lib/validate-interface.d.ts +0 -79
  196. package/dist/lib/validate-interface.d.ts.map +0 -1
  197. package/dist/lib/validate-interface.js +0 -535
  198. package/dist/lib/validate-interface.js.map +0 -1
  199. package/dist/lib/validate-kb.d.ts.map +0 -1
  200. package/dist/lib/validate-kb.js.map +0 -1
  201. package/dist/lib/workflows-interface-contracts.d.ts +0 -24
  202. package/dist/lib/workflows-interface-contracts.d.ts.map +0 -1
  203. package/dist/lib/workflows-interface-contracts.js +0 -304
  204. package/dist/lib/workflows-interface-contracts.js.map +0 -1
  205. package/dist/lib/workflows-interface.d.ts +0 -72
  206. package/dist/lib/workflows-interface.d.ts.map +0 -1
  207. package/dist/lib/workflows-interface.js +0 -377
  208. package/dist/lib/workflows-interface.js.map +0 -1
  209. package/dist/lib/workflows-kb.d.ts +0 -50
  210. package/dist/lib/workflows-kb.d.ts.map +0 -1
  211. package/dist/lib/workflows-kb.js.map +0 -1
  212. package/skills/interface/analyze/SKILL.md +0 -191
  213. package/skills/interface/compile/SKILL.md +0 -152
  214. package/skills/interface/compile/references/output-format.md +0 -48
  215. package/skills/interface/create/SKILL.md +0 -87
  216. package/skills/interface/create/references/compile-plan-format.md +0 -109
  217. package/skills/interface/create/references/workflows.md +0 -35
  218. package/skills/interface/query/SKILL.md +0 -48
  219. package/skills/interface/retrieve/SKILL.md +0 -133
  220. package/skills/knowledge-base/compile/SKILL.md +0 -196
  221. package/skills/knowledge-base/compile/references/output-format.md +0 -48
  222. package/skills/knowledge-base/compile/references/stage-claims.md +0 -60
  223. package/skills/knowledge-base/compile/references/stage-entities.md +0 -46
  224. package/skills/knowledge-base/query/SKILL.md +0 -45
  225. package/skills/knowledge-base/summarize/SKILL.md +0 -152
  226. package/templates/interface/README.md +0 -159
  227. package/templates/interface/interfaces.md +0 -102
  228. package/templates/knowledge-base/README.md +0 -137
  229. package/templates/knowledge-base/interfignore +0 -19
  230. package/templates/knowledge-base/registry.md +0 -118
  231. package/templates/workflow-package/README.md +0 -16
  232. package/templates/workflow-package/create/SKILL.md +0 -8
  233. package/templates/workflow-package/interface-query/SKILL.md +0 -29
  234. package/templates/workflow-package/interface-stage/SKILL.md +0 -13
  235. package/templates/workflow-package/knowledge-base-query/SKILL.md +0 -36
  236. package/templates/workflow-package/knowledge-base-stage/SKILL.md +0 -13
  237. package/templates/workflow-starters/interface/interf/README.md +0 -13
  238. package/templates/workflow-starters/interface/interf/create/SKILL.md +0 -15
  239. package/templates/workflow-starters/knowledge-base/interf/README.md +0 -13
  240. package/templates/workflow-starters/knowledge-base/karpathy/README.md +0 -13
@@ -1,374 +1,83 @@
1
1
  import chalk from "chalk";
2
2
  import * as p from "@clack/prompts";
3
- import { basename, resolve } from "node:path";
4
- import { loadRegistry } from "../lib/registry.js";
5
- import { detectInterf, listKnowledgeBasesForSourceFolder, readInterfConfig, resolveInterfaceKnowledgeBasePath, resolveKnowledgeBaseSourcePath, } from "../lib/interf.js";
6
- import { listBenchmarkSpecs, listBenchmarkTargets, loadBenchmarkSpecFromFile, runBenchmarkAuto, saveBenchmarkRun, writeBenchmarkSpec, } from "../lib/benchmark.js";
7
- import { buildBenchmarkSpecFromSourceFolderConfig } from "../lib/source-config.js";
3
+ import { detectInterf, resolveSourceFolderPath, } from "../lib/interf.js";
4
+ import { buildBenchmarkSpecFromSourceFolderConfig, loadSourceFolderConfig, SOURCE_FOLDER_CONFIG_FILE, } from "../lib/source-config.js";
5
+ import { listBenchmarkTargets, runBenchmarkAuto, saveBenchmarkRun, } from "../lib/benchmark.js";
8
6
  import { resolveLocalExecutor } from "../lib/executors.js";
9
- import { slugify } from "../lib/util.js";
7
+ import { addExecutionProfileOptions, executionProfileFromArgv, } from "../lib/execution-profile.js";
10
8
  function resolveBenchmarkSourcePath(cwd) {
11
9
  const detected = detectInterf(cwd);
12
- if (detected?.config.type === "knowledge-base") {
13
- return resolveKnowledgeBaseSourcePath(detected.path, detected.config);
10
+ if (detected) {
11
+ return resolveSourceFolderPath(detected.path, detected.config);
14
12
  }
15
- if (detected?.config.type === "interface") {
16
- const knowledgeBasePath = resolveInterfaceKnowledgeBasePath(detected.path);
17
- if (!knowledgeBasePath)
18
- return null;
19
- return resolveKnowledgeBaseSourcePath(knowledgeBasePath, readInterfConfig(knowledgeBasePath));
20
- }
21
- if (listKnowledgeBasesForSourceFolder(cwd).length > 0) {
22
- return cwd;
23
- }
24
- if (basename(cwd) === "interf") {
25
- const sourcePath = resolve(cwd, "..");
26
- if (listKnowledgeBasesForSourceFolder(sourcePath).length > 0) {
27
- return sourcePath;
28
- }
29
- }
30
- return null;
31
- }
32
- async function chooseSourcePathFromRegistry() {
33
- const registry = loadRegistry();
34
- const sourceFolders = Array.from(new Map(registry.knowledgeBases.map((knowledgeBase) => {
35
- const config = readInterfConfig(knowledgeBase.path);
36
- const sourcePath = resolveKnowledgeBaseSourcePath(knowledgeBase.path, config);
37
- return [
38
- sourcePath,
39
- {
40
- sourcePath,
41
- label: basename(sourcePath) || sourcePath,
42
- hint: `${knowledgeBase.name} at ${sourcePath}`,
43
- },
44
- ];
45
- })).values());
46
- if (sourceFolders.length === 0)
47
- return null;
48
- if (sourceFolders.length === 1)
49
- return sourceFolders[0].sourcePath;
50
- return p.select({
51
- message: "Which source folder?",
52
- options: sourceFolders.map((folder) => ({
53
- value: folder.sourcePath,
54
- label: folder.label,
55
- hint: folder.hint,
56
- })),
57
- });
58
- }
59
- async function chooseTargetType(sourcePath, explicitType) {
60
- if (explicitType === "knowledge-base" || explicitType === "kb" || explicitType === "base") {
61
- return "knowledge-base";
62
- }
63
- if (explicitType === "interface") {
64
- return "interface";
65
- }
66
- if (explicitType) {
67
- return null;
68
- }
69
- const knowledgeBaseTargets = listBenchmarkTargets(sourcePath, "knowledge-base");
70
- const interfaceTargets = listBenchmarkTargets(sourcePath, "interface");
71
- const knowledgeBaseEligible = knowledgeBaseTargets.filter((target) => target.eligible).length;
72
- const interfaceEligible = interfaceTargets.filter((target) => target.eligible).length;
73
- if (knowledgeBaseEligible > 0 && interfaceEligible === 0)
74
- return "knowledge-base";
75
- if (interfaceEligible > 0 && knowledgeBaseEligible === 0)
76
- return "interface";
77
- if (knowledgeBaseTargets.length === 0 && interfaceTargets.length === 0)
78
- return null;
79
- return p.select({
80
- message: "Benchmark what?",
81
- options: [
82
- {
83
- value: "knowledge-base",
84
- label: knowledgeBaseEligible > 0 ? "Knowledge Base (Recommended)" : "Knowledge Base",
85
- hint: `${knowledgeBaseEligible}/${knowledgeBaseTargets.length} compiled and eligible`,
86
- },
87
- {
88
- value: "interface",
89
- label: interfaceEligible > 0 ? "Interface (Recommended)" : "Interface",
90
- hint: `${interfaceEligible}/${interfaceTargets.length} compiled and eligible`,
91
- },
92
- ],
93
- });
94
- }
95
- function formatTargetLabel(target) {
96
- return {
97
- value: target.path,
98
- label: target.type === "interface" && target.knowledgeBaseName
99
- ? `${target.name} → ${target.knowledgeBaseName}`
100
- : target.name,
101
- hint: `${target.workflow} • ${target.summary}`,
102
- };
103
- }
104
- async function chooseTargets(sourcePath, type) {
105
- const targets = listBenchmarkTargets(sourcePath, type);
106
- const eligibleTargets = targets.filter((target) => target.eligible);
107
- const ineligibleTargets = targets.filter((target) => !target.eligible);
108
- if (ineligibleTargets.length > 0) {
109
- console.log();
110
- console.log(chalk.dim(` Skipping ${ineligibleTargets.length} ineligible ${type === "knowledge-base" ? "knowledge base" : "interface"}${ineligibleTargets.length === 1 ? "" : "s"}:`));
111
- for (const target of ineligibleTargets) {
112
- const label = target.type === "interface" && target.knowledgeBaseName
113
- ? `${target.name} → ${target.knowledgeBaseName}`
114
- : target.name;
115
- console.log(chalk.dim(` ${label} (${target.status}/${target.stage})`));
116
- }
117
- }
118
- if (eligibleTargets.length === 0) {
119
- return null;
120
- }
121
- if (eligibleTargets.length === 1) {
122
- return eligibleTargets;
123
- }
124
- const choice = await p.multiselect({
125
- message: type === "knowledge-base" ? "Which knowledge bases?" : "Which interfaces?",
126
- options: eligibleTargets.map(formatTargetLabel),
127
- });
128
- if (p.isCancel(choice))
129
- return choice;
130
- const selectedPaths = new Set(choice ?? []);
131
- return eligibleTargets.filter((target) => selectedPaths.has(target.path));
132
- }
133
- async function createBenchmarkSpecWizard(sourcePath, type) {
134
- const rawName = await p.text({
135
- message: "Benchmark name?",
136
- placeholder: type === "knowledge-base" ? "knowledge-home-quality" : "weekly-brief-quality",
137
- validate: (value) => (value.trim().length === 0 ? "Name is required" : undefined),
138
- });
139
- if (p.isCancel(rawName))
140
- return rawName;
141
- const description = await p.text({
142
- message: "One-line description?",
143
- placeholder: "Compare output quality on the same compiled targets",
144
- });
145
- if (p.isCancel(description))
146
- return description;
147
- const cases = [];
148
- let addAnother = true;
149
- while (addAnother) {
150
- const caseLabel = await p.text({
151
- message: `Check ${cases.length + 1} id?`,
152
- placeholder: type === "knowledge-base" ? "home-overview" : "brief-clarity",
153
- validate: (value) => {
154
- if (value.trim().length === 0)
155
- return "Check id is required";
156
- if (slugify(value).length === 0)
157
- return "Use letters, numbers, and dashes";
158
- if (cases.some((benchmarkCase) => benchmarkCase.id === slugify(value))) {
159
- return "That check id already exists";
160
- }
161
- return undefined;
162
- },
163
- });
164
- if (p.isCancel(caseLabel))
165
- return caseLabel;
166
- const question = await p.text({
167
- message: "What question should this benchmark ask?",
168
- placeholder: type === "knowledge-base"
169
- ? "What are the main themes and next steps in this knowledge base?"
170
- : "Does this interface clearly say what changed and what matters next?",
171
- validate: (value) => (value.trim().length === 0 ? "Question is required" : undefined),
172
- });
173
- if (p.isCancel(question))
174
- return question;
175
- const answer = await p.text({
176
- message: "What should a good answer say?",
177
- placeholder: type === "knowledge-base"
178
- ? "A good answer clearly surfaces the main themes, risks, and next steps."
179
- : "A good answer states what changed, why it matters, and what to do next.",
180
- validate: (value) => (value.trim().length === 0 ? "Expected answer is required" : undefined),
181
- });
182
- if (p.isCancel(answer))
183
- return answer;
184
- const strictness = await p.text({
185
- message: "How strict should the judge be? (optional)",
186
- placeholder: "approximate",
187
- });
188
- if (p.isCancel(strictness))
189
- return strictness;
190
- cases.push({
191
- id: slugify(caseLabel),
192
- question: question.trim(),
193
- answer: answer.trim(),
194
- ...(String(strictness).trim().length > 0 ? { strictness: String(strictness).trim() } : {}),
195
- });
196
- const more = await p.confirm({
197
- message: "Add another check?",
198
- initialValue: false,
199
- });
200
- if (p.isCancel(more))
201
- return more;
202
- addAnother = Boolean(more);
203
- }
204
- const filePath = writeBenchmarkSpec(sourcePath, {
205
- id: slugify(rawName),
206
- type,
207
- name: rawName.trim(),
208
- description: description.trim(),
209
- cases,
210
- });
211
- p.log.info(`Saved benchmark spec: ${filePath}`);
212
- return loadBenchmarkSpecFromFile(filePath);
213
- }
214
- async function runSelectedBenchmark(sourcePath, spec, targets) {
215
- const { executor, error } = resolveLocalExecutor();
216
- if (spec.cases.some((benchmarkCase) => !benchmarkCase.file || benchmarkCase.answer) && !executor) {
217
- throw new Error(error ?? "No local agent executor is available for benchmark judging.");
218
- }
219
- return runBenchmarkAuto(sourcePath, spec, targets, { executor });
220
- }
221
- async function chooseBenchmarkSpec(sourcePath, type, targets, explicitPath) {
222
- if (explicitPath) {
223
- const spec = loadBenchmarkSpecFromFile(resolve(process.cwd(), explicitPath));
224
- if (!spec) {
225
- process.exitCode = 1;
226
- console.log(chalk.red(`Could not read benchmark spec: ${explicitPath}`));
227
- return null;
228
- }
229
- if (spec.type !== type) {
230
- process.exitCode = 1;
231
- console.log(chalk.red(`Benchmark spec is for ${spec.type}, not ${type}.`));
232
- return null;
233
- }
234
- return spec;
235
- }
236
- const uniqueTargetNames = new Set(targets.map((target) => target.name));
237
- const sourceConfigSpec = buildBenchmarkSpecFromSourceFolderConfig({
238
- sourcePath,
239
- type,
240
- targetName: type === "interface" && uniqueTargetNames.size === 1
241
- ? targets[0]?.name ?? null
242
- : null,
243
- });
244
- if (sourceConfigSpec) {
245
- return sourceConfigSpec;
246
- }
247
- const specs = listBenchmarkSpecs(sourcePath, type);
248
- if (specs.length === 0) {
249
- return createBenchmarkSpecWizard(sourcePath, type);
250
- }
251
- const mode = await p.select({
252
- message: "Benchmark spec?",
253
- options: [
254
- {
255
- value: "existing",
256
- label: "Existing benchmark (Recommended)",
257
- hint: "Reuse a saved benchmark from interf/benchmarks/",
258
- },
259
- {
260
- value: "new",
261
- label: "Create new benchmark",
262
- hint: "Write a simple question-and-answer benchmark for these targets",
263
- },
264
- ],
265
- });
266
- if (p.isCancel(mode))
267
- return mode;
268
- if (mode === "new") {
269
- return createBenchmarkSpecWizard(sourcePath, type);
270
- }
271
- const choice = await p.select({
272
- message: "Choose a benchmark",
273
- options: specs.map((spec) => ({
274
- value: spec.id,
275
- label: spec.name,
276
- hint: spec.description ?? spec.filePath,
277
- })),
278
- });
279
- if (p.isCancel(choice))
280
- return choice;
281
- return specs.find((spec) => spec.id === choice) ?? null;
282
- }
283
- function printBenchmarkResults(runPath, results) {
284
- console.log();
285
- console.log(chalk.bold(` Benchmark: ${results.benchmark.name}`));
286
- console.log(chalk.dim(` Spec: ${results.benchmark.file}`));
287
- console.log(chalk.dim(` Saved run: ${runPath}`));
288
- console.log();
289
- for (const result of results.results) {
290
- const label = result.target.type === "interface" && result.target.knowledgeBaseName
291
- ? `${result.target.name} → ${result.target.knowledgeBaseName}`
292
- : result.target.name;
293
- const status = result.ok ? chalk.green("pass") : chalk.yellow("mixed");
294
- console.log(` ${label.padEnd(24)} ${status} benchmark-checks:${String(result.passedCases).padStart(2)}/${String(result.totalCases).padEnd(2)} validations:${String(result.passedChecks).padStart(2)}/${String(result.totalChecks).padEnd(2)} workflow:${result.target.workflow}`);
295
- }
296
- const failedResults = results.results
297
- .flatMap((result) => result.caseResults
298
- .filter((caseResult) => !caseResult.ok)
299
- .map((caseResult) => ({ result, caseResult })));
300
- if (failedResults.length > 0) {
301
- console.log();
302
- console.log(chalk.bold(" Benchmark failures"));
303
- console.log(chalk.dim(" " + "─".repeat(50)));
304
- for (const { result, caseResult } of failedResults) {
305
- const targetLabel = result.target.type === "interface" && result.target.knowledgeBaseName
306
- ? `${result.target.name} → ${result.target.knowledgeBaseName}`
307
- : result.target.name;
308
- console.log(` ${targetLabel} / ${caseResult.caseId}`);
309
- for (const check of caseResult.checks.filter((entry) => !entry.ok)) {
310
- console.log(chalk.dim(` - ${check.label}: ${check.detail}`));
311
- }
312
- }
313
- }
314
- console.log();
13
+ return cwd;
315
14
  }
316
15
  export const benchmarkCommand = {
317
- command: "benchmark [type]",
318
- describe: "Benchmark compiled knowledge bases or interfaces with folder-local evals",
319
- builder: (yargs) => yargs
320
- .positional("type", {
321
- describe: "What to benchmark (`knowledge-base` or `interface`; auto-detected if omitted)",
322
- })
323
- .option("spec", {
324
- type: "string",
325
- describe: "Path to a benchmark spec file (`.json`)",
326
- }),
16
+ command: "benchmark",
17
+ describe: "Benchmark compiled workspaces against questions and expected answers",
18
+ builder: (yargs) => addExecutionProfileOptions(yargs),
327
19
  handler: async (argv) => {
328
- let sourcePath = resolveBenchmarkSourcePath(process.cwd());
329
- if (!sourcePath) {
330
- const choice = await chooseSourcePathFromRegistry();
331
- if (p.isCancel(choice))
332
- return;
333
- sourcePath = choice ?? null;
334
- }
335
- if (!sourcePath) {
336
- process.exitCode = 1;
337
- console.log(chalk.red(" Could not find a source folder with Interf knowledge bases. Run this from a source folder, knowledge base, or interface first."));
338
- return;
339
- }
340
- const type = await chooseTargetType(sourcePath, argv.type);
341
- if (p.isCancel(type))
342
- return;
343
- if (!type) {
20
+ const cwd = process.cwd();
21
+ const detected = detectInterf(cwd);
22
+ const sourcePath = detected ? resolveSourceFolderPath(detected.path, detected.config) : cwd;
23
+ const config = loadSourceFolderConfig(sourcePath);
24
+ if (!config) {
344
25
  process.exitCode = 1;
345
- console.log(chalk.red(" Could not determine what to benchmark."));
26
+ console.log(chalk.red(` No ${SOURCE_FOLDER_CONFIG_FILE} found in ${sourcePath}.`));
27
+ console.log(chalk.dim(" Add checks first with `interf init` or by writing `interf.config.json`."));
346
28
  return;
347
29
  }
348
- const targets = await chooseTargets(sourcePath, type);
349
- if (p.isCancel(targets))
350
- return;
351
- if (!targets || targets.length === 0) {
30
+ const spec = buildBenchmarkSpecFromSourceFolderConfig({
31
+ sourcePath,
32
+ targetName: detected?.config.name ?? null,
33
+ });
34
+ if (!spec) {
352
35
  process.exitCode = 1;
353
- console.log(chalk.red(` No compiled ${type === "knowledge-base" ? "knowledge bases" : "interfaces"} are eligible to benchmark yet.`));
36
+ console.log(chalk.red(" Could not derive a benchmark from interf.config.json."));
354
37
  return;
355
38
  }
356
- const spec = await chooseBenchmarkSpec(sourcePath, type, targets, argv.spec);
357
- if (p.isCancel(spec))
358
- return;
359
- if (!spec) {
39
+ const allTargets = listBenchmarkTargets(sourcePath);
40
+ const eligibleTargets = allTargets.filter((target) => target.eligible);
41
+ if (eligibleTargets.length === 0) {
360
42
  process.exitCode = 1;
43
+ console.log(chalk.red(" No compiled workspaces are eligible to benchmark yet."));
44
+ console.log(chalk.dim(" Build a workspace first with `interf compile`."));
361
45
  return;
362
46
  }
363
- try {
364
- const results = await runSelectedBenchmark(sourcePath, spec, targets);
365
- const runPath = saveBenchmarkRun(sourcePath, results);
366
- printBenchmarkResults(runPath, results);
47
+ let targets = eligibleTargets;
48
+ if (eligibleTargets.length > 1) {
49
+ const selected = await p.multiselect({
50
+ message: "Which workspaces?",
51
+ required: true,
52
+ options: eligibleTargets.map((target) => ({
53
+ value: target.path,
54
+ label: target.name,
55
+ hint: target.summary,
56
+ })),
57
+ });
58
+ if (p.isCancel(selected))
59
+ return;
60
+ const selectedPaths = new Set(selected);
61
+ targets = eligibleTargets.filter((target) => selectedPaths.has(target.path));
367
62
  }
368
- catch (error) {
369
- process.exitCode = 1;
370
- console.log(chalk.red(error instanceof Error ? error.message : "Benchmark run failed."));
63
+ const executionProfile = executionProfileFromArgv(argv);
64
+ const { executor } = resolveLocalExecutor({
65
+ executionProfile,
66
+ preflight: spec.cases.some((entry) => !entry.file || Boolean(entry.answer)),
67
+ });
68
+ const result = await runBenchmarkAuto(sourcePath, spec, targets, {
69
+ executor,
70
+ });
71
+ const runPath = saveBenchmarkRun(sourcePath, result);
72
+ console.log();
73
+ console.log(chalk.bold(` ${result.benchmark.name}`));
74
+ console.log();
75
+ for (const target of result.results) {
76
+ const color = target.ok ? chalk.green : chalk.red;
77
+ console.log(color(` ${target.target.name}: ${target.passedCases}/${target.totalCases} cases, ${target.passedChecks}/${target.totalChecks} checks`));
371
78
  }
79
+ console.log();
80
+ console.log(chalk.dim(` Saved run: ${runPath}`));
372
81
  },
373
82
  };
374
83
  //# sourceMappingURL=benchmark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAO3C,eAAO,MAAM,cAAc,EAAE,aAiG5B,CAAC"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAoB3C,eAAO,MAAM,cAAc,EAAE,aAuC5B,CAAC"}