@interf/compiler 0.2.5 → 0.3.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 (276) hide show
  1. package/README.md +192 -187
  2. package/dist/bin.js +3 -3
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/compile.d.ts +1 -0
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +45 -138
  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 +46 -222
  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 +78 -477
  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 +27 -43
  18. package/dist/commands/default.js.map +1 -1
  19. package/dist/commands/doctor.js +2 -2
  20. package/dist/commands/doctor.js.map +1 -1
  21. package/dist/commands/executor-flow.d.ts +9 -0
  22. package/dist/commands/executor-flow.d.ts.map +1 -0
  23. package/dist/commands/executor-flow.js +55 -0
  24. package/dist/commands/executor-flow.js.map +1 -0
  25. package/dist/commands/init.d.ts +1 -0
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +320 -321
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/list.d.ts.map +1 -1
  30. package/dist/commands/list.js +12 -22
  31. package/dist/commands/list.js.map +1 -1
  32. package/dist/commands/reset.d.ts.map +1 -1
  33. package/dist/commands/reset.js +27 -124
  34. package/dist/commands/reset.js.map +1 -1
  35. package/dist/commands/source-config-wizard.d.ts +10 -11
  36. package/dist/commands/source-config-wizard.d.ts.map +1 -1
  37. package/dist/commands/source-config-wizard.js +100 -97
  38. package/dist/commands/source-config-wizard.js.map +1 -1
  39. package/dist/commands/status.d.ts.map +1 -1
  40. package/dist/commands/status.js +60 -56
  41. package/dist/commands/status.js.map +1 -1
  42. package/dist/commands/test-flow.d.ts +21 -0
  43. package/dist/commands/test-flow.d.ts.map +1 -0
  44. package/dist/commands/test-flow.js +106 -0
  45. package/dist/commands/test-flow.js.map +1 -0
  46. package/dist/commands/test.d.ts +4 -0
  47. package/dist/commands/test.d.ts.map +1 -0
  48. package/dist/commands/test.js +131 -0
  49. package/dist/commands/test.js.map +1 -0
  50. package/dist/commands/verify.d.ts.map +1 -1
  51. package/dist/commands/verify.js +63 -98
  52. package/dist/commands/verify.js.map +1 -1
  53. package/dist/commands/workspace-flow.d.ts +21 -0
  54. package/dist/commands/workspace-flow.d.ts.map +1 -0
  55. package/dist/commands/workspace-flow.js +90 -0
  56. package/dist/commands/workspace-flow.js.map +1 -0
  57. package/dist/index.d.ts +8 -8
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +5 -7
  60. package/dist/index.js.map +1 -1
  61. package/dist/lib/agent-constants.js +1 -1
  62. package/dist/lib/agent-constants.js.map +1 -1
  63. package/dist/lib/agent-detection.js +4 -4
  64. package/dist/lib/agent-detection.js.map +1 -1
  65. package/dist/lib/agent-skills.js +6 -6
  66. package/dist/lib/agent-skills.js.map +1 -1
  67. package/dist/lib/benchmark-execution.d.ts.map +1 -1
  68. package/dist/lib/benchmark-execution.js +32 -19
  69. package/dist/lib/benchmark-execution.js.map +1 -1
  70. package/dist/lib/benchmark-sandbox.d.ts +10 -0
  71. package/dist/lib/benchmark-sandbox.d.ts.map +1 -0
  72. package/dist/lib/benchmark-sandbox.js +75 -0
  73. package/dist/lib/benchmark-sandbox.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +4 -4
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -1
  76. package/dist/lib/benchmark-targets.js +20 -54
  77. package/dist/lib/benchmark-targets.js.map +1 -1
  78. package/dist/lib/benchmark-types.d.ts +2 -3
  79. package/dist/lib/benchmark-types.d.ts.map +1 -1
  80. package/dist/lib/benchmark.d.ts +1 -1
  81. package/dist/lib/benchmark.d.ts.map +1 -1
  82. package/dist/lib/benchmark.js +1 -1
  83. package/dist/lib/benchmark.js.map +1 -1
  84. package/dist/lib/config.d.ts +1 -2
  85. package/dist/lib/config.d.ts.map +1 -1
  86. package/dist/lib/config.js +2 -4
  87. package/dist/lib/config.js.map +1 -1
  88. package/dist/lib/discovery.d.ts +1 -1
  89. package/dist/lib/discovery.d.ts.map +1 -1
  90. package/dist/lib/discovery.js +7 -2
  91. package/dist/lib/discovery.js.map +1 -1
  92. package/dist/lib/eval-packs.d.ts +6 -52
  93. package/dist/lib/eval-packs.d.ts.map +1 -1
  94. package/dist/lib/eval-packs.js +11 -39
  95. package/dist/lib/eval-packs.js.map +1 -1
  96. package/dist/lib/interf-bootstrap.d.ts +3 -5
  97. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  98. package/dist/lib/interf-bootstrap.js +10 -57
  99. package/dist/lib/interf-bootstrap.js.map +1 -1
  100. package/dist/lib/interf-detect.d.ts +13 -11
  101. package/dist/lib/interf-detect.d.ts.map +1 -1
  102. package/dist/lib/interf-detect.js +59 -45
  103. package/dist/lib/interf-detect.js.map +1 -1
  104. package/dist/lib/interf-scaffold.d.ts +2 -5
  105. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  106. package/dist/lib/interf-scaffold.js +99 -235
  107. package/dist/lib/interf-scaffold.js.map +1 -1
  108. package/dist/lib/interf-workflow-package.d.ts +1 -2
  109. package/dist/lib/interf-workflow-package.d.ts.map +1 -1
  110. package/dist/lib/interf-workflow-package.js +99 -90
  111. package/dist/lib/interf-workflow-package.js.map +1 -1
  112. package/dist/lib/interf.d.ts +4 -5
  113. package/dist/lib/interf.d.ts.map +1 -1
  114. package/dist/lib/interf.js +3 -6
  115. package/dist/lib/interf.js.map +1 -1
  116. package/dist/lib/local-workflows.d.ts +9 -8
  117. package/dist/lib/local-workflows.d.ts.map +1 -1
  118. package/dist/lib/local-workflows.js +56 -92
  119. package/dist/lib/local-workflows.js.map +1 -1
  120. package/dist/lib/obsidian.d.ts +1 -3
  121. package/dist/lib/obsidian.d.ts.map +1 -1
  122. package/dist/lib/obsidian.js +10 -81
  123. package/dist/lib/obsidian.js.map +1 -1
  124. package/dist/lib/registry.d.ts +6 -17
  125. package/dist/lib/registry.d.ts.map +1 -1
  126. package/dist/lib/registry.js +36 -50
  127. package/dist/lib/registry.js.map +1 -1
  128. package/dist/lib/runtime-contracts.d.ts +4 -3
  129. package/dist/lib/runtime-contracts.d.ts.map +1 -1
  130. package/dist/lib/runtime-contracts.js +125 -9
  131. package/dist/lib/runtime-contracts.js.map +1 -1
  132. package/dist/lib/runtime-reconcile.d.ts +3 -5
  133. package/dist/lib/runtime-reconcile.d.ts.map +1 -1
  134. package/dist/lib/runtime-reconcile.js +70 -167
  135. package/dist/lib/runtime-reconcile.js.map +1 -1
  136. package/dist/lib/runtime-runs.d.ts.map +1 -1
  137. package/dist/lib/runtime-runs.js +61 -57
  138. package/dist/lib/runtime-runs.js.map +1 -1
  139. package/dist/lib/runtime-types.d.ts +16 -6
  140. package/dist/lib/runtime-types.d.ts.map +1 -1
  141. package/dist/lib/runtime.d.ts +2 -2
  142. package/dist/lib/runtime.d.ts.map +1 -1
  143. package/dist/lib/runtime.js +1 -1
  144. package/dist/lib/runtime.js.map +1 -1
  145. package/dist/lib/schema.d.ts +69 -311
  146. package/dist/lib/schema.d.ts.map +1 -1
  147. package/dist/lib/schema.js +49 -210
  148. package/dist/lib/schema.js.map +1 -1
  149. package/dist/lib/source-config.d.ts +8 -7
  150. package/dist/lib/source-config.d.ts.map +1 -1
  151. package/dist/lib/source-config.js +59 -63
  152. package/dist/lib/source-config.js.map +1 -1
  153. package/dist/lib/state-artifacts.d.ts +5 -11
  154. package/dist/lib/state-artifacts.d.ts.map +1 -1
  155. package/dist/lib/state-artifacts.js +8 -18
  156. package/dist/lib/state-artifacts.js.map +1 -1
  157. package/dist/lib/state-health.d.ts +4 -8
  158. package/dist/lib/state-health.d.ts.map +1 -1
  159. package/dist/lib/state-health.js +52 -233
  160. package/dist/lib/state-health.js.map +1 -1
  161. package/dist/lib/state-io.d.ts +7 -12
  162. package/dist/lib/state-io.d.ts.map +1 -1
  163. package/dist/lib/state-io.js +32 -93
  164. package/dist/lib/state-io.js.map +1 -1
  165. package/dist/lib/state-view.d.ts +4 -6
  166. package/dist/lib/state-view.d.ts.map +1 -1
  167. package/dist/lib/state-view.js +62 -101
  168. package/dist/lib/state-view.js.map +1 -1
  169. package/dist/lib/state.d.ts +5 -5
  170. package/dist/lib/state.d.ts.map +1 -1
  171. package/dist/lib/state.js +4 -4
  172. package/dist/lib/state.js.map +1 -1
  173. package/dist/lib/summarize-plan.d.ts +2 -2
  174. package/dist/lib/summarize-plan.d.ts.map +1 -1
  175. package/dist/lib/summarize-plan.js +13 -13
  176. package/dist/lib/summarize-plan.js.map +1 -1
  177. package/dist/lib/{validate-kb.d.ts → validate-workspace.d.ts} +49 -8
  178. package/dist/lib/validate-workspace.d.ts.map +1 -0
  179. package/dist/lib/validate-workspace.js +398 -0
  180. package/dist/lib/validate-workspace.js.map +1 -0
  181. package/dist/lib/validate.d.ts +5 -7
  182. package/dist/lib/validate.d.ts.map +1 -1
  183. package/dist/lib/validate.js +22 -20
  184. package/dist/lib/validate.js.map +1 -1
  185. package/dist/lib/workflow-definitions.d.ts +14 -50
  186. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  187. package/dist/lib/workflow-definitions.js +100 -353
  188. package/dist/lib/workflow-definitions.js.map +1 -1
  189. package/dist/lib/workflow-helpers.d.ts +3 -4
  190. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  191. package/dist/lib/workflow-helpers.js +17 -49
  192. package/dist/lib/workflow-helpers.js.map +1 -1
  193. package/dist/lib/workflow-stage-runner.d.ts +1 -2
  194. package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
  195. package/dist/lib/workflow-stage-runner.js +4 -6
  196. package/dist/lib/workflow-stage-runner.js.map +1 -1
  197. package/dist/lib/workflow-starter-docs.d.ts +3 -5
  198. package/dist/lib/workflow-starter-docs.d.ts.map +1 -1
  199. package/dist/lib/workflow-starter-docs.js +2 -17
  200. package/dist/lib/workflow-starter-docs.js.map +1 -1
  201. package/dist/lib/workflows.d.ts +9 -14
  202. package/dist/lib/workflows.d.ts.map +1 -1
  203. package/dist/lib/workflows.js +15 -30
  204. package/dist/lib/workflows.js.map +1 -1
  205. package/dist/lib/workspace-compile.d.ts +51 -0
  206. package/dist/lib/workspace-compile.d.ts.map +1 -0
  207. package/dist/lib/workspace-compile.js +397 -0
  208. package/dist/lib/workspace-compile.js.map +1 -0
  209. package/package.json +9 -9
  210. package/skills/benchmark/SKILL.md +20 -27
  211. package/skills/workflow/create/SKILL.md +10 -14
  212. package/skills/workspace/shape/SKILL.md +15 -0
  213. package/skills/workspace/structure/SKILL.md +15 -0
  214. package/skills/workspace/summarize/SKILL.md +15 -0
  215. package/templates/workspace/README.md +23 -0
  216. package/templates/workspace/interfignore +2 -0
  217. package/dist/commands/benchmark.d.ts +0 -3
  218. package/dist/commands/benchmark.d.ts.map +0 -1
  219. package/dist/commands/benchmark.js +0 -374
  220. package/dist/commands/benchmark.js.map +0 -1
  221. package/dist/lib/bundled-templates.d.ts +0 -5
  222. package/dist/lib/bundled-templates.d.ts.map +0 -1
  223. package/dist/lib/bundled-templates.js +0 -23
  224. package/dist/lib/bundled-templates.js.map +0 -1
  225. package/dist/lib/interf-compile-plan.d.ts +0 -12
  226. package/dist/lib/interf-compile-plan.d.ts.map +0 -1
  227. package/dist/lib/interf-compile-plan.js +0 -143
  228. package/dist/lib/interf-compile-plan.js.map +0 -1
  229. package/dist/lib/validate-interface.d.ts +0 -79
  230. package/dist/lib/validate-interface.d.ts.map +0 -1
  231. package/dist/lib/validate-interface.js +0 -535
  232. package/dist/lib/validate-interface.js.map +0 -1
  233. package/dist/lib/validate-kb.d.ts.map +0 -1
  234. package/dist/lib/validate-kb.js +0 -252
  235. package/dist/lib/validate-kb.js.map +0 -1
  236. package/dist/lib/workflows-interface-contracts.d.ts +0 -24
  237. package/dist/lib/workflows-interface-contracts.d.ts.map +0 -1
  238. package/dist/lib/workflows-interface-contracts.js +0 -304
  239. package/dist/lib/workflows-interface-contracts.js.map +0 -1
  240. package/dist/lib/workflows-interface.d.ts +0 -72
  241. package/dist/lib/workflows-interface.d.ts.map +0 -1
  242. package/dist/lib/workflows-interface.js +0 -377
  243. package/dist/lib/workflows-interface.js.map +0 -1
  244. package/dist/lib/workflows-kb.d.ts +0 -50
  245. package/dist/lib/workflows-kb.d.ts.map +0 -1
  246. package/dist/lib/workflows-kb.js +0 -306
  247. package/dist/lib/workflows-kb.js.map +0 -1
  248. package/skills/interface/analyze/SKILL.md +0 -191
  249. package/skills/interface/compile/SKILL.md +0 -152
  250. package/skills/interface/compile/references/output-format.md +0 -48
  251. package/skills/interface/create/SKILL.md +0 -87
  252. package/skills/interface/create/references/compile-plan-format.md +0 -109
  253. package/skills/interface/create/references/workflows.md +0 -35
  254. package/skills/interface/query/SKILL.md +0 -48
  255. package/skills/interface/retrieve/SKILL.md +0 -133
  256. package/skills/knowledge-base/compile/SKILL.md +0 -196
  257. package/skills/knowledge-base/compile/references/output-format.md +0 -48
  258. package/skills/knowledge-base/compile/references/stage-claims.md +0 -60
  259. package/skills/knowledge-base/compile/references/stage-entities.md +0 -46
  260. package/skills/knowledge-base/query/SKILL.md +0 -45
  261. package/skills/knowledge-base/summarize/SKILL.md +0 -152
  262. package/templates/interface/README.md +0 -159
  263. package/templates/interface/interfaces.md +0 -102
  264. package/templates/knowledge-base/README.md +0 -137
  265. package/templates/knowledge-base/interfignore +0 -19
  266. package/templates/knowledge-base/registry.md +0 -118
  267. package/templates/workflow-package/README.md +0 -16
  268. package/templates/workflow-package/create/SKILL.md +0 -8
  269. package/templates/workflow-package/interface-query/SKILL.md +0 -29
  270. package/templates/workflow-package/interface-stage/SKILL.md +0 -13
  271. package/templates/workflow-package/knowledge-base-query/SKILL.md +0 -36
  272. package/templates/workflow-package/knowledge-base-stage/SKILL.md +0 -13
  273. package/templates/workflow-starters/interface/interf/README.md +0 -13
  274. package/templates/workflow-starters/interface/interf/create/SKILL.md +0 -15
  275. package/templates/workflow-starters/knowledge-base/interf/README.md +0 -13
  276. package/templates/workflow-starters/knowledge-base/karpathy/README.md +0 -13
@@ -0,0 +1,15 @@
1
+ # Workspace Shape
2
+
3
+ Shape the final workspace surface around the workspace focus and saved questions.
4
+
5
+ Requirements:
6
+ - read the shaping input named in the stage contract
7
+ - treat the shaping input as focus plus question text only
8
+ - write `home.md` and any focused indexes needed under `knowledge/indexes/`
9
+ - bias routing, prioritization, and navigation toward the job this workspace should answer well
10
+ - use the existing knowledge structure instead of redoing extraction work
11
+ - do not copy expected answers into the workspace
12
+ - prefer better retrieval routes over speculative synthesis
13
+
14
+ Output goal:
15
+ - a final workspace surface that is easier for agents to navigate and use correctly
@@ -0,0 +1,15 @@
1
+ # Workspace Structure
2
+
3
+ Build the cross-file knowledge structure from the summary set.
4
+
5
+ Requirements:
6
+ - read `summaries/` and `.interf/inventory.json`
7
+ - write durable notes under `knowledge/entities/`, `knowledge/claims/`, and `knowledge/indexes/`
8
+ - canonicalize entities, claims, categories, timelines, and other retrieval structure
9
+ - use taxonomy and ontology only to improve retrieval, navigation, and evidence tracking
10
+ - prefer small stable notes over one giant catch-all file
11
+ - do not write `home.md` in this stage
12
+ - do not copy expected answers from saved checks
13
+
14
+ Output goal:
15
+ - a reusable cross-file structure that later shaping can route through
@@ -0,0 +1,15 @@
1
+ # Workspace Summarize
2
+
3
+ Turn raw source files into per-file evidence notes under `summaries/`.
4
+
5
+ Requirements:
6
+ - process only the files listed in the stage contract
7
+ - write one markdown summary per source file
8
+ - use JSON frontmatter, not YAML
9
+ - include `source`, `source_kind`, `evidence_tier`, `truth_mode`, `state`, and `abstract`
10
+ - include a readable `## Abstract` block in the body
11
+ - keep summaries source-grounded and conservative
12
+ - do not do broad cross-file synthesis in this stage
13
+
14
+ Output goal:
15
+ - a clean per-file evidence layer the later stages can trust
@@ -0,0 +1,23 @@
1
+ # Workspace Template
2
+
3
+ This directory contains bundled helper files for compiled workspaces.
4
+
5
+ Interf creates compiled workspaces under:
6
+
7
+ ```text
8
+ interf/workspaces/<name>/
9
+ ```
10
+
11
+ The generated workspace is a file-based layer on top of your raw files.
12
+
13
+ Interf scaffolds:
14
+
15
+ - `interf.json`
16
+ - `AGENTS.md`
17
+ - `CLAUDE.md`
18
+ - `home.md`
19
+ - `workflow/`
20
+ - `.interf/`
21
+ - `.interfignore`
22
+
23
+ The source folder remains the human control plane. The compiled workspace is the agent-facing surface.
@@ -0,0 +1,2 @@
1
+ .obsidian/
2
+ .DS_Store
@@ -1,3 +0,0 @@
1
- import type { CommandModule } from "yargs";
2
- export declare const benchmarkCommand: CommandModule;
3
- //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA2W3C,eAAO,MAAM,gBAAgB,EAAE,aA8D9B,CAAC"}
@@ -1,374 +0,0 @@
1
- import chalk from "chalk";
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";
8
- import { resolveLocalExecutor } from "../lib/executors.js";
9
- import { slugify } from "../lib/util.js";
10
- function resolveBenchmarkSourcePath(cwd) {
11
- const detected = detectInterf(cwd);
12
- if (detected?.config.type === "knowledge-base") {
13
- return resolveKnowledgeBaseSourcePath(detected.path, detected.config);
14
- }
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();
315
- }
316
- 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
- }),
327
- 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) {
344
- process.exitCode = 1;
345
- console.log(chalk.red(" Could not determine what to benchmark."));
346
- return;
347
- }
348
- const targets = await chooseTargets(sourcePath, type);
349
- if (p.isCancel(targets))
350
- return;
351
- if (!targets || targets.length === 0) {
352
- process.exitCode = 1;
353
- console.log(chalk.red(` No compiled ${type === "knowledge-base" ? "knowledge bases" : "interfaces"} are eligible to benchmark yet.`));
354
- return;
355
- }
356
- const spec = await chooseBenchmarkSpec(sourcePath, type, targets, argv.spec);
357
- if (p.isCancel(spec))
358
- return;
359
- if (!spec) {
360
- process.exitCode = 1;
361
- return;
362
- }
363
- try {
364
- const results = await runSelectedBenchmark(sourcePath, spec, targets);
365
- const runPath = saveBenchmarkRun(sourcePath, results);
366
- printBenchmarkResults(runPath, results);
367
- }
368
- catch (error) {
369
- process.exitCode = 1;
370
- console.log(chalk.red(error instanceof Error ? error.message : "Benchmark run failed."));
371
- }
372
- },
373
- };
374
- //# sourceMappingURL=benchmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- type TemplateValue = string | number | Array<string | number> | null | undefined;
2
- export declare function loadBundledTemplate(relativePath: string): string;
3
- export declare function renderBundledTemplate(relativePath: string, replacements?: Record<string, TemplateValue>): string;
4
- export {};
5
- //# sourceMappingURL=bundled-templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundled-templates.d.ts","sourceRoot":"","sources":["../../src/lib/bundled-templates.ts"],"names":[],"mappings":"AAIA,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAYjF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GAC/C,MAAM,CAMR"}
@@ -1,23 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { TEMPLATES_DIR } from "./config.js";
4
- function normalizeTemplateValue(value) {
5
- if (Array.isArray(value)) {
6
- return value.map((entry) => String(entry)).join("\n");
7
- }
8
- if (value === null || value === undefined) {
9
- return "";
10
- }
11
- return String(value);
12
- }
13
- export function loadBundledTemplate(relativePath) {
14
- return readFileSync(join(TEMPLATES_DIR, relativePath), "utf8");
15
- }
16
- export function renderBundledTemplate(relativePath, replacements = {}) {
17
- let content = loadBundledTemplate(relativePath);
18
- for (const [key, value] of Object.entries(replacements)) {
19
- content = content.replaceAll(`{{${key}}}`, normalizeTemplateValue(value));
20
- }
21
- return content.endsWith("\n") ? content : `${content}\n`;
22
- }
23
- //# sourceMappingURL=bundled-templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundled-templates.js","sourceRoot":"","sources":["../../src/lib/bundled-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,SAAS,sBAAsB,CAAC,KAAoB;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,eAA8C,EAAE;IAEhD,IAAI,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC;AAC3D,CAAC"}
@@ -1,12 +0,0 @@
1
- import { type InterfaceWorkflowId, type WorkflowStageDefinition } from "./workflow-definitions.js";
2
- export declare function buildInterfaceStagePolicySection(notes: string[] | undefined): string[];
3
- export declare function formatWorkflowStageFolders(stages: WorkflowStageDefinition[]): string;
4
- export declare function formatWorkflowStageSequence(stages: WorkflowStageDefinition[]): string;
5
- export declare function writeInterfaceCompilePlanTemplate(dirPath: string, options: {
6
- workflowId: InterfaceWorkflowId;
7
- sourcePath?: string;
8
- interfaceName?: string;
9
- useCase?: string;
10
- targetQuestions?: string[];
11
- }): void;
12
- //# sourceMappingURL=interf-compile-plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interf-compile-plan.d.ts","sourceRoot":"","sources":["../../src/lib/interf-compile-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AAGnC,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAQtF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAEpF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAErF;AAiID,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GACA,IAAI,CAmBN"}