@interf/compiler 0.22.2 → 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 +175 -234
  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 +39 -31
  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/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_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
@@ -0,0 +1,17 @@
1
+ import type { Artifact } from "../contracts/lib/schema.js";
2
+ import type { RequestedArtifact } from "../build-plans/authoring/brief.js";
3
+ import type { ProjectConfig } from "../projects/lib/schema.js";
4
+ import type { BuildPlanAuthoringArtifactRequirement } from "./schemas/index.js";
5
+ export declare function artifactsForBuildPlan(projectDataDir: string, buildPlanId: string | null | undefined): Artifact[];
6
+ export declare function artifactsForSelectedBuildPlan(projectDataDir: string, projectConfig: ProjectConfig): Artifact[];
7
+ export declare function requestedArtifactsForPlanAuthoring(options: {
8
+ projectDataDir: string;
9
+ projectConfig: ProjectConfig | null;
10
+ explicitRequestedArtifacts?: RequestedArtifact[];
11
+ }): RequestedArtifact[];
12
+ export declare function artifactRequirementsForPlanAuthoring(options: {
13
+ projectDataDir: string;
14
+ projectConfig: ProjectConfig | null;
15
+ requestedArtifacts: RequestedArtifact[];
16
+ explicitArtifactRequirements?: BuildPlanAuthoringArtifactRequirement[];
17
+ }): BuildPlanAuthoringArtifactRequirement[];
@@ -0,0 +1,42 @@
1
+ import { getBuildPlan, } from "../build-plans/package/build-plan-definitions.js";
2
+ import { buildPlanIdForProjectConfig, } from "../projects/source-config.js";
3
+ import { artifactRequirementsFromRequestedArtifacts, requestedArtifactsFromPlanArtifacts, } from "./requested-artifacts.js";
4
+ export function artifactsForBuildPlan(projectDataDir, buildPlanId) {
5
+ if (!buildPlanId)
6
+ return [];
7
+ try {
8
+ const buildPlan = getBuildPlan(buildPlanId, { projectDataDir });
9
+ return [...(buildPlan.contextInterface?.artifacts ?? buildPlan.schema?.artifacts ?? [])];
10
+ }
11
+ catch {
12
+ return [];
13
+ }
14
+ }
15
+ export function artifactsForSelectedBuildPlan(projectDataDir, projectConfig) {
16
+ return artifactsForBuildPlan(projectDataDir, buildPlanIdForProjectConfig(projectConfig));
17
+ }
18
+ export function requestedArtifactsForPlanAuthoring(options) {
19
+ if (options.explicitRequestedArtifacts) {
20
+ return options.explicitRequestedArtifacts;
21
+ }
22
+ if (!options.projectConfig)
23
+ return [];
24
+ return requestedArtifactsFromPlanArtifacts(artifactsForSelectedBuildPlan(options.projectDataDir, options.projectConfig));
25
+ }
26
+ export function artifactRequirementsForPlanAuthoring(options) {
27
+ if (options.explicitArtifactRequirements) {
28
+ return options.explicitArtifactRequirements;
29
+ }
30
+ const fromRequestedArtifacts = artifactRequirementsFromRequestedArtifacts(options.requestedArtifacts);
31
+ if (fromRequestedArtifacts.length > 0)
32
+ return fromRequestedArtifacts;
33
+ if (!options.projectConfig)
34
+ return [];
35
+ const buildPlanArtifacts = artifactsForSelectedBuildPlan(options.projectDataDir, options.projectConfig);
36
+ return buildPlanArtifacts.map((artifact) => ({
37
+ id: artifact.id,
38
+ description: artifact.description,
39
+ shape: artifact.shape,
40
+ checks: artifact.checks,
41
+ }));
42
+ }
@@ -0,0 +1,11 @@
1
+ import type { ProjectConfig } from "../projects/lib/schema.js";
2
+ export interface SavedProjectEntry {
3
+ config: ProjectConfig;
4
+ path: string | null;
5
+ localDraft: boolean;
6
+ }
7
+ export declare function listSavedProjectEntries(projectDataDir: string): SavedProjectEntry[];
8
+ export declare function findBuiltContextGraphPath(projectDataDir: string, projectName: string): string | null;
9
+ export declare function findSavedProjectConfig(projectDataDir: string, projectName: string): ProjectConfig | null;
10
+ export declare function createContextGraphFromConfig(projectDataDir: string, projectConfig: ProjectConfig): string;
11
+ export declare function ensureContextGraphFromConfig(projectDataDir: string, projectConfig: ProjectConfig): string;
@@ -0,0 +1,49 @@
1
+ import { listContextGraphsForSourceFolder, } from "../projects/interf-detect.js";
2
+ import { createContextGraph, ensureContextGraphScaffold, } from "./context-graph-scaffold.js";
3
+ import { listProjectConfigs, loadContextGraphProjectConfig, loadSourceFolderConfig, resolveProjectSourceBindingPath, projectConfigFromInterfConfig, syncContextGraphInterfConfigFromProjectConfig, } from "../projects/source-config.js";
4
+ import { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, } from "../build-plans/build-plan-resolution.js";
5
+ export function listSavedProjectEntries(projectDataDir) {
6
+ const builtEntries = new Map();
7
+ for (const builtContext of listContextGraphsForSourceFolder(projectDataDir)) {
8
+ const projectConfig = loadContextGraphProjectConfig(builtContext.path)
9
+ ?? projectConfigFromInterfConfig(builtContext.config);
10
+ builtEntries.set(builtContext.config.name, {
11
+ config: projectConfig,
12
+ path: builtContext.path,
13
+ localDraft: builtContext.config.build_plan_origin?.local_draft === true,
14
+ });
15
+ }
16
+ const entries = new Map();
17
+ for (const config of listProjectConfigs(loadSourceFolderConfig(projectDataDir))) {
18
+ const built = builtEntries.get(config.name);
19
+ entries.set(config.name, {
20
+ config,
21
+ path: built?.path ?? null,
22
+ localDraft: built?.localDraft ?? false,
23
+ });
24
+ }
25
+ return Array.from(entries.values()).sort((left, right) => left.config.name.localeCompare(right.config.name));
26
+ }
27
+ export function findBuiltContextGraphPath(projectDataDir, projectName) {
28
+ return listSavedProjectEntries(projectDataDir).find((entry) => entry.config.name === projectName)?.path ?? null;
29
+ }
30
+ export function findSavedProjectConfig(projectDataDir, projectName) {
31
+ return listSavedProjectEntries(projectDataDir).find((entry) => entry.config.name === projectName)?.config ?? null;
32
+ }
33
+ export function createContextGraphFromConfig(projectDataDir, projectConfig) {
34
+ const buildPlanId = buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID;
35
+ const sourceFolderPath = resolveProjectSourceBindingPath(projectDataDir, projectConfig);
36
+ const contextGraphPath = createContextGraph(projectConfig.name, projectDataDir, buildPlanId, sourceFolderPath);
37
+ syncContextGraphInterfConfigFromProjectConfig(contextGraphPath, projectConfig);
38
+ return contextGraphPath;
39
+ }
40
+ export function ensureContextGraphFromConfig(projectDataDir, projectConfig) {
41
+ const buildPlanId = buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID;
42
+ const existingPath = findBuiltContextGraphPath(projectDataDir, projectConfig.name);
43
+ if (existingPath) {
44
+ ensureContextGraphScaffold(projectDataDir, projectConfig.name, buildPlanId);
45
+ syncContextGraphInterfConfigFromProjectConfig(existingPath, projectConfig);
46
+ return existingPath;
47
+ }
48
+ return createContextGraphFromConfig(projectDataDir, projectConfig);
49
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Project source-state computation.
3
+ *
4
+ * Interf does not inspect Source bytes directly. The latest Source Manifest
5
+ * is the scan state for a Project; before a manifest exists the Source state
6
+ * is unknown, not missing.
7
+ */
8
+ import type { ProjectSourceState } from "../contracts/lib/project-schema.js";
9
+ export interface ProjectSourceStateInput {
10
+ projectId: string;
11
+ sourceFolderPath: string;
12
+ contextGraphPath: string;
13
+ /**
14
+ * Hash from the last successful Build (typically the latest Context
15
+ * Flow's file index hash). Null when no Build has produced a
16
+ * Context Graph yet.
17
+ */
18
+ lastGraphIndexHash: string | null;
19
+ }
20
+ /**
21
+ * Compute the current `ProjectSourceState`.
22
+ *
23
+ * The Project Source state is manifest-backed. Interf does not stat or hash
24
+ * the bound Source locator while answering this API.
25
+ */
26
+ export declare function computeProjectSourceState(input: ProjectSourceStateInput): ProjectSourceState;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Project source-state computation.
3
+ *
4
+ * Interf does not inspect Source bytes directly. The latest Source Manifest
5
+ * is the scan state for a Project; before a manifest exists the Source state
6
+ * is unknown, not missing.
7
+ */
8
+ import { computeFileIndexHash, loadContextGraphSourceManifest, sourceManifestToSourceFiles } from "./build/source-manifest.js";
9
+ /**
10
+ * Compute the current `ProjectSourceState`.
11
+ *
12
+ * The Project Source state is manifest-backed. Interf does not stat or hash
13
+ * the bound Source locator while answering this API.
14
+ */
15
+ export function computeProjectSourceState(input) {
16
+ const generatedAt = new Date().toISOString();
17
+ const manifest = loadContextGraphSourceManifest(input.contextGraphPath);
18
+ if (!manifest) {
19
+ return {
20
+ kind: "interf-project-source-state",
21
+ version: 1,
22
+ project_id: input.projectId,
23
+ file_index_hash: null,
24
+ file_count: 0,
25
+ last_observed_at: generatedAt,
26
+ drift_kind: "unknown",
27
+ drift_summary: "No Source Manifest has been recorded for this Project yet.",
28
+ };
29
+ }
30
+ const sourceFiles = sourceManifestToSourceFiles(manifest);
31
+ const fileIndexHash = computeFileIndexHash(sourceFiles);
32
+ const driftKind = (() => {
33
+ if (input.lastGraphIndexHash === null)
34
+ return "unknown";
35
+ if (input.lastGraphIndexHash === fileIndexHash)
36
+ return "fresh";
37
+ return "drifted";
38
+ })();
39
+ return {
40
+ kind: "interf-project-source-state",
41
+ version: 1,
42
+ project_id: input.projectId,
43
+ file_index_hash: fileIndexHash,
44
+ file_count: sourceFiles.files.length,
45
+ last_observed_at: generatedAt,
46
+ drift_kind: driftKind,
47
+ drift_summary: driftKind === "drifted"
48
+ ? "A newer Source Manifest differs from the last Build. Build again to reflect changes."
49
+ : driftKind === "fresh"
50
+ ? "Latest Source Manifest matches the Context Graph."
51
+ : "Latest Source Manifest has been recorded; run a rescan to check for Source drift.",
52
+ };
53
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Project store.
3
+ *
4
+ * Each Project lives at `~/.interf/projects/<id>/` and is registered
5
+ * with the runtime so the build / benchmark / readiness machinery can find its
6
+ * Project data dir.
7
+ *
8
+ * ~/.interf/projects/<id>/
9
+ * interf.json <- Project config, single Project entry name=<id>
10
+ * graphs/<run-id>/ <- per-Build Run Context Graph outputs
11
+ *
12
+ * NOTE: `projectDataDir` remains the storage helper type name until the P7.3
13
+ * path-helper cleanup. The runtime and HTTP resource are Project-keyed.
14
+ */
15
+ import type { ProjectConfig } from "../projects/lib/schema.js";
16
+ import type { LocalServiceRuntime } from "./runtime.js";
17
+ export interface ProjectCreateInput {
18
+ id: string;
19
+ source: {
20
+ kind: "local-folder";
21
+ locator: string;
22
+ };
23
+ /** Build Plan binding. Null/undefined means "not bound yet" — bind later via update. */
24
+ build_plan_id?: string | null;
25
+ }
26
+ export interface ProjectUpdateInput {
27
+ build_plan_id?: string | null;
28
+ }
29
+ export interface StoredProject {
30
+ id: string;
31
+ projectDataDir: string;
32
+ source: {
33
+ kind: "local-folder";
34
+ locator: string;
35
+ };
36
+ /** Null when no Build Plan has been bound to this Project yet. */
37
+ buildPlanId: string | null;
38
+ config: ProjectConfig;
39
+ contextGraphPath: string;
40
+ configPath: string;
41
+ }
42
+ /** List every Project registered under `~/.interf/projects/`. */
43
+ export declare function listStoredProjects(): StoredProject[];
44
+ /** Read one Project by id. Returns null when missing. */
45
+ export declare function getStoredProject(projectId: string): StoredProject | null;
46
+ /**
47
+ * Create a Project: scaffold its data dir, write the local
48
+ * Project config, and register it with the runtime so subsequent
49
+ * build / benchmark / readiness calls find it.
50
+ *
51
+ * Throws on validation errors (bad id, bad Build Plan id, source missing).
52
+ */
53
+ export declare function createStoredProject(runtime: LocalServiceRuntime, input: ProjectCreateInput): StoredProject;
54
+ /**
55
+ * Delete a Project: deregister its runtime context and remove
56
+ * `~/.interf/projects/<id>/` from disk. Returns true when something
57
+ * was actually removed.
58
+ */
59
+ export declare function deleteStoredProject(runtime: LocalServiceRuntime, projectId: string): boolean;
60
+ /**
61
+ * Update mutable fields on an existing Project. Returns the freshly-loaded
62
+ * record. Throws if the Project does not exist.
63
+ */
64
+ export declare function updateStoredProject(projectId: string, patch: ProjectUpdateInput): StoredProject;
65
+ /**
66
+ * Re-register every Project directory with the runtime on startup so
67
+ * Projects survive an `interf runtime` restart.
68
+ */
69
+ export declare function rehydrateProjects(runtime: LocalServiceRuntime): void;
70
+ /** Build the wire shape for `GET /v1/projects/<id>` given a stored Project. */
71
+ export declare function projectWireShape(stored: StoredProject): {
72
+ id: string;
73
+ project_id: string;
74
+ source: {
75
+ kind: string;
76
+ locator: string;
77
+ };
78
+ build_plan_id: string | null;
79
+ config_path: string;
80
+ context_graph: {
81
+ kind: "local-path";
82
+ value: string;
83
+ };
84
+ context_graph_path: string;
85
+ };
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Project store.
3
+ *
4
+ * Each Project lives at `~/.interf/projects/<id>/` and is registered
5
+ * with the runtime so the build / benchmark / readiness machinery can find its
6
+ * Project data dir.
7
+ *
8
+ * ~/.interf/projects/<id>/
9
+ * interf.json <- Project config, single Project entry name=<id>
10
+ * graphs/<run-id>/ <- per-Build Run Context Graph outputs
11
+ *
12
+ * NOTE: `projectDataDir` remains the storage helper type name until the P7.3
13
+ * path-helper cleanup. The runtime and HTTP resource are Project-keyed.
14
+ */
15
+ import { existsSync, mkdirSync, readdirSync, rmSync, statSync, } from "node:fs";
16
+ import { resolve } from "node:path";
17
+ import { ProjectIdSchema, BuildPlanIdSchema, } from "../contracts/lib/schema.js";
18
+ import { projectDataDir as resolveProjectDataDir, projectConfigPath, projectContextGraphPath, projectRunContextGraphPath, projectsRoot, } from "../contracts/lib/project-paths.js";
19
+ import { saveSourceFolderConfig, loadSourceFolderConfig, } from "../projects/source-config.js";
20
+ import { assertCanCreateProject } from "./entitlement-guard.js";
21
+ function ensureProjectsRoot() {
22
+ mkdirSync(projectsRoot(), { recursive: true });
23
+ }
24
+ function loadStoredProject(projectId) {
25
+ const projectDataDir = resolveProjectDataDir(projectId);
26
+ if (!existsSync(projectDataDir) || !statSync(projectDataDir).isDirectory())
27
+ return null;
28
+ const config = loadSourceFolderConfig(projectDataDir);
29
+ if (!config)
30
+ return null;
31
+ const project = config.projects?.find((p) => p.name === projectId);
32
+ if (!project)
33
+ return null;
34
+ const sourceFolderPath = config.source_folder?.path;
35
+ if (!sourceFolderPath)
36
+ return null;
37
+ return {
38
+ id: projectId,
39
+ projectDataDir,
40
+ source: { kind: "local-folder", locator: sourceFolderPath },
41
+ buildPlanId: project.build_plan ?? null,
42
+ config: project,
43
+ contextGraphPath: project.latest_context_graph_run_id
44
+ ? projectRunContextGraphPath(projectDataDir, project.latest_context_graph_run_id)
45
+ : projectContextGraphPath(projectDataDir, projectId),
46
+ configPath: projectConfigPath(projectDataDir),
47
+ };
48
+ }
49
+ /** List every Project registered under `~/.interf/projects/`. */
50
+ export function listStoredProjects() {
51
+ const root = projectsRoot();
52
+ if (!existsSync(root))
53
+ return [];
54
+ const entries = readdirSync(root, { withFileTypes: true });
55
+ const out = [];
56
+ for (const entry of entries) {
57
+ if (!entry.isDirectory())
58
+ continue;
59
+ const stored = loadStoredProject(entry.name);
60
+ if (stored)
61
+ out.push(stored);
62
+ }
63
+ return out.sort((a, b) => a.id.localeCompare(b.id));
64
+ }
65
+ /** Read one Project by id. Returns null when missing. */
66
+ export function getStoredProject(projectId) {
67
+ return loadStoredProject(projectId);
68
+ }
69
+ /**
70
+ * Create a Project: scaffold its data dir, write the local
71
+ * Project config, and register it with the runtime so subsequent
72
+ * build / benchmark / readiness calls find it.
73
+ *
74
+ * Throws on validation errors (bad id, bad Build Plan id, source missing).
75
+ */
76
+ export function createStoredProject(runtime, input) {
77
+ ProjectIdSchema.parse(input.id);
78
+ if (input.build_plan_id != null) {
79
+ BuildPlanIdSchema.parse(input.build_plan_id);
80
+ }
81
+ const sourceLocator = resolve(input.source.locator);
82
+ ensureProjectsRoot();
83
+ const projectDataDir = resolveProjectDataDir(input.id);
84
+ if (existsSync(projectDataDir) && loadStoredProject(input.id)) {
85
+ throw new Error(`Project already exists: ${input.id}`);
86
+ }
87
+ // Free-tier 10-Project cap. Cloud accounts on Pro bypass this.
88
+ assertCanCreateProject(runtime.currentAccount, listStoredProjects().length);
89
+ mkdirSync(projectDataDir, { recursive: true });
90
+ const project = {
91
+ name: input.id,
92
+ path: input.id,
93
+ ...(input.build_plan_id ? { build_plan: input.build_plan_id } : {}),
94
+ };
95
+ saveSourceFolderConfig(projectDataDir, {
96
+ source_folder: { path: sourceLocator },
97
+ projects: [project],
98
+ });
99
+ // Hand the Project data dir to the runtime so the existing
100
+ // build/benchmark/readiness paths see it.
101
+ runtime.registerProject(projectDataDir);
102
+ const stored = loadStoredProject(input.id);
103
+ if (!stored)
104
+ throw new Error(`Failed to load freshly-created Project ${input.id}`);
105
+ return stored;
106
+ }
107
+ /**
108
+ * Delete a Project: deregister its runtime context and remove
109
+ * `~/.interf/projects/<id>/` from disk. Returns true when something
110
+ * was actually removed.
111
+ */
112
+ export function deleteStoredProject(runtime, projectId) {
113
+ const projectDataDir = resolveProjectDataDir(projectId);
114
+ if (!existsSync(projectDataDir))
115
+ return false;
116
+ runtime.deregisterProject(projectDataDir);
117
+ rmSync(projectDataDir, { recursive: true, force: true });
118
+ return true;
119
+ }
120
+ /**
121
+ * Update mutable fields on an existing Project. Returns the freshly-loaded
122
+ * record. Throws if the Project does not exist.
123
+ */
124
+ export function updateStoredProject(projectId, patch) {
125
+ const stored = loadStoredProject(projectId);
126
+ if (!stored)
127
+ throw new Error(`Project not found: ${projectId}`);
128
+ if (patch.build_plan_id !== undefined && patch.build_plan_id !== null) {
129
+ BuildPlanIdSchema.parse(patch.build_plan_id);
130
+ }
131
+ const nextProject = {
132
+ ...stored.config,
133
+ ...(patch.build_plan_id === null
134
+ ? { build_plan: undefined }
135
+ : patch.build_plan_id !== undefined
136
+ ? { build_plan: patch.build_plan_id }
137
+ : {}),
138
+ };
139
+ saveSourceFolderConfig(stored.projectDataDir, {
140
+ source_folder: { path: stored.source.locator },
141
+ projects: [nextProject],
142
+ });
143
+ const next = loadStoredProject(projectId);
144
+ if (!next)
145
+ throw new Error(`Failed to reload updated Project ${projectId}`);
146
+ return next;
147
+ }
148
+ /**
149
+ * Re-register every Project directory with the runtime on startup so
150
+ * Projects survive an `interf runtime` restart.
151
+ */
152
+ export function rehydrateProjects(runtime) {
153
+ for (const stored of listStoredProjects()) {
154
+ runtime.registerProject(stored.projectDataDir);
155
+ }
156
+ }
157
+ /** Build the wire shape for `GET /v1/projects/<id>` given a stored Project. */
158
+ export function projectWireShape(stored) {
159
+ return {
160
+ id: stored.id,
161
+ project_id: stored.id,
162
+ source: stored.source,
163
+ build_plan_id: stored.buildPlanId,
164
+ config_path: stored.configPath,
165
+ context_graph: { kind: "local-path", value: stored.contextGraphPath },
166
+ context_graph_path: stored.contextGraphPath,
167
+ };
168
+ }
@@ -0,0 +1,7 @@
1
+ import type { RequestedArtifact } from "../build-plans/authoring/brief.js";
2
+ import { type Artifact } from "../contracts/lib/schema.js";
3
+ import type { BuildPlanAuthoringArtifactRequirement } from "../build-plans/authoring/brief.js";
4
+ export declare function requestedArtifactCheckLabel(check: RequestedArtifact["checks"][number]): string;
5
+ export declare function formatRequestedArtifactsForPrompt(artifacts: RequestedArtifact[]): string;
6
+ export declare function artifactRequirementsFromRequestedArtifacts(artifacts: RequestedArtifact[]): BuildPlanAuthoringArtifactRequirement[];
7
+ export declare function requestedArtifactsFromPlanArtifacts(artifacts: readonly Artifact[]): RequestedArtifact[];
@@ -7,7 +7,7 @@ export function formatRequestedArtifactsForPrompt(artifacts) {
7
7
  return "";
8
8
  return artifacts.map((artifact, index) => {
9
9
  const lines = [
10
- `${index + 1}. ${artifact.title}`,
10
+ `${index + 1}. ${artifact.title}${artifact.id ? ` (id: ${artifact.id})` : ""}`,
11
11
  artifact.purpose ?? artifact.description ?? null,
12
12
  artifact.checks.length > 0
13
13
  ? `Checks:\n${artifact.checks.map((check) => `- ${requestedArtifactCheckLabel(check)}`).join("\n")}`
@@ -34,3 +34,25 @@ export function artifactRequirementsFromRequestedArtifacts(artifacts) {
34
34
  }];
35
35
  });
36
36
  }
37
+ function titleFromArtifactId(value) {
38
+ return value
39
+ .split("-")
40
+ .filter(Boolean)
41
+ .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
42
+ .join(" ");
43
+ }
44
+ function labelForArtifactCheck(check) {
45
+ return check.description ?? titleFromArtifactId(check.id) ?? "Artifact diagnostic";
46
+ }
47
+ export function requestedArtifactsFromPlanArtifacts(artifacts) {
48
+ return artifacts.map((artifact) => ({
49
+ id: artifact.id,
50
+ title: titleFromArtifactId(artifact.id),
51
+ description: artifact.description,
52
+ checks: artifact.checks.map(labelForArtifactCheck),
53
+ output: {
54
+ shape: artifact.shape,
55
+ checks: artifact.checks,
56
+ },
57
+ }));
58
+ }
@@ -1,6 +1,7 @@
1
1
  import { type ArtifactRef, type BuildRun } from "./execution/lib/schema.js";
2
- import { type BuildRunResource, type LocalJobRunResource, type RunObservabilityResource, type VerifyRunResource } from "./lib/schema.js";
2
+ import { type BuildRunResource, type LocalJobRunResource, type RunObservabilityResource, type RunStatusResource, type VerifyRunResource } from "./schemas/index.js";
3
3
  export declare function uniqueArtifacts(artifacts: ArtifactRef[]): ArtifactRef[];
4
+ export declare function runObservabilityToStatus(run: RunObservabilityResource): RunStatusResource;
4
5
  type BuildRunForObservability = BuildRun | BuildRunResource["run"];
5
6
  export declare function buildRunToObservability(run: BuildRunForObservability): RunObservabilityResource;
6
7
  export declare function verifyRunToObservability(run: VerifyRunResource): RunObservabilityResource;