@interf/compiler 0.22.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/README.md +268 -0
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -4
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +10 -0
  10. package/dist/cli/commands/benchmark.js +88 -0
  11. package/dist/cli/commands/build-plan.js +95 -103
  12. package/dist/cli/commands/build.d.ts +1 -1
  13. package/dist/cli/commands/build.js +16 -15
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +199 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +3 -2
  20. package/dist/cli/commands/mcp.js +721 -204
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +202 -0
  23. package/dist/cli/commands/reset.d.ts +1 -1
  24. package/dist/cli/commands/reset.js +10 -10
  25. package/dist/cli/commands/runs.js +52 -26
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +33 -22
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +125 -0
  32. package/dist/cli/commands/wizard.js +155 -150
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +2 -2
  37. package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
  38. package/dist/packages/build-plans/authoring/brief.js +89 -0
  39. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
  40. package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
  41. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
  42. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
  43. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  44. package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
  45. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  46. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  47. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  48. package/dist/packages/build-plans/index.d.ts +1 -1
  49. package/dist/packages/build-plans/index.js +1 -1
  50. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
  51. package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
  52. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  53. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  54. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  55. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  56. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
  57. package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
  58. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
  59. package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
  60. package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
  61. package/dist/packages/build-plans/package/context-interface.js +14 -33
  62. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  63. package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
  64. package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
  65. package/dist/packages/build-plans/package/local-build-plans.js +56 -31
  66. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  67. package/dist/packages/contracts/index.d.ts +4 -2
  68. package/dist/packages/contracts/index.js +2 -1
  69. package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
  70. package/dist/packages/contracts/lib/project-paths.js +211 -0
  71. package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
  72. package/dist/packages/contracts/lib/project-schema.js +113 -0
  73. package/dist/packages/contracts/lib/schema.d.ts +739 -80
  74. package/dist/packages/contracts/lib/schema.js +410 -75
  75. package/dist/packages/contracts/utils/parse.js +67 -0
  76. package/dist/packages/projects/index.d.ts +6 -0
  77. package/dist/packages/{project → projects}/index.js +0 -3
  78. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  79. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  80. package/dist/packages/projects/interf.d.ts +2 -0
  81. package/dist/packages/projects/interf.js +1 -0
  82. package/dist/packages/projects/lib/schema.d.ts +79 -0
  83. package/dist/packages/projects/lib/schema.js +89 -0
  84. package/dist/packages/projects/source-config.d.ts +58 -0
  85. package/dist/packages/projects/source-config.js +352 -0
  86. package/dist/packages/projects/source-folders.d.ts +11 -0
  87. package/dist/packages/{project → projects}/source-folders.js +26 -26
  88. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  89. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  90. package/dist/packages/runtime/action-values.d.ts +1 -0
  91. package/dist/packages/runtime/action-values.js +1 -0
  92. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  93. package/dist/packages/runtime/actions/errors.js +12 -0
  94. package/dist/packages/runtime/actions/fields.d.ts +82 -0
  95. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  96. package/dist/packages/runtime/actions/form-builders.js +619 -0
  97. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  98. package/dist/packages/runtime/actions/form-validators.js +128 -0
  99. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  100. package/dist/packages/runtime/actions/helpers.js +80 -0
  101. package/dist/packages/runtime/actions/index.d.ts +8 -0
  102. package/dist/packages/runtime/actions/index.js +11 -0
  103. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  104. package/dist/packages/runtime/actions/registry.js +62 -0
  105. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  106. package/dist/packages/runtime/actions/requests.js +158 -0
  107. package/dist/packages/runtime/actions/schemas.d.ts +154 -0
  108. package/dist/packages/runtime/actions/schemas.js +36 -0
  109. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  110. package/dist/packages/runtime/agent-handoff.js +101 -0
  111. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  112. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  113. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  114. package/dist/packages/runtime/agents/lib/args.js +24 -0
  115. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  116. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  117. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  118. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  119. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  120. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  121. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
  122. package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
  123. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
  124. package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
  125. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  126. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  127. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  128. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  129. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  130. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  131. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  132. package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
  133. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  134. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  135. package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
  136. package/dist/packages/runtime/agents/lib/shells.js +383 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  138. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  139. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  140. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  141. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  142. package/dist/packages/runtime/agents/providers/codex.js +64 -0
  143. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  144. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  145. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  146. package/dist/packages/runtime/agents/providers/index.js +31 -0
  147. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  148. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  149. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  150. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  151. package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
  152. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  153. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  154. package/dist/packages/runtime/auth/account-context.js +68 -0
  155. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  156. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  157. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  158. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  159. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  160. package/dist/packages/runtime/auth/keychain.js +85 -0
  161. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  162. package/dist/packages/runtime/auth/session-store.js +88 -0
  163. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  164. package/dist/packages/runtime/auth/workos-client.js +87 -0
  165. package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
  166. package/dist/packages/runtime/benchmark-question-draft.js +124 -0
  167. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  168. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  169. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
  170. package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
  171. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  172. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  173. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  174. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  175. package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
  176. package/dist/packages/runtime/build/build-evidence.js +173 -0
  177. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  178. package/dist/packages/runtime/build/build-pipeline.js +304 -0
  179. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  180. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  181. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  182. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  183. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  184. package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
  185. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  186. package/dist/packages/runtime/build/build-stage-runner.js +165 -0
  187. package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
  188. package/dist/packages/runtime/build/build-target.js +16 -0
  189. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  190. package/dist/packages/runtime/build/check-evaluator.js +575 -0
  191. package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
  192. package/dist/packages/runtime/build/context-graph-paths.js +133 -0
  193. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  194. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  195. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  196. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  197. package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
  198. package/dist/packages/{engine → runtime}/build/index.js +5 -3
  199. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
  200. package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
  201. package/dist/packages/runtime/build/reset.d.ts +2 -0
  202. package/dist/packages/runtime/build/reset.js +62 -0
  203. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
  204. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  205. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  206. package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
  207. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
  208. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  209. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  210. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  211. package/dist/packages/runtime/build/runtime-runs.js +265 -0
  212. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
  213. package/dist/packages/runtime/build/runtime-types.js +1 -0
  214. package/dist/packages/runtime/build/runtime.d.ts +6 -0
  215. package/dist/packages/runtime/build/runtime.js +5 -0
  216. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  217. package/dist/packages/runtime/build/source-files.js +184 -0
  218. package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
  219. package/dist/packages/runtime/build/source-inventory.js +273 -0
  220. package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
  221. package/dist/packages/runtime/build/source-manifest.js +192 -0
  222. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  223. package/dist/packages/runtime/build/stage-evidence.js +317 -0
  224. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  225. package/dist/packages/runtime/build/stage-reuse.js +142 -0
  226. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  227. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  228. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  229. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  230. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  231. package/dist/packages/runtime/build/state-io.js +119 -0
  232. package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
  233. package/dist/packages/runtime/build/state-paths.js +22 -0
  234. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  235. package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
  236. package/dist/packages/runtime/build/state.d.ts +7 -0
  237. package/dist/packages/runtime/build/state.js +12 -0
  238. package/dist/packages/runtime/build/traces.d.ts +30 -0
  239. package/dist/packages/runtime/build/traces.js +133 -0
  240. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  241. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
  242. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  243. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  244. package/dist/packages/{engine → runtime}/client.d.ts +15 -15
  245. package/dist/packages/{engine → runtime}/client.js +41 -24
  246. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  247. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  248. package/dist/packages/runtime/context-checks.d.ts +10 -0
  249. package/dist/packages/runtime/context-checks.js +114 -0
  250. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  251. package/dist/packages/runtime/context-graph-scaffold.js +134 -0
  252. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  253. package/dist/packages/runtime/entitlement-guard.js +70 -0
  254. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  255. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  256. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
  257. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  258. package/dist/packages/runtime/index.d.ts +29 -0
  259. package/dist/packages/runtime/index.js +21 -0
  260. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  261. package/dist/packages/runtime/instance-paths.js +29 -0
  262. package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
  263. package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
  264. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  265. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  266. package/dist/packages/runtime/project-entries.d.ts +11 -0
  267. package/dist/packages/runtime/project-entries.js +49 -0
  268. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  269. package/dist/packages/runtime/project-source-state.js +53 -0
  270. package/dist/packages/runtime/project-store.d.ts +85 -0
  271. package/dist/packages/runtime/project-store.js +168 -0
  272. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  273. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  274. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  275. package/dist/packages/{engine → runtime}/run-observability.js +166 -84
  276. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  277. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  278. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  279. package/dist/packages/runtime/runtime-build-plans.js +131 -0
  280. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  281. package/dist/packages/runtime/runtime-build-runs.js +562 -0
  282. package/dist/packages/runtime/runtime-caches.d.ts +91 -0
  283. package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
  284. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  285. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  286. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  287. package/dist/packages/runtime/runtime-executor.js +131 -0
  288. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  289. package/dist/packages/runtime/runtime-jobs.js +463 -0
  290. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  291. package/dist/packages/runtime/runtime-observability.js +39 -0
  292. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  293. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  294. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  295. package/dist/packages/runtime/runtime-project-mutations.js +64 -0
  296. package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
  297. package/dist/packages/runtime/runtime-project-reads.js +381 -0
  298. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  299. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  300. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
  301. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
  302. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  303. package/dist/packages/runtime/runtime-verify-runs.js +295 -0
  304. package/dist/packages/runtime/runtime.d.ts +1165 -0
  305. package/dist/packages/runtime/runtime.js +417 -0
  306. package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
  307. package/dist/packages/runtime/schemas/actions.js +117 -0
  308. package/dist/packages/runtime/schemas/agents.d.ts +76 -0
  309. package/dist/packages/runtime/schemas/agents.js +41 -0
  310. package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
  311. package/dist/packages/runtime/schemas/build-plans.js +107 -0
  312. package/dist/packages/runtime/schemas/files.d.ts +567 -0
  313. package/dist/packages/runtime/schemas/files.js +51 -0
  314. package/dist/packages/runtime/schemas/index.d.ts +8 -0
  315. package/dist/packages/runtime/schemas/index.js +12 -0
  316. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  317. package/dist/packages/runtime/schemas/instance.js +143 -0
  318. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  319. package/dist/packages/runtime/schemas/jobs.js +103 -0
  320. package/dist/packages/runtime/schemas/projects.d.ts +339 -0
  321. package/dist/packages/runtime/schemas/projects.js +136 -0
  322. package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
  323. package/dist/packages/runtime/schemas/runs.js +98 -0
  324. package/dist/packages/runtime/service/index.d.ts +3 -0
  325. package/dist/packages/runtime/service/index.js +3 -0
  326. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  327. package/dist/packages/runtime/service/openapi.js +117 -0
  328. package/dist/packages/runtime/service/operations.d.ts +1490 -0
  329. package/dist/packages/runtime/service/operations.js +245 -0
  330. package/dist/packages/runtime/service/routes.d.ts +106 -0
  331. package/dist/packages/runtime/service/routes.js +120 -0
  332. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  333. package/dist/packages/runtime/service/server-api-files.js +85 -0
  334. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  335. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  336. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  337. package/dist/packages/runtime/service/server-guards.js +181 -0
  338. package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
  339. package/dist/packages/runtime/service/server-helpers.js +89 -0
  340. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  341. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  342. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  343. package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
  344. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  345. package/dist/packages/runtime/service/server-routes-agents.js +198 -0
  346. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  347. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  348. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  349. package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
  350. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  351. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  352. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  353. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  354. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  355. package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
  356. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  357. package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
  358. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  359. package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
  360. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  361. package/dist/packages/runtime/service/server-routes-projects.js +92 -0
  362. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  363. package/dist/packages/runtime/service/server-routes-runs.js +112 -0
  364. package/dist/packages/runtime/service/server.d.ts +37 -0
  365. package/dist/packages/runtime/service/server.js +300 -0
  366. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  367. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  368. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  369. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  370. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  371. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  372. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  373. package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
  374. package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
  375. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
  376. package/dist/packages/runtime/verify/verify-paths.js +61 -0
  377. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  378. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  379. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  380. package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
  381. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  382. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  383. package/dist/packages/runtime/verify/verify-types.js +1 -0
  384. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  385. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  386. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  387. package/dist/packages/runtime/wire-schemas.js +27 -0
  388. package/package.json +40 -30
  389. package/public-repo/CONTRIBUTING.md +7 -16
  390. package/public-repo/README.md +175 -234
  391. package/public-repo/SECURITY.md +3 -4
  392. package/public-repo/build-plans/interf-default/README.md +19 -14
  393. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
  394. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
  395. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
  396. package/public-repo/build-plans/interf-default/build-plan.json +34 -28
  397. package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
  398. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  399. package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
  400. package/public-repo/openapi/local-service.openapi.json +6803 -0
  401. package/public-repo/skills/interf/SKILL.md +460 -179
  402. package/dist/cli/commands/prep.d.ts +0 -2
  403. package/dist/cli/commands/prep.js +0 -240
  404. package/dist/cli/commands/test.d.ts +0 -10
  405. package/dist/cli/commands/test.js +0 -85
  406. package/dist/cli/commands/web.d.ts +0 -2
  407. package/dist/cli/commands/web.js +0 -286
  408. package/dist/interf-ui/404.html +0 -1
  409. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  410. package/dist/interf-ui/__next._full.txt +0 -20
  411. package/dist/interf-ui/__next._head.txt +0 -5
  412. package/dist/interf-ui/__next._index.txt +0 -5
  413. package/dist/interf-ui/__next._tree.txt +0 -5
  414. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_ssgManifest.js +0 -1
  417. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  418. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  419. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  420. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  421. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  422. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  423. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  424. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  425. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  426. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  427. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  428. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  429. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  430. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  431. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  432. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  433. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  434. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  435. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  436. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  437. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  438. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  439. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  440. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  441. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  442. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  443. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  444. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  445. package/dist/interf-ui/_not-found.html +0 -1
  446. package/dist/interf-ui/_not-found.txt +0 -15
  447. package/dist/interf-ui/index.html +0 -1
  448. package/dist/interf-ui/index.txt +0 -20
  449. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  450. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  451. package/dist/packages/engine/action-definitions.d.ts +0 -407
  452. package/dist/packages/engine/action-definitions.js +0 -1158
  453. package/dist/packages/engine/action-values.d.ts +0 -1
  454. package/dist/packages/engine/action-values.js +0 -1
  455. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  456. package/dist/packages/engine/agents/lib/args.js +0 -52
  457. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  458. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  459. package/dist/packages/engine/agents/lib/constants.js +0 -28
  460. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  461. package/dist/packages/engine/agents/lib/schema.js +0 -7
  462. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  463. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  464. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  465. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  466. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  467. package/dist/packages/engine/build/build-pipeline.js +0 -175
  468. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  469. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  470. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  471. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  472. package/dist/packages/engine/build/build-target.js +0 -16
  473. package/dist/packages/engine/build/check-evaluator.js +0 -298
  474. package/dist/packages/engine/build/reset.d.ts +0 -2
  475. package/dist/packages/engine/build/reset.js +0 -74
  476. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  477. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  478. package/dist/packages/engine/build/runtime-runs.js +0 -224
  479. package/dist/packages/engine/build/runtime.d.ts +0 -5
  480. package/dist/packages/engine/build/runtime.js +0 -4
  481. package/dist/packages/engine/build/source-files.d.ts +0 -46
  482. package/dist/packages/engine/build/source-files.js +0 -149
  483. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  484. package/dist/packages/engine/build/state-artifacts.js +0 -14
  485. package/dist/packages/engine/build/state-health.d.ts +0 -4
  486. package/dist/packages/engine/build/state-io.d.ts +0 -11
  487. package/dist/packages/engine/build/state-io.js +0 -82
  488. package/dist/packages/engine/build/state-paths.js +0 -16
  489. package/dist/packages/engine/build/state-view.d.ts +0 -5
  490. package/dist/packages/engine/build/state.d.ts +0 -7
  491. package/dist/packages/engine/build/state.js +0 -12
  492. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  493. package/dist/packages/engine/build/validate-helpers.js +0 -41
  494. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  495. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  496. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  497. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  498. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  499. package/dist/packages/engine/cloud-seams.js +0 -84
  500. package/dist/packages/engine/index.d.ts +0 -22
  501. package/dist/packages/engine/index.js +0 -15
  502. package/dist/packages/engine/instance-paths.d.ts +0 -106
  503. package/dist/packages/engine/instance-paths.js +0 -171
  504. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  505. package/dist/packages/engine/lib/schema.js +0 -730
  506. package/dist/packages/engine/preparation-store.d.ts +0 -105
  507. package/dist/packages/engine/preparation-store.js +0 -213
  508. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  509. package/dist/packages/engine/readiness-check-draft.js +0 -111
  510. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  511. package/dist/packages/engine/routes.d.ts +0 -85
  512. package/dist/packages/engine/routes.js +0 -99
  513. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  514. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  515. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  516. package/dist/packages/engine/runtime.d.ts +0 -371
  517. package/dist/packages/engine/runtime.js +0 -2463
  518. package/dist/packages/engine/server.d.ts +0 -58
  519. package/dist/packages/engine/server.js +0 -1399
  520. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  521. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  522. package/dist/packages/engine/verify/verify-paths.js +0 -61
  523. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  524. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  525. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  526. package/dist/packages/engine/wire-schemas.js +0 -59
  527. package/dist/packages/project/index.d.ts +0 -9
  528. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  529. package/dist/packages/project/interf-bootstrap.js +0 -1
  530. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  531. package/dist/packages/project/interf-scaffold.js +0 -136
  532. package/dist/packages/project/interf.d.ts +0 -4
  533. package/dist/packages/project/interf.js +0 -3
  534. package/dist/packages/project/lib/schema.d.ts +0 -328
  535. package/dist/packages/project/lib/schema.js +0 -136
  536. package/dist/packages/project/preparation-entries.d.ts +0 -11
  537. package/dist/packages/project/preparation-entries.js +0 -49
  538. package/dist/packages/project/source-config.d.ts +0 -46
  539. package/dist/packages/project/source-config.js +0 -394
  540. package/dist/packages/project/source-folders.d.ts +0 -11
  541. package/public-repo/plugins/README.md +0 -9
  542. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  543. package/public-repo/plugins/interf/.mcp.json +0 -12
  544. package/public-repo/plugins/interf/README.md +0 -32
  545. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  546. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  547. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  548. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  549. /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
  550. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  551. /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
  552. /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
  553. /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
  554. /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
  555. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  556. /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
  557. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  558. /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
  559. /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
  560. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  561. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  562. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  563. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  564. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  565. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  566. /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
  567. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  568. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  569. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  570. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  571. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  572. /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
  573. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  574. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  575. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -1,126 +0,0 @@
1
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
- import { dirname, join } from "node:path";
3
- import { warnInterf } from "../../contracts/utils/logger.js";
4
- import { readJsonFileUnchecked } from "../../contracts/utils/parse.js";
5
- import { listBuiltinBuildPlanArtifactSpecs, requiredBuildPlanArtifactOwners, } from "../../build-plans/package/builtin-build-plan.js";
6
- import { BuildPlanContextSchemaSchema, } from "./lib/schema.js";
7
- export const BUILD_PLAN_SCHEMA_FILE = "build-plan.schema.json";
8
- export function buildPlanSchemaFilePath(rootPath) {
9
- return join(rootPath, BUILD_PLAN_SCHEMA_FILE);
10
- }
11
- export function resolveBuildPlanSchemaPath(rootPath) {
12
- const path = buildPlanSchemaFilePath(rootPath);
13
- return existsSync(path) ? path : null;
14
- }
15
- export function buildPlanSchemaExists(rootPath) {
16
- return existsSync(buildPlanSchemaFilePath(rootPath));
17
- }
18
- export function buildPlanSchemaRelativePath() {
19
- return `build-plan/${BUILD_PLAN_SCHEMA_FILE}`;
20
- }
21
- export function listBuildPlanContextArtifacts(schema) {
22
- return schema.artifacts.map(artifactToBuildPlanArtifact);
23
- }
24
- export function findBuildPlanContextArtifact(schema, artifactId) {
25
- return listBuildPlanContextArtifacts(schema).find((artifact) => artifact.id === artifactId) ?? null;
26
- }
27
- export function verifiableContextArtifactAbsolutePath(verifiableContextPath, artifact) {
28
- return join(verifiableContextPath, artifact.path);
29
- }
30
- export function verifiableContextArtifactPath(artifact) {
31
- if (artifact.kind === "file")
32
- return artifact.path;
33
- return artifact.path.endsWith("/") ? artifact.path : `${artifact.path}/`;
34
- }
35
- export function verifiableContextArtifactPathsForArtifactIds(schema, artifactIds) {
36
- return artifactIds.map((artifactId) => {
37
- const artifact = findBuildPlanContextArtifact(schema, artifactId);
38
- if (!artifact) {
39
- throw new Error(`Build Plan schema is missing declared Artifact "${artifactId}".`);
40
- }
41
- return verifiableContextArtifactPath(artifact);
42
- });
43
- }
44
- export function ensureBuildPlanArtifactTargets(verifiableContextPath, schema) {
45
- for (const artifact of listBuildPlanContextArtifacts(schema)) {
46
- if (artifact.kind === "directory" || artifact.kind === "runtime") {
47
- mkdirSync(verifiableContextArtifactAbsolutePath(verifiableContextPath, artifact), { recursive: true });
48
- continue;
49
- }
50
- mkdirSync(dirname(verifiableContextArtifactAbsolutePath(verifiableContextPath, artifact)), { recursive: true });
51
- }
52
- }
53
- function normalizeBuildPlanContextSchema(schema) {
54
- return {
55
- ...schema,
56
- kind: "build-plan-schema",
57
- };
58
- }
59
- function artifactToBuildPlanArtifact(artifact) {
60
- if (artifact.shape.kind !== "path") {
61
- return {
62
- id: artifact.id,
63
- role: "output",
64
- path: artifact.id,
65
- kind: "directory",
66
- required: true,
67
- owned_by: [...artifact.built_by_stages],
68
- description: artifact.description,
69
- };
70
- }
71
- return {
72
- id: artifact.id,
73
- role: "output",
74
- path: artifact.shape.path,
75
- kind: artifact.shape.artifact_kind,
76
- required: true,
77
- owned_by: [...artifact.built_by_stages],
78
- description: artifact.description,
79
- };
80
- }
81
- export function buildBuildPlanContextSchema(stages, label = "Build Plan schema") {
82
- return {
83
- kind: "build-plan-schema",
84
- version: 1,
85
- target_type: "verifiable-context",
86
- label,
87
- artifacts: listBuiltinBuildPlanArtifactSpecs().map((artifact) => ({
88
- id: artifact.id,
89
- description: artifact.description,
90
- shape: {
91
- kind: "path",
92
- path: artifact.path,
93
- artifact_kind: artifact.kind === "file" ? "file" : "directory",
94
- },
95
- checks: [],
96
- built_by_stages: requiredBuildPlanArtifactOwners(stages, artifact.id),
97
- })),
98
- };
99
- }
100
- export function writeBuildPlanContextSchemaFile(rootPath, stages, label) {
101
- const schema = buildBuildPlanContextSchema(stages, label);
102
- writeBuildPlanContextSchemaDocument(rootPath, schema);
103
- return schema;
104
- }
105
- export function writeBuildPlanContextSchemaDocument(rootPath, schema) {
106
- const normalized = normalizeBuildPlanContextSchema(schema);
107
- writeFileSync(buildPlanSchemaFilePath(rootPath), `${JSON.stringify(normalized, null, 2)}\n`);
108
- return normalized;
109
- }
110
- export function readBuildPlanContextSchemaFile(rootPath) {
111
- const path = buildPlanSchemaFilePath(rootPath);
112
- if (!existsSync(path))
113
- return null;
114
- const raw = readJsonFileUnchecked(path, "Build Plan schema");
115
- if (raw === null)
116
- return null;
117
- const parsed = BuildPlanContextSchemaSchema.safeParse(raw);
118
- if (!parsed.success) {
119
- warnInterf(`Warning: failed to validate Build Plan schema at ${path}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
120
- return null;
121
- }
122
- return normalizeBuildPlanContextSchema(parsed.data);
123
- }
124
- export function readBuildPlanContextFile(rootPath) {
125
- return readBuildPlanContextSchemaFile(rootPath);
126
- }
@@ -1,115 +0,0 @@
1
- /**
2
- * 0.17 — interface seams for the future cloud variant.
3
- *
4
- * These types document the injection points a cloud variant of the
5
- * engine slots into without forking. The local binary keeps its
6
- * in-process implementations (private `Map` fields on the runtime,
7
- * the per-instance bearer-token check in `server.ts`); cloud variants
8
- * provide their own implementations and pass them through
9
- * `startLocalService` / `LocalServiceRuntimeOptions`.
10
- *
11
- * Each seam below is paired with a `TODO(cloud)` marker at the
12
- * concrete call site so the cloud variant has a clear "wire this
13
- * through" landing pad. Local default behavior is unchanged in 0.17.
14
- */
15
- /**
16
- * **B4.1 — `IdempotencyStore` (E-1 in the 0.16 architecture audit).**
17
- *
18
- * Backs the `POS../../build-runs` idempotency-key dedupe cache. The
19
- * in-process `Map` cache works for one local engine; multi-replica
20
- * cloud needs a shared store (Redis-shaped) so a retry that lands on
21
- * a different replica hits the same dedupe entry.
22
- *
23
- * Local default: in-memory map on the runtime.
24
- *
25
- * Cloud injection: wrap a Redis client (or equivalent shared store).
26
- */
27
- export interface IdempotencyStore {
28
- get(scope: string, key: string): {
29
- runId: string;
30
- expiresAt: number;
31
- } | null;
32
- set(scope: string, key: string, value: {
33
- runId: string;
34
- expiresAt: number;
35
- }): void;
36
- delete(scope: string, key: string): void;
37
- prune(now: number): void;
38
- size(): number;
39
- }
40
- /**
41
- * **B4.2 — `RunLeaseStore` (I-1 in the 0.16 architecture audit).**
42
- *
43
- * Tracks active Build runs so the engine can cancel them and reject
44
- * concurrent run starts on the same preparation. The local default uses
45
- * the runtime's `activeBuildRuns` map; multi-replica cloud needs a
46
- * shared lease store with heartbeat so a replica can take over a run
47
- * whose owning replica died.
48
- *
49
- * Local default: in-memory map on the runtime.
50
- *
51
- * Cloud injection: shared lease store with heartbeat (Redis lease,
52
- * Cassandra LWT, etc.) plus a `listActive()` heartbeat scan.
53
- */
54
- export interface RunLeaseStore {
55
- acquire(runId: string, lease: RunLeaseEntry): void;
56
- release(runId: string): void;
57
- get(runId: string): RunLeaseEntry | null;
58
- markCancelled(runId: string): void;
59
- listActive(): Iterable<{
60
- runId: string;
61
- lease: RunLeaseEntry;
62
- }>;
63
- }
64
- export interface RunLeaseEntry {
65
- prepDataDir: string;
66
- preparation: string;
67
- cancelled: boolean;
68
- cancelledAt?: string;
69
- }
70
- /**
71
- * **B4.3 — `tokenValidator` (S-2 in the 0.16 architecture audit).**
72
- *
73
- * Local default: every accepted token is treated equivalently — the
74
- * engine carries a single bearer token at startup, and any request
75
- * presenting that token is authorized. Cloud needs a per-account
76
- * token issuer + validator so the engine can attach an `account_id`
77
- * to billing events (Phase F) and scope writes per-account.
78
- *
79
- * Local default: configured bearer or `null` (loopback).
80
- *
81
- * Cloud injection: validate against a token-issuer service, return
82
- * the `account_id` so downstream code can attach it to runs and
83
- * billing events.
84
- */
85
- export type TokenValidator = (token: string) => TokenValidation | Promise<TokenValidation>;
86
- export interface TokenValidation {
87
- ok: boolean;
88
- account_id: string | null;
89
- reason?: string;
90
- }
91
- export declare class InMemoryIdempotencyStore implements IdempotencyStore {
92
- private buckets;
93
- get(scope: string, key: string): {
94
- runId: string;
95
- expiresAt: number;
96
- } | null;
97
- set(scope: string, key: string, value: {
98
- runId: string;
99
- expiresAt: number;
100
- }): void;
101
- delete(scope: string, key: string): void;
102
- prune(now: number): void;
103
- size(): number;
104
- }
105
- export declare class InMemoryRunLeaseStore implements RunLeaseStore {
106
- private leases;
107
- acquire(runId: string, lease: RunLeaseEntry): void;
108
- release(runId: string): void;
109
- get(runId: string): RunLeaseEntry | null;
110
- markCancelled(runId: string): void;
111
- listActive(): Iterable<{
112
- runId: string;
113
- lease: RunLeaseEntry;
114
- }>;
115
- }
@@ -1,84 +0,0 @@
1
- /**
2
- * 0.17 — interface seams for the future cloud variant.
3
- *
4
- * These types document the injection points a cloud variant of the
5
- * engine slots into without forking. The local binary keeps its
6
- * in-process implementations (private `Map` fields on the runtime,
7
- * the per-instance bearer-token check in `server.ts`); cloud variants
8
- * provide their own implementations and pass them through
9
- * `startLocalService` / `LocalServiceRuntimeOptions`.
10
- *
11
- * Each seam below is paired with a `TODO(cloud)` marker at the
12
- * concrete call site so the cloud variant has a clear "wire this
13
- * through" landing pad. Local default behavior is unchanged in 0.17.
14
- */
15
- // ───────────────────────────────────────────────────────────────────────────
16
- // Local default implementations
17
- //
18
- // These wrap in-process Maps and satisfy the interfaces above so the
19
- // runtime can inject either a local default (current behavior) or a
20
- // cloud override (Redis-shaped store, shared lease, etc) without
21
- // branching on the deployment.
22
- // ───────────────────────────────────────────────────────────────────────────
23
- export class InMemoryIdempotencyStore {
24
- buckets = new Map();
25
- get(scope, key) {
26
- return this.buckets.get(scope)?.get(key) ?? null;
27
- }
28
- set(scope, key, value) {
29
- let bucket = this.buckets.get(scope);
30
- if (!bucket) {
31
- bucket = new Map();
32
- this.buckets.set(scope, bucket);
33
- }
34
- bucket.set(key, value);
35
- }
36
- delete(scope, key) {
37
- const bucket = this.buckets.get(scope);
38
- if (!bucket)
39
- return;
40
- bucket.delete(key);
41
- if (bucket.size === 0)
42
- this.buckets.delete(scope);
43
- }
44
- prune(now) {
45
- for (const [scope, bucket] of this.buckets) {
46
- for (const [key, value] of bucket) {
47
- if (value.expiresAt < now)
48
- bucket.delete(key);
49
- }
50
- if (bucket.size === 0)
51
- this.buckets.delete(scope);
52
- }
53
- }
54
- size() {
55
- let total = 0;
56
- for (const bucket of this.buckets.values())
57
- total += bucket.size;
58
- return total;
59
- }
60
- }
61
- export class InMemoryRunLeaseStore {
62
- leases = new Map();
63
- acquire(runId, lease) {
64
- this.leases.set(runId, lease);
65
- }
66
- release(runId) {
67
- this.leases.delete(runId);
68
- }
69
- get(runId) {
70
- return this.leases.get(runId) ?? null;
71
- }
72
- markCancelled(runId) {
73
- const lease = this.leases.get(runId);
74
- if (!lease)
75
- return;
76
- lease.cancelled = true;
77
- lease.cancelledAt = new Date().toISOString();
78
- }
79
- *listActive() {
80
- for (const [runId, lease] of this.leases) {
81
- yield { runId, lease };
82
- }
83
- }
84
- }
@@ -1,22 +0,0 @@
1
- export * as schema from "./lib/schema.js";
2
- export * as actionValues from "./action-values.js";
3
- export * as actionDefinitions from "./action-definitions.js";
4
- export * as routes from "./routes.js";
5
- export * as client from "./client.js";
6
- export * as runtime from "./runtime.js";
7
- export * as server from "./server.js";
8
- export type { BuildRunCreateRequest, BuildRunResource, BuildRunSummary, LocalServiceDiscovery, VerifiableContextMapping, PreparationRunLinkage, PreparationResource, PreparationWireShape, BuildPlanResource, LocalJobAgent, LocalJobEvent, LocalJobEventAppendRequest, LocalJobEventType, LocalJobRunCreateRequest, LocalJobRunResource, LocalJobStatus, LocalRunHandlerResult, LocalJobStep, LocalJobType, LocalServiceConfig, LocalServiceError, LocalServiceHealth, LocalExecutorStatus, ActionClientOrigin, ActionProposalApproval, ActionProposalApprovalRequest, ActionProposalCreateRequest, ActionProposalListResponse, ActionProposalPlan, ActionProposalPlanActionType, ActionProposalResource, ActionProposalStatus, ActionProposalType, BuildPlanChangeResult, PreparationChangeResult, PreparationSetupResult, ResetRequest, ResetResult, VerifiableContextResource, ReadinessResource, SourceFileResource, ReadinessCheckDraftCreateRequest, ReadinessCheckDraftResult, VerifyRunCreateRequest, VerifyRunResource, VerifyRunStatus, RunObservabilityListResponse, RunObservabilityResource, BuildPlanAuthoringCreateRequest, BuildPlanAuthoringResult, PreparationListResponse, BuildPlanListResponse, VerifiableContextListResponse, BuildRunListResponse, SourceFileListResponse, OpenPathRequest, OpenPathResponse, } from "./lib/schema.js";
9
- export { BuildRunCreateRequestSchema, BuildRunResourceSchema, BuildRunSummarySchema, LocalServiceDiscoverySchema, VerifiableContextMappingSchema, PreparationRunLinkageSchema, PreparationResourceSchema, PreparationWireShapeSchema, BuildPlanResourceSchema, LocalJobAgentSchema, LocalJobEventAppendRequestSchema, LocalJobEventSchema, LocalJobEventTypeSchema, LocalJobRunCreateRequestSchema, LocalJobRunResourceSchema, LocalJobStatusSchema, LocalRunHandlerResultSchema, LocalJobStepSchema, LocalJobTypeSchema, LocalServiceConfigSchema, LocalServiceErrorSchema, LocalServiceHealthSchema, VerifiableContextResourceSchema, ReadinessResourceSchema, SourceFileResourceSchema, ReadinessCheckDraftCreateRequestSchema, ReadinessCheckDraftResultSchema, VerifyRunCreateRequestSchema, VerifyRunResourceSchema, VerifyRunStatusSchema, RunObservabilityResourceSchema, RunObservabilityListResponseSchema, LocalExecutorStatusSchema, ActionClientOriginSchema, ActionProposalApprovalRequestSchema, ActionProposalApprovalSchema, ActionProposalCreateRequestSchema, ActionProposalListResponseSchema, ActionProposalPlanSchema, ActionProposalPlanActionTypeSchema, ActionProposalResourceSchema, ActionProposalStatusSchema, ActionProposalTypeSchema, ResetRequestSchema, ResetResultSchema, BuildPlanAuthoringCreateRequestSchema, BuildPlanAuthoringResultSchema, PreparationListResponseSchema, BuildPlanListResponseSchema, VerifiableContextListResponseSchema, BuildRunListResponseSchema, SourceFileListResponseSchema, OpenPathRequestSchema, OpenPathResponseSchema, } from "./lib/schema.js";
10
- export { LOCAL_SERVICE_DEFAULT_HOST, LOCAL_SERVICE_DEFAULT_PORT, LOCAL_SERVICE_ROUTES, buildLocalServiceUrl, } from "./routes.js";
11
- export type { ServiceRegistry, ServiceRegistryEntry, } from "./lib/schema.js";
12
- export { ServiceRegistrySchema, ServiceRegistryEntrySchema, } from "./lib/schema.js";
13
- export { readServiceRegistry, registerServiceLocally, unregisterService, writeServiceRegistry, serviceRegistryPath, } from "./service-registry.js";
14
- export type { LocalServiceJobSubmission, LocalServiceJobSubmitted, LocalServiceConnection, } from "./client.js";
15
- export type { LocalBuildRunCancelResult, } from "./client.js";
16
- export { approveActionProposalInLocalService, cancelLocalBuildRun, configuredLocalServiceUrl, resolveLocalServiceAuthToken, createActionProposalInLocalService, decideActionProposalInLocalService, findLocalService, getLocalJobRun, getLocalBuildRun, getLocalServiceHealth, getLocalVerifyRun, submitBuildRunToLocalService, submitReadinessCheckDraftToLocalService, submitResetToLocalService, submitVerifyRunToLocalService, submitBuildPlanAuthoringRunToLocalService, waitForLocalJobRun, waitForLocalBuildRun, waitForLocalVerifyRun, } from "./client.js";
17
- export type { LocalServiceActionPlanningContext, LocalServiceBuildRunContext, LocalServiceJobRunContext, LocalServiceRunHandlers, LocalServiceRuntimeOptions, LocalServiceVerifyRunContext, PreparationContext, } from "./runtime.js";
18
- export { LocalServiceRuntime, createLocalServiceRuntime, } from "./runtime.js";
19
- export type { StartedLocalService, StartLocalServiceOptions, } from "./server.js";
20
- export { createLocalServiceServer, createLocalServiceAuthToken, startLocalService, } from "./server.js";
21
- export type { NativeLocalServiceRunHandlerOptions, } from "./native-run-handlers.js";
22
- export { createNativeLocalServiceRunHandlers, } from "./native-run-handlers.js";
@@ -1,15 +0,0 @@
1
- export * as schema from "./lib/schema.js";
2
- export * as actionValues from "./action-values.js";
3
- export * as actionDefinitions from "./action-definitions.js";
4
- export * as routes from "./routes.js";
5
- export * as client from "./client.js";
6
- export * as runtime from "./runtime.js";
7
- export * as server from "./server.js";
8
- export { BuildRunCreateRequestSchema, BuildRunResourceSchema, BuildRunSummarySchema, LocalServiceDiscoverySchema, VerifiableContextMappingSchema, PreparationRunLinkageSchema, PreparationResourceSchema, PreparationWireShapeSchema, BuildPlanResourceSchema, LocalJobAgentSchema, LocalJobEventAppendRequestSchema, LocalJobEventSchema, LocalJobEventTypeSchema, LocalJobRunCreateRequestSchema, LocalJobRunResourceSchema, LocalJobStatusSchema, LocalRunHandlerResultSchema, LocalJobStepSchema, LocalJobTypeSchema, LocalServiceConfigSchema, LocalServiceErrorSchema, LocalServiceHealthSchema, VerifiableContextResourceSchema, ReadinessResourceSchema, SourceFileResourceSchema, ReadinessCheckDraftCreateRequestSchema, ReadinessCheckDraftResultSchema, VerifyRunCreateRequestSchema, VerifyRunResourceSchema, VerifyRunStatusSchema, RunObservabilityResourceSchema, RunObservabilityListResponseSchema, LocalExecutorStatusSchema, ActionClientOriginSchema, ActionProposalApprovalRequestSchema, ActionProposalApprovalSchema, ActionProposalCreateRequestSchema, ActionProposalListResponseSchema, ActionProposalPlanSchema, ActionProposalPlanActionTypeSchema, ActionProposalResourceSchema, ActionProposalStatusSchema, ActionProposalTypeSchema, ResetRequestSchema, ResetResultSchema, BuildPlanAuthoringCreateRequestSchema, BuildPlanAuthoringResultSchema, PreparationListResponseSchema, BuildPlanListResponseSchema, VerifiableContextListResponseSchema, BuildRunListResponseSchema, SourceFileListResponseSchema, OpenPathRequestSchema, OpenPathResponseSchema, } from "./lib/schema.js";
9
- export { LOCAL_SERVICE_DEFAULT_HOST, LOCAL_SERVICE_DEFAULT_PORT, LOCAL_SERVICE_ROUTES, buildLocalServiceUrl, } from "./routes.js";
10
- export { ServiceRegistrySchema, ServiceRegistryEntrySchema, } from "./lib/schema.js";
11
- export { readServiceRegistry, registerServiceLocally, unregisterService, writeServiceRegistry, serviceRegistryPath, } from "./service-registry.js";
12
- export { approveActionProposalInLocalService, cancelLocalBuildRun, configuredLocalServiceUrl, resolveLocalServiceAuthToken, createActionProposalInLocalService, decideActionProposalInLocalService, findLocalService, getLocalJobRun, getLocalBuildRun, getLocalServiceHealth, getLocalVerifyRun, submitBuildRunToLocalService, submitReadinessCheckDraftToLocalService, submitResetToLocalService, submitVerifyRunToLocalService, submitBuildPlanAuthoringRunToLocalService, waitForLocalJobRun, waitForLocalBuildRun, waitForLocalVerifyRun, } from "./client.js";
13
- export { LocalServiceRuntime, createLocalServiceRuntime, } from "./runtime.js";
14
- export { createLocalServiceServer, createLocalServiceAuthToken, startLocalService, } from "./server.js";
15
- export { createNativeLocalServiceRunHandlers, } from "./native-run-handlers.js";
@@ -1,106 +0,0 @@
1
- /**
2
- * Interf Home path helpers used by the local service.
3
- *
4
- * The instance is the opaque owner of its preparation state. Storage lives
5
- * under `~/.interf/`. The CLI never opens these files directly — it asks the
6
- * API where things are and reads from the locator the API returns.
7
- *
8
- * Current preparation config and verifiable-context paths live in
9
- * `contracts/lib/preparation-paths.ts` and are bridged by
10
- * `preparation-store.ts` for the existing Build runtime. Keep the old
11
- * `config.json` / `verifiable-context` constants below as a migration boundary
12
- * only; do not cite them as current user-visible layout.
13
- *
14
- * Layout:
15
- * ~/.interf/
16
- * connection.json ← single CLI connection record
17
- * services.json ← internal stop-lookup registry
18
- * build-plans/<id>/ ← user-installed Build Plans (cross-preparation)
19
- * preparations/<prep-id>/ ← per-preparation state owned by the engine
20
- * interf.json ← current preparation config bridge
21
- * <prep-id>/ ← current verifiable context output
22
- * .interf/ ← per-preparation runtime/build-plan/tests state
23
- * runs/ ← persisted run records
24
- * jobs/ ← service job runs
25
- * proposals/ ← chat/wizard action proposals
26
- * tests/ ← saved readiness check specs
27
- */
28
- export type InterfHomeRoot = string & {
29
- readonly __brand: "InterfHomeRoot";
30
- };
31
- export type PreparationDataDir = string & {
32
- readonly __brand: "PreparationDataDir";
33
- };
34
- export type VerifiableContextPath = string & {
35
- readonly __brand: "VerifiableContextPath";
36
- };
37
- export type SourceFolderPath = string & {
38
- readonly __brand: "SourceFolderPath";
39
- };
40
- export declare const INTERF_USER_HOME_ENV = "INTERF_USER_HOME";
41
- export declare const INTERF_HOME_DIR = ".interf";
42
- export declare const PREPARATIONS_DIR = "preparations";
43
- export declare const BUILD_PLANS_DIR = "build-plans";
44
- export declare const SERVICE_REGISTRY_FILENAME = "services.json";
45
- export declare const CONNECTION_CONFIG_FILENAME = "connection.json";
46
- export declare const PREPARATION_CONFIG_FILENAME = "config.json";
47
- export declare const PREPARATION_VERIFIABLE_CONTEXT_DIR = "verifiable-context";
48
- export declare const PREPARATION_RUNS_DIR = "runs";
49
- export declare const PREPARATION_JOBS_DIR = "jobs";
50
- export declare const PREPARATION_PROPOSALS_DIR = "proposals";
51
- export declare const PREPARATION_TESTS_DIR = "tests";
52
- export declare const PREPARATION_BUILD_PLAN_DIR = "build-plan";
53
- export declare const VERIFIABLE_CONTEXT_STATE_DIR = ".interf";
54
- export declare const VERIFIABLE_CONTEXT_RUNTIME_DIR = "runtime";
55
- export declare const VERIFIABLE_CONTEXT_BUILD_PLAN_DIR = "build-plan";
56
- export declare const VERIFIABLE_CONTEXT_TESTS_DIR = "tests";
57
- export declare function asPreparationDataDir(path: string): PreparationDataDir;
58
- export declare function asVerifiableContextPath(path: string): VerifiableContextPath;
59
- export declare function asSourceFolderPath(path: string): SourceFolderPath;
60
- /** `~/.interf/` — overridable via INTERF_USER_HOME for tests. */
61
- export declare function interfHomeRoot(): InterfHomeRoot;
62
- /** `~/.interf/connection.json` — single CLI connection record. */
63
- export declare function connectionConfigPath(): string;
64
- /** `~/.interf/services.json` — internal `interf web stop` lookup registry. */
65
- export declare function serviceRegistryPath(): string;
66
- /** `~/.interf/build-plans/` — user-installed Build Plans (cross-preparation). */
67
- export declare function userBuildPlansRoot(): string;
68
- /** `~/.interf/build-plans/<id>/` — a specific user-library Build Plan package. */
69
- export declare function userBuildPlanPackagePath(buildPlanId: string): string;
70
- /** `~/.interf/preparations/` — root for all preparation state. */
71
- export declare function preparationsRoot(): string;
72
- /** `~/.interf/preparations/<prep-id>/` — one preparation's state dir. */
73
- export declare function preparationDataDir(prepId: string): PreparationDataDir;
74
- /** Legacy planned path: `<prep-data>/config.json`. Current runtime uses `interf.json`. */
75
- export declare function preparationConfigPath(prepId: string): string;
76
- /** Legacy planned path: `<prep-data>/verifiable-context/`. Current runtime uses `<prep-data>/<prep-id>/`. */
77
- export declare function preparationVerifiableContextDir(prepId: string): VerifiableContextPath;
78
- /** `<prep-data>/runs/` — build/test run records. */
79
- export declare function preparationRunsRoot(prepId: string): string;
80
- /** `<prep-data>/jobs/` — service job runs (drafts, improvements, etc). */
81
- export declare function preparationJobsRoot(prepId: string): string;
82
- /** `<prep-data>/proposals/` — action proposals scoped to this preparation. */
83
- export declare function preparationProposalsRoot(prepId: string): string;
84
- /** `<prep-data>/tests/` — saved readiness check specs. */
85
- export declare function preparationTestsRoot(prepId: string): string;
86
- /** `<prep-data>/build-plan/` — preparation-draft Build Plan package (if any). */
87
- export declare function preparationBuildPlanDraftPath(prepId: string): string;
88
- /** `<verifiable-context>/.interf/`. */
89
- export declare function verifiableContextStateRoot(verifiableContext: VerifiableContextPath): string;
90
- /** `<verifiable-context>/.interf/build-plan/`. */
91
- export declare function verifiableContextBuildPlanPath(verifiableContext: VerifiableContextPath): string;
92
- /** `<verifiable-context>/.interf/runtime/`. */
93
- export declare function verifiableContextRuntimeRoot(verifiableContext: VerifiableContextPath): string;
94
- /** `<verifiable-context>/.interf/tests/`. */
95
- export declare function verifiableContextTestsRoot(verifiableContext: VerifiableContextPath): string;
96
- export type PreparationTestTargetLabel = "source-files" | "verifiable-context";
97
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/<target>/runs/`. */
98
- export declare function preparationTestRunsRoot(prepId: string, target: PreparationTestTargetLabel): string;
99
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/latest.json`. */
100
- export declare function preparationLatestReadinessRunPath(prepId: string): string;
101
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/latest.md`. */
102
- export declare function preparationLatestReadinessSummaryPath(prepId: string): string;
103
- /** Normalize a free-form string into a stable kebab-cased id (≤80 chars). */
104
- export declare function normalizePreparationTestRunId(input: string): string;
105
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/<target>/runs/<timestamp>-<run-id>[-<suffix>].json`. */
106
- export declare function preparationTestRunPath(prepId: string, target: PreparationTestTargetLabel, generatedAt: string, runId: string, runSuffix?: string | null): string;
@@ -1,171 +0,0 @@
1
- /**
2
- * Interf Home path helpers used by the local service.
3
- *
4
- * The instance is the opaque owner of its preparation state. Storage lives
5
- * under `~/.interf/`. The CLI never opens these files directly — it asks the
6
- * API where things are and reads from the locator the API returns.
7
- *
8
- * Current preparation config and verifiable-context paths live in
9
- * `contracts/lib/preparation-paths.ts` and are bridged by
10
- * `preparation-store.ts` for the existing Build runtime. Keep the old
11
- * `config.json` / `verifiable-context` constants below as a migration boundary
12
- * only; do not cite them as current user-visible layout.
13
- *
14
- * Layout:
15
- * ~/.interf/
16
- * connection.json ← single CLI connection record
17
- * services.json ← internal stop-lookup registry
18
- * build-plans/<id>/ ← user-installed Build Plans (cross-preparation)
19
- * preparations/<prep-id>/ ← per-preparation state owned by the engine
20
- * interf.json ← current preparation config bridge
21
- * <prep-id>/ ← current verifiable context output
22
- * .interf/ ← per-preparation runtime/build-plan/tests state
23
- * runs/ ← persisted run records
24
- * jobs/ ← service job runs
25
- * proposals/ ← chat/wizard action proposals
26
- * tests/ ← saved readiness check specs
27
- */
28
- import { homedir } from "node:os";
29
- import { join } from "node:path";
30
- // ───────────────────────────────────────────────────────────────────────────
31
- // Constants
32
- // ───────────────────────────────────────────────────────────────────────────
33
- export const INTERF_USER_HOME_ENV = "INTERF_USER_HOME";
34
- export const INTERF_HOME_DIR = ".interf";
35
- export const PREPARATIONS_DIR = "preparations";
36
- export const BUILD_PLANS_DIR = "build-plans";
37
- export const SERVICE_REGISTRY_FILENAME = "services.json";
38
- export const CONNECTION_CONFIG_FILENAME = "connection.json";
39
- export const PREPARATION_CONFIG_FILENAME = "config.json";
40
- export const PREPARATION_VERIFIABLE_CONTEXT_DIR = "verifiable-context";
41
- export const PREPARATION_RUNS_DIR = "runs";
42
- export const PREPARATION_JOBS_DIR = "jobs";
43
- export const PREPARATION_PROPOSALS_DIR = "proposals";
44
- export const PREPARATION_TESTS_DIR = "tests";
45
- export const PREPARATION_BUILD_PLAN_DIR = "build-plan";
46
- export const VERIFIABLE_CONTEXT_STATE_DIR = ".interf";
47
- export const VERIFIABLE_CONTEXT_RUNTIME_DIR = "runtime";
48
- export const VERIFIABLE_CONTEXT_BUILD_PLAN_DIR = "build-plan";
49
- export const VERIFIABLE_CONTEXT_TESTS_DIR = "tests";
50
- // ───────────────────────────────────────────────────────────────────────────
51
- // Brand constructors
52
- // ───────────────────────────────────────────────────────────────────────────
53
- export function asPreparationDataDir(path) {
54
- return path;
55
- }
56
- export function asVerifiableContextPath(path) {
57
- return path;
58
- }
59
- export function asSourceFolderPath(path) {
60
- return path;
61
- }
62
- // ───────────────────────────────────────────────────────────────────────────
63
- // Interf Home (~/.interf/)
64
- // ───────────────────────────────────────────────────────────────────────────
65
- /** `~/.interf/` — overridable via INTERF_USER_HOME for tests. */
66
- export function interfHomeRoot() {
67
- const override = process.env[INTERF_USER_HOME_ENV]?.trim();
68
- if (override && override.length > 0)
69
- return override;
70
- return join(homedir(), INTERF_HOME_DIR);
71
- }
72
- /** `~/.interf/connection.json` — single CLI connection record. */
73
- export function connectionConfigPath() {
74
- return join(interfHomeRoot(), CONNECTION_CONFIG_FILENAME);
75
- }
76
- /** `~/.interf/services.json` — internal `interf web stop` lookup registry. */
77
- export function serviceRegistryPath() {
78
- return join(interfHomeRoot(), SERVICE_REGISTRY_FILENAME);
79
- }
80
- /** `~/.interf/build-plans/` — user-installed Build Plans (cross-preparation). */
81
- export function userBuildPlansRoot() {
82
- return join(interfHomeRoot(), BUILD_PLANS_DIR);
83
- }
84
- /** `~/.interf/build-plans/<id>/` — a specific user-library Build Plan package. */
85
- export function userBuildPlanPackagePath(buildPlanId) {
86
- return join(userBuildPlansRoot(), buildPlanId);
87
- }
88
- // ───────────────────────────────────────────────────────────────────────────
89
- // Preparation data dirs
90
- // ───────────────────────────────────────────────────────────────────────────
91
- /** `~/.interf/preparations/` — root for all preparation state. */
92
- export function preparationsRoot() {
93
- return join(interfHomeRoot(), PREPARATIONS_DIR);
94
- }
95
- /** `~/.interf/preparations/<prep-id>/` — one preparation's state dir. */
96
- export function preparationDataDir(prepId) {
97
- return asPreparationDataDir(join(preparationsRoot(), prepId));
98
- }
99
- /** Legacy planned path: `<prep-data>/config.json`. Current runtime uses `interf.json`. */
100
- export function preparationConfigPath(prepId) {
101
- return join(preparationDataDir(prepId), PREPARATION_CONFIG_FILENAME);
102
- }
103
- /** Legacy planned path: `<prep-data>/verifiable-context/`. Current runtime uses `<prep-data>/<prep-id>/`. */
104
- export function preparationVerifiableContextDir(prepId) {
105
- return asVerifiableContextPath(join(preparationDataDir(prepId), PREPARATION_VERIFIABLE_CONTEXT_DIR));
106
- }
107
- /** `<prep-data>/runs/` — build/test run records. */
108
- export function preparationRunsRoot(prepId) {
109
- return join(preparationDataDir(prepId), PREPARATION_RUNS_DIR);
110
- }
111
- /** `<prep-data>/jobs/` — service job runs (drafts, improvements, etc). */
112
- export function preparationJobsRoot(prepId) {
113
- return join(preparationDataDir(prepId), PREPARATION_JOBS_DIR);
114
- }
115
- /** `<prep-data>/proposals/` — action proposals scoped to this preparation. */
116
- export function preparationProposalsRoot(prepId) {
117
- return join(preparationDataDir(prepId), PREPARATION_PROPOSALS_DIR);
118
- }
119
- /** `<prep-data>/tests/` — saved readiness check specs. */
120
- export function preparationTestsRoot(prepId) {
121
- return join(preparationDataDir(prepId), PREPARATION_TESTS_DIR);
122
- }
123
- /** `<prep-data>/build-plan/` — preparation-draft Build Plan package (if any). */
124
- export function preparationBuildPlanDraftPath(prepId) {
125
- return join(preparationDataDir(prepId), PREPARATION_BUILD_PLAN_DIR);
126
- }
127
- // ───────────────────────────────────────────────────────────────────────────
128
- // Verifiable-context state (per-preparation, lives under preparation data dir)
129
- // ───────────────────────────────────────────────────────────────────────────
130
- /** `<verifiable-context>/.interf/`. */
131
- export function verifiableContextStateRoot(verifiableContext) {
132
- return join(verifiableContext, VERIFIABLE_CONTEXT_STATE_DIR);
133
- }
134
- /** `<verifiable-context>/.interf/build-plan/`. */
135
- export function verifiableContextBuildPlanPath(verifiableContext) {
136
- return join(verifiableContextStateRoot(verifiableContext), VERIFIABLE_CONTEXT_BUILD_PLAN_DIR);
137
- }
138
- /** `<verifiable-context>/.interf/runtime/`. */
139
- export function verifiableContextRuntimeRoot(verifiableContext) {
140
- return join(verifiableContextStateRoot(verifiableContext), VERIFIABLE_CONTEXT_RUNTIME_DIR);
141
- }
142
- /** `<verifiable-context>/.interf/tests/`. */
143
- export function verifiableContextTestsRoot(verifiableContext) {
144
- return join(verifiableContextStateRoot(verifiableContext), VERIFIABLE_CONTEXT_TESTS_DIR);
145
- }
146
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/<target>/runs/`. */
147
- export function preparationTestRunsRoot(prepId, target) {
148
- return join(verifiableContextTestsRoot(preparationVerifiableContextDir(prepId)), target, "runs");
149
- }
150
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/latest.json`. */
151
- export function preparationLatestReadinessRunPath(prepId) {
152
- return join(verifiableContextTestsRoot(preparationVerifiableContextDir(prepId)), "latest.json");
153
- }
154
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/latest.md`. */
155
- export function preparationLatestReadinessSummaryPath(prepId) {
156
- return join(verifiableContextTestsRoot(preparationVerifiableContextDir(prepId)), "latest.md");
157
- }
158
- /** Normalize a free-form string into a stable kebab-cased id (≤80 chars). */
159
- export function normalizePreparationTestRunId(input) {
160
- return input
161
- .toLowerCase()
162
- .trim()
163
- .replace(/[^a-z0-9]+/g, "-")
164
- .replace(/^-+|-+$/g, "")
165
- .slice(0, 80);
166
- }
167
- /** Legacy planned path: `<prep-data>/verifiable-context/.interf/tests/<target>/runs/<timestamp>-<run-id>[-<suffix>].json`. */
168
- export function preparationTestRunPath(prepId, target, generatedAt, runId, runSuffix) {
169
- const suffix = runSuffix ? `-${normalizePreparationTestRunId(runSuffix)}` : "";
170
- return join(preparationTestRunsRoot(prepId, target), `${generatedAt.replace(/[:.]/g, "-")}-${runId}${suffix}.json`);
171
- }