@interf/compiler 0.22.2 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/README.md +119 -282
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -35
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +9 -0
  10. package/dist/cli/commands/benchmark.js +58 -0
  11. package/dist/cli/commands/build-plan.js +107 -139
  12. package/dist/cli/commands/build.d.ts +3 -4
  13. package/dist/cli/commands/build.js +16 -45
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +344 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +4 -2
  20. package/dist/cli/commands/mcp.js +846 -232
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +176 -0
  23. package/dist/cli/commands/reset.d.ts +3 -4
  24. package/dist/cli/commands/reset.js +10 -31
  25. package/dist/cli/commands/runs.js +136 -57
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +35 -45
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +97 -0
  32. package/dist/cli/commands/wizard.js +171 -178
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/cli/lib/http-client.d.ts +39 -0
  36. package/dist/cli/lib/http-client.js +73 -0
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.js +2 -2
  39. package/dist/packages/build-plans/authoring/brief.d.ts +538 -0
  40. package/dist/packages/build-plans/authoring/brief.js +89 -0
  41. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +52 -11
  42. package/dist/packages/build-plans/authoring/build-plan-authoring.js +493 -46
  43. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +10 -1
  44. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +27 -4
  45. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  46. package/dist/packages/build-plans/authoring/build-plan-improvement.js +97 -46
  47. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.d.ts +1 -0
  48. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  49. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  50. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  51. package/dist/packages/build-plans/index.d.ts +1 -1
  52. package/dist/packages/build-plans/index.js +1 -1
  53. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -13
  54. package/dist/packages/build-plans/package/build-plan-definitions.js +45 -42
  55. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  56. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  57. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  58. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  59. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +5 -4
  60. package/dist/packages/build-plans/package/build-plan-stage-runner.js +23 -11
  61. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +7 -8
  62. package/dist/packages/build-plans/package/builtin-build-plan.js +10 -11
  63. package/dist/packages/build-plans/package/context-interface.d.ts +14 -9
  64. package/dist/packages/build-plans/package/context-interface.js +14 -33
  65. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  66. package/dist/packages/build-plans/package/interf-build-plan-package.js +68 -64
  67. package/dist/packages/build-plans/package/local-build-plans.d.ts +21 -14
  68. package/dist/packages/build-plans/package/local-build-plans.js +105 -55
  69. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  70. package/dist/packages/contracts/index.d.ts +5 -2
  71. package/dist/packages/contracts/index.js +3 -1
  72. package/dist/packages/contracts/lib/context-graph-layer.d.ts +161 -0
  73. package/dist/packages/contracts/lib/context-graph-layer.js +216 -0
  74. package/dist/packages/contracts/lib/project-paths.d.ts +144 -0
  75. package/dist/packages/contracts/lib/project-paths.js +220 -0
  76. package/dist/packages/contracts/lib/project-schema.d.ts +423 -0
  77. package/dist/packages/contracts/lib/project-schema.js +138 -0
  78. package/dist/packages/contracts/lib/schema.d.ts +1273 -81
  79. package/dist/packages/contracts/lib/schema.js +675 -79
  80. package/dist/packages/contracts/utils/filesystem.d.ts +1 -0
  81. package/dist/packages/contracts/utils/filesystem.js +29 -1
  82. package/dist/packages/contracts/utils/parse.js +67 -0
  83. package/dist/packages/projects/index.d.ts +6 -0
  84. package/dist/packages/{project → projects}/index.js +0 -3
  85. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  86. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  87. package/dist/packages/projects/interf.d.ts +2 -0
  88. package/dist/packages/projects/interf.js +1 -0
  89. package/dist/packages/projects/lib/schema.d.ts +77 -0
  90. package/dist/packages/projects/lib/schema.js +91 -0
  91. package/dist/packages/projects/source-config.d.ts +53 -0
  92. package/dist/packages/projects/source-config.js +339 -0
  93. package/dist/packages/projects/source-folders.d.ts +11 -0
  94. package/dist/packages/{project → projects}/source-folders.js +26 -26
  95. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  96. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  97. package/dist/packages/runtime/action-values.d.ts +1 -0
  98. package/dist/packages/runtime/action-values.js +1 -0
  99. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  100. package/dist/packages/runtime/actions/errors.js +12 -0
  101. package/dist/packages/runtime/actions/fields.d.ts +86 -0
  102. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  103. package/dist/packages/runtime/actions/form-builders.js +667 -0
  104. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  105. package/dist/packages/runtime/actions/form-validators.js +134 -0
  106. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  107. package/dist/packages/runtime/actions/helpers.js +80 -0
  108. package/dist/packages/runtime/actions/index.d.ts +8 -0
  109. package/dist/packages/runtime/actions/index.js +11 -0
  110. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  111. package/dist/packages/runtime/actions/registry.js +62 -0
  112. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  113. package/dist/packages/runtime/actions/requests.js +164 -0
  114. package/dist/packages/runtime/actions/schemas.d.ts +161 -0
  115. package/dist/packages/runtime/actions/schemas.js +37 -0
  116. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  117. package/dist/packages/runtime/agent-handoff.js +102 -0
  118. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  119. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  120. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  121. package/dist/packages/runtime/agents/lib/args.js +24 -0
  122. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  123. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  124. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  125. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  126. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  127. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  128. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +14 -0
  129. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +31 -14
  130. package/dist/packages/{engine → runtime}/agents/lib/execution.js +22 -6
  131. package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +1 -0
  132. package/dist/packages/{engine → runtime}/agents/lib/executors.js +11 -2
  133. package/dist/packages/runtime/agents/lib/logs.d.ts +12 -0
  134. package/dist/packages/runtime/agents/lib/logs.js +41 -0
  135. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +19 -14
  136. package/dist/packages/runtime/agents/lib/render.d.ts +26 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/render.js +48 -22
  138. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  139. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  140. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  141. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  142. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  143. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  144. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  145. package/dist/packages/runtime/agents/lib/shell-templates.js +494 -0
  146. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  147. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  148. package/dist/packages/runtime/agents/lib/shells.d.ts +92 -0
  149. package/dist/packages/runtime/agents/lib/shells.js +509 -0
  150. package/dist/packages/runtime/agents/lib/source-context-scan.d.ts +10 -0
  151. package/dist/packages/runtime/agents/lib/source-context-scan.js +388 -0
  152. package/dist/packages/{engine → runtime}/agents/lib/status.js +1 -14
  153. package/dist/packages/runtime/agents/lib/string-utils.d.ts +16 -0
  154. package/dist/packages/runtime/agents/lib/string-utils.js +36 -0
  155. package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +1 -0
  156. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  157. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  158. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  159. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  160. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  161. package/dist/packages/runtime/agents/providers/codex.js +66 -0
  162. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  163. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  164. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  165. package/dist/packages/runtime/agents/providers/index.js +31 -0
  166. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  167. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  168. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  169. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  170. package/dist/packages/{engine → runtime}/agents/role-executors.js +9 -7
  171. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  172. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  173. package/dist/packages/runtime/auth/account-context.js +68 -0
  174. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  175. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  176. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  177. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  178. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  179. package/dist/packages/runtime/auth/keychain.js +85 -0
  180. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  181. package/dist/packages/runtime/auth/session-store.js +96 -0
  182. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  183. package/dist/packages/runtime/auth/workos-client.js +87 -0
  184. package/dist/packages/runtime/benchmark-question-draft.d.ts +23 -0
  185. package/dist/packages/runtime/benchmark-question-draft.js +153 -0
  186. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  187. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  188. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +6 -6
  189. package/dist/packages/{engine → runtime}/build/artifact-status.js +26 -24
  190. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  191. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  192. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  193. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  194. package/dist/packages/runtime/build/build-evidence.d.ts +16 -0
  195. package/dist/packages/runtime/build/build-evidence.js +179 -0
  196. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  197. package/dist/packages/runtime/build/build-pipeline.js +388 -0
  198. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  199. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  200. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  201. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  202. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  203. package/dist/packages/runtime/build/build-stage-plan.js +101 -0
  204. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  205. package/dist/packages/runtime/build/build-stage-runner.js +302 -0
  206. package/dist/packages/{engine → runtime}/build/build-target.d.ts +7 -4
  207. package/dist/packages/runtime/build/build-target.js +40 -0
  208. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  209. package/dist/packages/runtime/build/check-evaluator.js +1226 -0
  210. package/dist/packages/runtime/build/context-graph-paths.d.ts +64 -0
  211. package/dist/packages/runtime/build/context-graph-paths.js +160 -0
  212. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  213. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  214. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  215. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  216. package/dist/packages/{engine → runtime}/build/index.d.ts +7 -5
  217. package/dist/packages/{engine → runtime}/build/index.js +7 -5
  218. package/dist/packages/runtime/build/inspect-map.d.ts +10 -0
  219. package/dist/packages/runtime/build/inspect-map.js +270 -0
  220. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +449 -123
  221. package/dist/packages/runtime/build/lib/schema.js +494 -0
  222. package/dist/packages/runtime/build/native-entrypoint.d.ts +2 -0
  223. package/dist/packages/runtime/build/native-entrypoint.js +286 -0
  224. package/dist/packages/runtime/build/reset.d.ts +2 -0
  225. package/dist/packages/runtime/build/reset.js +62 -0
  226. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +13 -7
  227. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  228. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  229. package/dist/packages/runtime/build/runtime-log-paths.d.ts +3 -0
  230. package/dist/packages/runtime/build/runtime-log-paths.js +16 -0
  231. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +12 -9
  232. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  233. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  234. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  235. package/dist/packages/runtime/build/runtime-runs.js +318 -0
  236. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +9 -6
  237. package/dist/packages/runtime/build/runtime-types.js +1 -0
  238. package/dist/packages/runtime/build/runtime.d.ts +8 -0
  239. package/dist/packages/runtime/build/runtime.js +7 -0
  240. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  241. package/dist/packages/runtime/build/source-files.js +193 -0
  242. package/dist/packages/runtime/build/source-inventory.d.ts +28 -0
  243. package/dist/packages/runtime/build/source-inventory.js +512 -0
  244. package/dist/packages/runtime/build/source-manifest.d.ts +63 -0
  245. package/dist/packages/runtime/build/source-manifest.js +220 -0
  246. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  247. package/dist/packages/runtime/build/stage-evidence.js +386 -0
  248. package/dist/packages/runtime/build/stage-manifest.d.ts +45 -0
  249. package/dist/packages/runtime/build/stage-manifest.js +1125 -0
  250. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  251. package/dist/packages/runtime/build/stage-reuse.js +154 -0
  252. package/dist/packages/runtime/build/stage-session.d.ts +81 -0
  253. package/dist/packages/runtime/build/stage-session.js +308 -0
  254. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  255. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  256. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  257. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  258. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  259. package/dist/packages/runtime/build/state-io.js +118 -0
  260. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  261. package/dist/packages/runtime/build/state-view.js +121 -0
  262. package/dist/packages/runtime/build/state.d.ts +7 -0
  263. package/dist/packages/runtime/build/state.js +12 -0
  264. package/dist/packages/runtime/build/summary-coverage-index.d.ts +21 -0
  265. package/dist/packages/runtime/build/summary-coverage-index.js +189 -0
  266. package/dist/packages/runtime/build/traces.d.ts +30 -0
  267. package/dist/packages/runtime/build/traces.js +133 -0
  268. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  269. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +49 -36
  270. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  271. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  272. package/dist/packages/{engine → runtime}/client.d.ts +18 -18
  273. package/dist/packages/{engine → runtime}/client.js +48 -36
  274. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  275. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  276. package/dist/packages/runtime/context-checks.d.ts +10 -0
  277. package/dist/packages/runtime/context-checks.js +127 -0
  278. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  279. package/dist/packages/runtime/context-graph-scaffold.js +135 -0
  280. package/dist/packages/runtime/context-graph-semantic-graph.d.ts +9 -0
  281. package/dist/packages/runtime/context-graph-semantic-graph.js +416 -0
  282. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  283. package/dist/packages/runtime/entitlement-guard.js +70 -0
  284. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  285. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  286. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +272 -191
  287. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  288. package/dist/packages/runtime/index.d.ts +29 -0
  289. package/dist/packages/runtime/index.js +21 -0
  290. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  291. package/dist/packages/runtime/instance-paths.js +29 -0
  292. package/dist/packages/runtime/native-run-handlers.d.ts +63 -0
  293. package/dist/packages/{engine → runtime}/native-run-handlers.js +217 -166
  294. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  295. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  296. package/dist/packages/runtime/project-entries.d.ts +11 -0
  297. package/dist/packages/runtime/project-entries.js +49 -0
  298. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  299. package/dist/packages/runtime/project-source-state.js +56 -0
  300. package/dist/packages/runtime/project-store.d.ts +90 -0
  301. package/dist/packages/runtime/project-store.js +195 -0
  302. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  303. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  304. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  305. package/dist/packages/{engine → runtime}/run-observability.js +174 -87
  306. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  307. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  308. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  309. package/dist/packages/runtime/runtime-build-plans.js +175 -0
  310. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  311. package/dist/packages/runtime/runtime-build-runs.js +555 -0
  312. package/dist/packages/runtime/runtime-caches.d.ts +117 -0
  313. package/dist/packages/runtime/runtime-caches.js +266 -0
  314. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  315. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  316. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  317. package/dist/packages/runtime/runtime-executor.js +131 -0
  318. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  319. package/dist/packages/runtime/runtime-jobs.js +463 -0
  320. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  321. package/dist/packages/runtime/runtime-observability.js +39 -0
  322. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  323. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  324. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  325. package/dist/packages/runtime/runtime-project-mutations.js +65 -0
  326. package/dist/packages/runtime/runtime-project-reads.d.ts +18 -0
  327. package/dist/packages/runtime/runtime-project-reads.js +574 -0
  328. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  329. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  330. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +23 -16
  331. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +58 -46
  332. package/dist/packages/runtime/runtime-status.d.ts +14 -0
  333. package/dist/packages/runtime/runtime-status.js +15 -0
  334. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  335. package/dist/packages/runtime/runtime-verify-runs.js +296 -0
  336. package/dist/packages/runtime/runtime.d.ts +1582 -0
  337. package/dist/packages/runtime/runtime.js +431 -0
  338. package/dist/packages/runtime/schemas/actions.d.ts +1206 -0
  339. package/dist/packages/runtime/schemas/actions.js +117 -0
  340. package/dist/packages/runtime/schemas/agents.d.ts +104 -0
  341. package/dist/packages/runtime/schemas/agents.js +74 -0
  342. package/dist/packages/runtime/schemas/build-plans.d.ts +1132 -0
  343. package/dist/packages/runtime/schemas/build-plans.js +141 -0
  344. package/dist/packages/runtime/schemas/context-graphs.d.ts +1522 -0
  345. package/dist/packages/runtime/schemas/context-graphs.js +110 -0
  346. package/dist/packages/runtime/schemas/files.d.ts +227 -0
  347. package/dist/packages/runtime/schemas/files.js +28 -0
  348. package/dist/packages/runtime/schemas/index.d.ts +9 -0
  349. package/dist/packages/runtime/schemas/index.js +13 -0
  350. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  351. package/dist/packages/runtime/schemas/instance.js +143 -0
  352. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  353. package/dist/packages/runtime/schemas/jobs.js +107 -0
  354. package/dist/packages/runtime/schemas/projects.d.ts +366 -0
  355. package/dist/packages/runtime/schemas/projects.js +160 -0
  356. package/dist/packages/runtime/schemas/runs.d.ts +3445 -0
  357. package/dist/packages/runtime/schemas/runs.js +115 -0
  358. package/dist/packages/runtime/service/index.d.ts +3 -0
  359. package/dist/packages/runtime/service/index.js +3 -0
  360. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  361. package/dist/packages/runtime/service/openapi.js +118 -0
  362. package/dist/packages/runtime/service/operations.d.ts +3011 -0
  363. package/dist/packages/runtime/service/operations.js +375 -0
  364. package/dist/packages/runtime/service/routes.d.ts +114 -0
  365. package/dist/packages/runtime/service/routes.js +128 -0
  366. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  367. package/dist/packages/runtime/service/server-api-files.js +85 -0
  368. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  369. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  370. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  371. package/dist/packages/runtime/service/server-guards.js +181 -0
  372. package/dist/packages/runtime/service/server-helpers.d.ts +38 -0
  373. package/dist/packages/runtime/service/server-helpers.js +108 -0
  374. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  375. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  376. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  377. package/dist/packages/runtime/service/server-routes-action-proposals.js +45 -0
  378. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  379. package/dist/packages/runtime/service/server-routes-agents.js +132 -0
  380. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  381. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  382. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  383. package/dist/packages/runtime/service/server-routes-build-plans.js +86 -0
  384. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  385. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  386. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  387. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  388. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  389. package/dist/packages/runtime/service/server-routes-project-context.js +287 -0
  390. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  391. package/dist/packages/runtime/service/server-routes-project-jobs.js +137 -0
  392. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  393. package/dist/packages/runtime/service/server-routes-project-runs.js +88 -0
  394. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  395. package/dist/packages/runtime/service/server-routes-projects.js +96 -0
  396. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  397. package/dist/packages/runtime/service/server-routes-runs.js +119 -0
  398. package/dist/packages/runtime/service/server.d.ts +37 -0
  399. package/dist/packages/runtime/service/server.js +300 -0
  400. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  401. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  402. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  403. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  404. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  405. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  406. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  407. package/dist/packages/{engine → runtime}/verify/lib/schema.js +38 -18
  408. package/dist/packages/runtime/verify/test-file-guard.d.ts +2 -0
  409. package/dist/packages/runtime/verify/test-file-guard.js +29 -0
  410. package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +7 -0
  411. package/dist/packages/{engine → runtime}/verify/verify-execution.js +119 -45
  412. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +5 -4
  413. package/dist/packages/runtime/verify/verify-paths.js +65 -0
  414. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  415. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  416. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  417. package/dist/packages/runtime/verify/verify-specs.js +126 -0
  418. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  419. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  420. package/dist/packages/runtime/verify/verify-types.js +1 -0
  421. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  422. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  423. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  424. package/dist/packages/runtime/wire-schemas.js +27 -0
  425. package/package.json +32 -30
  426. package/public-repo/CONTRIBUTING.md +16 -18
  427. package/public-repo/README.md +119 -282
  428. package/public-repo/SECURITY.md +3 -4
  429. package/public-repo/build-plans/interf-default/README.md +24 -16
  430. package/public-repo/build-plans/interf-default/build/stages/entrypoint/SKILL.md +74 -0
  431. package/public-repo/build-plans/interf-default/build/stages/knowledge/SKILL.md +95 -0
  432. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +49 -4
  433. package/public-repo/build-plans/interf-default/build-plan.json +49 -39
  434. package/public-repo/build-plans/interf-default/build-plan.schema.json +59 -33
  435. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  436. package/public-repo/build-plans/interf-default/use/query/SKILL.md +18 -11
  437. package/public-repo/openapi/local-service.openapi.json +14227 -0
  438. package/public-repo/skills/interf/SKILL.md +508 -187
  439. package/dist/cli/commands/prep.d.ts +0 -2
  440. package/dist/cli/commands/prep.js +0 -240
  441. package/dist/cli/commands/test.d.ts +0 -10
  442. package/dist/cli/commands/test.js +0 -85
  443. package/dist/cli/commands/web.d.ts +0 -2
  444. package/dist/cli/commands/web.js +0 -286
  445. package/dist/interf-ui/404.html +0 -1
  446. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  447. package/dist/interf-ui/__next._full.txt +0 -20
  448. package/dist/interf-ui/__next._head.txt +0 -5
  449. package/dist/interf-ui/__next._index.txt +0 -5
  450. package/dist/interf-ui/__next._tree.txt +0 -5
  451. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  452. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  453. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
  454. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  455. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  456. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  457. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  458. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  459. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  460. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  461. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  462. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  463. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  464. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  465. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  466. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  467. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  468. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  469. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  470. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  471. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  472. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  473. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  474. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  475. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  476. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  477. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  478. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  479. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  480. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  481. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  482. package/dist/interf-ui/_not-found.html +0 -1
  483. package/dist/interf-ui/_not-found.txt +0 -15
  484. package/dist/interf-ui/index.html +0 -1
  485. package/dist/interf-ui/index.txt +0 -20
  486. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  487. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  488. package/dist/packages/engine/action-definitions.d.ts +0 -407
  489. package/dist/packages/engine/action-definitions.js +0 -1158
  490. package/dist/packages/engine/action-values.d.ts +0 -1
  491. package/dist/packages/engine/action-values.js +0 -1
  492. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  493. package/dist/packages/engine/agents/lib/args.js +0 -52
  494. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  495. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  496. package/dist/packages/engine/agents/lib/constants.js +0 -28
  497. package/dist/packages/engine/agents/lib/logs.d.ts +0 -2
  498. package/dist/packages/engine/agents/lib/logs.js +0 -17
  499. package/dist/packages/engine/agents/lib/render.d.ts +0 -8
  500. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  501. package/dist/packages/engine/agents/lib/schema.js +0 -7
  502. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  503. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  504. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  505. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  506. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  507. package/dist/packages/engine/build/build-pipeline.js +0 -175
  508. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  509. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  510. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  511. package/dist/packages/engine/build/build-stage-plan.js +0 -100
  512. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  513. package/dist/packages/engine/build/build-target.js +0 -16
  514. package/dist/packages/engine/build/check-evaluator.js +0 -298
  515. package/dist/packages/engine/build/lib/schema.js +0 -316
  516. package/dist/packages/engine/build/reset.d.ts +0 -2
  517. package/dist/packages/engine/build/reset.js +0 -74
  518. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  519. package/dist/packages/engine/build/runtime-paths.d.ts +0 -8
  520. package/dist/packages/engine/build/runtime-paths.js +0 -26
  521. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  522. package/dist/packages/engine/build/runtime-runs.js +0 -224
  523. package/dist/packages/engine/build/runtime.d.ts +0 -5
  524. package/dist/packages/engine/build/runtime.js +0 -4
  525. package/dist/packages/engine/build/source-files.d.ts +0 -46
  526. package/dist/packages/engine/build/source-files.js +0 -149
  527. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  528. package/dist/packages/engine/build/state-artifacts.js +0 -14
  529. package/dist/packages/engine/build/state-health.d.ts +0 -4
  530. package/dist/packages/engine/build/state-io.d.ts +0 -11
  531. package/dist/packages/engine/build/state-io.js +0 -82
  532. package/dist/packages/engine/build/state-paths.d.ts +0 -5
  533. package/dist/packages/engine/build/state-paths.js +0 -16
  534. package/dist/packages/engine/build/state-view.d.ts +0 -5
  535. package/dist/packages/engine/build/state-view.js +0 -94
  536. package/dist/packages/engine/build/state.d.ts +0 -7
  537. package/dist/packages/engine/build/state.js +0 -12
  538. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  539. package/dist/packages/engine/build/validate-helpers.js +0 -41
  540. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  541. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  542. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  543. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  544. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  545. package/dist/packages/engine/cloud-seams.js +0 -84
  546. package/dist/packages/engine/index.d.ts +0 -22
  547. package/dist/packages/engine/index.js +0 -15
  548. package/dist/packages/engine/instance-paths.d.ts +0 -106
  549. package/dist/packages/engine/instance-paths.js +0 -171
  550. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  551. package/dist/packages/engine/lib/schema.js +0 -730
  552. package/dist/packages/engine/native-run-handlers.d.ts +0 -25
  553. package/dist/packages/engine/preparation-store.d.ts +0 -105
  554. package/dist/packages/engine/preparation-store.js +0 -213
  555. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  556. package/dist/packages/engine/readiness-check-draft.js +0 -111
  557. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  558. package/dist/packages/engine/routes.d.ts +0 -85
  559. package/dist/packages/engine/routes.js +0 -99
  560. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  561. package/dist/packages/engine/runtime-caches.js +0 -191
  562. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  563. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  564. package/dist/packages/engine/runtime.d.ts +0 -371
  565. package/dist/packages/engine/runtime.js +0 -2463
  566. package/dist/packages/engine/server.d.ts +0 -58
  567. package/dist/packages/engine/server.js +0 -1399
  568. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  569. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  570. package/dist/packages/engine/verify/verify-paths.js +0 -61
  571. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  572. package/dist/packages/engine/verify/verify-specs.js +0 -114
  573. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  574. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  575. package/dist/packages/engine/wire-schemas.js +0 -59
  576. package/dist/packages/project/index.d.ts +0 -9
  577. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  578. package/dist/packages/project/interf-bootstrap.js +0 -1
  579. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  580. package/dist/packages/project/interf-scaffold.js +0 -136
  581. package/dist/packages/project/interf.d.ts +0 -4
  582. package/dist/packages/project/interf.js +0 -3
  583. package/dist/packages/project/lib/schema.d.ts +0 -328
  584. package/dist/packages/project/lib/schema.js +0 -136
  585. package/dist/packages/project/preparation-entries.d.ts +0 -11
  586. package/dist/packages/project/preparation-entries.js +0 -49
  587. package/dist/packages/project/source-config.d.ts +0 -46
  588. package/dist/packages/project/source-config.js +0 -394
  589. package/dist/packages/project/source-folders.d.ts +0 -11
  590. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +0 -27
  591. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +0 -21
  592. package/public-repo/plugins/README.md +0 -9
  593. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  594. package/public-repo/plugins/interf/.mcp.json +0 -12
  595. package/public-repo/plugins/interf/README.md +0 -32
  596. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  597. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  598. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  599. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  600. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  601. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  602. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  603. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  604. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  605. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  606. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  607. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  608. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  609. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  610. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  611. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  612. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  613. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  614. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  615. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  616. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -1,94 +0,0 @@
1
- import { basename } from "node:path";
2
- import { readInterfConfig, resolveSourceFolderPath } from "../../project/interf-detect.js";
3
- import { loadVerifiableContextSourceSnapshot, loadVerifiableContextViewSpec, saveVerifiableContextViewSpec, } from "./state-io.js";
4
- import { buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
5
- import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./verifiable-context-schema.js";
6
- import { getActiveBuildPlan, resolveRequiredBuildPlanFromConfig } from "../../build-plans/package/build-plan-definitions.js";
7
- import { writeVerifiableContextSourceFiles, writeVerifiableContextSourceSnapshot, } from "./source-files.js";
8
- export function ensureVerifiableContextViewSpec(dirPath) {
9
- const existing = loadVerifiableContextViewSpec(dirPath);
10
- const now = new Date().toISOString();
11
- const verifiableContextName = readInterfConfig(dirPath)?.name ?? basename(dirPath);
12
- const defaults = buildDefaultVerifiableContextViewSpec(dirPath, verifiableContextName, now);
13
- if (existing) {
14
- const normalized = normalizeVerifiableContextViewSpec(existing, defaults);
15
- if (JSON.stringify(normalized) !== JSON.stringify(existing)) {
16
- saveVerifiableContextViewSpec(dirPath, normalized);
17
- }
18
- return normalized;
19
- }
20
- saveVerifiableContextViewSpec(dirPath, defaults);
21
- return defaults;
22
- }
23
- export function ensureVerifiableContextSourceFiles(dirPath) {
24
- const config = readInterfConfig(dirPath);
25
- return writeVerifiableContextSourceFiles(dirPath, resolveSourceFolderPath(dirPath, config));
26
- }
27
- export function ensureVerifiableContextSourceSnapshot(dirPath, sourceFiles) {
28
- const existing = loadVerifiableContextSourceSnapshot(dirPath);
29
- if (existing)
30
- return existing;
31
- const config = readInterfConfig(dirPath);
32
- const resolvedSourceFiles = sourceFiles ?? writeVerifiableContextSourceFiles(dirPath, resolveSourceFolderPath(dirPath, config));
33
- return writeVerifiableContextSourceSnapshot({
34
- verifiableContextPath: dirPath,
35
- sourceFiles: resolvedSourceFiles,
36
- runId: null,
37
- });
38
- }
39
- export function normalizeVerifiableContextViewSpec(existing, defaults) {
40
- const resolvedDefaults = defaults ?? existing;
41
- return {
42
- ...resolvedDefaults,
43
- ...existing,
44
- cards: Array.isArray(existing.cards) && existing.cards.length > 0
45
- ? existing.cards.map((card) => {
46
- if (card.format !== "fraction" || card.denominator_metric)
47
- return card;
48
- const defaultCard = resolvedDefaults.cards.find((candidate) => candidate.id === card.id);
49
- return {
50
- ...card,
51
- denominator_metric: defaultCard?.denominator_metric ?? "stage_total",
52
- };
53
- })
54
- : resolvedDefaults.cards,
55
- sections: Array.isArray(existing.sections) && existing.sections.length > 0 ? existing.sections : resolvedDefaults.sections,
56
- graph_scope: Array.isArray(existing.graph_scope) && existing.graph_scope.length > 0
57
- ? existing.graph_scope
58
- : resolvedDefaults.graph_scope,
59
- };
60
- }
61
- function buildDefaultVerifiableContextViewSpec(dirPath, verifiableContextName, generatedAt) {
62
- const config = readInterfConfig(dirPath);
63
- resolveRequiredBuildPlanFromConfig(config, `.interf/interf.json for ${dirPath}`);
64
- const buildPlan = getActiveBuildPlan(dirPath);
65
- const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
66
- const schemaArtifacts = schema ? listBuildPlanContextArtifacts(schema) : [];
67
- const outputDocumentPaths = schemaArtifacts
68
- .filter((artifact) => artifact.role === "output" && artifact.kind !== "runtime")
69
- .map((artifact) => artifact.path);
70
- const defaultNote = schemaArtifacts.find((artifact) => artifact.role === "output" && artifact.kind === "file")?.path ?? null;
71
- return {
72
- kind: "verifiable-context-view-spec",
73
- version: 2,
74
- generated_at: generatedAt,
75
- target_name: verifiableContextName,
76
- health_source: ".interf/runtime/health.json",
77
- state_source: ".interf/runtime/state.json",
78
- default_note: defaultNote,
79
- graph_scope: outputDocumentPaths,
80
- cards: [
81
- { id: "source-total", label: "Source Files", metric: "source_total", format: "number" },
82
- { id: "stage-total", label: "Stages", metric: "stage_total", format: "number" },
83
- { id: "completed-stages", label: "Completed", metric: "completed_stages", denominator_metric: "stage_total", format: "fraction" },
84
- ],
85
- sections: [
86
- { id: "status", type: "status", title: "Build Status", path: ".interf/runtime/health.json" },
87
- { id: "cards", type: "cards", title: "Key Metrics", path: ".interf/runtime/health.json" },
88
- ...(outputDocumentPaths.length > 0
89
- ? [{ id: "outputs", type: "documents", title: "Output Artifacts", paths: outputDocumentPaths }]
90
- : []),
91
- { id: "build-plan", type: "documents", title: "Build Plan Docs", paths: ["build-plan/README.md", ...buildPlan.stages.map((stage) => `build-plan/build/stages/${stage.skillDir}`)] },
92
- ],
93
- };
94
- }
@@ -1,7 +0,0 @@
1
- export type { RuntimeStatus, BuildStage, VerifiableContextState, VerifiableContextHealth, ViewSection, ViewCard, VerifiableContextViewSpec, SourceFiles, SourceSnapshot, StageInputs, } from "./lib/schema.js";
2
- export { statePath, healthPath, viewSpecPath, sourceFilesPath, sourceSnapshotPath, } from "./state-paths.js";
3
- export { loadState, saveState, loadVerifiableContextHealth, saveVerifiableContextHealth, loadVerifiableContextViewSpec, loadVerifiableContextSourceFiles, loadVerifiableContextSourceSnapshot, saveVerifiableContextViewSpec, initVerifiableContextState, } from "./state-io.js";
4
- export { refreshVerifiableContextArtifacts, } from "./state-artifacts.js";
5
- export { computeVerifiableContextHealth, resolveVerifiableContextStatus, resolveBuildStage, } from "./state-health.js";
6
- export { ensureVerifiableContextViewSpec, ensureVerifiableContextSourceFiles, ensureVerifiableContextSourceSnapshot, normalizeVerifiableContextViewSpec, } from "./state-view.js";
7
- export declare function initializeBuildRuntimeState(dirPath: string): void;
@@ -1,12 +0,0 @@
1
- export { statePath, healthPath, viewSpecPath, sourceFilesPath, sourceSnapshotPath, } from "./state-paths.js";
2
- export { loadState, saveState, loadVerifiableContextHealth, saveVerifiableContextHealth, loadVerifiableContextViewSpec, loadVerifiableContextSourceFiles, loadVerifiableContextSourceSnapshot, saveVerifiableContextViewSpec, initVerifiableContextState, } from "./state-io.js";
3
- export { refreshVerifiableContextArtifacts, } from "./state-artifacts.js";
4
- export { computeVerifiableContextHealth, resolveVerifiableContextStatus, resolveBuildStage, } from "./state-health.js";
5
- export { ensureVerifiableContextViewSpec, ensureVerifiableContextSourceFiles, ensureVerifiableContextSourceSnapshot, normalizeVerifiableContextViewSpec, } from "./state-view.js";
6
- import { saveEmptyRuntimeInventory, initVerifiableContextState, saveState } from "./state-io.js";
7
- import { refreshVerifiableContextArtifacts } from "./state-artifacts.js";
8
- export function initializeBuildRuntimeState(dirPath) {
9
- saveState(dirPath, initVerifiableContextState());
10
- saveEmptyRuntimeInventory(dirPath);
11
- refreshVerifiableContextArtifacts(dirPath, { ensureViewSpec: true });
12
- }
@@ -1,12 +0,0 @@
1
- export declare function asStringArray(value: unknown): string[];
2
- export declare function asRejectedEntries(value: unknown): Array<{
3
- path: string;
4
- reason: string;
5
- }>;
6
- export declare function asFileEntries(value: unknown): Array<{
7
- file: string;
8
- }>;
9
- export declare function isSubset(left: Set<string>, right: Set<string>): boolean;
10
- export declare function setsEqual(left: Set<string>, right: Set<string>): boolean;
11
- export declare function setIntersectionSize(left: Set<string>, right: Set<string>): number;
12
- export declare function dedupeStrings(values: string[]): string[];
@@ -1,41 +0,0 @@
1
- export function asStringArray(value) {
2
- if (!Array.isArray(value))
3
- return [];
4
- return value.filter((item) => typeof item === "string");
5
- }
6
- export function asRejectedEntries(value) {
7
- if (!Array.isArray(value))
8
- return [];
9
- return value.filter((item) => !!item &&
10
- typeof item === "object" &&
11
- typeof item.path === "string" &&
12
- typeof item.reason === "string");
13
- }
14
- export function asFileEntries(value) {
15
- if (!Array.isArray(value))
16
- return [];
17
- return value.filter((item) => !!item &&
18
- typeof item === "object" &&
19
- typeof item.file === "string");
20
- }
21
- export function isSubset(left, right) {
22
- for (const item of left) {
23
- if (!right.has(item))
24
- return false;
25
- }
26
- return true;
27
- }
28
- export function setsEqual(left, right) {
29
- return left.size === right.size && isSubset(left, right);
30
- }
31
- export function setIntersectionSize(left, right) {
32
- let count = 0;
33
- for (const item of left) {
34
- if (right.has(item))
35
- count += 1;
36
- }
37
- return count;
38
- }
39
- export function dedupeStrings(values) {
40
- return Array.from(new Set(values));
41
- }
@@ -1,47 +0,0 @@
1
- export declare const VERIFIABLE_CONTEXT_INTERF_DIR = ".interf";
2
- export declare const VERIFIABLE_CONTEXT_CONFIG_FILE = "interf.json";
3
- export declare const VERIFIABLE_CONTEXT_BUILD_PLAN_DIR = "build-plan";
4
- export declare const VERIFIABLE_CONTEXT_TEST_DIR = "tests";
5
- export declare const VERIFIABLE_CONTEXT_TEST_TARGETS_DIR = "targets";
6
- export declare const VERIFIABLE_CONTEXT_RUNTIME_DIR = "runtime";
7
- export declare const VERIFIABLE_CONTEXT_RUNTIME_STATE_FILE = "state.json";
8
- export declare const VERIFIABLE_CONTEXT_RUNTIME_HEALTH_FILE = "health.json";
9
- export declare const VERIFIABLE_CONTEXT_RUNTIME_VIEW_SPEC_FILE = "view-spec.json";
10
- export declare const VERIFIABLE_CONTEXT_RUNTIME_SOURCE_FILES_FILE = "source-files.json";
11
- export declare const VERIFIABLE_CONTEXT_RUNTIME_SOURCE_SNAPSHOT_FILE = "source-snapshot.json";
12
- export declare const VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_DIR = "stages";
13
- export declare const VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_FILE = "inputs.json";
14
- export declare const VERIFIABLE_CONTEXT_RUNTIME_INVENTORY_FILE = "inventory.json";
15
- export declare const VERIFIABLE_CONTEXT_RUNTIME_RUN_FILE = "run.json";
16
- export declare const VERIFIABLE_CONTEXT_RUNTIME_RUN_HISTORY_FILE = "run-history.jsonl";
17
- export declare const VERIFIABLE_CONTEXT_RUNTIME_STAGE_CONTRACT_FILE = "stage-contract.json";
18
- export declare function verifiableContextRuntimeRoot(verifiableContextPath: string): string;
19
- export declare function verifiableContextRuntimeFilePath(verifiableContextPath: string, fileName: string): string;
20
- export declare function verifiableContextInterfRoot(verifiableContextPath: string): string;
21
- export declare function verifiableContextInterfConfigPath(verifiableContextPath: string): string;
22
- export declare function buildPlanPackagePathForVerifiableContext(verifiableContextPath: string): string;
23
- export declare function testRootForVerifiableContext(verifiableContextPath: string): string;
24
- export declare function testTargetsRootForVerifiableContext(verifiableContextPath: string): string;
25
- export declare function stageExecutionShellsRoot(verifiableContextPath: string): string;
26
- export declare function buildPlanImprovementLoopsRoot(verifiableContextPath: string): string;
27
- export declare function buildPlanImprovementRunRoot(verifiableContextPath: string, runId: string): string;
28
- export declare function buildPlanImprovementLoopRoot(verifiableContextPath: string, runId: string, loopIndex: number): string;
29
- export declare function targetTestRunsRootForVerifiableContext(verifiableContextPath: string): string;
30
- export declare function targetTestSandboxesRootForVerifiableContext(verifiableContextPath: string): string;
31
- export declare function verifiableContextRuntimeLogsRoot(verifiableContextPath: string): string;
32
- export declare function verifiableContextRuntimeArchivedStageContractPath(verifiableContextPath: string, runId: string): string;
33
- export declare function verifiableContextQueryAcceptanceRoot(verifiableContextPath: string): string;
34
- export declare function verifiableContextRuntimeStatePath(verifiableContextPath: string): string;
35
- export declare function verifiableContextRuntimeHealthPath(verifiableContextPath: string): string;
36
- export declare function verifiableContextRuntimeViewSpecPath(verifiableContextPath: string): string;
37
- export declare function verifiableContextRuntimeSourceFilesPath(verifiableContextPath: string): string;
38
- export declare function verifiableContextRuntimeSourceSnapshotPath(verifiableContextPath: string): string;
39
- export declare function verifiableContextRuntimeStagesRoot(verifiableContextPath: string): string;
40
- export declare function verifiableContextRuntimeStageRoot(verifiableContextPath: string, stageId: string): string;
41
- export declare function verifiableContextRuntimeStageInputsPath(verifiableContextPath: string, stageId: string): string;
42
- export declare function verifiableContextRuntimeInventoryPath(verifiableContextPath: string): string;
43
- export declare function verifiableContextRuntimeRunPath(verifiableContextPath: string): string;
44
- export declare function verifiableContextRuntimeRunHistoryPath(verifiableContextPath: string): string;
45
- export declare function verifiableContextRuntimeStageContractPath(verifiableContextPath: string): string;
46
- export declare function resolveSourceControlPathForVerifiableContext(verifiableContextPath: string): string;
47
- export declare function defaultControlPathForVerifiableContext(verifiableContextPath: string): string;
@@ -1,121 +0,0 @@
1
- import { basename, dirname, join, relative, resolve, sep } from "node:path";
2
- export const VERIFIABLE_CONTEXT_INTERF_DIR = ".interf";
3
- export const VERIFIABLE_CONTEXT_CONFIG_FILE = "interf.json";
4
- export const VERIFIABLE_CONTEXT_BUILD_PLAN_DIR = "build-plan";
5
- export const VERIFIABLE_CONTEXT_TEST_DIR = "tests";
6
- export const VERIFIABLE_CONTEXT_TEST_TARGETS_DIR = "targets";
7
- export const VERIFIABLE_CONTEXT_RUNTIME_DIR = "runtime";
8
- export const VERIFIABLE_CONTEXT_RUNTIME_STATE_FILE = "state.json";
9
- export const VERIFIABLE_CONTEXT_RUNTIME_HEALTH_FILE = "health.json";
10
- export const VERIFIABLE_CONTEXT_RUNTIME_VIEW_SPEC_FILE = "view-spec.json";
11
- export const VERIFIABLE_CONTEXT_RUNTIME_SOURCE_FILES_FILE = "source-files.json";
12
- export const VERIFIABLE_CONTEXT_RUNTIME_SOURCE_SNAPSHOT_FILE = "source-snapshot.json";
13
- export const VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_DIR = "stages";
14
- export const VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_FILE = "inputs.json";
15
- export const VERIFIABLE_CONTEXT_RUNTIME_INVENTORY_FILE = "inventory.json";
16
- export const VERIFIABLE_CONTEXT_RUNTIME_RUN_FILE = "run.json";
17
- export const VERIFIABLE_CONTEXT_RUNTIME_RUN_HISTORY_FILE = "run-history.jsonl";
18
- export const VERIFIABLE_CONTEXT_RUNTIME_STAGE_CONTRACT_FILE = "stage-contract.json";
19
- export function verifiableContextRuntimeRoot(verifiableContextPath) {
20
- return join(verifiableContextPath, VERIFIABLE_CONTEXT_INTERF_DIR, VERIFIABLE_CONTEXT_RUNTIME_DIR);
21
- }
22
- export function verifiableContextRuntimeFilePath(verifiableContextPath, fileName) {
23
- return join(verifiableContextRuntimeRoot(verifiableContextPath), fileName);
24
- }
25
- export function verifiableContextInterfRoot(verifiableContextPath) {
26
- return join(verifiableContextPath, VERIFIABLE_CONTEXT_INTERF_DIR);
27
- }
28
- export function verifiableContextInterfConfigPath(verifiableContextPath) {
29
- return join(verifiableContextInterfRoot(verifiableContextPath), VERIFIABLE_CONTEXT_CONFIG_FILE);
30
- }
31
- export function buildPlanPackagePathForVerifiableContext(verifiableContextPath) {
32
- return join(verifiableContextInterfRoot(verifiableContextPath), VERIFIABLE_CONTEXT_BUILD_PLAN_DIR);
33
- }
34
- export function testRootForVerifiableContext(verifiableContextPath) {
35
- return join(verifiableContextInterfRoot(verifiableContextPath), VERIFIABLE_CONTEXT_TEST_DIR);
36
- }
37
- export function testTargetsRootForVerifiableContext(verifiableContextPath) {
38
- return join(testRootForVerifiableContext(verifiableContextPath), VERIFIABLE_CONTEXT_TEST_TARGETS_DIR);
39
- }
40
- export function stageExecutionShellsRoot(verifiableContextPath) {
41
- return join(verifiableContextRuntimeRoot(verifiableContextPath), "execution-shells");
42
- }
43
- export function buildPlanImprovementLoopsRoot(verifiableContextPath) {
44
- return join(verifiableContextRuntimeRoot(verifiableContextPath), "improvement-loops");
45
- }
46
- export function buildPlanImprovementRunRoot(verifiableContextPath, runId) {
47
- return join(buildPlanImprovementLoopsRoot(verifiableContextPath), runId);
48
- }
49
- export function buildPlanImprovementLoopRoot(verifiableContextPath, runId, loopIndex) {
50
- return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), `loop-${String(loopIndex).padStart(2, "0")}`);
51
- }
52
- export function targetTestRunsRootForVerifiableContext(verifiableContextPath) {
53
- return join(testTargetsRootForVerifiableContext(verifiableContextPath), "runs");
54
- }
55
- export function targetTestSandboxesRootForVerifiableContext(verifiableContextPath) {
56
- return join(testTargetsRootForVerifiableContext(verifiableContextPath), "sandboxes");
57
- }
58
- export function verifiableContextRuntimeLogsRoot(verifiableContextPath) {
59
- return join(verifiableContextRuntimeRoot(verifiableContextPath), "logs");
60
- }
61
- export function verifiableContextRuntimeArchivedStageContractPath(verifiableContextPath, runId) {
62
- return join(verifiableContextRuntimeLogsRoot(verifiableContextPath), `${runId}.stage-contract.json`);
63
- }
64
- export function verifiableContextQueryAcceptanceRoot(verifiableContextPath) {
65
- return join(verifiableContextRuntimeRoot(verifiableContextPath), "query-acceptance");
66
- }
67
- export function verifiableContextRuntimeStatePath(verifiableContextPath) {
68
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_STATE_FILE);
69
- }
70
- export function verifiableContextRuntimeHealthPath(verifiableContextPath) {
71
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_HEALTH_FILE);
72
- }
73
- export function verifiableContextRuntimeViewSpecPath(verifiableContextPath) {
74
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_VIEW_SPEC_FILE);
75
- }
76
- export function verifiableContextRuntimeSourceFilesPath(verifiableContextPath) {
77
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_SOURCE_FILES_FILE);
78
- }
79
- export function verifiableContextRuntimeSourceSnapshotPath(verifiableContextPath) {
80
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_SOURCE_SNAPSHOT_FILE);
81
- }
82
- export function verifiableContextRuntimeStagesRoot(verifiableContextPath) {
83
- return join(verifiableContextRuntimeRoot(verifiableContextPath), VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_DIR);
84
- }
85
- export function verifiableContextRuntimeStageRoot(verifiableContextPath, stageId) {
86
- return join(verifiableContextRuntimeStagesRoot(verifiableContextPath), stageId);
87
- }
88
- export function verifiableContextRuntimeStageInputsPath(verifiableContextPath, stageId) {
89
- return join(verifiableContextRuntimeStageRoot(verifiableContextPath, stageId), VERIFIABLE_CONTEXT_RUNTIME_STAGE_INPUTS_FILE);
90
- }
91
- export function verifiableContextRuntimeInventoryPath(verifiableContextPath) {
92
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_INVENTORY_FILE);
93
- }
94
- export function verifiableContextRuntimeRunPath(verifiableContextPath) {
95
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_RUN_FILE);
96
- }
97
- export function verifiableContextRuntimeRunHistoryPath(verifiableContextPath) {
98
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_RUN_HISTORY_FILE);
99
- }
100
- export function verifiableContextRuntimeStageContractPath(verifiableContextPath) {
101
- return verifiableContextRuntimeFilePath(verifiableContextPath, VERIFIABLE_CONTEXT_RUNTIME_STAGE_CONTRACT_FILE);
102
- }
103
- export function resolveSourceControlPathForVerifiableContext(verifiableContextPath) {
104
- // Flat preparation data layout: the verifiable context lives at
105
- // `<preparation-data-dir>/<preparation>/`, so the preparation data folder is
106
- // the parent of the verifiable context. Reject the filesystem root and the
107
- // legacy `<root>/interf/<preparation>/` shape so stale fixtures fail loudly.
108
- const verifiableContextAbsolute = resolve(verifiableContextPath);
109
- const parent = dirname(verifiableContextAbsolute);
110
- if (parent === verifiableContextAbsolute) {
111
- throw new Error(`Verifiable context is not under the canonical Interf preparation data layout: ${verifiableContextPath}`);
112
- }
113
- if (basename(parent) === "interf") {
114
- throw new Error(`Verifiable context is not under the canonical Interf preparation data layout: ${verifiableContextPath}`);
115
- }
116
- return parent;
117
- }
118
- export function defaultControlPathForVerifiableContext(verifiableContextPath) {
119
- const relativePath = relative(verifiableContextPath, resolveSourceControlPathForVerifiableContext(verifiableContextPath));
120
- return relativePath.length > 0 ? relativePath.split(sep).join("/") : ".";
121
- }
@@ -1,21 +0,0 @@
1
- import { type BuildPlanContextSchema, type BuildPlanArtifact, type BuildPlanArtifactId } from "./lib/schema.js";
2
- export interface BuildPlanSchemaStageLike {
3
- id: string;
4
- writes: readonly string[];
5
- }
6
- export declare const BUILD_PLAN_SCHEMA_FILE = "build-plan.schema.json";
7
- export declare function buildPlanSchemaFilePath(rootPath: string): string;
8
- export declare function resolveBuildPlanSchemaPath(rootPath: string): string | null;
9
- export declare function buildPlanSchemaExists(rootPath: string): boolean;
10
- export declare function buildPlanSchemaRelativePath(): string;
11
- export declare function listBuildPlanContextArtifacts(schema: BuildPlanContextSchema): BuildPlanArtifact[];
12
- export declare function findBuildPlanContextArtifact(schema: BuildPlanContextSchema, artifactId: BuildPlanArtifactId): BuildPlanArtifact | null;
13
- export declare function verifiableContextArtifactAbsolutePath(verifiableContextPath: string, artifact: Pick<BuildPlanArtifact, "path">): string;
14
- export declare function verifiableContextArtifactPath(artifact: Pick<BuildPlanArtifact, "path" | "kind">): string;
15
- export declare function verifiableContextArtifactPathsForArtifactIds(schema: BuildPlanContextSchema, artifactIds: readonly BuildPlanArtifactId[]): string[];
16
- export declare function ensureBuildPlanArtifactTargets(verifiableContextPath: string, schema: BuildPlanContextSchema): void;
17
- export declare function buildBuildPlanContextSchema(stages: BuildPlanSchemaStageLike[], label?: string): BuildPlanContextSchema;
18
- export declare function writeBuildPlanContextSchemaFile(rootPath: string, stages: BuildPlanSchemaStageLike[], label?: string): BuildPlanContextSchema;
19
- export declare function writeBuildPlanContextSchemaDocument(rootPath: string, schema: BuildPlanContextSchema): BuildPlanContextSchema;
20
- export declare function readBuildPlanContextSchemaFile(rootPath: string): BuildPlanContextSchema | null;
21
- export declare function readBuildPlanContextFile(rootPath: string): BuildPlanContextSchema | null;
@@ -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
- }