@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,216 @@
1
+ import { appendFileSync, existsSync, mkdirSync, writeFileSync, } from "node:fs";
2
+ import { join, relative } from "node:path";
3
+ import { createBuildPlanImprovementShell, freezeBuildPlanImprovementShell, } from "../../engine/agents/lib/shells.js";
4
+ import { validateBuildPlanPackage } from "../package/local-build-plans.js";
5
+ import { CONTEXT_INTERFACE_FILE } from "../package/context-interface.js";
6
+ import { readJsonFileWithSchema } from "../../contracts/utils/parse.js";
7
+ import { resolveBuildPlanImprovementReviewPaths } from "../package/build-plan-review-paths.js";
8
+ import { targetTestRunsRootForVerifiableContext, targetTestSandboxesRootForVerifiableContext, buildPlanImprovementRunRoot, buildPlanPackagePathForVerifiableContext, } from "../../engine/build/verifiable-context-paths.js";
9
+ import { readInterfConfig } from "../../project/interf.js";
10
+ import { saveVerifiableContextInterfConfig } from "../../project/source-config.js";
11
+ import { BuildPlanImprovementRunLedgerSchema, } from "../../engine/build/lib/schema.js";
12
+ import { runBuildPlanEditSession } from "./build-plan-edit-session.js";
13
+ import { ensureStageRoles } from "./build-plan-authoring.js";
14
+ function toShellArtifactPath(absolutePath, sourceRoot, shellRoot) {
15
+ if (!absolutePath)
16
+ return null;
17
+ const normalizedSourceRoot = `${sourceRoot}/`;
18
+ if (absolutePath !== sourceRoot && !absolutePath.startsWith(normalizedSourceRoot)) {
19
+ return null;
20
+ }
21
+ const relativePath = relative(sourceRoot, absolutePath);
22
+ return join(shellRoot, relativePath);
23
+ }
24
+ function mapLoopSummaryForShell(summary, verifiableContextPath) {
25
+ const shellTestRunsRoot = "artifacts/test-runs";
26
+ const shellTestSandboxesRoot = "artifacts/test-sandboxes";
27
+ return {
28
+ ...summary,
29
+ test_run_path: toShellArtifactPath(summary.test_run_path, targetTestRunsRootForVerifiableContext(verifiableContextPath), shellTestRunsRoot) ?? summary.test_run_path ?? null,
30
+ test_sandbox_path: toShellArtifactPath(summary.test_sandbox_path, targetTestSandboxesRootForVerifiableContext(verifiableContextPath), shellTestSandboxesRoot) ?? summary.test_sandbox_path ?? null,
31
+ };
32
+ }
33
+ function buildLoopContext(options) {
34
+ const previousVariations = options.previousVariations.map((summary) => mapLoopSummaryForShell(summary, options.verifiableContextPath));
35
+ const latestFailure = previousVariations.at(-1) ?? null;
36
+ return {
37
+ kind: "interf-build-plan-improvement-loop",
38
+ version: 1,
39
+ generated_at: new Date().toISOString(),
40
+ target_name: readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context",
41
+ build_plan_id: options.buildPlanId,
42
+ loop_index: options.loopIndex,
43
+ max_loops: options.maxLoops,
44
+ max_attempts: options.maxAttempts,
45
+ review_paths: resolveBuildPlanImprovementReviewPaths(options.verifiableContextPath),
46
+ readiness_checks: {
47
+ count: options.verifiableContextConfig.checks.length,
48
+ questions: options.verifiableContextConfig.checks.map((check, index) => ({
49
+ id: check.id ?? `check-${index + 1}`,
50
+ question: check.question,
51
+ })),
52
+ },
53
+ previous_variations: previousVariations,
54
+ latest_failure: latestFailure,
55
+ };
56
+ }
57
+ function buildBuildPlanImprovementPrompt() {
58
+ return [
59
+ "This is an automated Interf Build Plan improvement run, not an open-ended chat session.",
60
+ "The user already invoked this through `interf build` with self-improving loops enabled. Execute it now.",
61
+ "Read `runtime/loop-context.json` first.",
62
+ `Then read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, \`build-plan/${CONTEXT_INTERFACE_FILE}\`, and \`build-plan/improve/SKILL.md\` if it exists.`,
63
+ "Review preserved evidence from earlier failures under `artifacts/` before you edit the Build Plan.",
64
+ "Treat `build-plan/improve/SKILL.md` as guidance for how to improve the Build Plan, not as the default file to edit.",
65
+ "Treat the Build Plan package as four aligned layers: purpose, inputs, context interface, and stages.",
66
+ "Prefer editing the stage docs, Build Plan contract, input contract, or schema ownership that actually change verifiable-context outputs.",
67
+ "Edit only files under `build-plan/`.",
68
+ "Do not edit checks, test specs, source files, or generated verifiable-context outputs.",
69
+ "Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
70
+ "Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read Artifacts.",
71
+ "Do not make one stage point at files or notes that are only created later by another stage.",
72
+ "Prefer small, defensible changes to Build Plan docs, stage docs, stage policies, or schema ownership over random churn.",
73
+ "Do not narrate plans or ask follow-up questions.",
74
+ "Only emit user-visible updates that begin with STATUS:, DONE:, BLOCKED:, or ERROR:.",
75
+ "As soon as the Build Plan edits are complete, stop.",
76
+ ].join("\n");
77
+ }
78
+ function updateBuildPlanOrigin(options) {
79
+ const current = readInterfConfig(options.verifiableContextPath);
80
+ if (!current)
81
+ return;
82
+ const nextConfig = {
83
+ ...current,
84
+ build_plan_origin: {
85
+ selected: options.selectedBuildPlanId,
86
+ ...(options.localDraft ? { local_draft: true } : {}),
87
+ },
88
+ };
89
+ saveVerifiableContextInterfConfig(options.verifiableContextPath, nextConfig);
90
+ }
91
+ function buildPlanImprovementRunLedgerPath(verifiableContextPath, runId) {
92
+ return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "run.json");
93
+ }
94
+ function buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId) {
95
+ return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "loop-history.jsonl");
96
+ }
97
+ function buildPlanImprovementLoopRecordPath(loopRootPath) {
98
+ return join(loopRootPath, "loop.json");
99
+ }
100
+ function readBuildPlanImprovementRunLedger(verifiableContextPath, runId) {
101
+ const ledgerPath = buildPlanImprovementRunLedgerPath(verifiableContextPath, runId);
102
+ if (!existsSync(ledgerPath))
103
+ return null;
104
+ return readJsonFileWithSchema(ledgerPath, "Build Plan improvement run ledger", BuildPlanImprovementRunLedgerSchema);
105
+ }
106
+ function writeBuildPlanImprovementRunLedger(verifiableContextPath, runId, record, options) {
107
+ const runRoot = buildPlanImprovementRunRoot(verifiableContextPath, runId);
108
+ mkdirSync(runRoot, { recursive: true });
109
+ const existing = readBuildPlanImprovementRunLedger(verifiableContextPath, runId);
110
+ const generatedAt = existing?.generated_at ?? new Date().toISOString();
111
+ const ledger = {
112
+ kind: "interf-build-plan-improvement-run",
113
+ version: 1,
114
+ generated_at: generatedAt,
115
+ updated_at: new Date().toISOString(),
116
+ run_id: runId,
117
+ target_name: options.targetName,
118
+ build_plan_id: options.buildPlanId,
119
+ max_loops: options.maxLoops,
120
+ max_attempts: options.maxAttempts,
121
+ loops: [...(existing?.loops ?? []), record],
122
+ };
123
+ writeFileSync(buildPlanImprovementRunLedgerPath(verifiableContextPath, runId), `${JSON.stringify(ledger, null, 2)}\n`);
124
+ writeFileSync(buildPlanImprovementLoopRecordPath(record.loop_root_path), `${JSON.stringify(record, null, 2)}\n`);
125
+ appendFileSync(buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId), `${JSON.stringify(record)}\n`);
126
+ }
127
+ function buildBuildPlanImprovementLoopRecord(options) {
128
+ return {
129
+ kind: "interf-build-plan-improvement-loop-record",
130
+ version: 1,
131
+ recorded_at: new Date().toISOString(),
132
+ run_id: options.runId,
133
+ loop_index: options.loopIndex,
134
+ target_name: options.targetName,
135
+ build_plan_id: options.buildPlanId,
136
+ result: options.result,
137
+ changed: options.changed,
138
+ applied: options.result === "updated",
139
+ summary: options.summary,
140
+ shell_path: options.shellPath,
141
+ loop_root_path: options.loopRootPath,
142
+ context_path: join(options.shellPath, "runtime", "loop-context.json"),
143
+ build_plan_before_path: options.buildPlanBeforePath,
144
+ build_plan_after_path: options.buildPlanAfterPath,
145
+ prompt_log_path: options.promptLogPath,
146
+ event_log_path: options.eventLogPath,
147
+ status_log_path: options.statusLogPath,
148
+ preserved_shell_manifest_path: options.preservedShellManifestPath,
149
+ validation: options.validation,
150
+ };
151
+ }
152
+ export async function runBuildPlanImprovementLoop(options) {
153
+ const verifiableContextName = readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context";
154
+ const context = buildLoopContext(options);
155
+ const shell = createBuildPlanImprovementShell({
156
+ verifiableContextPath: options.verifiableContextPath,
157
+ verifiableContextName,
158
+ buildPlanId: options.buildPlanId,
159
+ runId: options.runId,
160
+ loopIndex: options.loopIndex,
161
+ context,
162
+ });
163
+ const buildPlanRoot = buildPlanPackagePathForVerifiableContext(options.verifiableContextPath);
164
+ const session = await runBuildPlanEditSession({
165
+ executor: options.executor,
166
+ buildPlanPath: buildPlanRoot,
167
+ shell,
168
+ prompt: buildBuildPlanImprovementPrompt(),
169
+ validate: validateBuildPlanPackage,
170
+ maxValidationRepairAttempts: 1,
171
+ });
172
+ if (session.status === "updated") {
173
+ // 0.15 — fill role=general on any stage the improvement run
174
+ // dropped a role from. Idempotent and silent when complete.
175
+ ensureStageRoles(buildPlanRoot);
176
+ }
177
+ const preservedShellManifestPath = freezeBuildPlanImprovementShell(shell.rootPath);
178
+ writeBuildPlanImprovementRunLedger(options.verifiableContextPath, options.runId, buildBuildPlanImprovementLoopRecord({
179
+ targetName: verifiableContextName,
180
+ buildPlanId: options.buildPlanId,
181
+ runId: options.runId,
182
+ loopIndex: options.loopIndex,
183
+ shellPath: shell.rootPath,
184
+ loopRootPath: shell.loopRootPath,
185
+ buildPlanBeforePath: shell.buildPlanBeforePath,
186
+ buildPlanAfterPath: shell.buildPlanAfterPath,
187
+ promptLogPath: shell.promptLogPath,
188
+ eventLogPath: shell.eventLogPath,
189
+ statusLogPath: shell.statusLogPath,
190
+ preservedShellManifestPath,
191
+ changed: session.changed,
192
+ validation: session.validation,
193
+ result: session.status,
194
+ summary: session.summary,
195
+ }), {
196
+ targetName: verifiableContextName,
197
+ buildPlanId: options.buildPlanId,
198
+ maxLoops: options.maxLoops,
199
+ maxAttempts: options.maxAttempts,
200
+ });
201
+ if (session.status === "updated") {
202
+ updateBuildPlanOrigin({
203
+ verifiableContextPath: options.verifiableContextPath,
204
+ selectedBuildPlanId: options.buildPlanId,
205
+ localDraft: true,
206
+ });
207
+ }
208
+ return {
209
+ status: session.status,
210
+ changed: session.changed,
211
+ validation: session.validation,
212
+ summary: session.summary,
213
+ shellPath: shell.rootPath,
214
+ loopRootPath: shell.loopRootPath,
215
+ };
216
+ }
@@ -0,0 +1,4 @@
1
+ export * as authoring from "./build-plan-authoring.js";
2
+ export * as editSession from "./build-plan-edit-session.js";
3
+ export * as editUtils from "./lib/build-plan-edit-utils.js";
4
+ export * as improvement from "./build-plan-improvement.js";
@@ -0,0 +1,4 @@
1
+ export * as authoring from "./build-plan-authoring.js";
2
+ export * as editSession from "./build-plan-edit-session.js";
3
+ export * as editUtils from "./lib/build-plan-edit-utils.js";
4
+ export * as improvement from "./build-plan-improvement.js";
@@ -1,9 +1,9 @@
1
1
  export declare function copyDirectory(sourcePath: string, targetPath: string): void;
2
2
  export declare function directoriesMatch(leftPath: string, rightPath: string): boolean;
3
- export interface MethodEditShellArtifacts {
3
+ export interface BuildPlanEditShellArtifacts {
4
4
  rootPath: string;
5
- methodBeforePath: string;
6
- methodAfterPath: string;
5
+ buildPlanBeforePath: string;
6
+ buildPlanAfterPath: string;
7
7
  promptLogPath: string;
8
8
  eventLogPath: string;
9
9
  statusLogPath: string;
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_BUILD_PLAN_ID = "interf-default";
2
+ export interface BuildPlanSelectionLike {
3
+ build_plan?: string | null;
4
+ }
5
+ export declare function buildPlanIdForSourcePreparationConfig(preparationConfig: BuildPlanSelectionLike | null | undefined): string | null;
6
+ export declare function resolveBuildPlanId(selection: BuildPlanSelectionLike | null | undefined, fallback?: string): string;
@@ -0,0 +1,7 @@
1
+ export const DEFAULT_BUILD_PLAN_ID = "interf-default";
2
+ export function buildPlanIdForSourcePreparationConfig(preparationConfig) {
3
+ return preparationConfig?.build_plan ?? null;
4
+ }
5
+ export function resolveBuildPlanId(selection, fallback = DEFAULT_BUILD_PLAN_ID) {
6
+ return buildPlanIdForSourcePreparationConfig(selection) ?? fallback;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * as buildPlanResolution from "./build-plan-resolution.js";
2
+ export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForSourcePreparationConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
@@ -0,0 +1,2 @@
1
+ export * as buildPlanResolution from "./build-plan-resolution.js";
2
+ export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForSourcePreparationConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
@@ -0,0 +1,61 @@
1
+ import { type LocalBuildPlanDefinition } from "./local-build-plans.js";
2
+ import type { BuildPlanEngineApi } from "../../engine/build/lib/schema.js";
3
+ import type { BuildPlanId, RuntimeContractType } from "../../contracts/lib/schema.js";
4
+ import { type ContextInterface, type ContextInterfaceArtifactId, type BuildPlanInputSpec } from "./context-interface.js";
5
+ export interface BuildPlanStarterDoc {
6
+ relativePath: string;
7
+ content: string;
8
+ }
9
+ export interface BuildPlanStageDefinition {
10
+ id: string;
11
+ label: string;
12
+ description: string;
13
+ contractType: RuntimeContractType;
14
+ skillDir: string;
15
+ /**
16
+ * Role hint declared by the Build Plan package. Defaults to `general` when
17
+ * absent; mapped to a connected agent via the user's role-map at run
18
+ * time.
19
+ */
20
+ role: string;
21
+ reads: ContextInterfaceArtifactId[];
22
+ writes: ContextInterfaceArtifactId[];
23
+ }
24
+ export interface BuildPlanDefinition<TId extends string> {
25
+ id: TId;
26
+ engineApi?: BuildPlanEngineApi;
27
+ purpose?: {
28
+ label: string;
29
+ taskHint: string;
30
+ };
31
+ inputs?: BuildPlanInputSpec[];
32
+ label: string;
33
+ hint: string;
34
+ recommended?: boolean;
35
+ contextInterface?: ContextInterface;
36
+ schema?: ContextInterface;
37
+ stages: BuildPlanStageDefinition[];
38
+ stagePolicyNotes?: Record<string, string[]>;
39
+ starterDocs?: BuildPlanStarterDoc[];
40
+ scope?: "builtin" | "user" | "local";
41
+ }
42
+ export type ResolvedBuildPlanId = string;
43
+ export declare function standaloneBuildPlanDefinitionFromLocalPackage(local: LocalBuildPlanDefinition): BuildPlanDefinition<string>;
44
+ export declare function listBuildPlanChoices(prepDataDir?: string): BuildPlanDefinition<string>[];
45
+ export declare function getBuildPlan(buildPlanId: ResolvedBuildPlanId, options?: {
46
+ prepDataDir?: string;
47
+ }): BuildPlanDefinition<string>;
48
+ export declare function getActiveBuildPlan(verifiableContextPath: string): BuildPlanDefinition<string>;
49
+ export declare function resolveVerifiableContextBuildPlanId(value: unknown): ResolvedBuildPlanId | null;
50
+ export declare function resolveBuildPlanFromConfig(config: unknown): ResolvedBuildPlanId | null;
51
+ export declare function resolveRequiredBuildPlanFromConfig(config: unknown, label?: string): ResolvedBuildPlanId;
52
+ export declare function getBuildPlanStageDefinition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): BuildPlanStageDefinition | null;
53
+ export declare function getBuildPlanStagePosition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): {
54
+ stageIndex: number;
55
+ stageTotal: number;
56
+ stages: string[];
57
+ } | null;
58
+ export declare function getBuildPlanStages(buildPlanId: BuildPlanId, prepDataDir?: string): string[];
59
+ export declare function getActiveBuildPlanStages(verifiableContextPath: string): string[];
60
+ export declare function getActiveBuildPlanStagePolicyNotes(verifiableContextPath: string, stage: string): string[];
61
+ export declare function formatActiveBuildPlanStageLabel(verifiableContextPath: string, stage: string): string;
@@ -0,0 +1,214 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { builtinBuildPlanPackagePath, isBuildPlanId, listLocalBuildPlanDefinitions, loadLocalBuildPlanDefinition, loadBuildPlanDefinitionFromDir, mergeStagePolicyNotesForStages, } from "./local-build-plans.js";
4
+ import { listUserBuildPlanDefinitions, loadUserBuildPlanDefinition, } from "./user-build-plans.js";
5
+ import { warnInterf } from "../../contracts/utils/logger.js";
6
+ import { buildPlanPackagePathForVerifiableContext } from "../../engine/build/verifiable-context-paths.js";
7
+ import { asPreparationDataDir, preparationBuildPlanPackagePath } from "../../contracts/lib/preparation-paths.js";
8
+ import { resolveSourceControlPath } from "../../project/interf.js";
9
+ import { deriveBuildPlanInputsFromContextInterface, } from "./context-interface.js";
10
+ const DEFAULT_BUILD_PLAN_ID = "interf-default";
11
+ let builtinDefaultBuildPlanCache = null;
12
+ function toBuildPlanStages(stages) {
13
+ return stages.map((stage) => ({
14
+ id: stage.id,
15
+ label: stage.label,
16
+ description: stage.description ?? stage.label,
17
+ contractType: stage.contract_type,
18
+ skillDir: stage.skill_dir ?? stage.id,
19
+ role: stage.role && stage.role.trim().length > 0 ? stage.role : "general",
20
+ reads: [...stage.reads],
21
+ writes: [...stage.writes],
22
+ }));
23
+ }
24
+ export function standaloneBuildPlanDefinitionFromLocalPackage(local) {
25
+ if (!local.stages || local.stages.length === 0) {
26
+ throw new Error(`Build Plan package "${local.id}" is missing explicit stages. Local Build Plan packages must be standalone.`);
27
+ }
28
+ const stages = toBuildPlanStages(local.stages);
29
+ const contextInterface = local.build_plan_schema;
30
+ const inputs = local.inputs?.length
31
+ ? [...local.inputs]
32
+ : deriveBuildPlanInputsFromContextInterface(contextInterface);
33
+ return {
34
+ id: local.id,
35
+ engineApi: local.engine_api ?? {
36
+ kind: "build",
37
+ version: 1,
38
+ },
39
+ ...(local.purpose
40
+ ? {
41
+ purpose: {
42
+ label: local.purpose.label,
43
+ taskHint: local.purpose.task_hint,
44
+ },
45
+ }
46
+ : {}),
47
+ inputs,
48
+ label: local.label,
49
+ hint: local.hint,
50
+ recommended: false,
51
+ contextInterface,
52
+ ...(contextInterface ? { schema: contextInterface } : {}),
53
+ stages,
54
+ stagePolicyNotes: mergeStagePolicyNotesForStages(stages, undefined, local.stage_policy_notes),
55
+ starterDocs: [...local.starter_docs],
56
+ scope: "local",
57
+ };
58
+ }
59
+ function getBuiltinDefaultBuildPlan() {
60
+ if (builtinDefaultBuildPlanCache)
61
+ return builtinDefaultBuildPlanCache;
62
+ const local = loadBuildPlanDefinitionFromDir(builtinBuildPlanPackagePath(DEFAULT_BUILD_PLAN_ID));
63
+ if (!local) {
64
+ throw new Error(`Missing built-in Interf Build Plan package at public-repo/build-plans/${DEFAULT_BUILD_PLAN_ID}.`);
65
+ }
66
+ const resolved = standaloneBuildPlanDefinitionFromLocalPackage(local);
67
+ builtinDefaultBuildPlanCache = {
68
+ ...resolved,
69
+ id: DEFAULT_BUILD_PLAN_ID,
70
+ recommended: true,
71
+ scope: "builtin",
72
+ };
73
+ return builtinDefaultBuildPlanCache;
74
+ }
75
+ function listBuiltinBuildPlans() {
76
+ return [getBuiltinDefaultBuildPlan()];
77
+ }
78
+ function resolveBuildPlanFromLocal(buildPlanId, prepDataDir) {
79
+ const local = loadLocalBuildPlanDefinition(prepDataDir, buildPlanId);
80
+ if (!local)
81
+ return null;
82
+ const resolved = standaloneBuildPlanDefinitionFromLocalPackage(local);
83
+ return resolved;
84
+ }
85
+ function resolveBuildPlanFromUserLibrary(buildPlanId) {
86
+ const user = loadUserBuildPlanDefinition(buildPlanId);
87
+ if (!user)
88
+ return null;
89
+ const resolved = standaloneBuildPlanDefinitionFromLocalPackage(user);
90
+ return { ...resolved, scope: "user" };
91
+ }
92
+ export function listBuildPlanChoices(prepDataDir) {
93
+ const builtins = listBuiltinBuildPlans();
94
+ const buildPlansById = new Map();
95
+ for (const buildPlan of builtins) {
96
+ buildPlansById.set(buildPlan.id, buildPlan);
97
+ }
98
+ for (const definition of listUserBuildPlanDefinitions()) {
99
+ try {
100
+ const buildPlan = resolveBuildPlanFromUserLibrary(definition.id);
101
+ if (buildPlan)
102
+ buildPlansById.set(buildPlan.id, buildPlan);
103
+ }
104
+ catch (error) {
105
+ warnInterf(`Warning: skipping user Build Plan "${definition.id}" because it could not be resolved cleanly: ${error instanceof Error ? error.message : String(error)}`);
106
+ }
107
+ }
108
+ if (!prepDataDir)
109
+ return [...buildPlansById.values()];
110
+ for (const definition of listLocalBuildPlanDefinitions(prepDataDir)) {
111
+ try {
112
+ const buildPlan = resolveBuildPlanFromLocal(definition.id, prepDataDir);
113
+ if (buildPlan)
114
+ buildPlansById.set(buildPlan.id, buildPlan);
115
+ }
116
+ catch (error) {
117
+ warnInterf(`Warning: skipping local Build Plan "${definition.id}" because it could not be resolved cleanly: ${error instanceof Error ? error.message : String(error)}`);
118
+ }
119
+ }
120
+ return [...buildPlansById.values()];
121
+ }
122
+ export function getBuildPlan(buildPlanId, options = {}) {
123
+ if (options.prepDataDir) {
124
+ const local = resolveBuildPlanFromLocal(buildPlanId, options.prepDataDir);
125
+ if (local)
126
+ return local;
127
+ }
128
+ const user = resolveBuildPlanFromUserLibrary(buildPlanId);
129
+ if (user)
130
+ return user;
131
+ const builtin = listBuiltinBuildPlans().find((candidate) => candidate.id === buildPlanId);
132
+ if (builtin)
133
+ return builtin;
134
+ if (options.prepDataDir) {
135
+ throw new Error(`No Build Plan package "${buildPlanId}" found in this Preparation, in your user library, or among bundled Build Plan packages. Looked under ${preparationBuildPlanPackagePath(asPreparationDataDir(options.prepDataDir), buildPlanId)} and ~/.interf/build-plans/${buildPlanId}.`);
136
+ }
137
+ throw new Error(`Build Plan package "${buildPlanId}" is not built-in and no Preparation data directory was provided to look for a local override.`);
138
+ }
139
+ export function getActiveBuildPlan(verifiableContextPath) {
140
+ const buildPlanPath = buildPlanPackagePathForVerifiableContext(verifiableContextPath);
141
+ if (existsSync(join(buildPlanPath, "build-plan.json"))) {
142
+ const local = loadBuildPlanDefinitionFromDir(buildPlanPath);
143
+ if (!local) {
144
+ throw new Error(`Local Build Plan package at ${buildPlanPath} is missing or invalid. Interf build runs the local package directly; recreate or reseed this verifiable context.`);
145
+ }
146
+ return standaloneBuildPlanDefinitionFromLocalPackage(local);
147
+ }
148
+ throw new Error(`Missing local Build Plan package at ${buildPlanPath}. Interf build runs the local package directly, so recreate or reseed this verifiable context under ${resolveSourceControlPath(verifiableContextPath)}.`);
149
+ }
150
+ export function resolveVerifiableContextBuildPlanId(value) {
151
+ if (typeof value === "string" && isBuildPlanId(value)) {
152
+ return value;
153
+ }
154
+ return null;
155
+ }
156
+ export function resolveBuildPlanFromConfig(config) {
157
+ if (!config || typeof config !== "object")
158
+ return null;
159
+ const raw = config;
160
+ return resolveVerifiableContextBuildPlanId(raw.build_plan);
161
+ }
162
+ export function resolveRequiredBuildPlanFromConfig(config, label = "verifiable-context config") {
163
+ const buildPlanId = resolveBuildPlanFromConfig(config);
164
+ if (!buildPlanId) {
165
+ throw new Error(`Missing or invalid Build Plan in ${label}.`);
166
+ }
167
+ return buildPlanId;
168
+ }
169
+ function resolveBuildPlanDefinitionForStageMetadata(buildPlanId, prepDataDir) {
170
+ if (prepDataDir &&
171
+ existsSync(join(buildPlanPackagePathForVerifiableContext(prepDataDir), "build-plan.json"))) {
172
+ return getActiveBuildPlan(prepDataDir);
173
+ }
174
+ return getBuildPlan(buildPlanId, { prepDataDir });
175
+ }
176
+ function formatBuildPlanStageLabel(buildPlan, stage) {
177
+ const stageIndex = buildPlan.stages.findIndex((candidate) => candidate.id === stage);
178
+ if (stageIndex === -1) {
179
+ throw new Error(`Stage "${stage}" is not part of the build runtime.`);
180
+ }
181
+ const stageDefinition = buildPlan.stages[stageIndex];
182
+ if (!stageDefinition) {
183
+ throw new Error(`Stage "${stage}" is not part of the build runtime.`);
184
+ }
185
+ return `Stage ${stageIndex + 1}/${buildPlan.stages.length} - ${stageDefinition.label}`;
186
+ }
187
+ export function getBuildPlanStageDefinition(buildPlanId, stage, prepDataDir) {
188
+ const buildPlan = resolveBuildPlanDefinitionForStageMetadata(buildPlanId, prepDataDir);
189
+ return buildPlan.stages.find((candidate) => candidate.id === stage) ?? null;
190
+ }
191
+ export function getBuildPlanStagePosition(buildPlanId, stage, prepDataDir) {
192
+ const stages = getBuildPlanStages(buildPlanId, prepDataDir);
193
+ const stageIndex = stages.findIndex((candidate) => candidate === stage);
194
+ if (stageIndex === -1)
195
+ return null;
196
+ return {
197
+ stageIndex: stageIndex + 1,
198
+ stageTotal: stages.length,
199
+ stages: [...stages],
200
+ };
201
+ }
202
+ export function getBuildPlanStages(buildPlanId, prepDataDir) {
203
+ return resolveBuildPlanDefinitionForStageMetadata(buildPlanId, prepDataDir).stages.map((definition) => definition.id);
204
+ }
205
+ export function getActiveBuildPlanStages(verifiableContextPath) {
206
+ return getActiveBuildPlan(verifiableContextPath).stages.map((definition) => definition.id);
207
+ }
208
+ export function getActiveBuildPlanStagePolicyNotes(verifiableContextPath, stage) {
209
+ const buildPlan = getActiveBuildPlan(verifiableContextPath);
210
+ return [...(buildPlan.stagePolicyNotes?.[stage] ?? [])];
211
+ }
212
+ export function formatActiveBuildPlanStageLabel(verifiableContextPath, stage) {
213
+ return formatBuildPlanStageLabel(getActiveBuildPlan(verifiableContextPath), stage);
214
+ }
@@ -1,14 +1,14 @@
1
- import { type LocalInstructionMode, type RuntimeInstructionMode, type RuntimeStageInstructions } from "../../engine/compile/lib/schema.js";
2
- export interface MethodReporter {
1
+ import { type LocalInstructionMode, type RuntimeInstructionMode, type RuntimeStageInstructions } from "../../engine/build/lib/schema.js";
2
+ export interface BuildPlanReporter {
3
3
  line?: (message: string) => void;
4
4
  blankLine?: () => void;
5
5
  }
6
- export interface MethodStageResult {
6
+ export interface BuildPlanStageResult {
7
7
  ok: boolean;
8
8
  code: number;
9
9
  summary?: string | null;
10
10
  }
11
- export declare function methodCompileStageDirectory(stageDir: string): string;
11
+ export declare function buildPlanStageDirectory(stageDir: string): string;
12
12
  export interface LocalSkillContractExtension {
13
13
  reads: string[];
14
14
  count: number;
@@ -19,6 +19,6 @@ export interface LocalSkillContractExtension {
19
19
  }
20
20
  export declare function buildLocalSkillContractExtension(rootPath: string, directories: string[], purpose: string): LocalSkillContractExtension;
21
21
  export declare function buildStageInstructions(stageSkillDir: string, localSkills: LocalSkillContractExtension): RuntimeStageInstructions;
22
- export declare function reportLine(reporter: MethodReporter | undefined, message: string): void;
23
- export declare function reportBlankLine(reporter: MethodReporter | undefined): void;
24
- export declare function reportValidationFailure(reporter: MethodReporter | undefined, summary: string, errors?: string[]): void;
22
+ export declare function reportLine(reporter: BuildPlanReporter | undefined, message: string): void;
23
+ export declare function reportBlankLine(reporter: BuildPlanReporter | undefined): void;
24
+ export declare function reportValidationFailure(reporter: BuildPlanReporter | undefined, summary: string, errors?: string[]): void;
@@ -3,10 +3,10 @@ import { join, relative, sep } from "node:path";
3
3
  import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
4
4
  import { parseJsonFrontmatter } from "../../contracts/utils/parse.js";
5
5
  import { isMarkdownFile } from "../../contracts/utils/file-types.js";
6
- import { COMPILED_METHOD_DIR, methodPackagePathForCompiled } from "../../engine/compile/compiled-paths.js";
6
+ import { VERIFIABLE_CONTEXT_BUILD_PLAN_DIR, buildPlanPackagePathForVerifiableContext } from "../../engine/build/verifiable-context-paths.js";
7
7
  const LOCAL_SKILL_READ_LIMIT = 50;
8
- export function methodCompileStageDirectory(stageDir) {
9
- return `${COMPILED_METHOD_DIR}/compile/stages/${stageDir}`;
8
+ export function buildPlanStageDirectory(stageDir) {
9
+ return `${VERIFIABLE_CONTEXT_BUILD_PLAN_DIR}/build/stages/${stageDir}`;
10
10
  }
11
11
  function emptyLocalSkillContractExtension() {
12
12
  return {
@@ -30,10 +30,10 @@ function readLocalInstructionMode(filePath) {
30
30
  }
31
31
  function collectLocalSkillDocs(rootPath, directories) {
32
32
  const docs = new Map();
33
- const methodRoot = methodPackagePathForCompiled(rootPath);
34
- const rootReadme = join(methodRoot, "README.md");
33
+ const buildPlanRoot = buildPlanPackagePathForVerifiableContext(rootPath);
34
+ const rootReadme = join(buildPlanRoot, "README.md");
35
35
  if (existsSync(rootReadme)) {
36
- const read = projectMethodReadPath(rootPath, rootReadme);
36
+ const read = projectBuildPlanReadPath(rootPath, rootReadme);
37
37
  docs.set(read, {
38
38
  read,
39
39
  absolutePath: rootReadme,
@@ -43,7 +43,7 @@ function collectLocalSkillDocs(rootPath, directories) {
43
43
  for (const directory of directories) {
44
44
  const absoluteDirectory = resolveAuthoringDirectory(rootPath, directory);
45
45
  for (const filePath of listFilesRecursive(absoluteDirectory, isMarkdownFile)) {
46
- const read = projectMethodReadPath(rootPath, filePath);
46
+ const read = projectBuildPlanReadPath(rootPath, filePath);
47
47
  docs.set(read, {
48
48
  read,
49
49
  absolutePath: filePath,
@@ -56,21 +56,21 @@ function collectLocalSkillDocs(rootPath, directories) {
56
56
  .slice(0, LOCAL_SKILL_READ_LIMIT);
57
57
  }
58
58
  function resolveAuthoringDirectory(rootPath, directory) {
59
- if (directory === COMPILED_METHOD_DIR) {
60
- return methodPackagePathForCompiled(rootPath);
59
+ if (directory === VERIFIABLE_CONTEXT_BUILD_PLAN_DIR) {
60
+ return buildPlanPackagePathForVerifiableContext(rootPath);
61
61
  }
62
- if (directory.startsWith(`${COMPILED_METHOD_DIR}${sep}`) || directory.startsWith(`${COMPILED_METHOD_DIR}/`)) {
63
- const relativeMethodPath = directory.replace(/^method[\\/]/, "");
64
- return join(methodPackagePathForCompiled(rootPath), relativeMethodPath);
62
+ if (directory.startsWith(`${VERIFIABLE_CONTEXT_BUILD_PLAN_DIR}${sep}`) || directory.startsWith(`${VERIFIABLE_CONTEXT_BUILD_PLAN_DIR}/`)) {
63
+ const relativeBuildPlanPath = directory.replace(/^build-plan[\\/]/, "");
64
+ return join(buildPlanPackagePathForVerifiableContext(rootPath), relativeBuildPlanPath);
65
65
  }
66
66
  return join(rootPath, directory);
67
67
  }
68
- function projectMethodReadPath(rootPath, absolutePath) {
69
- const methodRoot = methodPackagePathForCompiled(rootPath);
70
- const normalizedMethodRoot = `${methodRoot}${sep}`;
71
- if (absolutePath === methodRoot || absolutePath.startsWith(normalizedMethodRoot)) {
72
- const relativeMethodPath = relative(methodRoot, absolutePath);
73
- return relative(rootPath, join(rootPath, COMPILED_METHOD_DIR, relativeMethodPath));
68
+ function projectBuildPlanReadPath(rootPath, absolutePath) {
69
+ const buildPlanRoot = buildPlanPackagePathForVerifiableContext(rootPath);
70
+ const normalizedBuildPlanRoot = `${buildPlanRoot}${sep}`;
71
+ if (absolutePath === buildPlanRoot || absolutePath.startsWith(normalizedBuildPlanRoot)) {
72
+ const relativeBuildPlanPath = relative(buildPlanRoot, absolutePath);
73
+ return relative(rootPath, join(rootPath, VERIFIABLE_CONTEXT_BUILD_PLAN_DIR, relativeBuildPlanPath));
74
74
  }
75
75
  return relative(rootPath, absolutePath);
76
76
  }
@@ -98,8 +98,8 @@ function buildContractExtensionFromDocs(docs, directories, purpose) {
98
98
  notes: [
99
99
  readNotice,
100
100
  localMode === "override"
101
- ? `${purpose} One or more local docs declare \`mode: override\`, so their Method instructions replace Interf's bundled stage instructions for this run. They still do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`
102
- : `${purpose} These local Method docs can refine the stage, but they do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`,
101
+ ? `${purpose} One or more local docs declare \`mode: override\`, so their Build Plan instructions replace Interf's bundled stage instructions for this run. They still do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`
102
+ : `${purpose} These local Build Plan docs can refine the stage, but they do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`,
103
103
  ],
104
104
  localMode,
105
105
  effectiveMode: localMode ?? "builtin",