@interf/compiler 0.22.0 → 0.33.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 (575) hide show
  1. package/README.md +268 -0
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -4
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +10 -0
  10. package/dist/cli/commands/benchmark.js +88 -0
  11. package/dist/cli/commands/build-plan.js +95 -103
  12. package/dist/cli/commands/build.d.ts +1 -1
  13. package/dist/cli/commands/build.js +16 -15
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +199 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +3 -2
  20. package/dist/cli/commands/mcp.js +721 -204
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +202 -0
  23. package/dist/cli/commands/reset.d.ts +1 -1
  24. package/dist/cli/commands/reset.js +10 -10
  25. package/dist/cli/commands/runs.js +52 -26
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +33 -22
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +125 -0
  32. package/dist/cli/commands/wizard.js +155 -150
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +2 -2
  37. package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
  38. package/dist/packages/build-plans/authoring/brief.js +89 -0
  39. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
  40. package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
  41. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
  42. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
  43. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  44. package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
  45. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  46. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  47. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  48. package/dist/packages/build-plans/index.d.ts +1 -1
  49. package/dist/packages/build-plans/index.js +1 -1
  50. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
  51. package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
  52. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  53. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  54. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  55. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  56. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
  57. package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
  58. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
  59. package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
  60. package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
  61. package/dist/packages/build-plans/package/context-interface.js +14 -33
  62. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  63. package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
  64. package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
  65. package/dist/packages/build-plans/package/local-build-plans.js +56 -31
  66. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  67. package/dist/packages/contracts/index.d.ts +4 -2
  68. package/dist/packages/contracts/index.js +2 -1
  69. package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
  70. package/dist/packages/contracts/lib/project-paths.js +211 -0
  71. package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
  72. package/dist/packages/contracts/lib/project-schema.js +113 -0
  73. package/dist/packages/contracts/lib/schema.d.ts +739 -80
  74. package/dist/packages/contracts/lib/schema.js +410 -75
  75. package/dist/packages/contracts/utils/parse.js +67 -0
  76. package/dist/packages/projects/index.d.ts +6 -0
  77. package/dist/packages/{project → projects}/index.js +0 -3
  78. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  79. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  80. package/dist/packages/projects/interf.d.ts +2 -0
  81. package/dist/packages/projects/interf.js +1 -0
  82. package/dist/packages/projects/lib/schema.d.ts +79 -0
  83. package/dist/packages/projects/lib/schema.js +89 -0
  84. package/dist/packages/projects/source-config.d.ts +58 -0
  85. package/dist/packages/projects/source-config.js +352 -0
  86. package/dist/packages/projects/source-folders.d.ts +11 -0
  87. package/dist/packages/{project → projects}/source-folders.js +26 -26
  88. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  89. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  90. package/dist/packages/runtime/action-values.d.ts +1 -0
  91. package/dist/packages/runtime/action-values.js +1 -0
  92. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  93. package/dist/packages/runtime/actions/errors.js +12 -0
  94. package/dist/packages/runtime/actions/fields.d.ts +82 -0
  95. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  96. package/dist/packages/runtime/actions/form-builders.js +619 -0
  97. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  98. package/dist/packages/runtime/actions/form-validators.js +128 -0
  99. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  100. package/dist/packages/runtime/actions/helpers.js +80 -0
  101. package/dist/packages/runtime/actions/index.d.ts +8 -0
  102. package/dist/packages/runtime/actions/index.js +11 -0
  103. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  104. package/dist/packages/runtime/actions/registry.js +62 -0
  105. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  106. package/dist/packages/runtime/actions/requests.js +158 -0
  107. package/dist/packages/runtime/actions/schemas.d.ts +154 -0
  108. package/dist/packages/runtime/actions/schemas.js +36 -0
  109. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  110. package/dist/packages/runtime/agent-handoff.js +101 -0
  111. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  112. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  113. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  114. package/dist/packages/runtime/agents/lib/args.js +24 -0
  115. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  116. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  117. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  118. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  119. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  120. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  121. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
  122. package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
  123. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
  124. package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
  125. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  126. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  127. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  128. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  129. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  130. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  131. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  132. package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
  133. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  134. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  135. package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
  136. package/dist/packages/runtime/agents/lib/shells.js +383 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  138. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  139. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  140. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  141. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  142. package/dist/packages/runtime/agents/providers/codex.js +64 -0
  143. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  144. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  145. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  146. package/dist/packages/runtime/agents/providers/index.js +31 -0
  147. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  148. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  149. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  150. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  151. package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
  152. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  153. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  154. package/dist/packages/runtime/auth/account-context.js +68 -0
  155. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  156. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  157. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  158. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  159. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  160. package/dist/packages/runtime/auth/keychain.js +85 -0
  161. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  162. package/dist/packages/runtime/auth/session-store.js +88 -0
  163. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  164. package/dist/packages/runtime/auth/workos-client.js +87 -0
  165. package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
  166. package/dist/packages/runtime/benchmark-question-draft.js +124 -0
  167. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  168. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  169. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
  170. package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
  171. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  172. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  173. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  174. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  175. package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
  176. package/dist/packages/runtime/build/build-evidence.js +173 -0
  177. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  178. package/dist/packages/runtime/build/build-pipeline.js +304 -0
  179. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  180. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  181. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  182. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  183. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  184. package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
  185. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  186. package/dist/packages/runtime/build/build-stage-runner.js +165 -0
  187. package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
  188. package/dist/packages/runtime/build/build-target.js +16 -0
  189. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  190. package/dist/packages/runtime/build/check-evaluator.js +575 -0
  191. package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
  192. package/dist/packages/runtime/build/context-graph-paths.js +133 -0
  193. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  194. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  195. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  196. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  197. package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
  198. package/dist/packages/{engine → runtime}/build/index.js +5 -3
  199. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
  200. package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
  201. package/dist/packages/runtime/build/reset.d.ts +2 -0
  202. package/dist/packages/runtime/build/reset.js +62 -0
  203. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
  204. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  205. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  206. package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
  207. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
  208. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  209. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  210. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  211. package/dist/packages/runtime/build/runtime-runs.js +265 -0
  212. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
  213. package/dist/packages/runtime/build/runtime-types.js +1 -0
  214. package/dist/packages/runtime/build/runtime.d.ts +6 -0
  215. package/dist/packages/runtime/build/runtime.js +5 -0
  216. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  217. package/dist/packages/runtime/build/source-files.js +184 -0
  218. package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
  219. package/dist/packages/runtime/build/source-inventory.js +273 -0
  220. package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
  221. package/dist/packages/runtime/build/source-manifest.js +192 -0
  222. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  223. package/dist/packages/runtime/build/stage-evidence.js +317 -0
  224. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  225. package/dist/packages/runtime/build/stage-reuse.js +142 -0
  226. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  227. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  228. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  229. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  230. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  231. package/dist/packages/runtime/build/state-io.js +119 -0
  232. package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
  233. package/dist/packages/runtime/build/state-paths.js +22 -0
  234. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  235. package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
  236. package/dist/packages/runtime/build/state.d.ts +7 -0
  237. package/dist/packages/runtime/build/state.js +12 -0
  238. package/dist/packages/runtime/build/traces.d.ts +30 -0
  239. package/dist/packages/runtime/build/traces.js +133 -0
  240. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  241. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
  242. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  243. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  244. package/dist/packages/{engine → runtime}/client.d.ts +15 -15
  245. package/dist/packages/{engine → runtime}/client.js +41 -24
  246. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  247. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  248. package/dist/packages/runtime/context-checks.d.ts +10 -0
  249. package/dist/packages/runtime/context-checks.js +114 -0
  250. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  251. package/dist/packages/runtime/context-graph-scaffold.js +134 -0
  252. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  253. package/dist/packages/runtime/entitlement-guard.js +70 -0
  254. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  255. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  256. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
  257. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  258. package/dist/packages/runtime/index.d.ts +29 -0
  259. package/dist/packages/runtime/index.js +21 -0
  260. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  261. package/dist/packages/runtime/instance-paths.js +29 -0
  262. package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
  263. package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
  264. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  265. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  266. package/dist/packages/runtime/project-entries.d.ts +11 -0
  267. package/dist/packages/runtime/project-entries.js +49 -0
  268. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  269. package/dist/packages/runtime/project-source-state.js +53 -0
  270. package/dist/packages/runtime/project-store.d.ts +85 -0
  271. package/dist/packages/runtime/project-store.js +168 -0
  272. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  273. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  274. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  275. package/dist/packages/{engine → runtime}/run-observability.js +166 -84
  276. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  277. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  278. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  279. package/dist/packages/runtime/runtime-build-plans.js +131 -0
  280. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  281. package/dist/packages/runtime/runtime-build-runs.js +562 -0
  282. package/dist/packages/runtime/runtime-caches.d.ts +91 -0
  283. package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
  284. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  285. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  286. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  287. package/dist/packages/runtime/runtime-executor.js +131 -0
  288. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  289. package/dist/packages/runtime/runtime-jobs.js +463 -0
  290. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  291. package/dist/packages/runtime/runtime-observability.js +39 -0
  292. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  293. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  294. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  295. package/dist/packages/runtime/runtime-project-mutations.js +64 -0
  296. package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
  297. package/dist/packages/runtime/runtime-project-reads.js +381 -0
  298. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  299. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  300. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
  301. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
  302. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  303. package/dist/packages/runtime/runtime-verify-runs.js +295 -0
  304. package/dist/packages/runtime/runtime.d.ts +1165 -0
  305. package/dist/packages/runtime/runtime.js +417 -0
  306. package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
  307. package/dist/packages/runtime/schemas/actions.js +117 -0
  308. package/dist/packages/runtime/schemas/agents.d.ts +76 -0
  309. package/dist/packages/runtime/schemas/agents.js +41 -0
  310. package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
  311. package/dist/packages/runtime/schemas/build-plans.js +107 -0
  312. package/dist/packages/runtime/schemas/files.d.ts +567 -0
  313. package/dist/packages/runtime/schemas/files.js +51 -0
  314. package/dist/packages/runtime/schemas/index.d.ts +8 -0
  315. package/dist/packages/runtime/schemas/index.js +12 -0
  316. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  317. package/dist/packages/runtime/schemas/instance.js +143 -0
  318. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  319. package/dist/packages/runtime/schemas/jobs.js +103 -0
  320. package/dist/packages/runtime/schemas/projects.d.ts +339 -0
  321. package/dist/packages/runtime/schemas/projects.js +136 -0
  322. package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
  323. package/dist/packages/runtime/schemas/runs.js +98 -0
  324. package/dist/packages/runtime/service/index.d.ts +3 -0
  325. package/dist/packages/runtime/service/index.js +3 -0
  326. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  327. package/dist/packages/runtime/service/openapi.js +117 -0
  328. package/dist/packages/runtime/service/operations.d.ts +1490 -0
  329. package/dist/packages/runtime/service/operations.js +245 -0
  330. package/dist/packages/runtime/service/routes.d.ts +106 -0
  331. package/dist/packages/runtime/service/routes.js +120 -0
  332. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  333. package/dist/packages/runtime/service/server-api-files.js +85 -0
  334. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  335. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  336. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  337. package/dist/packages/runtime/service/server-guards.js +181 -0
  338. package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
  339. package/dist/packages/runtime/service/server-helpers.js +89 -0
  340. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  341. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  342. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  343. package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
  344. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  345. package/dist/packages/runtime/service/server-routes-agents.js +198 -0
  346. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  347. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  348. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  349. package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
  350. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  351. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  352. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  353. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  354. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  355. package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
  356. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  357. package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
  358. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  359. package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
  360. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  361. package/dist/packages/runtime/service/server-routes-projects.js +92 -0
  362. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  363. package/dist/packages/runtime/service/server-routes-runs.js +112 -0
  364. package/dist/packages/runtime/service/server.d.ts +37 -0
  365. package/dist/packages/runtime/service/server.js +300 -0
  366. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  367. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  368. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  369. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  370. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  371. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  372. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  373. package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
  374. package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
  375. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
  376. package/dist/packages/runtime/verify/verify-paths.js +61 -0
  377. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  378. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  379. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  380. package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
  381. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  382. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  383. package/dist/packages/runtime/verify/verify-types.js +1 -0
  384. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  385. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  386. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  387. package/dist/packages/runtime/wire-schemas.js +27 -0
  388. package/package.json +40 -30
  389. package/public-repo/CONTRIBUTING.md +7 -16
  390. package/public-repo/README.md +175 -234
  391. package/public-repo/SECURITY.md +3 -4
  392. package/public-repo/build-plans/interf-default/README.md +19 -14
  393. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
  394. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
  395. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
  396. package/public-repo/build-plans/interf-default/build-plan.json +34 -28
  397. package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
  398. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  399. package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
  400. package/public-repo/openapi/local-service.openapi.json +6803 -0
  401. package/public-repo/skills/interf/SKILL.md +460 -179
  402. package/dist/cli/commands/prep.d.ts +0 -2
  403. package/dist/cli/commands/prep.js +0 -240
  404. package/dist/cli/commands/test.d.ts +0 -10
  405. package/dist/cli/commands/test.js +0 -85
  406. package/dist/cli/commands/web.d.ts +0 -2
  407. package/dist/cli/commands/web.js +0 -286
  408. package/dist/interf-ui/404.html +0 -1
  409. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  410. package/dist/interf-ui/__next._full.txt +0 -20
  411. package/dist/interf-ui/__next._head.txt +0 -5
  412. package/dist/interf-ui/__next._index.txt +0 -5
  413. package/dist/interf-ui/__next._tree.txt +0 -5
  414. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_ssgManifest.js +0 -1
  417. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  418. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  419. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  420. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  421. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  422. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  423. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  424. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  425. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  426. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  427. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  428. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  429. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  430. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  431. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  432. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  433. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  434. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  435. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  436. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  437. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  438. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  439. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  440. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  441. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  442. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  443. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  444. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  445. package/dist/interf-ui/_not-found.html +0 -1
  446. package/dist/interf-ui/_not-found.txt +0 -15
  447. package/dist/interf-ui/index.html +0 -1
  448. package/dist/interf-ui/index.txt +0 -20
  449. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  450. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  451. package/dist/packages/engine/action-definitions.d.ts +0 -407
  452. package/dist/packages/engine/action-definitions.js +0 -1158
  453. package/dist/packages/engine/action-values.d.ts +0 -1
  454. package/dist/packages/engine/action-values.js +0 -1
  455. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  456. package/dist/packages/engine/agents/lib/args.js +0 -52
  457. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  458. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  459. package/dist/packages/engine/agents/lib/constants.js +0 -28
  460. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  461. package/dist/packages/engine/agents/lib/schema.js +0 -7
  462. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  463. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  464. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  465. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  466. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  467. package/dist/packages/engine/build/build-pipeline.js +0 -175
  468. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  469. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  470. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  471. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  472. package/dist/packages/engine/build/build-target.js +0 -16
  473. package/dist/packages/engine/build/check-evaluator.js +0 -298
  474. package/dist/packages/engine/build/reset.d.ts +0 -2
  475. package/dist/packages/engine/build/reset.js +0 -74
  476. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  477. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  478. package/dist/packages/engine/build/runtime-runs.js +0 -224
  479. package/dist/packages/engine/build/runtime.d.ts +0 -5
  480. package/dist/packages/engine/build/runtime.js +0 -4
  481. package/dist/packages/engine/build/source-files.d.ts +0 -46
  482. package/dist/packages/engine/build/source-files.js +0 -149
  483. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  484. package/dist/packages/engine/build/state-artifacts.js +0 -14
  485. package/dist/packages/engine/build/state-health.d.ts +0 -4
  486. package/dist/packages/engine/build/state-io.d.ts +0 -11
  487. package/dist/packages/engine/build/state-io.js +0 -82
  488. package/dist/packages/engine/build/state-paths.js +0 -16
  489. package/dist/packages/engine/build/state-view.d.ts +0 -5
  490. package/dist/packages/engine/build/state.d.ts +0 -7
  491. package/dist/packages/engine/build/state.js +0 -12
  492. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  493. package/dist/packages/engine/build/validate-helpers.js +0 -41
  494. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  495. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  496. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  497. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  498. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  499. package/dist/packages/engine/cloud-seams.js +0 -84
  500. package/dist/packages/engine/index.d.ts +0 -22
  501. package/dist/packages/engine/index.js +0 -15
  502. package/dist/packages/engine/instance-paths.d.ts +0 -106
  503. package/dist/packages/engine/instance-paths.js +0 -171
  504. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  505. package/dist/packages/engine/lib/schema.js +0 -730
  506. package/dist/packages/engine/preparation-store.d.ts +0 -105
  507. package/dist/packages/engine/preparation-store.js +0 -213
  508. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  509. package/dist/packages/engine/readiness-check-draft.js +0 -111
  510. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  511. package/dist/packages/engine/routes.d.ts +0 -85
  512. package/dist/packages/engine/routes.js +0 -99
  513. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  514. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  515. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  516. package/dist/packages/engine/runtime.d.ts +0 -371
  517. package/dist/packages/engine/runtime.js +0 -2463
  518. package/dist/packages/engine/server.d.ts +0 -58
  519. package/dist/packages/engine/server.js +0 -1399
  520. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  521. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  522. package/dist/packages/engine/verify/verify-paths.js +0 -61
  523. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  524. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  525. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  526. package/dist/packages/engine/wire-schemas.js +0 -59
  527. package/dist/packages/project/index.d.ts +0 -9
  528. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  529. package/dist/packages/project/interf-bootstrap.js +0 -1
  530. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  531. package/dist/packages/project/interf-scaffold.js +0 -136
  532. package/dist/packages/project/interf.d.ts +0 -4
  533. package/dist/packages/project/interf.js +0 -3
  534. package/dist/packages/project/lib/schema.d.ts +0 -328
  535. package/dist/packages/project/lib/schema.js +0 -136
  536. package/dist/packages/project/preparation-entries.d.ts +0 -11
  537. package/dist/packages/project/preparation-entries.js +0 -49
  538. package/dist/packages/project/source-config.d.ts +0 -46
  539. package/dist/packages/project/source-config.js +0 -394
  540. package/dist/packages/project/source-folders.d.ts +0 -11
  541. package/public-repo/plugins/README.md +0 -9
  542. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  543. package/public-repo/plugins/interf/.mcp.json +0 -12
  544. package/public-repo/plugins/interf/README.md +0 -32
  545. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  546. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  547. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  548. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  549. /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
  550. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  551. /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
  552. /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
  553. /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
  554. /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
  555. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  556. /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
  557. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  558. /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
  559. /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
  560. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  561. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  562. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  563. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  564. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  565. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  566. /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
  567. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  568. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  569. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  570. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  571. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  572. /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
  573. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  574. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  575. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -1,21 +1,20 @@
1
1
  import { existsSync } from "node:fs";
2
- import { discoverSourceFiles } from "./discovery.js";
3
- import { BUILD_PLAN_SCHEMA_FILE, findBuildPlanContextArtifact, readBuildPlanContextFile, buildPlanSchemaExists, } from "./verifiable-context-schema.js";
4
- import { resolveSourceFolderPath } from "../../project/interf-detect.js";
5
- import { verifiableContextInterfConfigPath, buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
6
- import { readVerifiableContextConfig } from "./validate.js";
2
+ import { BUILD_PLAN_SCHEMA_FILE, findBuildPlanContextArtifact, readBuildPlanContextFile, buildPlanSchemaExists, } from "./context-graph-schema.js";
3
+ import { contextGraphInterfConfigPath, buildPlanPackagePathForContextGraph } from "./context-graph-paths.js";
4
+ import { readContextGraphConfig } from "./validate.js";
7
5
  import { loadState } from "./state.js";
8
6
  import { getActiveBuildPlan, resolveRequiredBuildPlanFromConfig, } from "../../build-plans/package/build-plan-definitions.js";
9
7
  import { countBuildArtifactsAtPath } from "./artifact-counts.js";
10
8
  import { evaluateChecks } from "./check-evaluator.js";
9
+ import { loadContextGraphSourceManifest } from "./source-manifest.js";
11
10
  function buildPlanSchemaPresent(dirPath) {
12
- return buildPlanSchemaExists(buildPlanPackagePathForVerifiableContext(dirPath));
11
+ return buildPlanSchemaExists(buildPlanPackagePathForContextGraph(dirPath));
13
12
  }
14
13
  function buildPlanJsonPresent(dirPath) {
15
- return existsSync(buildPlanPackagePathForVerifiableContext(dirPath) + "/build-plan.json");
14
+ return existsSync(buildPlanPackagePathForContextGraph(dirPath) + "/build-plan.json");
16
15
  }
17
16
  function readBuildPlanValidationContext(dirPath) {
18
- const config = readVerifiableContextConfig(dirPath);
17
+ const config = readContextGraphConfig(dirPath);
19
18
  const buildPlanId = config.valid
20
19
  ? resolveRequiredBuildPlanFromConfig(config.value, `.interf/interf.json for ${dirPath}`)
21
20
  : null;
@@ -28,16 +27,16 @@ function readBuildPlanValidationContext(dirPath) {
28
27
  buildPlan = null;
29
28
  }
30
29
  }
31
- const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
30
+ const schema = readBuildPlanContextFile(buildPlanPackagePathForContextGraph(dirPath));
32
31
  const state = loadState(dirPath);
33
- const sourceTotal = config.valid
34
- ? discoverSourceFiles(resolveSourceFolderPath(dirPath, config.value), dirPath).totalCount
35
- : 0;
32
+ const sourceManifest = loadContextGraphSourceManifest(dirPath);
33
+ const sourceTotal = sourceManifest?.source_total ?? 0;
36
34
  return {
37
35
  config,
38
36
  buildPlan,
39
37
  schema,
40
38
  state,
39
+ sourceManifest,
41
40
  sourceTotal,
42
41
  buildPlanId,
43
42
  };
@@ -45,14 +44,14 @@ function readBuildPlanValidationContext(dirPath) {
45
44
  function stageRequired(sourceTotal, writeCounts, stageRecordPresent) {
46
45
  return sourceTotal > 0 || writeCounts > 0 || stageRecordPresent;
47
46
  }
48
- function artifactWriteCount(verifiableContextPath, schema, stage) {
47
+ function artifactWriteCount(contextGraphPath, schema, stage) {
49
48
  const artifactCounts = {};
50
49
  let total = 0;
51
50
  for (const artifactId of stage.writes) {
52
51
  const artifact = findBuildPlanContextArtifact(schema, artifactId);
53
52
  if (!artifact)
54
53
  continue;
55
- const count = countBuildArtifactsAtPath(verifiableContextPath, artifact.path, artifact.kind);
54
+ const count = countBuildArtifactsAtPath(contextGraphPath, artifact.path, artifact.kind);
56
55
  artifactCounts[artifactId] = count;
57
56
  total += count;
58
57
  }
@@ -76,7 +75,7 @@ function artifactsBuiltByStage(schema, stage) {
76
75
  return artifact.shape.kind === "path" && (stage.writes.includes(artifact.id) || stage.writes.includes(artifact.shape.path));
77
76
  });
78
77
  }
79
- function artifactCheckFailures(verifiableContextPath, artifacts, counts) {
78
+ function artifactCheckFailures(contextGraphPath, artifacts, counts) {
80
79
  const failures = [];
81
80
  for (const artifact of artifacts) {
82
81
  const checks = artifact.checks ?? [];
@@ -84,7 +83,7 @@ function artifactCheckFailures(verifiableContextPath, artifacts, counts) {
84
83
  continue;
85
84
  const targetPath = artifact.shape.kind === "path" ? artifact.shape.path : undefined;
86
85
  const result = evaluateChecks(checks, {
87
- rootPath: verifiableContextPath,
86
+ rootPath: contextGraphPath,
88
87
  targetPath,
89
88
  counts,
90
89
  });
@@ -107,7 +106,7 @@ function mergeValidationCounts(sourceTotal, stageRecord, artifactCounts) {
107
106
  }
108
107
  return merged;
109
108
  }
110
- export function validateVerifiableContextSetup(dirPath) {
109
+ export function validateContextGraphSetup(dirPath) {
111
110
  const context = readBuildPlanValidationContext(dirPath);
112
111
  return {
113
112
  config_present: context.config.present,
@@ -132,11 +131,11 @@ export function validateBuildStage(dirPath, stageId) {
132
131
  };
133
132
  const errors = [];
134
133
  if (!checks.config_present)
135
- errors.push(`Missing ${verifiableContextInterfConfigPath(dirPath)}.`);
134
+ errors.push(`Missing ${contextGraphInterfConfigPath(dirPath)}.`);
136
135
  else if (!checks.config_valid)
137
- errors.push(`Could not parse ${verifiableContextInterfConfigPath(dirPath)}.`);
136
+ errors.push(`Could not parse ${contextGraphInterfConfigPath(dirPath)}.`);
138
137
  else if (!checks.config_type_match)
139
- errors.push("Config is not a verifiable context.");
138
+ errors.push("Config is not a context graph.");
140
139
  if (!checks.build_plan_present)
141
140
  errors.push("Missing .interf/build-plan/build-plan.json.");
142
141
  else if (!checks.build_plan_valid)
@@ -145,6 +144,11 @@ export function validateBuildStage(dirPath, stageId) {
145
144
  errors.push(`Missing .interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}.`);
146
145
  else if (!checks.schema_valid)
147
146
  errors.push(`Could not parse .interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}.`);
147
+ checks.source_files_present = context.sourceTotal > 0;
148
+ checks.source_manifest_valid = context.sourceManifest !== null && context.sourceTotal > 0;
149
+ if (!checks.source_files_present) {
150
+ errors.push("No Source Manifest has been recorded for this Context Graph.");
151
+ }
148
152
  const buildPlanStage = context.buildPlan?.stages.find((stage) => stage.id === stageId) ?? null;
149
153
  checks.stage_present = buildPlanStage !== null;
150
154
  if (!checks.stage_present) {
@@ -163,14 +167,17 @@ export function validateBuildStage(dirPath, stageId) {
163
167
  if (buildPlanStage && context.schema) {
164
168
  const artifacts = artifactsBuiltByStage(context.schema, buildPlanStage);
165
169
  const failures = artifactCheckFailures(dirPath, artifacts, artifactCounts);
166
- checks.artifact_checks_ok = failures.length === 0;
167
- artifactErrors = failures.map((proof) => `Artifact check "${proof.check_id}" failed for ${proof.kind}: ${proof.summary}`);
170
+ checks.artifact_diagnostics_ok = failures.length === 0;
171
+ artifactErrors = failures.map((result) => `Artifact diagnostic "${result.check_id}" failed for ${result.kind}: ${result.summary}`);
168
172
  }
169
173
  else {
170
- checks.artifact_checks_ok = false;
174
+ checks.artifact_diagnostics_ok = false;
171
175
  }
172
176
  if (required && checks.stage_record_present && !checks.stage_finished) {
173
- errors.push(`Stage "${stageId}" has no finished_at proof in runtime state.`);
177
+ errors.push(`Stage "${stageId}" has no finished_at evidence in runtime state.`);
178
+ }
179
+ if (required && !checks.stage_record_present) {
180
+ errors.push(`Stage "${stageId}" has no runtime state record.`);
174
181
  }
175
182
  if (required && checks.stage_record_present && !checks.stage_succeeded) {
176
183
  errors.push(`Stage "${stageId}" is not marked succeeded in runtime state.`);
@@ -178,12 +185,12 @@ export function validateBuildStage(dirPath, stageId) {
178
185
  if (required) {
179
186
  errors.push(...artifactErrors);
180
187
  }
181
- const ok = required ? errors.length === 0 : errors.length === 0;
182
- const summary = !required
183
- ? `Stage "${stageId}" is not required yet.`
184
- : ok
185
- ? `Stage "${stageId}" verified.`
186
- : `Stage "${stageId}" failed — ${errors[0] ?? "artifact checks not satisfied."}`;
188
+ const ok = errors.length === 0;
189
+ const summary = ok
190
+ ? required
191
+ ? `Stage "${stageId}" checks passed.`
192
+ : `Stage "${stageId}" is not required yet.`
193
+ : `Stage "${stageId}" failed — ${errors[0] ?? "Artifact diagnostics not satisfied."}`;
187
194
  return {
188
195
  ok,
189
196
  required,
@@ -198,7 +205,7 @@ export function validateBuildStage(dirPath, stageId) {
198
205
  errors,
199
206
  };
200
207
  }
201
- export function validateVerifiableContext(dirPath) {
208
+ export function validateContextGraph(dirPath) {
202
209
  const context = readBuildPlanValidationContext(dirPath);
203
210
  const checks = {
204
211
  config_present: context.config.present,
@@ -208,6 +215,8 @@ export function validateVerifiableContext(dirPath) {
208
215
  build_plan_valid: context.buildPlan !== null,
209
216
  schema_present: buildPlanSchemaPresent(dirPath),
210
217
  schema_valid: context.schema !== null,
218
+ source_files_present: context.sourceTotal > 0,
219
+ source_manifest_valid: context.sourceManifest !== null && context.sourceTotal > 0,
211
220
  };
212
221
  if (!context.buildPlan) {
213
222
  const errors = ["Could not load the active Build Plan package."];
@@ -226,6 +235,10 @@ export function validateVerifiableContext(dirPath) {
226
235
  const errors = [];
227
236
  let completedStages = 0;
228
237
  let failedStage = "built";
238
+ if (!checks.source_files_present) {
239
+ errors.push("No Source Manifest has been recorded for this Context Graph.");
240
+ failedStage = "source";
241
+ }
229
242
  for (const stage of context.buildPlan.stages) {
230
243
  const validation = validateBuildStage(dirPath, stage.id);
231
244
  stageResults[stage.id] = validation.ok;
@@ -243,8 +256,8 @@ export function validateVerifiableContext(dirPath) {
243
256
  required: context.sourceTotal > 0,
244
257
  stage: failedStage,
245
258
  summary: ok
246
- ? `Build Plan verified — ${completedStages}/${context.buildPlan.stages.length} stages satisfied.`
247
- : `Build Plan failed — ${errors[0] ?? "stage artifact checks not satisfied."}`,
259
+ ? `Build Plan checks passed — ${completedStages}/${context.buildPlan.stages.length} stages satisfied.`
260
+ : `Build Plan failed — ${errors[0] ?? "stage Artifact diagnostics not satisfied."}`,
248
261
  counts: {
249
262
  source_total: context.sourceTotal,
250
263
  stage_total: context.buildPlan.stages.length,
@@ -258,9 +271,9 @@ export function validateVerifiableContext(dirPath) {
258
271
  export function validateBuildSummarize(dirPath) {
259
272
  return validateBuildStage(dirPath, "summarize");
260
273
  }
261
- export function validateVerifiableContextStructure(dirPath) {
274
+ export function validateContextGraphStructure(dirPath) {
262
275
  return validateBuildStage(dirPath, "structure");
263
276
  }
264
277
  export function validateBuildOutput(dirPath) {
265
- return validateVerifiableContext(dirPath);
278
+ return validateContextGraph(dirPath);
266
279
  }
@@ -1,5 +1,5 @@
1
- import { readInterfConfig } from "../../project/interf-detect.js";
2
- export declare function readVerifiableContextConfig(dirPath: string): {
1
+ import { readInterfConfig } from "../../projects/interf-detect.js";
2
+ export declare function readContextGraphConfig(dirPath: string): {
3
3
  present: boolean;
4
4
  valid: boolean;
5
5
  value: ReturnType<typeof readInterfConfig>;
@@ -11,11 +11,11 @@ export declare function validateSynthFiles(files: string[], options?: {
11
11
  invalid_frontmatter: number;
12
12
  short_abstracts: number;
13
13
  };
14
- export declare function countBrokenWikilinks(verifiableContextRoot: string, noteIndexRoots: string[], linkScanRoots: string[]): number;
14
+ export declare function countBrokenWikilinks(contextGraphRoot: string, noteIndexRoots: string[], linkScanRoots: string[]): number;
15
15
  export declare function asNumber(value: unknown): number;
16
16
  export declare function isOutputMarkdownFile(filePath: string): boolean;
17
17
  export declare function safeReadText(filePath: string): string | null;
18
18
  export declare function extractSynthAbstract(frontmatter: Record<string, unknown>, body: string): string | null;
19
19
  export declare function countSynthAbstractWords(frontmatter: Record<string, unknown>, body: string): number;
20
- export { validateVerifiableContextSetup, validateBuildStage, validateVerifiableContext, validateBuildSummarize, validateVerifiableContextStructure, validateBuildOutput, } from "./validate-verifiable-context.js";
21
- export type { VerifiableContextValidationSummary, BuildStageValidation, VerifiableContextValidation, } from "./validate-verifiable-context.js";
20
+ export { validateContextGraphSetup, validateBuildStage, validateContextGraph, validateBuildSummarize, validateContextGraphStructure, validateBuildOutput, } from "./validate-context-graph.js";
21
+ export type { ContextGraphValidationSummary, BuildStageValidation, ContextGraphValidation, } from "./validate-context-graph.js";
@@ -1,15 +1,15 @@
1
1
  import { existsSync, readFileSync, statSync, } from "node:fs";
2
2
  import { basename, dirname, extname, join, resolve } from "node:path";
3
- import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./verifiable-context-schema.js";
4
- import { buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
3
+ import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./context-graph-schema.js";
4
+ import { buildPlanPackagePathForContextGraph } from "./context-graph-paths.js";
5
5
  import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
6
- import { readInterfConfig } from "../../project/interf-detect.js";
6
+ import { readInterfConfig } from "../../projects/interf-detect.js";
7
7
  import { parseJsonFrontmatter } from "../../contracts/utils/parse.js";
8
- import { verifiableContextInterfConfigPath } from "./verifiable-context-paths.js";
8
+ import { contextGraphInterfConfigPath } from "./context-graph-paths.js";
9
9
  const MIN_ABSTRACT_WORDS = 5;
10
10
  const WIKILINK_PATTERN = /!?\[\[([^[\]]+)\]\]/g;
11
- export function readVerifiableContextConfig(dirPath) {
12
- const configPath = verifiableContextInterfConfigPath(dirPath);
11
+ export function readContextGraphConfig(dirPath) {
12
+ const configPath = contextGraphInterfConfigPath(dirPath);
13
13
  const value = readInterfConfig(dirPath);
14
14
  const present = existsSync(configPath);
15
15
  if (!present) {
@@ -25,7 +25,7 @@ export function readVerifiableContextConfig(dirPath) {
25
25
  valid: value !== null,
26
26
  value,
27
27
  typeMatch() {
28
- return value?.type === "verifiable-context" && typeof value?.source?.path === "string";
28
+ return value?.type === "context-graph" && typeof value?.source?.path === "string";
29
29
  },
30
30
  };
31
31
  }
@@ -51,9 +51,9 @@ export function validateSynthFiles(files, options) {
51
51
  short_abstracts: shortAbstracts,
52
52
  };
53
53
  }
54
- export function countBrokenWikilinks(verifiableContextRoot, noteIndexRoots, linkScanRoots) {
55
- const artifactPathById = verifiableContextArtifactDirectoryPaths(verifiableContextRoot);
56
- const directoryLeafParents = verifiableContextDirectoryLeafParents(artifactPathById);
54
+ export function countBrokenWikilinks(contextGraphRoot, noteIndexRoots, linkScanRoots) {
55
+ const artifactPathById = contextGraphArtifactDirectoryPaths(contextGraphRoot);
56
+ const directoryLeafParents = contextGraphDirectoryLeafParents(artifactPathById);
57
57
  const noteIndex = new Set();
58
58
  for (const filePath of dedupeFiles(noteIndexRoots)) {
59
59
  for (const target of collectWikilinkTargets(filePath)) {
@@ -74,15 +74,15 @@ export function countBrokenWikilinks(verifiableContextRoot, noteIndexRoots, link
74
74
  if (!target)
75
75
  continue;
76
76
  if (target.includes("/")) {
77
- if (!wikilinkPathExists(verifiableContextRoot, target, artifactPathById, directoryLeafParents, filePath)) {
77
+ if (!wikilinkPathExists(contextGraphRoot, target, artifactPathById, directoryLeafParents, filePath)) {
78
78
  brokenLinks += 1;
79
79
  }
80
80
  continue;
81
81
  }
82
82
  if (!noteIndex.has(target.toLowerCase()) &&
83
83
  !noteIndex.has(noteName(target).toLowerCase()) &&
84
- !wikilinkPathExists(verifiableContextRoot, target, artifactPathById, directoryLeafParents, filePath) &&
85
- !wikilinkPathExists(verifiableContextRoot, noteName(target), artifactPathById, directoryLeafParents, filePath)) {
84
+ !wikilinkPathExists(contextGraphRoot, target, artifactPathById, directoryLeafParents, filePath) &&
85
+ !wikilinkPathExists(contextGraphRoot, noteName(target), artifactPathById, directoryLeafParents, filePath)) {
86
86
  brokenLinks += 1;
87
87
  }
88
88
  }
@@ -171,28 +171,28 @@ function countWords(text) {
171
171
  function noteName(filePath) {
172
172
  return basename(filePath, extname(filePath));
173
173
  }
174
- function wikilinkPathExists(verifiableContextRoot, target, artifactPathById, directoryLeafParents, sourceFilePath) {
175
- return linkPathCandidates(verifiableContextRoot, target, artifactPathById, directoryLeafParents, sourceFilePath)
174
+ function wikilinkPathExists(contextGraphRoot, target, artifactPathById, directoryLeafParents, sourceFilePath) {
175
+ return linkPathCandidates(contextGraphRoot, target, artifactPathById, directoryLeafParents, sourceFilePath)
176
176
  .some((candidate) => existsSync(candidate));
177
177
  }
178
- function linkPathCandidates(verifiableContextRoot, target, artifactPathById, directoryLeafParents, sourceFilePath) {
178
+ function linkPathCandidates(contextGraphRoot, target, artifactPathById, directoryLeafParents, sourceFilePath) {
179
179
  const candidates = new Set();
180
- addPathCandidate(candidates, join(verifiableContextRoot, target));
180
+ addPathCandidate(candidates, join(contextGraphRoot, target));
181
181
  if (sourceFilePath && (target.startsWith("./") || target.startsWith("../"))) {
182
- addPathCandidateIfInside(candidates, verifiableContextRoot, resolve(dirname(sourceFilePath), target));
182
+ addPathCandidateIfInside(candidates, contextGraphRoot, resolve(dirname(sourceFilePath), target));
183
183
  }
184
184
  const [firstSegment] = target.split("/");
185
185
  if (firstSegment) {
186
186
  const parentPath = directoryLeafParents.get(firstSegment);
187
187
  if (parentPath) {
188
- addPathCandidate(candidates, join(verifiableContextRoot, parentPath, target));
188
+ addPathCandidate(candidates, join(contextGraphRoot, parentPath, target));
189
189
  }
190
190
  }
191
191
  if (firstSegment) {
192
192
  const normalizedPrefix = artifactPathById.get(firstSegment);
193
193
  if (normalizedPrefix) {
194
194
  const remainder = target.slice(firstSegment.length).replace(/^\/+/, "");
195
- addPathCandidate(candidates, join(verifiableContextRoot, normalizedPrefix, remainder));
195
+ addPathCandidate(candidates, join(contextGraphRoot, normalizedPrefix, remainder));
196
196
  }
197
197
  }
198
198
  return Array.from(candidates);
@@ -201,15 +201,15 @@ function addPathCandidate(candidates, absolutePath) {
201
201
  candidates.add(absolutePath);
202
202
  candidates.add(`${absolutePath}.md`);
203
203
  }
204
- function addPathCandidateIfInside(candidates, verifiableContextRoot, absolutePath) {
205
- const root = resolve(verifiableContextRoot);
204
+ function addPathCandidateIfInside(candidates, contextGraphRoot, absolutePath) {
205
+ const root = resolve(contextGraphRoot);
206
206
  const candidate = resolve(absolutePath);
207
207
  if (candidate !== root && !candidate.startsWith(`${root}/`))
208
208
  return;
209
209
  addPathCandidate(candidates, candidate);
210
210
  }
211
- function verifiableContextArtifactDirectoryPaths(verifiableContextRoot) {
212
- const buildPlanRoot = buildPlanPackagePathForVerifiableContext(verifiableContextRoot);
211
+ function contextGraphArtifactDirectoryPaths(contextGraphRoot) {
212
+ const buildPlanRoot = buildPlanPackagePathForContextGraph(contextGraphRoot);
213
213
  const schema = readBuildPlanContextFile(buildPlanRoot);
214
214
  if (!schema)
215
215
  return new Map();
@@ -217,7 +217,7 @@ function verifiableContextArtifactDirectoryPaths(verifiableContextRoot) {
217
217
  .filter((artifact) => artifact.kind === "directory")
218
218
  .map((artifact) => [artifact.id, artifact.path]));
219
219
  }
220
- function verifiableContextDirectoryLeafParents(artifactPathById) {
220
+ function contextGraphDirectoryLeafParents(artifactPathById) {
221
221
  const parents = new Map();
222
222
  for (const artifactPath of artifactPathById.values()) {
223
223
  const [root, leaf, ...rest] = artifactPath.split("/");
@@ -256,4 +256,4 @@ function addFrontmatterLinkTarget(targets, value) {
256
256
  }
257
257
  }
258
258
  }
259
- export { validateVerifiableContextSetup, validateBuildStage, validateVerifiableContext, validateBuildSummarize, validateVerifiableContextStructure, validateBuildOutput, } from "./validate-verifiable-context.js";
259
+ export { validateContextGraphSetup, validateBuildStage, validateContextGraph, validateBuildSummarize, validateContextGraphStructure, validateBuildOutput, } from "./validate-context-graph.js";
@@ -1,4 +1,4 @@
1
- import { type ActionProposalApprovalRequest, type ActionProposalCreateRequest, type ActionProposalResource, type BuildRunCreateRequest, type BuildRunResource, type LocalJobRunResource, type LocalServiceHealth, type ReadinessCheckDraftCreateRequest, type ReadinessCheckDraftResult, type ResetRequest, type ResetResult, type VerifyRunCreateRequest, type VerifyRunResource, type BuildPlanAuthoringCreateRequest, type BuildPlanAuthoringResult } from "./lib/schema.js";
1
+ import { type ActionProposalApprovalRequest, type ActionProposalCreateRequest, type ActionProposalResource, type BuildRunCreateRequest, type BuildRunResource, type LocalJobRunResource, type LocalServiceHealth, type BenchmarkQuestionDraftCreateRequest, type BenchmarkQuestionDraftResult, type ResetRequest, type ResetResult, type VerifyRunCreateRequest, type VerifyRunResource, type BuildPlanAuthoringCreateRequest, type BuildPlanAuthoringResult } from "./schemas/index.js";
2
2
  export interface FindOrStartLocalServiceOptions {
3
3
  url?: string;
4
4
  authToken?: string;
@@ -20,21 +20,21 @@ export interface LocalServiceJobSubmitted {
20
20
  }
21
21
  export declare function configuredLocalServiceUrl(): string;
22
22
  /**
23
- * Resolve the bearer token for the active connection. In 0.13 there is
24
- * exactly one source of truth: `~/.interf/connection.json` (or the
25
- * `INTERF_SERVICE_TOKEN` env override).
23
+ * Resolve the bearer token for the active connection. There is exactly
24
+ * one source of truth: `~/.interf/connection.json` (or the
25
+ * `INTERF_AUTH_TOKEN` env override).
26
26
  */
27
27
  export declare function resolveLocalServiceAuthToken(): string | null;
28
28
  /**
29
- * Resolve a connection. In 0.13 this is the only path to the engine — read
30
- * `~/.interf/connection.json` (written by `interf web`) or honor the
31
- * `INTERF_SERVICE_URL` / `INTERF_SERVICE_TOKEN` env overrides.
29
+ * Resolve a connection the only path to the engine. Read
30
+ * `~/.interf/connection.json` (written by `interf runtime`) or honor the
31
+ * `INTERF_SERVICE_URL` / `INTERF_AUTH_TOKEN` env overrides.
32
32
  */
33
33
  export declare function findLocalService(options?: {
34
34
  timeoutMs?: number;
35
35
  }): Promise<LocalServiceConnection | null>;
36
36
  export declare function submitBuildRunToLocalService(options: {
37
- preparationId: string;
37
+ projectId: string;
38
38
  request: BuildRunCreateRequest;
39
39
  idempotencyKey?: string;
40
40
  }): Promise<{
@@ -42,14 +42,14 @@ export declare function submitBuildRunToLocalService(options: {
42
42
  resource: BuildRunResource;
43
43
  } | null>;
44
44
  export declare function submitVerifyRunToLocalService(options: {
45
- preparationId: string;
45
+ projectId: string;
46
46
  request: VerifyRunCreateRequest;
47
47
  }): Promise<{
48
48
  serviceUrl: string;
49
49
  resource: VerifyRunResource;
50
50
  } | null>;
51
51
  export declare function submitResetToLocalService(options: {
52
- preparationId: string;
52
+ projectId: string;
53
53
  request: ResetRequest;
54
54
  }): Promise<{
55
55
  serviceUrl: string;
@@ -128,14 +128,14 @@ export declare function waitForLocalJobRun(options: {
128
128
  authToken?: string | null;
129
129
  onUpdate?: (job: LocalJobRunResource) => void;
130
130
  }): Promise<LocalJobRunResource>;
131
- export declare function submitReadinessCheckDraftToLocalService(options: {
132
- preparationId: string;
133
- request: ReadinessCheckDraftCreateRequest;
131
+ export declare function submitBenchmarkQuestionDraftToLocalService(options: {
132
+ projectId: string;
133
+ request: BenchmarkQuestionDraftCreateRequest;
134
134
  onSubmitted?: (submission: LocalServiceJobSubmitted) => void;
135
135
  onUpdate?: (job: LocalJobRunResource) => void;
136
- }): Promise<LocalServiceJobSubmission<ReadinessCheckDraftResult> | null>;
136
+ }): Promise<LocalServiceJobSubmission<BenchmarkQuestionDraftResult> | null>;
137
137
  export declare function submitBuildPlanAuthoringRunToLocalService(options: {
138
- preparationId: string;
138
+ projectId: string;
139
139
  request: BuildPlanAuthoringCreateRequest;
140
140
  onSubmitted?: (submission: LocalServiceJobSubmitted) => void;
141
141
  onUpdate?: (job: LocalJobRunResource) => void;
@@ -1,6 +1,6 @@
1
- import { BuildRunCreateRequestSchema, BuildRunResourceSchema, ActionProposalApprovalRequestSchema, ActionProposalCreateRequestSchema, ActionProposalResourceSchema, LocalJobRunResourceSchema, LocalServiceHealthSchema, ReadinessCheckDraftCreateRequestSchema, ReadinessCheckDraftResultSchema, ResetRequestSchema, ResetResultSchema, VerifyRunCreateRequestSchema, VerifyRunResourceSchema, BuildPlanAuthoringCreateRequestSchema, BuildPlanAuthoringResultSchema, } from "./lib/schema.js";
2
- import { LOCAL_SERVICE_ROUTES, buildLocalServiceUrl, preparationSubresourcePath, } from "./routes.js";
3
- import { readActiveConnection } from "./connection-config.js";
1
+ import { BuildRunCreateRequestSchema, BuildRunListResponseSchema, BuildRunResourceSchema, RunObservabilityResourceSchema, ActionProposalApprovalRequestSchema, ActionProposalCreateRequestSchema, ActionProposalResourceSchema, LocalJobRunResourceSchema, LocalServiceHealthSchema, BenchmarkQuestionDraftCreateRequestSchema, BenchmarkQuestionDraftResultSchema, ResetRequestSchema, ResetResultSchema, VerifyRunCreateRequestSchema, VerifyRunResourceSchema, BuildPlanAuthoringCreateRequestSchema, BuildPlanAuthoringResultSchema, } from "./schemas/index.js";
2
+ import { LOCAL_SERVICE_ROUTES, buildLocalServiceUrl, projectSubresourcePath, } from "./service/routes.js";
3
+ import { INTERF_AUTH_TOKEN_ENV, readActiveConnection } from "./connection-config.js";
4
4
  async function connectOrNull(options = {}) {
5
5
  const conn = readActiveConnection({
6
6
  urlOverride: options.url ?? null,
@@ -34,12 +34,12 @@ export function configuredLocalServiceUrl() {
34
34
  return buildLocalServiceUrl();
35
35
  }
36
36
  /**
37
- * Resolve the bearer token for the active connection. In 0.13 there is
38
- * exactly one source of truth: `~/.interf/connection.json` (or the
39
- * `INTERF_SERVICE_TOKEN` env override).
37
+ * Resolve the bearer token for the active connection. There is exactly
38
+ * one source of truth: `~/.interf/connection.json` (or the
39
+ * `INTERF_AUTH_TOKEN` env override).
40
40
  */
41
41
  export function resolveLocalServiceAuthToken() {
42
- const explicit = process.env.INTERF_SERVICE_TOKEN?.trim();
42
+ const explicit = process.env[INTERF_AUTH_TOKEN_ENV]?.trim();
43
43
  if (explicit)
44
44
  return explicit;
45
45
  const conn = readActiveConnection();
@@ -68,9 +68,9 @@ async function fetchJson(url, options = {}) {
68
68
  }
69
69
  }
70
70
  /**
71
- * Resolve a connection. In 0.13 this is the only path to the engine — read
72
- * `~/.interf/connection.json` (written by `interf web`) or honor the
73
- * `INTERF_SERVICE_URL` / `INTERF_SERVICE_TOKEN` env overrides.
71
+ * Resolve a connection the only path to the engine. Read
72
+ * `~/.interf/connection.json` (written by `interf runtime`) or honor the
73
+ * `INTERF_SERVICE_URL` / `INTERF_AUTH_TOKEN` env overrides.
74
74
  */
75
75
  export async function findLocalService(options = {}) {
76
76
  void options.timeoutMs;
@@ -80,7 +80,7 @@ function authHeaders(authToken) {
80
80
  return authToken ? { authorization: `Bearer ${authToken}` } : {};
81
81
  }
82
82
  // ─────────────────────────────────────────────────────────────────────────
83
- // Preparation-keyed run submission helpers (0.13)
83
+ // Project-keyed run submission helpers
84
84
  // ─────────────────────────────────────────────────────────────────────────
85
85
  export async function submitBuildRunToLocalService(options) {
86
86
  const connection = await connectOrNull();
@@ -91,7 +91,7 @@ export async function submitBuildRunToLocalService(options) {
91
91
  ...authHeaders(connection.authToken),
92
92
  ...(options.idempotencyKey ? { "x-interf-idempotency-key": options.idempotencyKey } : {}),
93
93
  };
94
- const url = `${connection.serviceUrl}${preparationSubresourcePath(options.preparationId, "buildRuns")}`;
94
+ const url = `${connection.serviceUrl}${projectSubresourcePath(options.projectId, "buildRuns")}`;
95
95
  const resource = BuildRunResourceSchema.parse(await fetchJson(url, {
96
96
  method: "POST",
97
97
  body: JSON.stringify(request),
@@ -107,7 +107,7 @@ export async function submitVerifyRunToLocalService(options) {
107
107
  if (!connection)
108
108
  return null;
109
109
  const request = VerifyRunCreateRequestSchema.parse(options.request);
110
- const url = `${connection.serviceUrl}${preparationSubresourcePath(options.preparationId, "verifyRuns")}`;
110
+ const url = `${connection.serviceUrl}${projectSubresourcePath(options.projectId, "verifyRuns")}`;
111
111
  const resource = VerifyRunResourceSchema.parse(await fetchJson(url, {
112
112
  method: "POST",
113
113
  body: JSON.stringify(request),
@@ -123,7 +123,7 @@ export async function submitResetToLocalService(options) {
123
123
  if (!connection)
124
124
  return null;
125
125
  const request = ResetRequestSchema.parse(options.request);
126
- const url = `${connection.serviceUrl}${preparationSubresourcePath(options.preparationId, "reset")}`;
126
+ const url = `${connection.serviceUrl}${projectSubresourcePath(options.projectId, "reset")}`;
127
127
  const result = ResetResultSchema.parse(await fetchJson(url, {
128
128
  method: "POST",
129
129
  body: JSON.stringify(request),
@@ -186,11 +186,28 @@ function isTerminalRunStatus(status) {
186
186
  return status === "succeeded" || status === "failed" || status === "cancelled";
187
187
  }
188
188
  export async function getLocalBuildRun(options) {
189
- return BuildRunResourceSchema.parse(await fetchJson(`${options.serviceUrl}/v1/build-runs/${encodeURIComponent(options.runId)}`, {
189
+ const headers = authHeaders(options.authToken ?? resolveLocalServiceAuthToken());
190
+ const runValue = await fetchJson(`${options.serviceUrl}/v1/runs/${encodeURIComponent(options.runId)}`, {
190
191
  method: "GET",
191
192
  timeoutMs: 2000,
192
- headers: authHeaders(options.authToken ?? resolveLocalServiceAuthToken()),
193
+ headers,
194
+ });
195
+ const direct = BuildRunResourceSchema.safeParse(runValue);
196
+ if (direct.success)
197
+ return direct.data;
198
+ const observable = RunObservabilityResourceSchema.parse(runValue);
199
+ if (observable.run_type !== "build" || !observable.project) {
200
+ throw new Error(`Run ${options.runId} is not a Build run.`);
201
+ }
202
+ const projectRuns = BuildRunListResponseSchema.parse(await fetchJson(`${options.serviceUrl}/v1/projects/${encodeURIComponent(observable.project)}/runs`, {
203
+ method: "GET",
204
+ timeoutMs: 2000,
205
+ headers,
193
206
  }));
207
+ const run = projectRuns.runs.find((candidate) => candidate.run_id === options.runId);
208
+ if (!run)
209
+ throw new Error(`Build run ${options.runId} was not found in Project ${observable.project}.`);
210
+ return BuildRunResourceSchema.parse({ run });
194
211
  }
195
212
  /**
196
213
  * Ask the local service to cancel a running Build run by id. Resolves
@@ -198,7 +215,7 @@ export async function getLocalBuildRun(options) {
198
215
  * returns 404 (unknown run id) or any non-2xx status.
199
216
  */
200
217
  export async function cancelLocalBuildRun(options) {
201
- const value = await fetchJson(`${options.serviceUrl}/v1/build-runs/${encodeURIComponent(options.runId)}/cancel`, {
218
+ const value = await fetchJson(`${options.serviceUrl}/v1/runs/${encodeURIComponent(options.runId)}/cancel`, {
202
219
  method: "POST",
203
220
  timeoutMs: options.timeoutMs ?? 2000,
204
221
  headers: authHeaders(options.authToken ?? resolveLocalServiceAuthToken()),
@@ -294,12 +311,12 @@ function resultError(job, defaultMessage) {
294
311
  }
295
312
  return job.error ?? defaultMessage;
296
313
  }
297
- export async function submitReadinessCheckDraftToLocalService(options) {
314
+ export async function submitBenchmarkQuestionDraftToLocalService(options) {
298
315
  const connection = await connectOrNull();
299
316
  if (!connection)
300
317
  return null;
301
- const request = ReadinessCheckDraftCreateRequestSchema.parse(options.request);
302
- const initialJob = LocalJobRunResourceSchema.parse(await fetchJson(`${connection.serviceUrl}${preparationSubresourcePath(options.preparationId, "readinessCheckDrafts")}`, {
318
+ const request = BenchmarkQuestionDraftCreateRequestSchema.parse(options.request);
319
+ const initialJob = LocalJobRunResourceSchema.parse(await fetchJson(`${connection.serviceUrl}${projectSubresourcePath(options.projectId, "benchmarkQuestionDrafts")}`, {
303
320
  method: "POST",
304
321
  body: JSON.stringify(request),
305
322
  headers: authHeaders(connection.authToken),
@@ -319,16 +336,16 @@ export async function submitReadinessCheckDraftToLocalService(options) {
319
336
  serviceUrl: connection.serviceUrl,
320
337
  job,
321
338
  result: null,
322
- error: resultError(job, "Drafting readiness checks failed in the local Interf service."),
339
+ error: resultError(job, "Drafting benchmark questions failed in the local Interf service."),
323
340
  };
324
341
  }
325
- const parsed = ReadinessCheckDraftResultSchema.safeParse(job.result);
342
+ const parsed = BenchmarkQuestionDraftResultSchema.safeParse(job.result);
326
343
  if (!parsed.success) {
327
344
  return {
328
345
  serviceUrl: connection.serviceUrl,
329
346
  job,
330
347
  result: null,
331
- error: "Drafting readiness checks finished without a valid result.",
348
+ error: "Drafting benchmark questions finished without a valid result.",
332
349
  };
333
350
  }
334
351
  return {
@@ -342,7 +359,7 @@ export async function submitBuildPlanAuthoringRunToLocalService(options) {
342
359
  if (!connection)
343
360
  return null;
344
361
  const request = BuildPlanAuthoringCreateRequestSchema.parse(options.request);
345
- const initialJob = LocalJobRunResourceSchema.parse(await fetchJson(`${connection.serviceUrl}${preparationSubresourcePath(options.preparationId, "buildPlanDraftRuns")}`, {
362
+ const initialJob = LocalJobRunResourceSchema.parse(await fetchJson(`${connection.serviceUrl}${projectSubresourcePath(options.projectId, "buildPlanDraftRuns")}`, {
346
363
  method: "POST",
347
364
  body: JSON.stringify(request),
348
365
  headers: authHeaders(connection.authToken),
@@ -2,8 +2,9 @@
2
2
  * Single CLI connection record at `~/.interf/connection.json`.
3
3
  *
4
4
  * The CLI is a thin authorized client of one connected instance. Switch by
5
- * starting `interf web` (writes a local connection), `interf login` (writes a
6
- * remote connection), or by passing `--url` / env vars to override per-call.
5
+ * starting `interf runtime` (writes a local connection), `interf login`
6
+ * (writes a remote connection), or by passing `--url` / env vars to override
7
+ * per-call.
7
8
  *
8
9
  * No per-folder pointer files. No registry of multiple connections.
9
10
  */