@interf/compiler 0.22.2 → 0.50.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 (616) hide show
  1. package/README.md +119 -282
  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 -35
  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 +9 -0
  10. package/dist/cli/commands/benchmark.js +58 -0
  11. package/dist/cli/commands/build-plan.js +107 -139
  12. package/dist/cli/commands/build.d.ts +3 -4
  13. package/dist/cli/commands/build.js +16 -45
  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 +344 -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 +4 -2
  20. package/dist/cli/commands/mcp.js +846 -232
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +176 -0
  23. package/dist/cli/commands/reset.d.ts +3 -4
  24. package/dist/cli/commands/reset.js +10 -31
  25. package/dist/cli/commands/runs.js +136 -57
  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 +35 -45
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +97 -0
  32. package/dist/cli/commands/wizard.js +171 -178
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/cli/lib/http-client.d.ts +39 -0
  36. package/dist/cli/lib/http-client.js +73 -0
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.js +2 -2
  39. package/dist/packages/build-plans/authoring/brief.d.ts +538 -0
  40. package/dist/packages/build-plans/authoring/brief.js +89 -0
  41. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +52 -11
  42. package/dist/packages/build-plans/authoring/build-plan-authoring.js +493 -46
  43. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +10 -1
  44. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +27 -4
  45. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  46. package/dist/packages/build-plans/authoring/build-plan-improvement.js +97 -46
  47. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.d.ts +1 -0
  48. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  49. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  50. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  51. package/dist/packages/build-plans/index.d.ts +1 -1
  52. package/dist/packages/build-plans/index.js +1 -1
  53. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -13
  54. package/dist/packages/build-plans/package/build-plan-definitions.js +45 -42
  55. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  56. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  57. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  58. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  59. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +5 -4
  60. package/dist/packages/build-plans/package/build-plan-stage-runner.js +23 -11
  61. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +7 -8
  62. package/dist/packages/build-plans/package/builtin-build-plan.js +10 -11
  63. package/dist/packages/build-plans/package/context-interface.d.ts +14 -9
  64. package/dist/packages/build-plans/package/context-interface.js +14 -33
  65. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  66. package/dist/packages/build-plans/package/interf-build-plan-package.js +68 -64
  67. package/dist/packages/build-plans/package/local-build-plans.d.ts +21 -14
  68. package/dist/packages/build-plans/package/local-build-plans.js +105 -55
  69. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  70. package/dist/packages/contracts/index.d.ts +5 -2
  71. package/dist/packages/contracts/index.js +3 -1
  72. package/dist/packages/contracts/lib/context-graph-layer.d.ts +161 -0
  73. package/dist/packages/contracts/lib/context-graph-layer.js +216 -0
  74. package/dist/packages/contracts/lib/project-paths.d.ts +144 -0
  75. package/dist/packages/contracts/lib/project-paths.js +220 -0
  76. package/dist/packages/contracts/lib/project-schema.d.ts +423 -0
  77. package/dist/packages/contracts/lib/project-schema.js +138 -0
  78. package/dist/packages/contracts/lib/schema.d.ts +1273 -81
  79. package/dist/packages/contracts/lib/schema.js +675 -79
  80. package/dist/packages/contracts/utils/filesystem.d.ts +1 -0
  81. package/dist/packages/contracts/utils/filesystem.js +29 -1
  82. package/dist/packages/contracts/utils/parse.js +67 -0
  83. package/dist/packages/projects/index.d.ts +6 -0
  84. package/dist/packages/{project → projects}/index.js +0 -3
  85. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  86. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  87. package/dist/packages/projects/interf.d.ts +2 -0
  88. package/dist/packages/projects/interf.js +1 -0
  89. package/dist/packages/projects/lib/schema.d.ts +77 -0
  90. package/dist/packages/projects/lib/schema.js +91 -0
  91. package/dist/packages/projects/source-config.d.ts +53 -0
  92. package/dist/packages/projects/source-config.js +339 -0
  93. package/dist/packages/projects/source-folders.d.ts +11 -0
  94. package/dist/packages/{project → projects}/source-folders.js +26 -26
  95. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  96. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  97. package/dist/packages/runtime/action-values.d.ts +1 -0
  98. package/dist/packages/runtime/action-values.js +1 -0
  99. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  100. package/dist/packages/runtime/actions/errors.js +12 -0
  101. package/dist/packages/runtime/actions/fields.d.ts +86 -0
  102. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  103. package/dist/packages/runtime/actions/form-builders.js +667 -0
  104. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  105. package/dist/packages/runtime/actions/form-validators.js +134 -0
  106. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  107. package/dist/packages/runtime/actions/helpers.js +80 -0
  108. package/dist/packages/runtime/actions/index.d.ts +8 -0
  109. package/dist/packages/runtime/actions/index.js +11 -0
  110. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  111. package/dist/packages/runtime/actions/registry.js +62 -0
  112. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  113. package/dist/packages/runtime/actions/requests.js +164 -0
  114. package/dist/packages/runtime/actions/schemas.d.ts +161 -0
  115. package/dist/packages/runtime/actions/schemas.js +37 -0
  116. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  117. package/dist/packages/runtime/agent-handoff.js +102 -0
  118. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  119. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  120. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  121. package/dist/packages/runtime/agents/lib/args.js +24 -0
  122. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  123. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  124. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  125. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  126. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  127. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  128. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +14 -0
  129. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +31 -14
  130. package/dist/packages/{engine → runtime}/agents/lib/execution.js +22 -6
  131. package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +1 -0
  132. package/dist/packages/{engine → runtime}/agents/lib/executors.js +11 -2
  133. package/dist/packages/runtime/agents/lib/logs.d.ts +12 -0
  134. package/dist/packages/runtime/agents/lib/logs.js +41 -0
  135. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +19 -14
  136. package/dist/packages/runtime/agents/lib/render.d.ts +26 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/render.js +48 -22
  138. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  139. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  140. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  141. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  142. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  143. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  144. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  145. package/dist/packages/runtime/agents/lib/shell-templates.js +494 -0
  146. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  147. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  148. package/dist/packages/runtime/agents/lib/shells.d.ts +92 -0
  149. package/dist/packages/runtime/agents/lib/shells.js +509 -0
  150. package/dist/packages/runtime/agents/lib/source-context-scan.d.ts +10 -0
  151. package/dist/packages/runtime/agents/lib/source-context-scan.js +388 -0
  152. package/dist/packages/{engine → runtime}/agents/lib/status.js +1 -14
  153. package/dist/packages/runtime/agents/lib/string-utils.d.ts +16 -0
  154. package/dist/packages/runtime/agents/lib/string-utils.js +36 -0
  155. package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +1 -0
  156. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  157. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  158. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  159. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  160. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  161. package/dist/packages/runtime/agents/providers/codex.js +66 -0
  162. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  163. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  164. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  165. package/dist/packages/runtime/agents/providers/index.js +31 -0
  166. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  167. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  168. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  169. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  170. package/dist/packages/{engine → runtime}/agents/role-executors.js +9 -7
  171. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  172. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  173. package/dist/packages/runtime/auth/account-context.js +68 -0
  174. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  175. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  176. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  177. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  178. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  179. package/dist/packages/runtime/auth/keychain.js +85 -0
  180. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  181. package/dist/packages/runtime/auth/session-store.js +96 -0
  182. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  183. package/dist/packages/runtime/auth/workos-client.js +87 -0
  184. package/dist/packages/runtime/benchmark-question-draft.d.ts +23 -0
  185. package/dist/packages/runtime/benchmark-question-draft.js +153 -0
  186. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  187. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  188. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +6 -6
  189. package/dist/packages/{engine → runtime}/build/artifact-status.js +26 -24
  190. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  191. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  192. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  193. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  194. package/dist/packages/runtime/build/build-evidence.d.ts +16 -0
  195. package/dist/packages/runtime/build/build-evidence.js +179 -0
  196. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  197. package/dist/packages/runtime/build/build-pipeline.js +388 -0
  198. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  199. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  200. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  201. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  202. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  203. package/dist/packages/runtime/build/build-stage-plan.js +101 -0
  204. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  205. package/dist/packages/runtime/build/build-stage-runner.js +302 -0
  206. package/dist/packages/{engine → runtime}/build/build-target.d.ts +7 -4
  207. package/dist/packages/runtime/build/build-target.js +40 -0
  208. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  209. package/dist/packages/runtime/build/check-evaluator.js +1226 -0
  210. package/dist/packages/runtime/build/context-graph-paths.d.ts +64 -0
  211. package/dist/packages/runtime/build/context-graph-paths.js +160 -0
  212. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  213. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  214. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  215. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  216. package/dist/packages/{engine → runtime}/build/index.d.ts +7 -5
  217. package/dist/packages/{engine → runtime}/build/index.js +7 -5
  218. package/dist/packages/runtime/build/inspect-map.d.ts +10 -0
  219. package/dist/packages/runtime/build/inspect-map.js +270 -0
  220. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +449 -123
  221. package/dist/packages/runtime/build/lib/schema.js +494 -0
  222. package/dist/packages/runtime/build/native-entrypoint.d.ts +2 -0
  223. package/dist/packages/runtime/build/native-entrypoint.js +286 -0
  224. package/dist/packages/runtime/build/reset.d.ts +2 -0
  225. package/dist/packages/runtime/build/reset.js +62 -0
  226. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +13 -7
  227. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  228. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  229. package/dist/packages/runtime/build/runtime-log-paths.d.ts +3 -0
  230. package/dist/packages/runtime/build/runtime-log-paths.js +16 -0
  231. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +12 -9
  232. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  233. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  234. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  235. package/dist/packages/runtime/build/runtime-runs.js +318 -0
  236. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +9 -6
  237. package/dist/packages/runtime/build/runtime-types.js +1 -0
  238. package/dist/packages/runtime/build/runtime.d.ts +8 -0
  239. package/dist/packages/runtime/build/runtime.js +7 -0
  240. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  241. package/dist/packages/runtime/build/source-files.js +193 -0
  242. package/dist/packages/runtime/build/source-inventory.d.ts +28 -0
  243. package/dist/packages/runtime/build/source-inventory.js +512 -0
  244. package/dist/packages/runtime/build/source-manifest.d.ts +63 -0
  245. package/dist/packages/runtime/build/source-manifest.js +220 -0
  246. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  247. package/dist/packages/runtime/build/stage-evidence.js +386 -0
  248. package/dist/packages/runtime/build/stage-manifest.d.ts +45 -0
  249. package/dist/packages/runtime/build/stage-manifest.js +1125 -0
  250. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  251. package/dist/packages/runtime/build/stage-reuse.js +154 -0
  252. package/dist/packages/runtime/build/stage-session.d.ts +81 -0
  253. package/dist/packages/runtime/build/stage-session.js +308 -0
  254. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  255. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  256. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  257. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  258. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  259. package/dist/packages/runtime/build/state-io.js +118 -0
  260. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  261. package/dist/packages/runtime/build/state-view.js +121 -0
  262. package/dist/packages/runtime/build/state.d.ts +7 -0
  263. package/dist/packages/runtime/build/state.js +12 -0
  264. package/dist/packages/runtime/build/summary-coverage-index.d.ts +21 -0
  265. package/dist/packages/runtime/build/summary-coverage-index.js +189 -0
  266. package/dist/packages/runtime/build/traces.d.ts +30 -0
  267. package/dist/packages/runtime/build/traces.js +133 -0
  268. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  269. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +49 -36
  270. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  271. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  272. package/dist/packages/{engine → runtime}/client.d.ts +18 -18
  273. package/dist/packages/{engine → runtime}/client.js +48 -36
  274. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  275. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  276. package/dist/packages/runtime/context-checks.d.ts +10 -0
  277. package/dist/packages/runtime/context-checks.js +127 -0
  278. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  279. package/dist/packages/runtime/context-graph-scaffold.js +135 -0
  280. package/dist/packages/runtime/context-graph-semantic-graph.d.ts +9 -0
  281. package/dist/packages/runtime/context-graph-semantic-graph.js +416 -0
  282. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  283. package/dist/packages/runtime/entitlement-guard.js +70 -0
  284. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  285. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  286. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +272 -191
  287. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  288. package/dist/packages/runtime/index.d.ts +29 -0
  289. package/dist/packages/runtime/index.js +21 -0
  290. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  291. package/dist/packages/runtime/instance-paths.js +29 -0
  292. package/dist/packages/runtime/native-run-handlers.d.ts +63 -0
  293. package/dist/packages/{engine → runtime}/native-run-handlers.js +217 -166
  294. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  295. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  296. package/dist/packages/runtime/project-entries.d.ts +11 -0
  297. package/dist/packages/runtime/project-entries.js +49 -0
  298. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  299. package/dist/packages/runtime/project-source-state.js +56 -0
  300. package/dist/packages/runtime/project-store.d.ts +90 -0
  301. package/dist/packages/runtime/project-store.js +195 -0
  302. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  303. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  304. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  305. package/dist/packages/{engine → runtime}/run-observability.js +174 -87
  306. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  307. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  308. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  309. package/dist/packages/runtime/runtime-build-plans.js +175 -0
  310. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  311. package/dist/packages/runtime/runtime-build-runs.js +555 -0
  312. package/dist/packages/runtime/runtime-caches.d.ts +117 -0
  313. package/dist/packages/runtime/runtime-caches.js +266 -0
  314. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  315. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  316. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  317. package/dist/packages/runtime/runtime-executor.js +131 -0
  318. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  319. package/dist/packages/runtime/runtime-jobs.js +463 -0
  320. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  321. package/dist/packages/runtime/runtime-observability.js +39 -0
  322. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  323. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  324. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  325. package/dist/packages/runtime/runtime-project-mutations.js +65 -0
  326. package/dist/packages/runtime/runtime-project-reads.d.ts +18 -0
  327. package/dist/packages/runtime/runtime-project-reads.js +574 -0
  328. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  329. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  330. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +23 -16
  331. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +58 -46
  332. package/dist/packages/runtime/runtime-status.d.ts +14 -0
  333. package/dist/packages/runtime/runtime-status.js +15 -0
  334. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  335. package/dist/packages/runtime/runtime-verify-runs.js +296 -0
  336. package/dist/packages/runtime/runtime.d.ts +1582 -0
  337. package/dist/packages/runtime/runtime.js +431 -0
  338. package/dist/packages/runtime/schemas/actions.d.ts +1206 -0
  339. package/dist/packages/runtime/schemas/actions.js +117 -0
  340. package/dist/packages/runtime/schemas/agents.d.ts +104 -0
  341. package/dist/packages/runtime/schemas/agents.js +74 -0
  342. package/dist/packages/runtime/schemas/build-plans.d.ts +1132 -0
  343. package/dist/packages/runtime/schemas/build-plans.js +141 -0
  344. package/dist/packages/runtime/schemas/context-graphs.d.ts +1522 -0
  345. package/dist/packages/runtime/schemas/context-graphs.js +110 -0
  346. package/dist/packages/runtime/schemas/files.d.ts +227 -0
  347. package/dist/packages/runtime/schemas/files.js +28 -0
  348. package/dist/packages/runtime/schemas/index.d.ts +9 -0
  349. package/dist/packages/runtime/schemas/index.js +13 -0
  350. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  351. package/dist/packages/runtime/schemas/instance.js +143 -0
  352. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  353. package/dist/packages/runtime/schemas/jobs.js +107 -0
  354. package/dist/packages/runtime/schemas/projects.d.ts +366 -0
  355. package/dist/packages/runtime/schemas/projects.js +160 -0
  356. package/dist/packages/runtime/schemas/runs.d.ts +3445 -0
  357. package/dist/packages/runtime/schemas/runs.js +115 -0
  358. package/dist/packages/runtime/service/index.d.ts +3 -0
  359. package/dist/packages/runtime/service/index.js +3 -0
  360. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  361. package/dist/packages/runtime/service/openapi.js +118 -0
  362. package/dist/packages/runtime/service/operations.d.ts +3011 -0
  363. package/dist/packages/runtime/service/operations.js +375 -0
  364. package/dist/packages/runtime/service/routes.d.ts +114 -0
  365. package/dist/packages/runtime/service/routes.js +128 -0
  366. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  367. package/dist/packages/runtime/service/server-api-files.js +85 -0
  368. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  369. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  370. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  371. package/dist/packages/runtime/service/server-guards.js +181 -0
  372. package/dist/packages/runtime/service/server-helpers.d.ts +38 -0
  373. package/dist/packages/runtime/service/server-helpers.js +108 -0
  374. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  375. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  376. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  377. package/dist/packages/runtime/service/server-routes-action-proposals.js +45 -0
  378. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  379. package/dist/packages/runtime/service/server-routes-agents.js +132 -0
  380. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  381. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  382. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  383. package/dist/packages/runtime/service/server-routes-build-plans.js +86 -0
  384. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  385. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  386. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  387. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  388. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  389. package/dist/packages/runtime/service/server-routes-project-context.js +287 -0
  390. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  391. package/dist/packages/runtime/service/server-routes-project-jobs.js +137 -0
  392. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  393. package/dist/packages/runtime/service/server-routes-project-runs.js +88 -0
  394. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  395. package/dist/packages/runtime/service/server-routes-projects.js +96 -0
  396. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  397. package/dist/packages/runtime/service/server-routes-runs.js +119 -0
  398. package/dist/packages/runtime/service/server.d.ts +37 -0
  399. package/dist/packages/runtime/service/server.js +300 -0
  400. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  401. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  402. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  403. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  404. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  405. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  406. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  407. package/dist/packages/{engine → runtime}/verify/lib/schema.js +38 -18
  408. package/dist/packages/runtime/verify/test-file-guard.d.ts +2 -0
  409. package/dist/packages/runtime/verify/test-file-guard.js +29 -0
  410. package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +7 -0
  411. package/dist/packages/{engine → runtime}/verify/verify-execution.js +119 -45
  412. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +5 -4
  413. package/dist/packages/runtime/verify/verify-paths.js +65 -0
  414. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  415. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  416. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  417. package/dist/packages/runtime/verify/verify-specs.js +126 -0
  418. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  419. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  420. package/dist/packages/runtime/verify/verify-types.js +1 -0
  421. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  422. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  423. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  424. package/dist/packages/runtime/wire-schemas.js +27 -0
  425. package/package.json +32 -30
  426. package/public-repo/CONTRIBUTING.md +16 -18
  427. package/public-repo/README.md +119 -282
  428. package/public-repo/SECURITY.md +3 -4
  429. package/public-repo/build-plans/interf-default/README.md +24 -16
  430. package/public-repo/build-plans/interf-default/build/stages/entrypoint/SKILL.md +74 -0
  431. package/public-repo/build-plans/interf-default/build/stages/knowledge/SKILL.md +95 -0
  432. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +49 -4
  433. package/public-repo/build-plans/interf-default/build-plan.json +49 -39
  434. package/public-repo/build-plans/interf-default/build-plan.schema.json +59 -33
  435. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  436. package/public-repo/build-plans/interf-default/use/query/SKILL.md +18 -11
  437. package/public-repo/openapi/local-service.openapi.json +14227 -0
  438. package/public-repo/skills/interf/SKILL.md +508 -187
  439. package/dist/cli/commands/prep.d.ts +0 -2
  440. package/dist/cli/commands/prep.js +0 -240
  441. package/dist/cli/commands/test.d.ts +0 -10
  442. package/dist/cli/commands/test.js +0 -85
  443. package/dist/cli/commands/web.d.ts +0 -2
  444. package/dist/cli/commands/web.js +0 -286
  445. package/dist/interf-ui/404.html +0 -1
  446. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  447. package/dist/interf-ui/__next._full.txt +0 -20
  448. package/dist/interf-ui/__next._head.txt +0 -5
  449. package/dist/interf-ui/__next._index.txt +0 -5
  450. package/dist/interf-ui/__next._tree.txt +0 -5
  451. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  452. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  453. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
  454. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  455. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  456. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  457. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  458. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  459. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  460. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  461. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  462. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  463. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  464. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  465. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  466. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  467. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  468. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  469. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  470. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  471. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  472. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  473. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  474. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  475. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  476. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  477. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  478. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  479. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  480. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  481. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  482. package/dist/interf-ui/_not-found.html +0 -1
  483. package/dist/interf-ui/_not-found.txt +0 -15
  484. package/dist/interf-ui/index.html +0 -1
  485. package/dist/interf-ui/index.txt +0 -20
  486. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  487. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  488. package/dist/packages/engine/action-definitions.d.ts +0 -407
  489. package/dist/packages/engine/action-definitions.js +0 -1158
  490. package/dist/packages/engine/action-values.d.ts +0 -1
  491. package/dist/packages/engine/action-values.js +0 -1
  492. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  493. package/dist/packages/engine/agents/lib/args.js +0 -52
  494. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  495. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  496. package/dist/packages/engine/agents/lib/constants.js +0 -28
  497. package/dist/packages/engine/agents/lib/logs.d.ts +0 -2
  498. package/dist/packages/engine/agents/lib/logs.js +0 -17
  499. package/dist/packages/engine/agents/lib/render.d.ts +0 -8
  500. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  501. package/dist/packages/engine/agents/lib/schema.js +0 -7
  502. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  503. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  504. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  505. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  506. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  507. package/dist/packages/engine/build/build-pipeline.js +0 -175
  508. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  509. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  510. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  511. package/dist/packages/engine/build/build-stage-plan.js +0 -100
  512. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  513. package/dist/packages/engine/build/build-target.js +0 -16
  514. package/dist/packages/engine/build/check-evaluator.js +0 -298
  515. package/dist/packages/engine/build/lib/schema.js +0 -316
  516. package/dist/packages/engine/build/reset.d.ts +0 -2
  517. package/dist/packages/engine/build/reset.js +0 -74
  518. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  519. package/dist/packages/engine/build/runtime-paths.d.ts +0 -8
  520. package/dist/packages/engine/build/runtime-paths.js +0 -26
  521. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  522. package/dist/packages/engine/build/runtime-runs.js +0 -224
  523. package/dist/packages/engine/build/runtime.d.ts +0 -5
  524. package/dist/packages/engine/build/runtime.js +0 -4
  525. package/dist/packages/engine/build/source-files.d.ts +0 -46
  526. package/dist/packages/engine/build/source-files.js +0 -149
  527. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  528. package/dist/packages/engine/build/state-artifacts.js +0 -14
  529. package/dist/packages/engine/build/state-health.d.ts +0 -4
  530. package/dist/packages/engine/build/state-io.d.ts +0 -11
  531. package/dist/packages/engine/build/state-io.js +0 -82
  532. package/dist/packages/engine/build/state-paths.d.ts +0 -5
  533. package/dist/packages/engine/build/state-paths.js +0 -16
  534. package/dist/packages/engine/build/state-view.d.ts +0 -5
  535. package/dist/packages/engine/build/state-view.js +0 -94
  536. package/dist/packages/engine/build/state.d.ts +0 -7
  537. package/dist/packages/engine/build/state.js +0 -12
  538. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  539. package/dist/packages/engine/build/validate-helpers.js +0 -41
  540. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  541. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  542. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  543. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  544. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  545. package/dist/packages/engine/cloud-seams.js +0 -84
  546. package/dist/packages/engine/index.d.ts +0 -22
  547. package/dist/packages/engine/index.js +0 -15
  548. package/dist/packages/engine/instance-paths.d.ts +0 -106
  549. package/dist/packages/engine/instance-paths.js +0 -171
  550. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  551. package/dist/packages/engine/lib/schema.js +0 -730
  552. package/dist/packages/engine/native-run-handlers.d.ts +0 -25
  553. package/dist/packages/engine/preparation-store.d.ts +0 -105
  554. package/dist/packages/engine/preparation-store.js +0 -213
  555. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  556. package/dist/packages/engine/readiness-check-draft.js +0 -111
  557. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  558. package/dist/packages/engine/routes.d.ts +0 -85
  559. package/dist/packages/engine/routes.js +0 -99
  560. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  561. package/dist/packages/engine/runtime-caches.js +0 -191
  562. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  563. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  564. package/dist/packages/engine/runtime.d.ts +0 -371
  565. package/dist/packages/engine/runtime.js +0 -2463
  566. package/dist/packages/engine/server.d.ts +0 -58
  567. package/dist/packages/engine/server.js +0 -1399
  568. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  569. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  570. package/dist/packages/engine/verify/verify-paths.js +0 -61
  571. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  572. package/dist/packages/engine/verify/verify-specs.js +0 -114
  573. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  574. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  575. package/dist/packages/engine/wire-schemas.js +0 -59
  576. package/dist/packages/project/index.d.ts +0 -9
  577. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  578. package/dist/packages/project/interf-bootstrap.js +0 -1
  579. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  580. package/dist/packages/project/interf-scaffold.js +0 -136
  581. package/dist/packages/project/interf.d.ts +0 -4
  582. package/dist/packages/project/interf.js +0 -3
  583. package/dist/packages/project/lib/schema.d.ts +0 -328
  584. package/dist/packages/project/lib/schema.js +0 -136
  585. package/dist/packages/project/preparation-entries.d.ts +0 -11
  586. package/dist/packages/project/preparation-entries.js +0 -49
  587. package/dist/packages/project/source-config.d.ts +0 -46
  588. package/dist/packages/project/source-config.js +0 -394
  589. package/dist/packages/project/source-folders.d.ts +0 -11
  590. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +0 -27
  591. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +0 -21
  592. package/public-repo/plugins/README.md +0 -9
  593. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  594. package/public-repo/plugins/interf/.mcp.json +0 -12
  595. package/public-repo/plugins/interf/README.md +0 -32
  596. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  597. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  598. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  599. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  600. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  601. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  602. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  603. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  604. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  605. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  606. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  607. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  608. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  609. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  610. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  611. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  612. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  613. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  614. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  615. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  616. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -0,0 +1,22 @@
1
+ import { type ProjectConfig } from "../projects/lib/schema.js";
2
+ import { type ActionProposalPlanActionType, type ActionProposalResource } from "./schemas/index.js";
3
+ export declare const ACTION_PLANNER_CLARIFICATION_MESSAGE = "I can help with this Interf instance. Ask a question about Interf, or ask me to create a Project, build a Context Graph, run a benchmark, improve a Build Plan, or draft a Build Plan and I will prepare an approval proposal.";
4
+ export type LocalTestMode = "source-files" | "context-graph" | "both";
5
+ export declare function createActionProposalId(): string;
6
+ export declare function sanitizeActionProposalPlan(value: unknown): unknown;
7
+ export declare function stringValue(values: Record<string, unknown> | undefined, key: string): string | null;
8
+ export declare function actionTypeFromValues(values: Record<string, unknown> | undefined): ActionProposalPlanActionType | null;
9
+ export declare function directServiceEndpointForAction(actionType: ActionProposalPlanActionType, options?: {
10
+ project?: string | null;
11
+ }): string | null;
12
+ export declare function numberValue(values: Record<string, unknown> | undefined, key: string): number | null;
13
+ export declare function benchmarkModeFromValues(values: Record<string, unknown> | undefined): LocalTestMode | null;
14
+ export declare function buildPlanIdForProposal(message: string, values: Record<string, unknown> | undefined): string;
15
+ export declare function actionValueBuildPlanIntent(values: Record<string, unknown> | undefined): string | null;
16
+ export declare function buildPlanAuthoringPromptFallback(message: string, buildPlanId: string): string;
17
+ export declare function buildPlanAuthoringHintFromPrompt(prompt: string): string;
18
+ export declare function buildPlanLabelFromId(buildPlanId: string): string;
19
+ export declare function requireSelectedBuildPlan(project: ProjectConfig): string;
20
+ export declare function actionCommandPreview(actionType: ActionProposalResource["action_type"], projectName: string | null, buildPlanId: string | null, values: Record<string, unknown> | undefined): string;
21
+ export declare function hasContextGraphBenchmarkTarget(sourcePath: string, projectConfig: ProjectConfig): boolean;
22
+ export declare function actionAssistantMessage(actionType: ActionProposalResource["action_type"], projectName: string | null, commandPreview: string): string;
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Pure helpers used by the runtime's action-proposal and Build Plan authoring
3
+ * paths. None of these depend on runtime state — they shape strings, parse
4
+ * proposal values, and build CLI previews. Keeping them out of runtime.ts
5
+ * lets the coordinator stay small and means future tests can reach these
6
+ * helpers without booting a runtime.
7
+ */
8
+ import { existsSync } from "node:fs";
9
+ import { asProjectDataDir, projectContextGraphPath, projectRunContextGraphPath, } from "../contracts/lib/project-paths.js";
10
+ import { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, } from "../projects/source-config.js";
11
+ import { createContextGraphTestTarget, } from "./verify/verify-targets.js";
12
+ import { buildPlanAuthoringIntentBrief, BuildPlanAuthoringActionValuesSchema, } from "./action-values.js";
13
+ import { ActionProposalPlanActionTypeSchema, } from "./schemas/index.js";
14
+ export const ACTION_PLANNER_CLARIFICATION_MESSAGE = "I can help with this Interf instance. Ask a question about Interf, or ask me to create a Project, build a Context Graph, run a benchmark, improve a Build Plan, or draft a Build Plan and I will prepare an approval proposal.";
15
+ export function createActionProposalId() {
16
+ return `action_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
17
+ }
18
+ export function sanitizeActionProposalPlan(value) {
19
+ if (!value || typeof value !== "object" || Array.isArray(value))
20
+ return value;
21
+ const plan = { ...value };
22
+ for (const key of ["project", "build_plan", "title", "summary", "assistant_message", "command_preview"]) {
23
+ const current = plan[key];
24
+ if (current === null || current === undefined) {
25
+ delete plan[key];
26
+ continue;
27
+ }
28
+ if (typeof current === "string" && current.trim().length === 0) {
29
+ delete plan[key];
30
+ }
31
+ }
32
+ return plan;
33
+ }
34
+ function slugFromText(value) {
35
+ const slug = value
36
+ .toLowerCase()
37
+ .replace(/[^a-z0-9]+/g, "-")
38
+ .replace(/^-+|-+$/g, "")
39
+ .slice(0, 42)
40
+ .replace(/-+$/g, "");
41
+ return slug || "custom";
42
+ }
43
+ function escapeRegExp(value) {
44
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
45
+ }
46
+ export function stringValue(values, key) {
47
+ const value = values?.[key];
48
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
49
+ }
50
+ export function actionTypeFromValues(values) {
51
+ const explicit = stringValue(values, "action_type") ?? stringValue(values, "service_action");
52
+ if (explicit) {
53
+ const parsed = ActionProposalPlanActionTypeSchema.safeParse(explicit);
54
+ if (parsed.success && parsed.data !== "clarification")
55
+ return parsed.data;
56
+ }
57
+ const action = stringValue(values, "action");
58
+ if (action === "build" || action === "build-run" || action === "run-project")
59
+ return "build";
60
+ if (action === "benchmark" || action === "run-benchmark")
61
+ return "benchmark";
62
+ if (action === "draft-benchmark-questions" || action === "benchmark-question-draft")
63
+ return "benchmark-question-draft";
64
+ if (action === "create-build-plan" || action === "build-plan-draft")
65
+ return "build-plan-draft";
66
+ if (action === "build-plan-duplicate" || action === "build-plan-remove" || action === "build-plan-change")
67
+ return "build-plan-change";
68
+ if (action === "project-remove" || action === "project-change")
69
+ return "project-change";
70
+ if (action === "improve-project" || action === "build-plan-improvement")
71
+ return "build-plan-improvement";
72
+ return null;
73
+ }
74
+ export function directServiceEndpointForAction(actionType, options) {
75
+ const project = options?.project?.trim() || null;
76
+ if (actionType === "project-setup")
77
+ return "/v1/projects";
78
+ if (actionType === "build-plan-change") {
79
+ return project
80
+ ? `/v1/projects/${encodeURIComponent(project)}/build-plan-changes`
81
+ : "/v1/projects/<project>/build-plan-changes";
82
+ }
83
+ if (actionType === "project-change") {
84
+ return project
85
+ ? `/v1/projects/${encodeURIComponent(project)}`
86
+ : "/v1/projects/<project>";
87
+ }
88
+ return null;
89
+ }
90
+ export function numberValue(values, key) {
91
+ const value = values?.[key];
92
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
93
+ }
94
+ export function benchmarkModeFromValues(values) {
95
+ const value = stringValue(values, "mode") ?? stringValue(values, "target");
96
+ return value === "source-files" || value === "context-graph" || value === "both" ? value : null;
97
+ }
98
+ export function buildPlanIdForProposal(message, values) {
99
+ const explicit = stringValue(values, "build_plan_id") ??
100
+ stringValue(values, "build_plan");
101
+ const fromMessage = message.match(/\b(?:create|reate|eate|draft|author|build|make)\s+(?:a\s+new\s+)?(?:interf\s+)?build\s+plan\s+([a-z0-9][a-z0-9-]{0,79})\b/i)?.[1];
102
+ return explicit ?? fromMessage ?? `custom-${slugFromText(message)}`;
103
+ }
104
+ export function actionValueBuildPlanIntent(values) {
105
+ const parsed = BuildPlanAuthoringActionValuesSchema.safeParse(values);
106
+ return parsed.success ? buildPlanAuthoringIntentBrief(parsed.data) : null;
107
+ }
108
+ const BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION = /Use the attached values as the Build Plan authoring request before proposing the action\.?/gi;
109
+ const BUILD_PLAN_AUTHORING_LABELS = [
110
+ "Intent",
111
+ "Context Graph output",
112
+ "Coverage",
113
+ "Ready When",
114
+ "CLI preview",
115
+ ];
116
+ function normalizeBuildPlanAuthoringText(value) {
117
+ return value
118
+ .replace(/[│]+/g, " ")
119
+ .replace(BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION, " ")
120
+ .replace(/\s+/g, " ")
121
+ .trim();
122
+ }
123
+ function extractBuildPlanAuthoringSection(value, label) {
124
+ const otherLabels = BUILD_PLAN_AUTHORING_LABELS
125
+ .filter((candidate) => candidate !== label)
126
+ .map(escapeRegExp)
127
+ .join("|");
128
+ const match = value.match(new RegExp(`${escapeRegExp(label)}\\s*:\\s*([\\s\\S]*?)(?=\\s*(?:${otherLabels})\\s*:|$)`, "i"));
129
+ return match?.[1] ? normalizeBuildPlanAuthoringText(match[1]) : null;
130
+ }
131
+ function stripBuildPlanCommandPrefix(value, buildPlanId) {
132
+ const specific = new RegExp(`^(?:create|reate|eate|draft|author|build|make)\\s+(?:a\\s+new\\s+)?(?:interf\\s+)?build\\s+plan\\s+${escapeRegExp(buildPlanId)}\\.?\\s*`, "i");
133
+ const generic = /^(?:create|reate|eate|draft|author|build|make)\s+(?:a\s+new\s+)?(?:interf\s+)?build\s+plan\b[^.]{0,180}\.\s*/i;
134
+ const stripped = normalizeBuildPlanAuthoringText(value)
135
+ .replace(specific, "")
136
+ .replace(generic, "")
137
+ .trim();
138
+ return stripped || normalizeBuildPlanAuthoringText(value);
139
+ }
140
+ export function buildPlanAuthoringPromptFallback(message, buildPlanId) {
141
+ const cleaned = message
142
+ .replace(/[│]+/g, " ")
143
+ .replace(BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION, " ")
144
+ .trim();
145
+ const agentWork = extractBuildPlanAuthoringSection(cleaned, "Intent");
146
+ const portableOutput = extractBuildPlanAuthoringSection(cleaned, "Context Graph output");
147
+ const coverageNotes = extractBuildPlanAuthoringSection(cleaned, "Coverage") ??
148
+ extractBuildPlanAuthoringSection(cleaned, "Ready When");
149
+ const lines = [
150
+ agentWork ? `Intent: ${stripBuildPlanCommandPrefix(agentWork, buildPlanId)}` : null,
151
+ portableOutput ? `Context Graph output: ${portableOutput}` : null,
152
+ coverageNotes ? `Coverage: ${coverageNotes}` : null,
153
+ ].filter((line) => Boolean(line));
154
+ if (lines.length > 0)
155
+ return lines.join("\n");
156
+ return stripBuildPlanCommandPrefix(cleaned, buildPlanId);
157
+ }
158
+ export function buildPlanAuthoringHintFromPrompt(prompt) {
159
+ const plain = normalizeBuildPlanAuthoringText(prompt.replace(/\b(?:Intent|Context Graph output|Coverage|Ready When)\s*:/gi, " "));
160
+ if (plain.length <= 180)
161
+ return plain || "Custom Build Plan";
162
+ const clipped = plain.slice(0, 177).replace(/\s+\S*$/, "").trim();
163
+ return `${clipped || plain.slice(0, 177)}...`;
164
+ }
165
+ export function buildPlanLabelFromId(buildPlanId) {
166
+ return buildPlanId
167
+ .split("-")
168
+ .filter(Boolean)
169
+ .map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`)
170
+ .join(" ") || buildPlanId;
171
+ }
172
+ export function requireSelectedBuildPlan(project) {
173
+ const buildPlanId = buildPlanIdForProjectConfig(project);
174
+ if (buildPlanId)
175
+ return buildPlanId;
176
+ throw new Error(`Select a Build Plan for Project "${project.name}" before building it.`);
177
+ }
178
+ export function actionCommandPreview(actionType, projectName, buildPlanId, values) {
179
+ if (actionType === "build") {
180
+ const buildPlanSuffix = buildPlanId ? ` # Build Plan: ${buildPlanId}` : "";
181
+ return projectName
182
+ ? `interf build ${projectName}${buildPlanSuffix}`
183
+ : `interf build${buildPlanSuffix}`;
184
+ }
185
+ if (actionType === "benchmark") {
186
+ const mode = benchmarkModeFromValues(values) ?? "both";
187
+ return projectName
188
+ ? `interf benchmark ${projectName} --target ${mode}`
189
+ : `interf benchmark --target ${mode}`;
190
+ }
191
+ if (actionType === "benchmark-question-draft") {
192
+ return "interf # choose Draft benchmark questions";
193
+ }
194
+ if (actionType === "build-plan-draft" || actionType === "build-plan-improvement") {
195
+ return "interf plan draft";
196
+ }
197
+ return "Try: create a Project, build a Context Graph, run a benchmark, draft benchmark questions, or draft a Build Plan.";
198
+ }
199
+ export function hasContextGraphBenchmarkTarget(sourcePath, projectConfig) {
200
+ const projectDataDir = asProjectDataDir(sourcePath);
201
+ const contextGraphPath = projectConfig.latest_context_graph_run_id
202
+ ? projectRunContextGraphPath(projectDataDir, projectConfig.latest_context_graph_run_id)
203
+ : projectContextGraphPath(projectDataDir, projectConfig.name);
204
+ if (!existsSync(contextGraphPath))
205
+ return false;
206
+ return createContextGraphTestTarget(contextGraphPath, projectConfig.name, buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID).eligible;
207
+ }
208
+ export function actionAssistantMessage(actionType, projectName, commandPreview) {
209
+ const projectSuffix = projectName ? ` for Project "${projectName}"` : "";
210
+ if (actionType === "build") {
211
+ return `Interf prepared a Build proposal${projectSuffix}. Approve to submit it through the local Interf service and watch the run in Interf. CLI equivalent: ${commandPreview}`;
212
+ }
213
+ if (actionType === "benchmark") {
214
+ return `Interf prepared a benchmark/evaluation proposal${projectSuffix}. Approve to run the requested Q&A / fact-check target. CLI equivalent: ${commandPreview}`;
215
+ }
216
+ if (actionType === "benchmark-question-draft") {
217
+ return `Interf prepared a proposal to draft benchmark questions${projectSuffix}. Approve to ask the configured local executor to draft saved Q&A / fact-check evaluation questions as a visible run. CLI equivalent: ${commandPreview}`;
218
+ }
219
+ if (actionType === "build-plan-draft" || actionType === "build-plan-improvement") {
220
+ return `Interf prepared a Build Plan proposal${projectSuffix}. Approve to draft a Build Plan as a visible run. CLI equivalent: ${commandPreview}`;
221
+ }
222
+ return "I could not map that to a safe Interf action. Ask for one action in plain English, such as create a Project, build a Context Graph, run a benchmark, draft benchmark questions, or draft a Build Plan.";
223
+ }
@@ -1,44 +1,47 @@
1
1
  /**
2
2
  * Pure shaping helpers used by the runtime to assemble resource payloads
3
- * (preparations, Build Plans, proof, log paths, readiness summaries) from
3
+ * (projects, Build Plans, evidence, log paths, readiness summaries) from
4
4
  * raw state/run records. No I/O, no `this` — every input is passed in.
5
5
  *
6
6
  * Splitting these out keeps the runtime coordinator focused on
7
7
  * orchestration rather than payload formatting.
8
8
  */
9
- import { type ArtifactRef, type ProofRecord } from "./execution/lib/schema.js";
10
- import { type VerifiableContextState } from "./build/state.js";
11
- import { type RuntimeRun } from "./build/lib/schema.js";
9
+ import { type ArtifactRef, type EvidenceRecord } from "./execution/lib/schema.js";
10
+ import { type ContextGraphState } from "./build/state.js";
11
+ import { type ExecutionStageLedger } from "./build/lib/schema.js";
12
12
  import { type Artifact, type Readiness, type VerifyTargetResult } from "../contracts/lib/schema.js";
13
13
  import { type TestRunTargetSummary } from "./verify/lib/schema.js";
14
- import { type SourcePreparationConfig } from "../project/lib/schema.js";
15
- import { type BuildPlanResource, type PreparationResource } from "./lib/schema.js";
14
+ import { type ProjectConfig } from "../projects/lib/schema.js";
15
+ import { type BuildPlanResource, type ProjectResource } from "./schemas/index.js";
16
16
  export declare function createRunId(prefix: "build" | "verify" | "job"): string;
17
17
  export declare function stageArtifactRefs(stageId: string, artifacts: string[] | undefined): ArtifactRef[];
18
- export declare function proofForStage(options: {
18
+ export declare function evidenceForStage(options: {
19
19
  runId: string;
20
20
  stageId: string;
21
21
  summary?: string | null;
22
- stageState: NonNullable<VerifiableContextState["stages"]>[string];
22
+ stageState: NonNullable<ContextGraphState["stages"]>[string];
23
23
  artifacts: ArtifactRef[];
24
- }): ProofRecord;
25
- export declare function logsForStageRun(stageState: NonNullable<VerifiableContextState["stages"]>[string] | undefined): {
24
+ }): EvidenceRecord;
25
+ export declare function logsForStageRun(stageState: NonNullable<ContextGraphState["stages"]>[string] | undefined): {
26
26
  prompt_path: string;
27
27
  event_stream_path: string;
28
28
  status_path: string;
29
29
  contract_path: string;
30
30
  } | undefined;
31
- export declare function logsForRuntimeRun(run: RuntimeRun | undefined): {
31
+ export declare function logsForExecutionStageLedger(run: ExecutionStageLedger | undefined): {
32
+ evidence_path?: string | undefined;
32
33
  contract_path: string;
33
34
  status_path?: string | undefined;
34
35
  event_stream_path?: string | undefined;
35
36
  prompt_path?: string | undefined;
36
37
  } | undefined;
37
- export declare function passRate(passed: number, total: number): number | null;
38
- export declare function readinessTargetResult(summary: TestRunTargetSummary | null | undefined, currentFingerprint: string | null, readinessRunFingerprint: string | null | undefined): VerifyTargetResult | null;
38
+ export declare function readinessTargetResult(summary: TestRunTargetSummary | null | undefined, currentFingerprint: string | null, benchmarkRunFingerprint: string | null | undefined): VerifyTargetResult | null;
39
39
  export declare function readinessSummaryForStatus(status: Readiness["status"]): string;
40
- export declare function readinessStateToPreparationReadiness(readiness: Readiness): Readiness;
41
- export declare function buildPreparationResource(rootPath: string, preparation: SourcePreparationConfig, readiness: Readiness, latestBuildRunId: string | null, latestTestRunId: string | null, artifacts?: PreparationResource["artifacts"]): PreparationResource;
40
+ export declare function buildProjectResource(project: ProjectConfig, readiness: Readiness, latestRunIds: {
41
+ latestBuildRunId: string | null;
42
+ latestContextGraphBuildRunId: string | null;
43
+ latestTestRunId: string | null;
44
+ }, sourcePath: string, configPath: string, artifacts?: ProjectResource["artifacts"], updatedAt?: string | null): ProjectResource;
42
45
  export declare function buildBuildPlanResource(resource: {
43
46
  id: string;
44
47
  path: string;
@@ -48,10 +51,14 @@ export declare function buildBuildPlanResource(resource: {
48
51
  label: string;
49
52
  taskHint: string;
50
53
  };
54
+ brief?: BuildPlanResource["brief"];
51
55
  inputs?: BuildPlanResource["inputs"];
52
56
  source_kind: "builtin" | "local";
53
57
  built_in: boolean;
54
- active_for_preparations: string[];
58
+ scope: "builtin" | "user" | "local";
59
+ created_at?: string | null;
60
+ updated_at?: string | null;
61
+ active_for_projects: string[];
55
62
  artifacts: Artifact[];
56
63
  stages: BuildPlanResource["stages"];
57
64
  }): BuildPlanResource;
@@ -1,6 +1,6 @@
1
- import { ReadinessSchema, } from "../contracts/lib/schema.js";
2
- import { buildPlanIdForSourcePreparationConfig, resolveSourcePreparationPath, } from "../project/source-config.js";
3
- import { BuildPlanResourceSchema, PreparationResourceSchema, } from "./lib/schema.js";
1
+ import { buildPlanIdForProjectConfig, } from "../projects/source-config.js";
2
+ import { BuildPlanResourceSchema, } from "./schemas/index.js";
3
+ import { buildPlanContextChecks, } from "./context-checks.js";
4
4
  export function createRunId(prefix) {
5
5
  return `${prefix}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
6
6
  }
@@ -12,9 +12,9 @@ export function stageArtifactRefs(stageId, artifacts) {
12
12
  label: path,
13
13
  }));
14
14
  }
15
- export function proofForStage(options) {
15
+ export function evidenceForStage(options) {
16
16
  return {
17
- id: `${options.runId}-${options.stageId}-proof`,
17
+ id: `${options.runId}-${options.stageId}-evidence`,
18
18
  run_id: options.runId,
19
19
  stage_id: options.stageId,
20
20
  generated_at: options.stageState.finished_at ?? new Date().toISOString(),
@@ -52,7 +52,7 @@ export function logsForStageRun(stageState) {
52
52
  contract_path: `.interf/runtime/logs/${runId}.stage-contract.json`,
53
53
  };
54
54
  }
55
- export function logsForRuntimeRun(run) {
55
+ export function logsForExecutionStageLedger(run) {
56
56
  if (!run)
57
57
  return undefined;
58
58
  return {
@@ -60,17 +60,18 @@ export function logsForRuntimeRun(run) {
60
60
  ...(run.logs?.event_stream_path ? { event_stream_path: run.logs.event_stream_path } : {}),
61
61
  ...(run.logs?.status_path ? { status_path: run.logs.status_path } : {}),
62
62
  contract_path: run.contract_path,
63
+ ...(run.evidence_path ? { evidence_path: run.evidence_path } : {}),
63
64
  };
64
65
  }
65
- export function passRate(passed, total) {
66
+ function passRate(passed, total) {
66
67
  if (total <= 0)
67
68
  return null;
68
69
  return Math.round((passed / total) * 100);
69
70
  }
70
- export function readinessTargetResult(summary, currentFingerprint, readinessRunFingerprint) {
71
+ export function readinessTargetResult(summary, currentFingerprint, benchmarkRunFingerprint) {
71
72
  if (!summary)
72
73
  return null;
73
- const resultFingerprint = readinessRunFingerprint ?? null;
74
+ const resultFingerprint = benchmarkRunFingerprint ?? null;
74
75
  return {
75
76
  passed: summary.passed_cases,
76
77
  total: summary.total_cases,
@@ -83,64 +84,70 @@ export function readinessTargetResult(summary, currentFingerprint, readinessRunF
83
84
  }
84
85
  export function readinessSummaryForStatus(status) {
85
86
  if (status === "ready")
86
- return "Ready for agent work.";
87
+ return "Ready for agent task.";
87
88
  if (status === "not-ready")
88
- return "Artifact or readiness checks did not pass.";
89
+ return "Context Graph is missing required coverage for the agent task.";
89
90
  if (status === "stale")
90
- return "Readiness checks are stale for the current saved checks.";
91
+ return "Benchmark result is stale saved checks have changed since.";
91
92
  if (status === "checking")
92
- return "Readiness checks are running.";
93
+ return "Benchmark checks are running.";
93
94
  if (status === "building")
94
- return "Verifiable context is building.";
95
+ return "Build is in progress.";
95
96
  if (status === "built")
96
- return "Verifiable context is built; readiness has not been proven yet.";
97
+ return "Context Graph is built; benchmark checks have not run yet.";
97
98
  if (status === "not-built")
98
- return "Verifiable context has not been built yet.";
99
+ return "Context Graph has not been built yet.";
99
100
  if (status === "not-configured")
100
- return "No checks are configured.";
101
- return "Latest preparation failed.";
101
+ return "Context Graph preparation is not configured.";
102
+ return "Latest Build failed.";
102
103
  }
103
- export function readinessStateToPreparationReadiness(readiness) {
104
- return ReadinessSchema.parse({
105
- ...readiness,
106
- checks: readiness.checks.map((check) => ({ ...check })),
107
- });
108
- }
109
- export function buildPreparationResource(rootPath, preparation, readiness, latestBuildRunId, latestTestRunId, artifacts = []) {
110
- const buildPlanId = buildPlanIdForSourcePreparationConfig(preparation);
111
- return PreparationResourceSchema.parse({
112
- id: preparation.name,
113
- name: preparation.name,
114
- preparation,
115
- source_path: resolveSourcePreparationPath(rootPath, preparation),
104
+ export function buildProjectResource(project, readiness, latestRunIds, sourcePath, configPath, artifacts = [], updatedAt = null) {
105
+ const buildPlanId = buildPlanIdForProjectConfig(project);
106
+ const { latestBuildRunId, latestContextGraphBuildRunId, latestTestRunId, } = latestRunIds;
107
+ // Inputs are already contract-typed (ProjectConfig, Readiness, ArtifactStatus[]),
108
+ // so re-parsing the assembled object through ProjectResourceSchema can't catch
109
+ // any error the type checker doesn't already catch. Return a typed literal.
110
+ return {
111
+ id: project.name,
112
+ name: project.name,
113
+ source: {
114
+ kind: "local-folder",
115
+ locator: sourcePath,
116
+ },
117
+ intent: project.intent ?? "",
118
+ config: project,
119
+ config_path: configPath,
120
+ source_path: sourcePath,
121
+ updated_at: updatedAt,
116
122
  build_plan_id: buildPlanId,
117
- checks: preparation.checks,
118
- requested_artifacts: preparation.requested_artifacts ?? [],
119
- source_profile: preparation.source_profile ?? null,
120
- verifiable_context: {
121
- preparation: preparation.name,
122
- path: readiness.verifiable_context_path,
123
- exists: readiness.verifiable_context_path !== null,
123
+ context_graph: {
124
+ project: project.name,
125
+ path: readiness.context_graph_path,
126
+ exists: readiness.context_graph_path !== null,
127
+ intent: project.intent ?? "",
124
128
  build_plan_id: buildPlanId,
125
- latest_build_run_id: latestBuildRunId,
126
- latest_test_run_id: latestTestRunId,
129
+ latest_build_run_id: latestContextGraphBuildRunId,
130
+ latest_benchmark_run_id: latestTestRunId,
127
131
  },
128
- verifiable_context_path: readiness.verifiable_context_path,
129
- readiness: readinessStateToPreparationReadiness(readiness),
132
+ context_graph_path: readiness.context_graph_path,
133
+ readiness,
130
134
  runs: {
131
135
  latest_build_run_id: latestBuildRunId,
132
- latest_test_run_id: latestTestRunId,
136
+ latest_benchmark_run_id: latestTestRunId,
133
137
  },
134
138
  latest_build_run_id: latestBuildRunId,
135
- latest_test_run_id: latestTestRunId,
139
+ latest_benchmark_run_id: latestTestRunId,
136
140
  artifacts,
137
- });
141
+ };
138
142
  }
139
143
  export function buildBuildPlanResource(resource) {
140
144
  return BuildPlanResourceSchema.parse({
141
145
  id: resource.id,
142
146
  build_plan_id: resource.id,
143
147
  path: resource.path,
148
+ scope: resource.scope,
149
+ created_at: resource.created_at ?? null,
150
+ updated_at: resource.updated_at ?? null,
144
151
  ...(resource.label ? { label: resource.label } : {}),
145
152
  ...(resource.hint ? { hint: resource.hint } : {}),
146
153
  ...(resource.purpose
@@ -151,10 +158,15 @@ export function buildBuildPlanResource(resource) {
151
158
  },
152
159
  }
153
160
  : {}),
161
+ ...(resource.brief ? { brief: resource.brief } : {}),
154
162
  inputs: resource.inputs ?? [],
155
163
  source_kind: resource.source_kind,
156
164
  built_in: resource.built_in,
157
- active_for_preparations: resource.active_for_preparations,
165
+ active_for_projects: resource.active_for_projects,
166
+ context_checks: buildPlanContextChecks({
167
+ brief: resource.brief ?? null,
168
+ artifacts: resource.artifacts,
169
+ }),
158
170
  artifacts: resource.artifacts,
159
171
  stages: resource.stages,
160
172
  });
@@ -0,0 +1,14 @@
1
+ import type { LocalJobStatus } from "./schemas/jobs.js";
2
+ /**
3
+ * Single source of truth for the terminal-status three-state check.
4
+ *
5
+ * A Run/Job is terminal when it has reached `succeeded`, `failed`, or
6
+ * `cancelled` — the same set across every record model (LocalJobRun,
7
+ * BuildRun, VerifyRun), all of which share the canonical run-status enum
8
+ * (`RunStatusSchema` in `schemas/jobs.ts`, re-aliased as
9
+ * `BuildRunStatusSchema`/`VerifyRunStatusSchema`).
10
+ *
11
+ * Accepts a plain `string` so callers that only have a wire-level status
12
+ * string can reuse the same predicate without re-implementing it.
13
+ */
14
+ export declare function isTerminalStatus(status: LocalJobStatus | string): boolean;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Single source of truth for the terminal-status three-state check.
3
+ *
4
+ * A Run/Job is terminal when it has reached `succeeded`, `failed`, or
5
+ * `cancelled` — the same set across every record model (LocalJobRun,
6
+ * BuildRun, VerifyRun), all of which share the canonical run-status enum
7
+ * (`RunStatusSchema` in `schemas/jobs.ts`, re-aliased as
8
+ * `BuildRunStatusSchema`/`VerifyRunStatusSchema`).
9
+ *
10
+ * Accepts a plain `string` so callers that only have a wire-level status
11
+ * string can reuse the same predicate without re-implementing it.
12
+ */
13
+ export function isTerminalStatus(status) {
14
+ return status === "succeeded" || status === "failed" || status === "cancelled";
15
+ }
@@ -0,0 +1,84 @@
1
+ import { type ResolvedRegistry } from "./agents/registry.js";
2
+ import { type VerifyRunResource } from "./schemas/index.js";
3
+ import type { InterfRunEvent } from "./execution/lib/schema.js";
4
+ import type { Readiness } from "../contracts/lib/schema.js";
5
+ import type { LocalServiceRuntime } from "./runtime.js";
6
+ export declare function benchmarkFanoutAgentNames(registry: Pick<ResolvedRegistry, "agents">): string[];
7
+ export declare function latestTopLevelVerifyRun(runs: VerifyRunResource[]): VerifyRunResource | null;
8
+ export declare function summarizeVerifyBatch(childRunIds: string[], children: VerifyRunResource[]): NonNullable<VerifyRunResource["batch"]>;
9
+ export declare function listVerifyRuns(runtime: LocalServiceRuntime, projectDataDir: string): VerifyRunResource[];
10
+ export declare function listVerifyRunsForProject(runtime: LocalServiceRuntime, projectDataDir: string, projectName: string): VerifyRunResource[];
11
+ export declare function getVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, runId: string): VerifyRunResource | null;
12
+ export declare function createVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, requestValue: unknown): Promise<VerifyRunResource>;
13
+ export declare function createVerifyRunForRegistry(runtime: LocalServiceRuntime, projectDataDir: string, requestValue: unknown, registry: Pick<ResolvedRegistry, "agents">): Promise<VerifyRunResource>;
14
+ export declare function writeVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, contextGraphPath: string, run: VerifyRunResource): void;
15
+ export declare function readLatestBenchmarkRun(projectDataDir: string, projectName: string): {
16
+ kind: "interf-benchmark-run";
17
+ version: 1;
18
+ generated_at: string;
19
+ mode: "source-files" | "context-graph" | "both";
20
+ source_path: string;
21
+ project: {
22
+ name: string;
23
+ context_graph_path: string | null;
24
+ };
25
+ source_files: {
26
+ label: string;
27
+ run_path: string;
28
+ ok: boolean;
29
+ passed_cases: number;
30
+ total_cases: number;
31
+ passed_checks: number;
32
+ total_checks: number;
33
+ source_usage: "unknown" | "source-baseline" | "graph-only" | "graph-source-verified";
34
+ target: {
35
+ type: "source-files" | "context-graph";
36
+ name: string;
37
+ path: string;
38
+ build_plan: string;
39
+ };
40
+ executor?: {
41
+ kind: "local-agent" | "connected-provider" | "managed";
42
+ name: string;
43
+ display_name: string;
44
+ command: string | null;
45
+ model?: string | null | undefined;
46
+ effort?: string | null | undefined;
47
+ profile?: string | null | undefined;
48
+ timeout_ms?: number | null | undefined;
49
+ } | null | undefined;
50
+ } | null;
51
+ context_graph: {
52
+ label: string;
53
+ run_path: string;
54
+ ok: boolean;
55
+ passed_cases: number;
56
+ total_cases: number;
57
+ passed_checks: number;
58
+ total_checks: number;
59
+ source_usage: "unknown" | "source-baseline" | "graph-only" | "graph-source-verified";
60
+ target: {
61
+ type: "source-files" | "context-graph";
62
+ name: string;
63
+ path: string;
64
+ build_plan: string;
65
+ };
66
+ executor?: {
67
+ kind: "local-agent" | "connected-provider" | "managed";
68
+ name: string;
69
+ display_name: string;
70
+ command: string | null;
71
+ model?: string | null | undefined;
72
+ effort?: string | null | undefined;
73
+ profile?: string | null | undefined;
74
+ timeout_ms?: number | null | undefined;
75
+ } | null | undefined;
76
+ } | null;
77
+ summary: {
78
+ source_files_pass_rate: number | null;
79
+ context_graph_pass_rate: number | null;
80
+ };
81
+ checks_fingerprint?: string | undefined;
82
+ } | null;
83
+ export declare function checksEvaluatedEvent(runId: string, benchmarkRun: NonNullable<ReturnType<typeof readLatestBenchmarkRun>>): InterfRunEvent;
84
+ export declare function readinessUpdatedEvent(runId: string, project: string, readiness: Readiness): InterfRunEvent;