@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
@@ -1,54 +1,26 @@
1
1
  /**
2
- * `interf build-plan` — manage Build Plans on the connected instance.
2
+ * `interf plan` — manage Build Plans on the connected instance.
3
3
  *
4
- * interf build-plan list # list Build Plans
5
- * interf build-plan show <build-plan-id> # show a Build Plan summary
6
- * interf build-plan select <prep-id> <id> # select a Build Plan for a Preparation
7
- * interf build-plan save <path-or-id> # save/promote a reusable Build Plan
8
- * interf build-plan draft <prep-id> # start a Build Plan draft run
9
- * interf build-plan improve <prep-id> # start a Build Plan improvement run
4
+ * interf plan list # list Build Plans
5
+ * interf plan show <plan-id> # show a Build Plan summary
6
+ * interf plan select <project-id> <id> # select a Build Plan for a Project
7
+ * interf plan save <path-or-id> # save/promote a reusable Build Plan
8
+ * interf plan draft <project-id> # start a Build Plan draft run
9
+ * interf plan improve <project-id> # start a Build Plan improvement run
10
+ *
11
+ * The command name stays short for CLI ergonomics; user-facing copy says
12
+ * Build Plan.
10
13
  */
11
14
  import chalk from "chalk";
12
15
  import { resolve } from "node:path";
13
- import { CONNECT_OR_ERROR_HINT, readActiveConnection } from "../../packages/engine/connection-config.js";
14
- import { buildPlanResourcePath, preparationResourcePath, preparationSubresourcePath, } from "../../packages/engine/routes.js";
15
- import { BuildPlanAuthoringArtifactRequirementSchema, } from "../../packages/engine/lib/schema.js";
16
- import { artifactRequirementsFromRequestedArtifacts, formatRequestedArtifactsForPrompt, } from "../../packages/engine/requested-artifacts.js";
16
+ import { callJson, resolveConnection } from "../lib/http-client.js";
17
+ import { buildPlanResourcePath, projectResourcePath, projectSubresourcePath, } from "../../packages/runtime/service/routes.js";
18
+ import { BuildPlanAuthoringArtifactRequirementSchema, BuildPlanContextCheckDraftSchema, RequestedArtifactSchema, SourceContextSchema, } from "../../packages/runtime/schemas/index.js";
19
+ import { artifactRequirementsFromRequestedArtifacts, formatRequestedArtifactsForPrompt, requestedArtifactsFromPlanArtifacts, } from "../../packages/runtime/requested-artifacts.js";
17
20
  import { slugify } from "../../packages/contracts/utils/naming.js";
18
- function resolveConnection(args) {
19
- const conn = readActiveConnection({
20
- urlOverride: args.url,
21
- authTokenOverride: args.token,
22
- });
23
- if (!conn) {
24
- console.error(CONNECT_OR_ERROR_HINT);
25
- process.exit(1);
26
- }
27
- return { url: conn.url.replace(/\/+$/, ""), token: conn.auth_token };
28
- }
29
- async function callJson(url, token, init = {}) {
30
- const headers = new Headers(init.headers ?? {});
31
- if (token)
32
- headers.set("authorization", `Bearer ${token}`);
33
- if (init.body && !headers.has("content-type"))
34
- headers.set("content-type", "application/json");
35
- const response = await fetch(url, { ...init, headers });
36
- const raw = await response.text();
37
- let body = null;
38
- if (raw) {
39
- try {
40
- body = JSON.parse(raw);
41
- }
42
- catch {
43
- body = null;
44
- }
45
- }
46
- return { status: response.status, body, raw };
47
- }
48
- function asArray(value) {
49
- return Array.isArray(value) ? value : [];
50
- }
51
21
  const BuildPlanAuthoringArtifactRequirementsCliSchema = BuildPlanAuthoringArtifactRequirementSchema.array();
22
+ const BuildPlanChecksCliSchema = BuildPlanContextCheckDraftSchema.array();
23
+ const RequestedArtifactsCliSchema = RequestedArtifactSchema.array();
52
24
  function parseJsonOption(label, value, parse) {
53
25
  if (!value)
54
26
  return undefined;
@@ -70,16 +42,16 @@ function parseJsonOption(label, value, parse) {
70
42
  process.exit(1);
71
43
  }
72
44
  }
73
- function buildPreparationReviewUrl(url, prepId) {
74
- return `${url}/?section=preparations&preparation=${encodeURIComponent(prepId)}&preparationTab=build-plan`;
45
+ function buildProjectReviewUrl(url, projectId) {
46
+ return `${url}/?section=projects&project=${encodeURIComponent(projectId)}&projectTab=build-plan`;
75
47
  }
76
- function buildRunUrl(url, prepId, runId) {
48
+ function buildRunUrl(url, projectId, runId) {
77
49
  if (!runId)
78
50
  return null;
79
- return `${url}/?section=preparations&preparation=${encodeURIComponent(prepId)}&preparationTab=runs&run=${encodeURIComponent(runId)}`;
51
+ return `${url}/?section=projects&project=${encodeURIComponent(projectId)}&projectTab=runs&run=${encodeURIComponent(runId)}`;
80
52
  }
81
- function defaultBuildPlanIdForPreparation(prepId) {
82
- return slugify(`${prepId}-build-plan`) || "build-plan";
53
+ function defaultBuildPlanIdForProject(projectId) {
54
+ return slugify(`${projectId}-build-plan`) || "build-plan";
83
55
  }
84
56
  function labelFromBuildPlanId(buildPlanId) {
85
57
  const label = buildPlanId
@@ -103,7 +75,7 @@ function renderBuildPlanSummary(buildPlan) {
103
75
  const artifacts = buildPlan.artifacts ?? [];
104
76
  if (artifacts.length > 0) {
105
77
  console.log();
106
- console.log(chalk.bold(" Artifacts"));
78
+ console.log(chalk.bold(" Requested outputs"));
107
79
  for (const artifact of artifacts) {
108
80
  const shape = artifact.shape?.path
109
81
  ? chalk.dim(` -> ${artifact.shape.path}`)
@@ -132,121 +104,110 @@ function renderBuildPlanSummary(buildPlan) {
132
104
  console.log(chalk.dim(` writes: ${writes}`));
133
105
  }
134
106
  }
135
- if (buildPlan.active_for_preparations?.length) {
107
+ if (buildPlan.active_for_projects?.length) {
136
108
  console.log();
137
- console.log(chalk.dim(` used by: ${buildPlan.active_for_preparations.join(", ")}`));
109
+ console.log(chalk.dim(` used by: ${buildPlan.active_for_projects.join(", ")}`));
138
110
  }
139
111
  console.log();
140
112
  console.log(chalk.dim(" Run with --json for the raw Build Plan record."));
141
113
  console.log();
142
114
  }
143
- function preparationChecks(preparation) {
144
- return asArray(preparation.checks).length
145
- ? asArray(preparation.checks)
146
- : asArray(preparation.preparation?.checks);
115
+ async function selectedBuildPlanRequestedArtifacts(url, token, buildPlanId) {
116
+ if (!buildPlanId)
117
+ return [];
118
+ const fetched = await callJson(`${url}${buildPlanResourcePath(buildPlanId)}`, token);
119
+ if (fetched.status !== 200 || !fetched.body)
120
+ return [];
121
+ return requestedArtifactsFromPlanArtifacts(fetched.body.artifacts ?? []);
147
122
  }
148
- function preparationRequestedArtifacts(preparation) {
149
- return preparation.requested_artifacts?.length
150
- ? preparation.requested_artifacts
151
- : preparation.preparation?.requested_artifacts ?? [];
123
+ function selectedBuildPlanId(project) {
124
+ return project.build_plan_id;
152
125
  }
153
- function preparationSourceProfile(preparation) {
154
- return preparation.source_profile ?? preparation.preparation?.source_profile ?? null;
155
- }
156
- function selectedBuildPlanId(preparation) {
157
- return preparation.build_plan_id ?? preparation.preparation?.build_plan ?? null;
158
- }
159
- function sourceFolderPathFromPreparation(preparation, sourceFiles) {
160
- if (preparation.source?.kind === "local-folder" && preparation.source.locator)
161
- return preparation.source.locator;
162
- if (sourceFiles?.source_files?.[0]?.source_folder_path)
163
- return sourceFiles.source_files[0].source_folder_path;
164
- return preparation.source_path ?? null;
165
- }
166
- function buildTaskPrompt(args, preparation, prepId, mode) {
167
- const about = (preparation.about ?? preparation.preparation?.about)?.trim();
168
- const requestedArtifacts = formatRequestedArtifactsForPrompt(preparationRequestedArtifacts(preparation));
126
+ function buildTaskPrompt(args, requestedArtifacts, projectId, mode) {
127
+ const requestedArtifactsText = formatRequestedArtifactsForPrompt(requestedArtifacts);
169
128
  const sections = [
170
- `${mode === "improve" ? "Improve" : "Draft"} a Build Plan for Preparation "${prepId}".`,
171
- args.task?.trim() ? `Agent job:\n${args.task.trim()}` : null,
172
- about ? `Preparation context:\n${about}` : null,
173
- requestedArtifacts ? `Requested Artifacts saved on the Preparation:\n${requestedArtifacts}` : null,
174
- args.artifacts?.trim() ? `Additional Artifact notes:\n${args.artifacts.trim()}` : null,
175
- args.readyWhen?.trim() ? `Ready when:\n${args.readyWhen.trim()}` : null,
176
- "Return a Build Plan definition that declares the verifiable Artifacts, the stages that build them, and the checks that prove the verifiable context is ready for agent work.",
129
+ `${mode === "improve" ? "Improve" : "Draft"} a Build Plan for Project "${projectId}".`,
130
+ args.intent?.trim() ? `Intent:\n${args.intent.trim()}` : null,
131
+ requestedArtifactsText ? `Requested graph outputs:\n${requestedArtifactsText}` : null,
132
+ args.artifacts?.trim() ? `Additional output notes:\n${args.artifacts.trim()}` : null,
133
+ args.readyWhen?.trim() ? `Coverage goal:\n${args.readyWhen.trim()}` : null,
134
+ "Return a Build Plan definition that starts from Project intent, declares the Context Graph outputs, stage inputs, coverage metrics, and deterministic validation needed for local service review.",
177
135
  ].filter((section) => Boolean(section));
178
136
  return sections.join("\n\n");
179
137
  }
180
- async function readPreparationContext(url, token, prepId) {
181
- const fetched = await callJson(`${url}${preparationResourcePath(prepId)}`, token);
138
+ async function readProjectContext(url, token, projectId) {
139
+ const fetched = await callJson(`${url}${projectResourcePath(projectId)}`, token);
182
140
  if (fetched.status !== 200 || !fetched.body) {
183
- console.error(chalk.red(`Failed to read Preparation ${prepId} (HTTP ${fetched.status}).`));
141
+ console.error(chalk.red(`Failed to read Project ${projectId} (HTTP ${fetched.status}).`));
184
142
  if (fetched.raw)
185
143
  console.error(fetched.raw);
186
144
  process.exit(1);
187
145
  }
188
- let sourceFiles = null;
189
- const sourcePath = sourceFolderPathFromPreparation(fetched.body, sourceFiles);
190
- if (!sourcePath) {
191
- const listed = await callJson(`${url}${preparationSubresourcePath(prepId, "sourceFiles")}`, token);
192
- if (listed.status === 200)
193
- sourceFiles = listed.body;
194
- }
195
- const sourceFolderPath = sourceFolderPathFromPreparation(fetched.body, sourceFiles);
196
- if (!sourceFolderPath) {
197
- console.error(chalk.red(`Preparation ${prepId} has no readable local Source binding.`));
198
- process.exit(1);
199
- }
200
146
  return {
201
- preparation: fetched.body,
202
- sourceFolderPath,
203
- checks: preparationChecks(fetched.body),
147
+ project: fetched.body,
204
148
  };
205
149
  }
206
150
  async function startBuildPlanRun(args, mode) {
207
151
  const { url, token } = resolveConnection(args);
208
- const { preparation, sourceFolderPath, checks } = await readPreparationContext(url, token, args.prepId);
209
- const existingBuildPlan = selectedBuildPlanId(preparation);
210
- const buildPlanId = args.buildPlan ?? (mode === "improve" ? existingBuildPlan : defaultBuildPlanIdForPreparation(args.prepId));
211
- const requestedArtifacts = preparationRequestedArtifacts(preparation);
152
+ const { project } = await readProjectContext(url, token, args.projectId);
153
+ const projectIntent = typeof project.intent === "string" ? project.intent.trim() : "";
154
+ const effectiveIntent = args.intent?.trim() || projectIntent;
155
+ const existingBuildPlan = selectedBuildPlanId(project);
156
+ const buildPlanId = args.buildPlan ?? (mode === "improve" ? existingBuildPlan : defaultBuildPlanIdForProject(args.projectId));
157
+ const explicitRequestedArtifacts = parseJsonOption("--requested-artifacts-json", args.requestedArtifactsJson, (input) => RequestedArtifactsCliSchema.parse(input));
158
+ const requestedArtifacts = explicitRequestedArtifacts
159
+ ?? await selectedBuildPlanRequestedArtifacts(url, token, existingBuildPlan);
212
160
  const explicitArtifactRequirements = parseJsonOption("--artifact-requirements-json", args.artifactRequirementsJson, (input) => BuildPlanAuthoringArtifactRequirementsCliSchema.parse(input));
213
161
  const artifactRequirements = explicitArtifactRequirements
214
162
  ?? artifactRequirementsFromRequestedArtifacts(requestedArtifacts);
163
+ const explicitChecks = parseJsonOption("--checks-json", args.checksJson, (input) => BuildPlanChecksCliSchema.parse(input));
164
+ const sourceContext = parseJsonOption("--source-context-json", args.sourceContextJson, (input) => SourceContextSchema.parse(input));
165
+ const buildPlanChecks = explicitChecks
166
+ ?? (args.readyWhen?.trim()
167
+ ? [{
168
+ label: args.readyWhen.trim(),
169
+ backed_by_artifact_ids: artifactRequirements.map((artifact) => artifact.id),
170
+ required: true,
171
+ }]
172
+ : []);
215
173
  if (!buildPlanId) {
216
- console.error(chalk.red(`Preparation ${args.prepId} has no selected Build Plan to improve.`));
217
- console.error(chalk.dim(`Draft one first: interf build-plan draft ${args.prepId} --task "..."`));
174
+ console.error(chalk.red(`Project ${args.projectId} has no selected Build Plan to improve.`));
175
+ console.error(chalk.dim(`Draft a Build Plan first: interf plan draft ${args.projectId}`));
176
+ process.exit(1);
177
+ }
178
+ if (!effectiveIntent) {
179
+ console.error(chalk.red(`Project ${args.projectId} has no saved intent.`));
180
+ console.error(chalk.dim("Create or update the Project with an agent task intent before drafting a Build Plan."));
218
181
  process.exit(1);
219
182
  }
220
183
  const body = {
221
- preparation: args.prepId,
222
- source_folder_path: sourceFolderPath,
223
184
  ...(args.baseBuildPlan ? { base_build_plan_id: args.baseBuildPlan } : {}),
224
185
  ...(args.referenceBuildPlan ? { reference_build_plan_id: args.referenceBuildPlan } : {}),
225
186
  ...(mode === "improve" && !args.referenceBuildPlan && existingBuildPlan ? { reference_build_plan_id: existingBuildPlan } : {}),
226
187
  build_plan_id: buildPlanId,
227
188
  label: args.label ?? labelFromBuildPlanId(buildPlanId),
228
- hint: args.hint ?? `Build Plan for Preparation ${args.prepId}.`,
229
- task_prompt: buildTaskPrompt(args, preparation, args.prepId, mode),
230
- checks,
189
+ hint: args.hint ?? `Build Plan for Project ${args.projectId}.`,
190
+ intent: buildTaskPrompt({ ...args, intent: effectiveIntent }, requestedArtifacts, args.projectId, mode),
191
+ checks: buildPlanChecks,
231
192
  requested_artifacts: requestedArtifacts,
232
- source_profile: preparationSourceProfile(preparation),
233
193
  artifact_requirements: artifactRequirements,
194
+ ...(sourceContext !== undefined ? { source_context: sourceContext } : {}),
234
195
  };
235
196
  const endpoint = mode === "improve" ? "buildPlanImprovementRuns" : "buildPlanDraftRuns";
236
- const { status, body: run, raw } = await callJson(`${url}${preparationSubresourcePath(args.prepId, endpoint)}`, token, { method: "POST", body: JSON.stringify(body) });
197
+ const { status, body: run, raw } = await callJson(`${url}${projectSubresourcePath(args.projectId, endpoint)}`, token, { method: "POST", body: JSON.stringify(body) });
237
198
  if (status !== 202 && status !== 201 && status !== 200) {
238
199
  console.error(chalk.red(`Failed to start Build Plan ${mode} run (HTTP ${status}).`));
239
200
  if (raw)
240
201
  console.error(raw);
241
202
  process.exit(1);
242
203
  }
243
- const runUrl = buildRunUrl(url, args.prepId, run?.run_id);
244
- const reviewUrl = buildPreparationReviewUrl(url, args.prepId);
204
+ const runUrl = buildRunUrl(url, args.projectId, run?.run_id);
205
+ const reviewUrl = buildProjectReviewUrl(url, args.projectId);
245
206
  if (args.json) {
246
207
  console.log(JSON.stringify({
247
208
  run_id: run?.run_id ?? null,
248
209
  status: run?.status ?? null,
249
- preparation: args.prepId,
210
+ project: args.projectId,
250
211
  build_plan_id: buildPlanId,
251
212
  run_url: runUrl,
252
213
  review_url: reviewUrl,
@@ -260,8 +221,9 @@ async function startBuildPlanRun(args, mode) {
260
221
  console.log(chalk.dim(` review after it finishes: ${reviewUrl}`));
261
222
  }
262
223
  export const buildPlanCommand = {
263
- command: "build-plan <subcommand>",
224
+ command: "plan <subcommand>",
264
225
  describe: "Manage Build Plans on the connected instance",
226
+ aliases: [],
265
227
  builder: (yargs) => yargs
266
228
  .option("url", { type: "string", describe: "Override the active connection URL" })
267
229
  .option("token", { type: "string", describe: "Override the active bearer token" })
@@ -285,8 +247,8 @@ export const buildPlanCommand = {
285
247
  const label = buildPlan.label ? ` ${chalk.dim(buildPlan.label)}` : "";
286
248
  const kind = buildPlan.source_kind ? chalk.dim(`[${buildPlan.source_kind}]`) : "";
287
249
  console.log(` ${chalk.bold(id)} ${kind}${label}`);
288
- if (buildPlan.active_for_preparations?.length) {
289
- console.log(chalk.dim(` used by: ${buildPlan.active_for_preparations.join(", ")}`));
250
+ if (buildPlan.active_for_projects?.length) {
251
+ console.log(chalk.dim(` used by: ${buildPlan.active_for_projects.join(", ")}`));
290
252
  }
291
253
  }
292
254
  console.log();
@@ -327,42 +289,48 @@ export const buildPlanCommand = {
327
289
  }
328
290
  renderBuildPlanSummary(body);
329
291
  })
330
- .command("select <prep-id> <build-plan-id>", "Select a Build Plan for a Preparation", (y) => y
331
- .positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
292
+ .command("select <project-id> <build-plan-id>", "Select a Build Plan for a Project", (y) => y
293
+ .positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
332
294
  .positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" }), async (args) => {
333
295
  const { url, token } = resolveConnection(args);
334
- const { status, raw } = await callJson(`${url}${preparationResourcePath(args.prepId)}`, token, { method: "PATCH", body: JSON.stringify({ build_plan_id: args.buildPlanId }) });
296
+ const { status, raw } = await callJson(`${url}${projectResourcePath(args.projectId)}`, token, { method: "PATCH", body: JSON.stringify({ build_plan_id: args.buildPlanId }) });
335
297
  if (status !== 200) {
336
298
  console.error(chalk.red(`Failed to select Build Plan (HTTP ${status}).`));
337
299
  if (raw)
338
300
  console.error(raw);
339
301
  process.exit(1);
340
302
  }
341
- console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.prepId)}.`));
303
+ console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.projectId)}.`));
342
304
  })
343
- .command("draft <prep-id>", "Start a Build Plan draft run for a preparation", (y) => y
344
- .positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
345
- .option("task", { type: "string", describe: "Agent job this Build Plan should support" })
346
- .option("artifacts", { type: "string", describe: "Requested Artifacts and why the agent needs them" })
347
- .option("artifact-requirements-json", { type: "string", describe: "JSON array of exact Artifact output requirements for the Build Plan" })
348
- .option("ready-when", { type: "string", describe: "Proof or readiness expectations for the Build Plan" })
305
+ .command("draft <project-id>", "Start a Build Plan draft run for a Project", (y) => y
306
+ .positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
307
+ .option("intent", { type: "string", describe: "Agent task this Build Plan should support. Defaults to the Project intent." })
308
+ .option("artifacts", { type: "string", describe: "Requested outputs and why the agent needs them" })
309
+ .option("requested-artifacts-json", { type: "string", describe: "JSON array of structured requested outputs for Build Plan authoring" })
310
+ .option("checks-json", { type: "string", describe: "JSON array of coverage goals for Build Plan authoring" })
311
+ .option("artifact-requirements-json", { type: "string", describe: "JSON array of exact output requirements for the Build Plan" })
312
+ .option("source-context-json", { type: "string", describe: "JSON object with advisory Source context for Build Plan authoring" })
313
+ .option("ready-when", { type: "string", describe: "Plain-English coverage goal the Context Graph should satisfy" })
349
314
  .option("build-plan", { type: "string", describe: "Build Plan id to write" })
350
315
  .option("label", { type: "string", describe: "Human-readable Build Plan label" })
351
- .option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
316
+ .option("hint", { type: "string", describe: "Short Build Plan summary for review" })
352
317
  .option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
353
318
  .option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while drafting" })
354
319
  .option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
355
320
  await startBuildPlanRun(args, "draft");
356
321
  })
357
- .command("improve <prep-id>", "Start a Build Plan improvement run for a preparation", (y) => y
358
- .positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
359
- .option("task", { type: "string", describe: "Change request for the selected Build Plan" })
360
- .option("artifacts", { type: "string", describe: "Requested Artifact changes and why they matter" })
361
- .option("artifact-requirements-json", { type: "string", describe: "JSON array of exact Artifact output requirements for the Build Plan" })
362
- .option("ready-when", { type: "string", describe: "Proof or readiness expectations to add or change" })
322
+ .command("improve <project-id>", "Start a Build Plan improvement run for a Project", (y) => y
323
+ .positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
324
+ .option("intent", { type: "string", describe: "Change request for the selected Build Plan" })
325
+ .option("artifacts", { type: "string", describe: "Requested output changes and why they matter" })
326
+ .option("requested-artifacts-json", { type: "string", describe: "JSON array of structured requested outputs for Build Plan authoring" })
327
+ .option("checks-json", { type: "string", describe: "JSON array of coverage goals for Build Plan authoring" })
328
+ .option("artifact-requirements-json", { type: "string", describe: "JSON array of exact output requirements for the Build Plan" })
329
+ .option("source-context-json", { type: "string", describe: "JSON object with advisory Source context for Build Plan authoring" })
330
+ .option("ready-when", { type: "string", describe: "Plain-English coverage goal to add or change" })
363
331
  .option("build-plan", { type: "string", describe: "Build Plan id to update" })
364
332
  .option("label", { type: "string", describe: "Human-readable Build Plan label" })
365
- .option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
333
+ .option("hint", { type: "string", describe: "Short Build Plan summary for review" })
366
334
  .option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
367
335
  .option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while improving" })
368
336
  .option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
@@ -1,11 +1,10 @@
1
1
  import type { CommandModule } from "yargs";
2
- interface BuildArgs {
3
- prepId: string;
2
+ import { type ConnectionArgs } from "../lib/http-client.js";
3
+ interface BuildArgs extends ConnectionArgs {
4
+ projectId: string;
4
5
  watch?: boolean;
5
6
  quiet?: boolean;
6
7
  idempotencyKey?: string;
7
- url?: string;
8
- token?: string;
9
8
  }
10
9
  export declare const buildCommand: CommandModule<unknown, BuildArgs>;
11
10
  export {};
@@ -5,54 +5,25 @@
5
5
  * interf build bristol --quiet # only the locator on stdout (scripting)
6
6
  * interf build bristol --watch # stream events
7
7
  *
8
- * Requires an active connection. Hits POST /v1/preparations/<id>/build-runs.
8
+ * Requires an active connection. Hits POST /v1/projects/<id>/build-runs.
9
9
  */
10
10
  import chalk from "chalk";
11
- import { CONNECT_OR_ERROR_HINT, readActiveConnection } from "../../packages/engine/connection-config.js";
12
- function resolveConnection(args) {
13
- const conn = readActiveConnection({
14
- urlOverride: args.url,
15
- authTokenOverride: args.token,
16
- });
17
- if (!conn) {
18
- console.error(CONNECT_OR_ERROR_HINT);
19
- process.exit(1);
20
- }
21
- return { url: conn.url.replace(/\/+$/, ""), token: conn.auth_token };
22
- }
23
- async function callJson(url, token, init = {}) {
24
- const headers = new Headers(init.headers ?? {});
25
- if (token)
26
- headers.set("authorization", `Bearer ${token}`);
27
- if (init.body && !headers.has("content-type"))
28
- headers.set("content-type", "application/json");
29
- const response = await fetch(url, { ...init, headers });
30
- const raw = await response.text();
31
- let body = null;
32
- if (raw.length > 0) {
33
- try {
34
- body = JSON.parse(raw);
35
- }
36
- catch {
37
- body = null;
38
- }
39
- }
40
- return { status: response.status, body, raw };
41
- }
11
+ import { callJson, resolveConnection } from "../lib/http-client.js";
12
+ import { projectSubresourcePath } from "../../packages/runtime/service/routes.js";
42
13
  export const buildCommand = {
43
- command: "build <prep-id>",
44
- describe: "Run the selected Build Plan for a Preparation",
14
+ command: "build <project-id>",
15
+ describe: "Build Context Graph for a Project",
45
16
  builder: (yargs) => yargs
46
- .positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
47
- .option("watch", { type: "boolean", default: false, describe: "Stream build-run events" })
48
- .option("quiet", { type: "boolean", default: false, describe: "Print only the context locator on success" })
17
+ .positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
18
+ .option("watch", { type: "boolean", default: false, describe: "Stream Run events" })
19
+ .option("quiet", { type: "boolean", default: false, describe: "Print only the Context Graph locator on success" })
49
20
  .option("idempotency-key", { type: "string", describe: "Client-supplied dedupe key" })
50
21
  .option("url", { type: "string", describe: "Override the active connection URL" })
51
22
  .option("token", { type: "string", describe: "Override the active bearer token" }),
52
23
  handler: async (args) => {
53
24
  const { url, token } = resolveConnection(args);
54
- // 0.15 hard-error: refuse to start a build if the engine has zero
55
- // connected agents — the build pipeline can't run without one.
25
+ // hard-error: refuse to start a Build if the local service has zero
26
+ // execution agents — the build pipeline can't run without one.
56
27
  const instance = await callJson(`${url}/v1/instance`, token);
57
28
  if (instance.body && instance.body.agent_count === 0) {
58
29
  console.error(chalk.red(" Cannot build — no agents available."));
@@ -63,26 +34,26 @@ export const buildCommand = {
63
34
  const headers = {};
64
35
  if (args.idempotencyKey)
65
36
  headers["x-interf-idempotency-key"] = args.idempotencyKey;
66
- const { status, body, raw } = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}/build-runs`, token, { method: "POST", headers, body: JSON.stringify({}) });
37
+ const { status, body, raw } = await callJson(`${url}${projectSubresourcePath(args.projectId, "buildRuns")}`, token, { method: "POST", headers, body: JSON.stringify({}) });
67
38
  if (status !== 201 && status !== 200 && status !== 202) {
68
- console.error(chalk.red(`Failed to start build run for ${args.prepId} (HTTP ${status}).`));
39
+ console.error(chalk.red(`Failed to build Context Graph for ${args.projectId} (HTTP ${status}).`));
69
40
  if (raw)
70
41
  console.error(raw);
71
42
  process.exit(1);
72
43
  }
73
44
  const run = body?.run;
74
45
  const runId = run?.run_id ?? "(unknown run)";
75
- const locator = run?.verifiable_context_path ?? "(no locator)";
46
+ const locator = run?.context_graph_path ?? "(no locator)";
76
47
  if (args.quiet) {
77
48
  console.log(locator);
78
49
  return;
79
50
  }
80
51
  console.log();
81
52
  console.log(` Build run ${chalk.bold(runId)} ${chalk.dim(`(${run?.status ?? "started"})`)}`);
82
- console.log(` Verifiable context: ${locator}`);
53
+ console.log(` Context Graph: ${locator}`);
83
54
  if (run?.status === "succeeded" || run?.finished_at) {
84
- const prepResp = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}`, token);
85
- const readiness = prepResp.body?.readiness?.status;
55
+ const projectResp = await callJson(`${url}/v1/projects/${encodeURIComponent(args.projectId)}`, token);
56
+ const readiness = projectResp.body?.readiness?.status;
86
57
  if (readiness)
87
58
  console.log(` Readiness: ${readiness}`);
88
59
  }
@@ -1,5 +1,5 @@
1
1
  import chalk from "chalk";
2
- import { agents, userConfig } from "../../packages/engine/agents/index.js";
2
+ import { agents, userConfig } from "../../packages/runtime/agents/index.js";
3
3
  function iconFor(status) {
4
4
  if (status === "pass")
5
5
  return chalk.green("✓");
@@ -97,7 +97,7 @@ export const doctorCommand = {
97
97
  id: "live",
98
98
  label: "Live executor preflight",
99
99
  status: "skipped",
100
- message: "Skipped. Run `interf doctor --live` to exercise the real local agent before drafting readiness checks, Build Plan authoring, a readiness check, or a Build run.",
100
+ message: "Skipped. Run `interf doctor --live` to exercise the real local agent before drafting benchmark questions, Build Plan authoring, a benchmark pass, or a Build.",
101
101
  });
102
102
  }
103
103
  const ok = checks.every((check) => check.status !== "fail");
@@ -121,7 +121,7 @@ export const doctorCommand = {
121
121
  }
122
122
  console.log();
123
123
  if (!argv.live) {
124
- console.log(chalk.dim(" Tip: run `interf doctor --live` before a first build on a new machine."));
124
+ console.log(chalk.dim(" Tip: run `interf doctor --live` before a first Build on a new machine."));
125
125
  console.log();
126
126
  }
127
127
  }
@@ -0,0 +1,2 @@
1
+ import type { CommandModule } from "yargs";
2
+ export declare const graphsCommand: CommandModule;