@interf/compiler 0.18.0 → 0.22.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 (369) hide show
  1. package/dist/cli/commands/build-plan.d.ts +2 -0
  2. package/dist/cli/commands/build-plan.js +376 -0
  3. package/dist/cli/commands/{compile.d.ts → build.d.ts} +2 -2
  4. package/dist/cli/commands/{compile.js → build.js} +18 -18
  5. package/dist/cli/commands/doctor.js +2 -2
  6. package/dist/cli/commands/mcp.d.ts +0 -34
  7. package/dist/cli/commands/mcp.js +261 -60
  8. package/dist/cli/commands/prep.js +67 -35
  9. package/dist/cli/commands/reset.d.ts +1 -1
  10. package/dist/cli/commands/reset.js +6 -6
  11. package/dist/cli/commands/runs.js +105 -33
  12. package/dist/cli/commands/status.js +4 -2
  13. package/dist/cli/commands/test.d.ts +10 -0
  14. package/dist/cli/commands/{verify.js → test.js} +19 -21
  15. package/dist/cli/commands/web.js +82 -8
  16. package/dist/cli/commands/wizard.js +63 -64
  17. package/dist/cli/index.d.ts +4 -4
  18. package/dist/cli/index.js +7 -7
  19. package/dist/interf-ui/404.html +1 -0
  20. package/dist/interf-ui/__next.__PAGE__.txt +10 -0
  21. package/dist/{compiler-ui → interf-ui}/__next._full.txt +12 -12
  22. package/dist/interf-ui/__next._head.txt +5 -0
  23. package/dist/{compiler-ui → interf-ui}/__next._index.txt +4 -4
  24. package/dist/{compiler-ui → interf-ui}/__next._tree.txt +3 -3
  25. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +3 -0
  26. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +1 -0
  27. package/dist/{compiler-ui/_next/static/chunks/0_i-3_5l9t2qe.js → interf-ui/_next/static/chunks/0dn41fa_zvgsl.js} +1 -1
  28. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +1 -0
  29. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +1 -0
  30. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +1 -0
  31. package/dist/{compiler-ui/_next/static/chunks/08g7lvje.te.u.js → interf-ui/_next/static/chunks/0nv3am99vjzn4.js} +1 -1
  32. package/dist/{compiler-ui/_next/static/chunks/0n51hrfoufc7g.js → interf-ui/_next/static/chunks/0s77gt_o4jwtx.js} +1 -1
  33. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +116 -0
  34. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +31 -0
  35. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +1 -0
  36. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +1 -0
  37. package/dist/{compiler-ui/_next/static/chunks/08m7vf5asqlsm.js → interf-ui/_next/static/chunks/14dznb2qpt-ho.js} +5 -5
  38. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +5 -0
  39. package/dist/{compiler-ui/_next/static/chunks/turbopack-10e~t1yzi4svj.js → interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js} +1 -1
  40. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +1 -0
  41. package/dist/{compiler-ui → interf-ui}/_not-found/__next._full.txt +9 -9
  42. package/dist/interf-ui/_not-found/__next._head.txt +5 -0
  43. package/dist/{compiler-ui → interf-ui}/_not-found/__next._index.txt +4 -4
  44. package/dist/{compiler-ui → interf-ui}/_not-found/__next._not-found.__PAGE__.txt +2 -2
  45. package/dist/interf-ui/_not-found/__next._not-found.txt +5 -0
  46. package/dist/{compiler-ui → interf-ui}/_not-found/__next._tree.txt +2 -2
  47. package/dist/interf-ui/_not-found.html +1 -0
  48. package/dist/{compiler-ui → interf-ui}/_not-found.txt +9 -9
  49. package/dist/interf-ui/index.html +1 -0
  50. package/dist/{compiler-ui → interf-ui}/index.txt +12 -12
  51. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +36 -0
  52. package/dist/packages/{methods/authoring/method-authoring.js → build-plans/authoring/build-plan-authoring.js} +57 -88
  53. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +18 -0
  54. package/dist/packages/{methods/authoring/method-edit-session.js → build-plans/authoring/build-plan-edit-session.js} +34 -34
  55. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +23 -0
  56. package/dist/packages/build-plans/authoring/build-plan-improvement.js +216 -0
  57. package/dist/packages/build-plans/authoring/index.d.ts +4 -0
  58. package/dist/packages/build-plans/authoring/index.js +4 -0
  59. package/dist/packages/{methods/authoring/lib/method-edit-utils.d.ts → build-plans/authoring/lib/build-plan-edit-utils.d.ts} +3 -3
  60. package/dist/packages/build-plans/build-plan-resolution.d.ts +6 -0
  61. package/dist/packages/build-plans/build-plan-resolution.js +7 -0
  62. package/dist/packages/build-plans/index.d.ts +2 -0
  63. package/dist/packages/build-plans/index.js +2 -0
  64. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +61 -0
  65. package/dist/packages/build-plans/package/build-plan-definitions.js +214 -0
  66. package/dist/packages/{methods/package/method-helpers.d.ts → build-plans/package/build-plan-helpers.d.ts} +7 -7
  67. package/dist/packages/{methods/package/method-helpers.js → build-plans/package/build-plan-helpers.js} +20 -20
  68. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +10 -0
  69. package/dist/packages/build-plans/package/build-plan-review-paths.js +31 -0
  70. package/dist/packages/{methods/package/method-stage-runner.d.ts → build-plans/package/build-plan-stage-runner.d.ts} +12 -12
  71. package/dist/packages/{methods/package/method-stage-runner.js → build-plans/package/build-plan-stage-runner.js} +10 -10
  72. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +37 -0
  73. package/dist/packages/build-plans/package/builtin-build-plan.js +91 -0
  74. package/dist/packages/{methods → build-plans}/package/context-interface.d.ts +11 -11
  75. package/dist/packages/{methods → build-plans}/package/context-interface.js +23 -23
  76. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +31 -0
  77. package/dist/packages/build-plans/package/interf-build-plan-package.js +466 -0
  78. package/dist/packages/{methods → build-plans}/package/lib/package-root.js +1 -1
  79. package/dist/packages/build-plans/package/local-build-plans.d.ts +74 -0
  80. package/dist/packages/build-plans/package/local-build-plans.js +472 -0
  81. package/dist/packages/build-plans/package/user-build-plans.d.ts +17 -0
  82. package/dist/packages/build-plans/package/user-build-plans.js +77 -0
  83. package/dist/packages/contracts/index.d.ts +1 -1
  84. package/dist/packages/contracts/lib/preparation-paths.d.ts +37 -37
  85. package/dist/packages/contracts/lib/preparation-paths.js +43 -43
  86. package/dist/packages/contracts/lib/schema.d.ts +38 -41
  87. package/dist/packages/contracts/lib/schema.js +44 -35
  88. package/dist/packages/engine/action-definitions.d.ts +228 -67
  89. package/dist/packages/engine/action-definitions.js +277 -273
  90. package/dist/packages/engine/action-planner.d.ts +2 -2
  91. package/dist/packages/engine/action-planner.js +8 -15
  92. package/dist/packages/engine/action-values.d.ts +1 -1
  93. package/dist/packages/engine/action-values.js +1 -1
  94. package/dist/packages/engine/agents/index.d.ts +2 -2
  95. package/dist/packages/engine/agents/index.js +1 -1
  96. package/dist/packages/engine/agents/lib/args.d.ts +2 -2
  97. package/dist/packages/engine/agents/lib/args.js +1 -1
  98. package/dist/packages/engine/agents/lib/constants.js +1 -1
  99. package/dist/packages/engine/agents/lib/execution-profile.d.ts +5 -5
  100. package/dist/packages/engine/agents/lib/execution-profile.js +3 -3
  101. package/dist/packages/engine/agents/lib/executors.d.ts +11 -11
  102. package/dist/packages/engine/agents/lib/render.js +4 -4
  103. package/dist/packages/engine/agents/lib/shells.d.ts +33 -31
  104. package/dist/packages/engine/agents/lib/shells.js +254 -250
  105. package/dist/packages/engine/agents/lib/types.d.ts +2 -2
  106. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +3 -0
  107. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.js +19 -0
  108. package/dist/packages/engine/agents/role-executors.d.ts +7 -7
  109. package/dist/packages/engine/agents/role-executors.js +2 -2
  110. package/dist/packages/engine/agents/role-router.d.ts +2 -2
  111. package/dist/packages/engine/agents/role-router.js +1 -1
  112. package/dist/packages/engine/build/artifact-counts.d.ts +1 -0
  113. package/dist/packages/engine/{compile → build}/artifact-counts.js +7 -7
  114. package/dist/packages/engine/{compile → build}/artifact-status.d.ts +8 -8
  115. package/dist/packages/engine/{compile → build}/artifact-status.js +19 -19
  116. package/dist/packages/engine/{compile → build}/billing-events.d.ts +4 -4
  117. package/dist/packages/engine/{compile → build}/billing-events.js +4 -4
  118. package/dist/packages/engine/build/build-execution.d.ts +4 -0
  119. package/dist/packages/engine/build/build-execution.js +4 -0
  120. package/dist/packages/engine/build/build-pipeline.d.ts +56 -0
  121. package/dist/packages/engine/{compile/compiled-pipeline.js → build/build-pipeline.js} +55 -55
  122. package/dist/packages/engine/build/build-plan-primitives.d.ts +2 -0
  123. package/dist/packages/engine/{compile/method-primitives.js → build/build-plan-primitives.js} +1 -1
  124. package/dist/packages/engine/build/build-plan-runs.d.ts +14 -0
  125. package/dist/packages/engine/build/build-plan-runs.js +31 -0
  126. package/dist/packages/engine/build/build-stage-plan.d.ts +16 -0
  127. package/dist/packages/engine/build/build-stage-plan.js +100 -0
  128. package/dist/packages/engine/build/build-stage-runner.d.ts +15 -0
  129. package/dist/packages/engine/{compile/compiled-stage-runner.js → build/build-stage-runner.js} +21 -21
  130. package/dist/packages/engine/build/build-target.d.ts +11 -0
  131. package/dist/packages/engine/build/build-target.js +16 -0
  132. package/dist/packages/engine/{compile → build}/check-evaluator.d.ts +4 -4
  133. package/dist/packages/engine/{compile → build}/check-evaluator.js +1 -1
  134. package/dist/packages/engine/{compile → build}/discovery.d.ts +2 -2
  135. package/dist/packages/engine/{compile → build}/discovery.js +4 -4
  136. package/dist/packages/engine/{compile → build}/index.d.ts +6 -6
  137. package/dist/packages/engine/{compile → build}/index.js +5 -5
  138. package/dist/packages/engine/{compile → build}/lib/schema.d.ts +79 -79
  139. package/dist/packages/engine/{compile → build}/lib/schema.js +71 -71
  140. package/dist/packages/engine/build/reset.d.ts +2 -0
  141. package/dist/packages/engine/build/reset.js +74 -0
  142. package/dist/packages/engine/{compile → build}/runtime-contracts.js +8 -8
  143. package/dist/packages/engine/build/runtime-inventory.d.ts +7 -0
  144. package/dist/packages/engine/{compile → build}/runtime-inventory.js +8 -8
  145. package/dist/packages/engine/{compile → build}/runtime-paths.js +6 -6
  146. package/dist/packages/engine/{compile → build}/runtime-prompt.js +11 -11
  147. package/dist/packages/engine/build/runtime-reconcile.d.ts +2 -0
  148. package/dist/packages/engine/{compile → build}/runtime-reconcile.js +18 -18
  149. package/dist/packages/engine/{compile → build}/runtime-runs.js +27 -27
  150. package/dist/packages/engine/{compile → build}/runtime-types.d.ts +10 -10
  151. package/dist/packages/engine/build/source-files.d.ts +46 -0
  152. package/dist/packages/engine/{compile → build}/source-files.js +32 -32
  153. package/dist/packages/engine/build/state-artifacts.d.ts +9 -0
  154. package/dist/packages/engine/build/state-artifacts.js +14 -0
  155. package/dist/packages/engine/build/state-health.d.ts +4 -0
  156. package/dist/packages/engine/{compile → build}/state-health.js +40 -40
  157. package/dist/packages/engine/build/state-io.d.ts +11 -0
  158. package/dist/packages/engine/{compile → build}/state-io.js +22 -22
  159. package/dist/packages/engine/build/state-paths.js +16 -0
  160. package/dist/packages/engine/build/state-view.d.ts +5 -0
  161. package/dist/packages/engine/{compile → build}/state-view.js +29 -29
  162. package/dist/packages/engine/build/state.d.ts +7 -0
  163. package/dist/packages/engine/build/state.js +12 -0
  164. package/dist/packages/engine/build/validate-verifiable-context.d.ts +27 -0
  165. package/dist/packages/engine/{compile/validate-compiled.js → build/validate-verifiable-context.js} +73 -73
  166. package/dist/packages/engine/{compile → build}/validate.d.ts +4 -4
  167. package/dist/packages/engine/{compile → build}/validate.js +27 -27
  168. package/dist/packages/engine/build/verifiable-context-paths.d.ts +47 -0
  169. package/dist/packages/engine/build/verifiable-context-paths.js +121 -0
  170. package/dist/packages/engine/build/verifiable-context-schema.d.ts +21 -0
  171. package/dist/packages/engine/build/verifiable-context-schema.js +126 -0
  172. package/dist/packages/engine/client.d.ts +16 -16
  173. package/dist/packages/engine/client.js +21 -21
  174. package/dist/packages/engine/cloud-seams.d.ts +3 -3
  175. package/dist/packages/engine/connection-config.js +1 -1
  176. package/dist/packages/engine/execution/index.d.ts +2 -2
  177. package/dist/packages/engine/execution/index.js +1 -1
  178. package/dist/packages/engine/execution/lib/schema.d.ts +100 -95
  179. package/dist/packages/engine/execution/lib/schema.js +31 -31
  180. package/dist/packages/engine/index.d.ts +7 -7
  181. package/dist/packages/engine/index.js +3 -3
  182. package/dist/packages/engine/instance-paths.d.ts +45 -39
  183. package/dist/packages/engine/instance-paths.js +54 -48
  184. package/dist/packages/engine/lib/schema.d.ts +1568 -484
  185. package/dist/packages/engine/lib/schema.js +172 -161
  186. package/dist/packages/engine/native-run-handlers.d.ts +12 -12
  187. package/dist/packages/engine/native-run-handlers.js +138 -136
  188. package/dist/packages/engine/preparation-store.d.ts +31 -36
  189. package/dist/packages/engine/preparation-store.js +42 -31
  190. package/dist/packages/engine/readiness-check-draft.d.ts +2 -2
  191. package/dist/packages/engine/readiness-check-draft.js +1 -1
  192. package/dist/packages/engine/requested-artifacts.d.ts +5 -0
  193. package/dist/packages/engine/requested-artifacts.js +36 -0
  194. package/dist/packages/engine/routes.d.ts +18 -17
  195. package/dist/packages/engine/routes.js +20 -19
  196. package/dist/packages/engine/run-observability.d.ts +5 -3
  197. package/dist/packages/engine/run-observability.js +103 -90
  198. package/dist/packages/engine/runtime-caches.d.ts +16 -16
  199. package/dist/packages/engine/runtime-caches.js +26 -26
  200. package/dist/packages/engine/runtime-event-applier.d.ts +2 -2
  201. package/dist/packages/engine/runtime-event-applier.js +1 -1
  202. package/dist/packages/engine/runtime-persistence.d.ts +9 -9
  203. package/dist/packages/engine/runtime-persistence.js +16 -16
  204. package/dist/packages/engine/runtime-proposal-helpers.d.ts +15 -15
  205. package/dist/packages/engine/runtime-proposal-helpers.js +81 -85
  206. package/dist/packages/engine/runtime-resource-builders.d.ts +16 -11
  207. package/dist/packages/engine/runtime-resource-builders.js +32 -21
  208. package/dist/packages/engine/runtime.d.ts +53 -60
  209. package/dist/packages/engine/runtime.js +555 -453
  210. package/dist/packages/engine/server.d.ts +2 -2
  211. package/dist/packages/engine/server.js +226 -143
  212. package/dist/packages/engine/service-registry.d.ts +5 -17
  213. package/dist/packages/engine/service-registry.js +5 -20
  214. package/dist/packages/engine/verify/lib/schema.d.ts +19 -19
  215. package/dist/packages/engine/verify/lib/schema.js +36 -8
  216. package/dist/packages/engine/verify/readiness-check-run.d.ts +15 -16
  217. package/dist/packages/engine/verify/readiness-check-run.js +46 -46
  218. package/dist/packages/engine/verify/verify-execution.d.ts +3 -3
  219. package/dist/packages/engine/verify/verify-execution.js +10 -10
  220. package/dist/packages/engine/verify/verify-paths.d.ts +4 -4
  221. package/dist/packages/engine/verify/verify-paths.js +17 -17
  222. package/dist/packages/engine/verify/verify-sandbox.d.ts +1 -1
  223. package/dist/packages/engine/verify/verify-sandbox.js +26 -26
  224. package/dist/packages/engine/verify/verify-targets.d.ts +2 -2
  225. package/dist/packages/engine/verify/verify-targets.js +17 -17
  226. package/dist/packages/engine/verify/verify-types.d.ts +2 -2
  227. package/dist/packages/engine/verify/verify.d.ts +1 -1
  228. package/dist/packages/engine/verify/verify.js +1 -1
  229. package/dist/packages/engine/wire-schemas.d.ts +42 -40
  230. package/dist/packages/engine/wire-schemas.js +13 -13
  231. package/dist/packages/project/index.d.ts +1 -1
  232. package/dist/packages/project/interf-bootstrap.d.ts +1 -1
  233. package/dist/packages/project/interf-bootstrap.js +1 -1
  234. package/dist/packages/project/interf-detect.d.ts +11 -11
  235. package/dist/packages/project/interf-detect.js +36 -36
  236. package/dist/packages/project/interf-scaffold.d.ts +3 -3
  237. package/dist/packages/project/interf-scaffold.js +72 -72
  238. package/dist/packages/project/interf.d.ts +4 -4
  239. package/dist/packages/project/interf.js +3 -3
  240. package/dist/packages/project/lib/schema.d.ts +205 -12
  241. package/dist/packages/project/lib/schema.js +59 -14
  242. package/dist/packages/project/preparation-entries.d.ts +3 -3
  243. package/dist/packages/project/preparation-entries.js +19 -19
  244. package/dist/packages/project/source-config.d.ts +10 -10
  245. package/dist/packages/project/source-config.js +62 -58
  246. package/dist/packages/project/source-folders.js +1 -1
  247. package/package.json +14 -17
  248. package/public-repo/CONTRIBUTING.md +47 -0
  249. package/public-repo/README.md +327 -0
  250. package/public-repo/SECURITY.md +67 -0
  251. package/public-repo/build-plans/interf-default/README.md +33 -0
  252. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +27 -0
  253. package/{builtin-methods/interf-default/compile → public-repo/build-plans/interf-default/build}/stages/structure/SKILL.md +2 -2
  254. package/{builtin-methods/interf-default/compile → public-repo/build-plans/interf-default/build}/stages/summarize/SKILL.md +1 -1
  255. package/{builtin-methods/interf-default/method.json → public-repo/build-plans/interf-default/build-plan.json} +16 -16
  256. package/{builtin-methods/interf-default/method.schema.json → public-repo/build-plans/interf-default/build-plan.schema.json} +4 -4
  257. package/public-repo/build-plans/interf-default/improve/SKILL.md +18 -0
  258. package/public-repo/build-plans/interf-default/use/query/SKILL.md +23 -0
  259. package/public-repo/plugins/README.md +9 -0
  260. package/public-repo/plugins/interf/.claude-plugin/plugin.json +21 -0
  261. package/public-repo/plugins/interf/.mcp.json +12 -0
  262. package/public-repo/plugins/interf/README.md +32 -0
  263. package/public-repo/plugins/interf/skills/interf/SKILL.md +376 -0
  264. package/public-repo/skills/interf/SKILL.md +376 -0
  265. package/README.md +0 -311
  266. package/agent-skills/interf-actions/SKILL.md +0 -185
  267. package/agent-skills/interf-actions/references/cli.md +0 -243
  268. package/builtin-methods/interf-default/README.md +0 -29
  269. package/builtin-methods/interf-default/compile/stages/shape/SKILL.md +0 -31
  270. package/builtin-methods/interf-default/improve/SKILL.md +0 -18
  271. package/builtin-methods/interf-default/use/query/SKILL.md +0 -28
  272. package/dist/cli/commands/method.d.ts +0 -2
  273. package/dist/cli/commands/method.js +0 -113
  274. package/dist/cli/commands/verify.d.ts +0 -10
  275. package/dist/compiler-ui/404.html +0 -1
  276. package/dist/compiler-ui/__next.__PAGE__.txt +0 -10
  277. package/dist/compiler-ui/__next._head.txt +0 -5
  278. package/dist/compiler-ui/_next/static/chunks/06yhdspx~ca5-.js +0 -5
  279. package/dist/compiler-ui/_next/static/chunks/06z~l3kwb891e.js +0 -1
  280. package/dist/compiler-ui/_next/static/chunks/0_c_tvh-cukjz.css +0 -3
  281. package/dist/compiler-ui/_next/static/chunks/0b-ywny_j0g~0.js +0 -1
  282. package/dist/compiler-ui/_next/static/chunks/0b52v41o1gixx.js +0 -1
  283. package/dist/compiler-ui/_next/static/chunks/0f_geuwdesg_c.js +0 -114
  284. package/dist/compiler-ui/_next/static/chunks/0gpzgsv0w.q~m.js +0 -31
  285. package/dist/compiler-ui/_next/static/chunks/0ilwfezfvu6~-.js +0 -1
  286. package/dist/compiler-ui/_next/static/chunks/0xxmf45eskdt~.css +0 -1
  287. package/dist/compiler-ui/_next/static/chunks/14wtz~vq25~qq.js +0 -1
  288. package/dist/compiler-ui/_next/static/chunks/turbopack-0.uq1k8c0j4s..js +0 -1
  289. package/dist/compiler-ui/_not-found/__next._head.txt +0 -5
  290. package/dist/compiler-ui/_not-found/__next._not-found.txt +0 -5
  291. package/dist/compiler-ui/_not-found.html +0 -1
  292. package/dist/compiler-ui/index.html +0 -1
  293. package/dist/packages/engine/agents/lib/compiled-bootstrap.d.ts +0 -3
  294. package/dist/packages/engine/agents/lib/compiled-bootstrap.js +0 -19
  295. package/dist/packages/engine/compile/artifact-counts.d.ts +0 -1
  296. package/dist/packages/engine/compile/compiled-compile.d.ts +0 -4
  297. package/dist/packages/engine/compile/compiled-compile.js +0 -4
  298. package/dist/packages/engine/compile/compiled-paths.d.ts +0 -47
  299. package/dist/packages/engine/compile/compiled-paths.js +0 -121
  300. package/dist/packages/engine/compile/compiled-pipeline.d.ts +0 -56
  301. package/dist/packages/engine/compile/compiled-schema.d.ts +0 -21
  302. package/dist/packages/engine/compile/compiled-schema.js +0 -126
  303. package/dist/packages/engine/compile/compiled-stage-plan.d.ts +0 -16
  304. package/dist/packages/engine/compile/compiled-stage-plan.js +0 -100
  305. package/dist/packages/engine/compile/compiled-stage-runner.d.ts +0 -15
  306. package/dist/packages/engine/compile/compiled-target.d.ts +0 -11
  307. package/dist/packages/engine/compile/compiled-target.js +0 -16
  308. package/dist/packages/engine/compile/method-primitives.d.ts +0 -2
  309. package/dist/packages/engine/compile/method-runs.d.ts +0 -14
  310. package/dist/packages/engine/compile/method-runs.js +0 -31
  311. package/dist/packages/engine/compile/reset.d.ts +0 -2
  312. package/dist/packages/engine/compile/reset.js +0 -74
  313. package/dist/packages/engine/compile/runtime-inventory.d.ts +0 -7
  314. package/dist/packages/engine/compile/runtime-reconcile.d.ts +0 -2
  315. package/dist/packages/engine/compile/source-files.d.ts +0 -46
  316. package/dist/packages/engine/compile/state-artifacts.d.ts +0 -9
  317. package/dist/packages/engine/compile/state-artifacts.js +0 -14
  318. package/dist/packages/engine/compile/state-health.d.ts +0 -4
  319. package/dist/packages/engine/compile/state-io.d.ts +0 -11
  320. package/dist/packages/engine/compile/state-paths.js +0 -16
  321. package/dist/packages/engine/compile/state-view.d.ts +0 -5
  322. package/dist/packages/engine/compile/state.d.ts +0 -7
  323. package/dist/packages/engine/compile/state.js +0 -12
  324. package/dist/packages/engine/compile/validate-compiled.d.ts +0 -27
  325. package/dist/packages/methods/authoring/index.d.ts +0 -4
  326. package/dist/packages/methods/authoring/index.js +0 -4
  327. package/dist/packages/methods/authoring/method-authoring.d.ts +0 -34
  328. package/dist/packages/methods/authoring/method-edit-session.d.ts +0 -18
  329. package/dist/packages/methods/authoring/method-improvement.d.ts +0 -23
  330. package/dist/packages/methods/authoring/method-improvement.js +0 -217
  331. package/dist/packages/methods/index.d.ts +0 -2
  332. package/dist/packages/methods/index.js +0 -2
  333. package/dist/packages/methods/method-resolution.d.ts +0 -6
  334. package/dist/packages/methods/method-resolution.js +0 -7
  335. package/dist/packages/methods/package/builtin-compiled-method.d.ts +0 -37
  336. package/dist/packages/methods/package/builtin-compiled-method.js +0 -91
  337. package/dist/packages/methods/package/interf-method-package.d.ts +0 -31
  338. package/dist/packages/methods/package/interf-method-package.js +0 -466
  339. package/dist/packages/methods/package/local-methods.d.ts +0 -73
  340. package/dist/packages/methods/package/local-methods.js +0 -457
  341. package/dist/packages/methods/package/method-definitions.d.ts +0 -61
  342. package/dist/packages/methods/package/method-definitions.js +0 -214
  343. package/dist/packages/methods/package/method-review-paths.d.ts +0 -10
  344. package/dist/packages/methods/package/method-review-paths.js +0 -31
  345. package/dist/packages/methods/package/user-methods.d.ts +0 -17
  346. package/dist/packages/methods/package/user-methods.js +0 -77
  347. /package/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_buildManifest.js +0 -0
  348. /package/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_clientMiddlewareManifest.js +0 -0
  349. /package/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_ssgManifest.js +0 -0
  350. /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/03~yq9q893hmn.js +0 -0
  351. /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -0
  352. /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -0
  353. /package/dist/{compiler-ui → interf-ui}/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  354. /package/dist/{compiler-ui → interf-ui}/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  355. /package/dist/{compiler-ui → interf-ui}/_next/static/media/worker.102zas1s52_pf.js +0 -0
  356. /package/dist/packages/{methods/authoring/lib/method-edit-utils.js → build-plans/authoring/lib/build-plan-edit-utils.js} +0 -0
  357. /package/dist/packages/{methods → build-plans}/package/lib/package-root.d.ts +0 -0
  358. /package/dist/packages/engine/{compile → build}/runtime-contracts.d.ts +0 -0
  359. /package/dist/packages/engine/{compile → build}/runtime-paths.d.ts +0 -0
  360. /package/dist/packages/engine/{compile → build}/runtime-prompt.d.ts +0 -0
  361. /package/dist/packages/engine/{compile → build}/runtime-runs.d.ts +0 -0
  362. /package/dist/packages/engine/{compile → build}/runtime-types.js +0 -0
  363. /package/dist/packages/engine/{compile → build}/runtime.d.ts +0 -0
  364. /package/dist/packages/engine/{compile → build}/runtime.js +0 -0
  365. /package/dist/packages/engine/{compile → build}/state-paths.d.ts +0 -0
  366. /package/dist/packages/engine/{compile → build}/validate-helpers.d.ts +0 -0
  367. /package/dist/packages/engine/{compile → build}/validate-helpers.js +0 -0
  368. /package/{LICENSE.md → public-repo/LICENSE.md} +0 -0
  369. /package/{TRADEMARKS.md → public-repo/TRADEMARKS.md} +0 -0
@@ -0,0 +1,2 @@
1
+ import type { CommandModule } from "yargs";
2
+ export declare const buildPlanCommand: CommandModule;
@@ -0,0 +1,376 @@
1
+ /**
2
+ * `interf build-plan` — manage Build Plans on the connected instance.
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
10
+ */
11
+ import chalk from "chalk";
12
+ 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";
17
+ 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
+ const BuildPlanAuthoringArtifactRequirementsCliSchema = BuildPlanAuthoringArtifactRequirementSchema.array();
52
+ function parseJsonOption(label, value, parse) {
53
+ if (!value)
54
+ return undefined;
55
+ let parsed;
56
+ try {
57
+ parsed = JSON.parse(value);
58
+ }
59
+ catch (error) {
60
+ console.error(chalk.red(`Invalid JSON for ${label}.`));
61
+ console.error(chalk.dim(error instanceof Error ? error.message : String(error)));
62
+ process.exit(1);
63
+ }
64
+ try {
65
+ return parse(parsed);
66
+ }
67
+ catch (error) {
68
+ console.error(chalk.red(`Invalid ${label}.`));
69
+ console.error(chalk.dim(error instanceof Error ? error.message : String(error)));
70
+ process.exit(1);
71
+ }
72
+ }
73
+ function buildPreparationReviewUrl(url, prepId) {
74
+ return `${url}/?section=preparations&preparation=${encodeURIComponent(prepId)}&preparationTab=build-plan`;
75
+ }
76
+ function buildRunUrl(url, prepId, runId) {
77
+ if (!runId)
78
+ return null;
79
+ return `${url}/?section=preparations&preparation=${encodeURIComponent(prepId)}&preparationTab=runs&run=${encodeURIComponent(runId)}`;
80
+ }
81
+ function defaultBuildPlanIdForPreparation(prepId) {
82
+ return slugify(`${prepId}-build-plan`) || "build-plan";
83
+ }
84
+ function labelFromBuildPlanId(buildPlanId) {
85
+ const label = buildPlanId
86
+ .split("-")
87
+ .filter(Boolean)
88
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
89
+ .join(" ");
90
+ return label || "Build Plan";
91
+ }
92
+ function renderBuildPlanSummary(buildPlan) {
93
+ const id = buildPlan.build_plan_id ?? buildPlan.id ?? "(?)";
94
+ console.log();
95
+ console.log(` ${chalk.bold(buildPlan.label ?? id)}`);
96
+ console.log(chalk.dim(` id: ${id}`));
97
+ if (buildPlan.hint)
98
+ console.log(chalk.dim(` hint: ${buildPlan.hint}`));
99
+ if (buildPlan.purpose?.task_hint)
100
+ console.log(chalk.dim(` purpose: ${buildPlan.purpose.task_hint}`));
101
+ if (buildPlan.source_kind)
102
+ console.log(chalk.dim(` source: ${buildPlan.source_kind}`));
103
+ const artifacts = buildPlan.artifacts ?? [];
104
+ if (artifacts.length > 0) {
105
+ console.log();
106
+ console.log(chalk.bold(" Artifacts"));
107
+ for (const artifact of artifacts) {
108
+ const shape = artifact.shape?.path
109
+ ? chalk.dim(` -> ${artifact.shape.path}`)
110
+ : "";
111
+ console.log(` ${chalk.bold(artifact.id)}${shape}`);
112
+ console.log(chalk.dim(` ${artifact.description}`));
113
+ const checks = artifact.checks ?? [];
114
+ for (const check of checks.slice(0, 3)) {
115
+ const required = check.required === false ? "soft" : "required";
116
+ console.log(chalk.dim(` - ${check.description ?? check.kind} (${required})`));
117
+ }
118
+ }
119
+ }
120
+ const stages = buildPlan.stages ?? [];
121
+ if (stages.length > 0) {
122
+ console.log();
123
+ console.log(chalk.bold(" Stages"));
124
+ for (const stage of stages) {
125
+ const role = stage.role ? chalk.dim(` [${stage.role}]`) : "";
126
+ console.log(` ${chalk.bold(stage.label)}${role}`);
127
+ if (stage.description)
128
+ console.log(chalk.dim(` ${stage.description}`));
129
+ const reads = stage.reads?.length ? stage.reads.join(", ") : "source";
130
+ const writes = stage.writes?.length ? stage.writes.join(", ") : "(none declared)";
131
+ console.log(chalk.dim(` reads: ${reads}`));
132
+ console.log(chalk.dim(` writes: ${writes}`));
133
+ }
134
+ }
135
+ if (buildPlan.active_for_preparations?.length) {
136
+ console.log();
137
+ console.log(chalk.dim(` used by: ${buildPlan.active_for_preparations.join(", ")}`));
138
+ }
139
+ console.log();
140
+ console.log(chalk.dim(" Run with --json for the raw Build Plan record."));
141
+ console.log();
142
+ }
143
+ function preparationChecks(preparation) {
144
+ return asArray(preparation.checks).length
145
+ ? asArray(preparation.checks)
146
+ : asArray(preparation.preparation?.checks);
147
+ }
148
+ function preparationRequestedArtifacts(preparation) {
149
+ return preparation.requested_artifacts?.length
150
+ ? preparation.requested_artifacts
151
+ : preparation.preparation?.requested_artifacts ?? [];
152
+ }
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));
169
+ 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.",
177
+ ].filter((section) => Boolean(section));
178
+ return sections.join("\n\n");
179
+ }
180
+ async function readPreparationContext(url, token, prepId) {
181
+ const fetched = await callJson(`${url}${preparationResourcePath(prepId)}`, token);
182
+ if (fetched.status !== 200 || !fetched.body) {
183
+ console.error(chalk.red(`Failed to read Preparation ${prepId} (HTTP ${fetched.status}).`));
184
+ if (fetched.raw)
185
+ console.error(fetched.raw);
186
+ process.exit(1);
187
+ }
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
+ return {
201
+ preparation: fetched.body,
202
+ sourceFolderPath,
203
+ checks: preparationChecks(fetched.body),
204
+ };
205
+ }
206
+ async function startBuildPlanRun(args, mode) {
207
+ 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);
212
+ const explicitArtifactRequirements = parseJsonOption("--artifact-requirements-json", args.artifactRequirementsJson, (input) => BuildPlanAuthoringArtifactRequirementsCliSchema.parse(input));
213
+ const artifactRequirements = explicitArtifactRequirements
214
+ ?? artifactRequirementsFromRequestedArtifacts(requestedArtifacts);
215
+ 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 "..."`));
218
+ process.exit(1);
219
+ }
220
+ const body = {
221
+ preparation: args.prepId,
222
+ source_folder_path: sourceFolderPath,
223
+ ...(args.baseBuildPlan ? { base_build_plan_id: args.baseBuildPlan } : {}),
224
+ ...(args.referenceBuildPlan ? { reference_build_plan_id: args.referenceBuildPlan } : {}),
225
+ ...(mode === "improve" && !args.referenceBuildPlan && existingBuildPlan ? { reference_build_plan_id: existingBuildPlan } : {}),
226
+ build_plan_id: buildPlanId,
227
+ 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,
231
+ requested_artifacts: requestedArtifacts,
232
+ source_profile: preparationSourceProfile(preparation),
233
+ artifact_requirements: artifactRequirements,
234
+ };
235
+ 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) });
237
+ if (status !== 202 && status !== 201 && status !== 200) {
238
+ console.error(chalk.red(`Failed to start Build Plan ${mode} run (HTTP ${status}).`));
239
+ if (raw)
240
+ console.error(raw);
241
+ process.exit(1);
242
+ }
243
+ const runUrl = buildRunUrl(url, args.prepId, run?.run_id);
244
+ const reviewUrl = buildPreparationReviewUrl(url, args.prepId);
245
+ if (args.json) {
246
+ console.log(JSON.stringify({
247
+ run_id: run?.run_id ?? null,
248
+ status: run?.status ?? null,
249
+ preparation: args.prepId,
250
+ build_plan_id: buildPlanId,
251
+ run_url: runUrl,
252
+ review_url: reviewUrl,
253
+ }, null, 2));
254
+ return;
255
+ }
256
+ console.log(chalk.green(`Build Plan ${mode} run ${chalk.bold(run?.run_id ?? "(?)")} started.`));
257
+ console.log(chalk.dim(` Build Plan: ${buildPlanId}`));
258
+ if (runUrl)
259
+ console.log(chalk.dim(` watch: ${runUrl}`));
260
+ console.log(chalk.dim(` review after it finishes: ${reviewUrl}`));
261
+ }
262
+ export const buildPlanCommand = {
263
+ command: "build-plan <subcommand>",
264
+ describe: "Manage Build Plans on the connected instance",
265
+ builder: (yargs) => yargs
266
+ .option("url", { type: "string", describe: "Override the active connection URL" })
267
+ .option("token", { type: "string", describe: "Override the active bearer token" })
268
+ .command("list", "List Build Plans on the instance", (y) => y, async (args) => {
269
+ const { url, token } = resolveConnection(args);
270
+ const { status, body, raw } = await callJson(`${url}/v1/build-plans`, token);
271
+ if (status !== 200) {
272
+ console.error(chalk.red(`Failed to list Build Plans (HTTP ${status}).`));
273
+ if (raw)
274
+ console.error(raw);
275
+ process.exit(1);
276
+ }
277
+ const buildPlans = body?.build_plans ?? [];
278
+ if (buildPlans.length === 0) {
279
+ console.log(chalk.dim(" No Build Plans on this instance."));
280
+ return;
281
+ }
282
+ console.log();
283
+ for (const buildPlan of buildPlans) {
284
+ const id = buildPlan.build_plan_id ?? buildPlan.id ?? "(?)";
285
+ const label = buildPlan.label ? ` ${chalk.dim(buildPlan.label)}` : "";
286
+ const kind = buildPlan.source_kind ? chalk.dim(`[${buildPlan.source_kind}]`) : "";
287
+ 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(", ")}`));
290
+ }
291
+ }
292
+ console.log();
293
+ })
294
+ .command("save <source>", "Save a Build Plan definition from a local folder", (y) => y
295
+ .positional("source", { type: "string", demandOption: true, describe: "Path to the Build Plan definition folder" })
296
+ .option("as", { type: "string", describe: "Build Plan id to save as" })
297
+ .option("overwrite", { type: "boolean", default: false, describe: "Replace an existing Build Plan with the same id" }), async (args) => {
298
+ const { url, token } = resolveConnection(args);
299
+ const absolute = resolve(process.cwd(), args.source);
300
+ const { status, raw } = await callJson(`${url}/v1/build-plans`, token, { method: "POST", body: JSON.stringify({ source_path: absolute, id: args.as, overwrite: args.overwrite }) });
301
+ if (status !== 201 && status !== 200) {
302
+ console.error(chalk.red(`Failed to save Build Plan (HTTP ${status}).`));
303
+ if (raw)
304
+ console.error(raw);
305
+ process.exit(1);
306
+ }
307
+ console.log(chalk.green(`Saved Build Plan from ${absolute}.`));
308
+ })
309
+ .command("show <build-plan-id>", "Show a Build Plan", (y) => y
310
+ .positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" })
311
+ .option("json", {
312
+ type: "boolean",
313
+ default: false,
314
+ describe: "Print the raw JSON record instead of the formatted summary",
315
+ }), async (args) => {
316
+ const { url, token } = resolveConnection(args);
317
+ const { status, body, raw } = await callJson(`${url}${buildPlanResourcePath(args.buildPlanId)}`, token);
318
+ if (status !== 200 || !body) {
319
+ console.error(chalk.red(`Failed to read Build Plan ${args.buildPlanId} (HTTP ${status}).`));
320
+ if (raw)
321
+ console.error(raw);
322
+ process.exit(1);
323
+ }
324
+ if (args.json) {
325
+ console.log(JSON.stringify(body, null, 2));
326
+ return;
327
+ }
328
+ renderBuildPlanSummary(body);
329
+ })
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" })
332
+ .positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" }), async (args) => {
333
+ 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 }) });
335
+ if (status !== 200) {
336
+ console.error(chalk.red(`Failed to select Build Plan (HTTP ${status}).`));
337
+ if (raw)
338
+ console.error(raw);
339
+ process.exit(1);
340
+ }
341
+ console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.prepId)}.`));
342
+ })
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" })
349
+ .option("build-plan", { type: "string", describe: "Build Plan id to write" })
350
+ .option("label", { type: "string", describe: "Human-readable Build Plan label" })
351
+ .option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
352
+ .option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
353
+ .option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while drafting" })
354
+ .option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
355
+ await startBuildPlanRun(args, "draft");
356
+ })
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" })
363
+ .option("build-plan", { type: "string", describe: "Build Plan id to update" })
364
+ .option("label", { type: "string", describe: "Human-readable Build Plan label" })
365
+ .option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
366
+ .option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
367
+ .option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while improving" })
368
+ .option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
369
+ await startBuildPlanRun(args, "improve");
370
+ })
371
+ .demandCommand(1)
372
+ .strict(),
373
+ handler: () => {
374
+ /* yargs subcommand handlers do the work */
375
+ },
376
+ };
@@ -1,5 +1,5 @@
1
1
  import type { CommandModule } from "yargs";
2
- interface CompileArgs {
2
+ interface BuildArgs {
3
3
  prepId: string;
4
4
  watch?: boolean;
5
5
  quiet?: boolean;
@@ -7,5 +7,5 @@ interface CompileArgs {
7
7
  url?: string;
8
8
  token?: string;
9
9
  }
10
- export declare const compileCommand: CommandModule<unknown, CompileArgs>;
10
+ export declare const buildCommand: CommandModule<unknown, BuildArgs>;
11
11
  export {};
@@ -1,11 +1,11 @@
1
1
  /**
2
- * `interf compile <prep-id>` — start a compile run for a preparation.
2
+ * Build command stack.
3
3
  *
4
- * interf compile bristol
5
- * interf compile bristol --quiet # only the locator on stdout (scripting)
6
- * interf compile bristol --watch # stream events
4
+ * interf build bristol
5
+ * interf build bristol --quiet # only the locator on stdout (scripting)
6
+ * interf build bristol --watch # stream events
7
7
  *
8
- * Requires an active connection. Hits POST /v1/preparations/<id>/compile-runs.
8
+ * Requires an active connection. Hits POST /v1/preparations/<id>/build-runs.
9
9
  */
10
10
  import chalk from "chalk";
11
11
  import { CONNECT_OR_ERROR_HINT, readActiveConnection } from "../../packages/engine/connection-config.js";
@@ -39,23 +39,23 @@ async function callJson(url, token, init = {}) {
39
39
  }
40
40
  return { status: response.status, body, raw };
41
41
  }
42
- export const compileCommand = {
43
- command: "compile <prep-id>",
44
- describe: "Start a compile run for a preparation",
42
+ export const buildCommand = {
43
+ command: "build <prep-id>",
44
+ describe: "Run the selected Build Plan for a Preparation",
45
45
  builder: (yargs) => yargs
46
46
  .positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
47
- .option("watch", { type: "boolean", default: false, describe: "Stream run events" })
48
- .option("quiet", { type: "boolean", default: false, describe: "Print only the portable-context locator on success" })
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" })
49
49
  .option("idempotency-key", { type: "string", describe: "Client-supplied dedupe key" })
50
50
  .option("url", { type: "string", describe: "Override the active connection URL" })
51
51
  .option("token", { type: "string", describe: "Override the active bearer token" }),
52
52
  handler: async (args) => {
53
53
  const { url, token } = resolveConnection(args);
54
- // 0.15 hard-error: refuse to start a compile if the engine has zero
55
- // connected agents — the compile pipeline can't run without one.
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.
56
56
  const instance = await callJson(`${url}/v1/instance`, token);
57
57
  if (instance.body && instance.body.agent_count === 0) {
58
- console.error(chalk.red(" Cannot compile — no agents available."));
58
+ console.error(chalk.red(" Cannot build — no agents available."));
59
59
  console.error(" Install Claude Code, Codex, Gemini, or another agent CLI, or");
60
60
  console.error(" register a custom CLI: `interf agents register <name> --command <cmd>`.");
61
61
  process.exit(1);
@@ -63,23 +63,23 @@ export const compileCommand = {
63
63
  const headers = {};
64
64
  if (args.idempotencyKey)
65
65
  headers["x-interf-idempotency-key"] = args.idempotencyKey;
66
- const { status, body, raw } = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}/compile-runs`, token, { method: "POST", headers, body: JSON.stringify({}) });
66
+ const { status, body, raw } = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}/build-runs`, token, { method: "POST", headers, body: JSON.stringify({}) });
67
67
  if (status !== 201 && status !== 200 && status !== 202) {
68
- console.error(chalk.red(`Failed to start compile run for ${args.prepId} (HTTP ${status}).`));
68
+ console.error(chalk.red(`Failed to start build run for ${args.prepId} (HTTP ${status}).`));
69
69
  if (raw)
70
70
  console.error(raw);
71
71
  process.exit(1);
72
72
  }
73
73
  const run = body?.run;
74
74
  const runId = run?.run_id ?? "(unknown run)";
75
- const locator = run?.portable_context_path ?? "(no locator)";
75
+ const locator = run?.verifiable_context_path ?? "(no locator)";
76
76
  if (args.quiet) {
77
77
  console.log(locator);
78
78
  return;
79
79
  }
80
80
  console.log();
81
- console.log(` Run ${chalk.bold(runId)} ${chalk.dim(`(${run?.status ?? "started"})`)}`);
82
- console.log(` Portable context: ${locator}`);
81
+ console.log(` Build run ${chalk.bold(runId)} ${chalk.dim(`(${run?.status ?? "started"})`)}`);
82
+ console.log(` Verifiable context: ${locator}`);
83
83
  if (run?.status === "succeeded" || run?.finished_at) {
84
84
  const prepResp = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}`, token);
85
85
  const readiness = prepResp.body?.readiness?.status;
@@ -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, Method authoring, a readiness check, or a compile run.",
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.",
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 compile 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
  }
@@ -1,37 +1,3 @@
1
- /**
2
- * `interf mcp` — Model Context Protocol server.
3
- *
4
- * Wraps the local-service HTTP API as a typed agent surface so coding
5
- * agents can interact with Interf the same way they call other MCP tools
6
- * (instead of shelling out to the CLI).
7
- *
8
- * interf mcp # stdio transport (default)
9
- * interf mcp --transport=http --port=4889 # advanced: HTTP transport
10
- *
11
- * The server reads `~/.interf/connection.json` (the same file every other
12
- * client uses) and exits non-zero with the connect-or-error hint if no
13
- * instance is reachable. Tools call straight through to the API; the
14
- * server itself holds no state. The transport options are intentionally
15
- * minimal — agents speaking MCP today are stdio-first.
16
- *
17
- * Tool list mirrors the API verbatim:
18
- * prep_list GET /v1/preparations
19
- * prep_create POST /v1/preparations
20
- * prep_show GET /v1/preparations/{id}
21
- * prep_set_method PATCH /v1/preparations/{id}
22
- * prep_remove DELETE /v1/preparations/{id}
23
- * prep_compile POST /v1/preparations/{id}/compile-runs
24
- * prep_verify POST /v1/preparations/{id}/verify-runs
25
- * method_list GET /v1/methods
26
- * method_install POST /v1/methods (preparation-scoped via `prep_id`)
27
- * method_draft POST /v1/preparations/{id}/method-authoring-runs
28
- * method_improve POST /v1/preparations/{id}/method-improvement-runs
29
- * runs_status GET /v1/runs/{run-id}
30
- * runs_watch GET /v1/runs/{run-id}/events (snapshot, not SSE)
31
- * runs_cancel POST /v1/runs/{run-id}/cancel
32
- * runs_fetch GET /v1/runs/{run-id}/artifacts
33
- * instance_status GET /v1/instance
34
- */
35
1
  import type { CommandModule } from "yargs";
36
2
  interface McpArgs {
37
3
  transport?: "stdio" | "http";