@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
@@ -0,0 +1,512 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join, relative } from "node:path";
3
+ import { SourceManifestSchema, } from "../../contracts/lib/schema.js";
4
+ import { buildRuntimeExecutorInfo } from "../agents/lib/executors.js";
5
+ import { shellEventLogPath, shellPromptLogPath, shellStatusLogPath, } from "../agents/lib/shell-paths.js";
6
+ import { renderClaudeBootstrap, } from "../agents/lib/shell-templates.js";
7
+ import { freezePreservedShell, writeIfChanged, writeNativeSkillCopies, } from "../agents/lib/shell-fs.js";
8
+ import { writeStageExecutionWorkspaceManifest, } from "../agents/lib/shell-workspace.js";
9
+ import { contextGraphRuntimeSourceManifestPath, stageExecutionShellsRoot, } from "./context-graph-paths.js";
10
+ import { dropFilesystemArtifacts, loadContextGraphSourceManifest, writeBuildSourceRuntimeFromManifest, } from "./source-manifest.js";
11
+ import { writeSourceStageManifest, } from "./stage-manifest.js";
12
+ import { createRunEventId, createRunEventTimestamp, } from "../execution/events.js";
13
+ import { markStageExecutionSessionsShellPreserved, recordStageExecutionSessionValidationAttempt, writeStageExecutionSessionFinished, writeStageExecutionSessionStarted, } from "./stage-session.js";
14
+ function sourceInventoryShellRoot(contextGraphPath, attempt) {
15
+ return join(stageExecutionShellsRoot(contextGraphPath), `source-inventory-${Date.now().toString(36)}-${attempt}`);
16
+ }
17
+ function sourceInventoryPrompt(options) {
18
+ const runtimeInfo = buildRuntimeExecutorInfo(options.executor);
19
+ const skeleton = {
20
+ kind: "interf-source-manifest",
21
+ version: 1,
22
+ manifest_id: `manifest-${options.runId ?? "run"}-${options.attempt}`,
23
+ generated_at: new Date().toISOString(),
24
+ run_id: options.runId ?? null,
25
+ project: options.project,
26
+ source: {
27
+ id: "src-agent-observed",
28
+ kind: "local-folder",
29
+ locator: options.sourceLocator,
30
+ },
31
+ scanner: {
32
+ executor: runtimeInfo.name,
33
+ agent_label: runtimeInfo.display_name,
34
+ attempt: options.attempt,
35
+ },
36
+ source_total: 1,
37
+ files: [
38
+ {
39
+ id: "file-example",
40
+ path: "relative/path/from/source.pdf",
41
+ locator: "agent-readable/source/ref",
42
+ kind: "pdf",
43
+ page_count: 1,
44
+ inspectable_units: [
45
+ { kind: "page", index: 1, label: "page 1" },
46
+ ],
47
+ confidence: "high",
48
+ evidence: [
49
+ {
50
+ kind: "agent-observation",
51
+ summary: "Replace this with what you observed.",
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ warnings: [],
57
+ };
58
+ return [
59
+ "You are the Interf Source inventory agent.",
60
+ "Interf does not read or copy the user's Source files. You own Source access through your normal tools.",
61
+ `Project: ${options.project}`,
62
+ ...(options.projectIntent ? [`Project intent: ${options.projectIntent}`] : []),
63
+ `Source locator: ${options.sourceLocator}`,
64
+ "Read `runtime/source-locator.json` first.",
65
+ "List every Source file you can access. Use paths relative to the Source locator.",
66
+ "Use canonical file kinds only: pdf, document, spreadsheet, presentation, image, text, other. Markdown, txt, and plain-text files must use kind `text`.",
67
+ "For plain text or markdown files, use an inspectable unit like `{ \"kind\": \"file\", \"index\": 1, \"label\": \"whole file\" }` when useful.",
68
+ "For PDFs, decks, sheets, and other multi-unit files, record page/slide/sheet/table/image/section units when you can.",
69
+ "Do not copy Source files into this shell.",
70
+ "Write exactly one JSON file at runtime/source-manifest.json.",
71
+ "The JSON must match this shape, with real values replacing the example:",
72
+ JSON.stringify(skeleton, null, 2),
73
+ ...(options.feedback ? ["", `Previous validation feedback: ${options.feedback}`] : []),
74
+ "",
75
+ "Emit DONE: source inventory complete after runtime/source-manifest.json is written.",
76
+ ].join("\n");
77
+ }
78
+ function renderSourceInventoryAgents(options) {
79
+ return [
80
+ `# ${options.project} — Source Inventory Execution Shell`,
81
+ "",
82
+ "This is an isolated Interf execution shell for Source inventory.",
83
+ "It is a replayable stage workspace: prompts, logs, contract, input locator, and output manifest live here.",
84
+ "",
85
+ "## Start Here",
86
+ "",
87
+ "1. Read `runtime/stage-contract.json` now.",
88
+ "2. Read `runtime/source-locator.json` now.",
89
+ "3. Use the local native `interf-stage` skill now.",
90
+ "4. Write exactly one output: `runtime/source-manifest.json`.",
91
+ "",
92
+ "## Boundaries",
93
+ "",
94
+ `- Build Plan: \`${options.buildPlanId}\`.`,
95
+ "- Stage: `source-inventory`.",
96
+ "- Do not copy Source files into this shell.",
97
+ "- Source files remain read-only and external to Interf.",
98
+ "- Record every accessible Source file, inspectable units, and human-readable evidence.",
99
+ "",
100
+ "## Goal",
101
+ "",
102
+ "- produce a Source Manifest that future stages can use deterministically",
103
+ "- preserve Source file paths relative to the Source locator",
104
+ "- stop once `runtime/source-manifest.json` is valid",
105
+ "",
106
+ ].join("\n");
107
+ }
108
+ function renderSourceInventorySkill() {
109
+ return [
110
+ "---",
111
+ "name: interf-stage",
112
+ "description: >",
113
+ " Native local execution skill for the Interf Source inventory stage.",
114
+ " Use it only inside an automated Source inventory execution shell.",
115
+ "---",
116
+ "",
117
+ "# Interf Source Inventory",
118
+ "",
119
+ "Read `runtime/stage-contract.json` and `runtime/source-locator.json` first.",
120
+ "Inspect the Source through your own tools. Do not copy Source files into the shell.",
121
+ "Write `runtime/source-manifest.json` with every accessible Source file, Source-relative path, inspectable units, and evidence.",
122
+ "Emit DONE only after the manifest exists and matches the contract.",
123
+ "",
124
+ ].join("\n");
125
+ }
126
+ function writeSourceInventoryShellSurface(options) {
127
+ const agents = renderSourceInventoryAgents({
128
+ project: options.project,
129
+ buildPlanId: options.buildPlanId,
130
+ });
131
+ writeIfChanged(join(options.shellRoot, "AGENTS.md"), `${agents.trimEnd()}\n`);
132
+ writeIfChanged(join(options.shellRoot, "CLAUDE.md"), renderClaudeBootstrap(agents));
133
+ writeNativeSkillCopies(options.shellRoot, "interf-stage", renderSourceInventorySkill());
134
+ }
135
+ function readShellManifest(shellRoot) {
136
+ const manifestPath = join(shellRoot, "runtime", "source-manifest.json");
137
+ const raw = JSON.parse(readFileSync(manifestPath, "utf8"));
138
+ return SourceManifestSchema.parse(normalizeSourceManifestCandidate(raw));
139
+ }
140
+ function normalizeSourceManifestCandidate(value) {
141
+ if (!value || typeof value !== "object" || !Array.isArray(value.files)) {
142
+ return value;
143
+ }
144
+ return {
145
+ ...value,
146
+ files: (value.files).map((file) => {
147
+ if (!file || typeof file !== "object")
148
+ return file;
149
+ const candidate = file;
150
+ return {
151
+ ...candidate,
152
+ kind: normalizeSourceFileKind(candidate.kind, candidate.path),
153
+ };
154
+ }),
155
+ };
156
+ }
157
+ function normalizeSourceFileKind(kind, path) {
158
+ const raw = typeof kind === "string" ? kind.trim().toLowerCase() : "";
159
+ const normalized = raw.replaceAll("_", "-").replace(/\s+/g, "-");
160
+ if (["pdf", "document", "spreadsheet", "presentation", "image", "text", "other"].includes(normalized)) {
161
+ return normalized;
162
+ }
163
+ if (["markdown", "md", "txt", "plain-text", "text-file", "source-text"].includes(normalized))
164
+ return "text";
165
+ if (["doc", "docx", "word"].includes(normalized))
166
+ return "document";
167
+ if (["sheet", "sheets", "table", "csv", "tsv", "xls", "xlsx"].includes(normalized))
168
+ return "spreadsheet";
169
+ if (["deck", "slide", "slides", "ppt", "pptx"].includes(normalized))
170
+ return "presentation";
171
+ if (["jpg", "jpeg", "png", "gif", "webp", "svg"].includes(normalized))
172
+ return "image";
173
+ if (typeof path === "string") {
174
+ if (/\.(md|markdown|txt|text)$/i.test(path))
175
+ return "text";
176
+ if (/\.(doc|docx|rtf|odt)$/i.test(path))
177
+ return "document";
178
+ if (/\.(csv|tsv|xls|xlsx)$/i.test(path))
179
+ return "spreadsheet";
180
+ if (/\.(ppt|pptx|odp)$/i.test(path))
181
+ return "presentation";
182
+ if (/\.(jpe?g|png|gif|webp|svg)$/i.test(path))
183
+ return "image";
184
+ if (/\.pdf$/i.test(path))
185
+ return "pdf";
186
+ }
187
+ return kind === undefined ? undefined : "other";
188
+ }
189
+ function contextGraphRelativePath(contextGraphPath, filePath) {
190
+ return relative(contextGraphPath, filePath).replaceAll("\\", "/");
191
+ }
192
+ function sourceInventoryShellLogs(options) {
193
+ return {
194
+ prompt_path: contextGraphRelativePath(options.contextGraphPath, shellPromptLogPath(options.shellRoot, options.inventoryRunId)),
195
+ event_stream_path: contextGraphRelativePath(options.contextGraphPath, shellEventLogPath(options.shellRoot, options.inventoryRunId)),
196
+ status_path: contextGraphRelativePath(options.contextGraphPath, shellStatusLogPath(options.shellRoot, options.inventoryRunId)),
197
+ contract_path: contextGraphRelativePath(options.contextGraphPath, join(options.shellRoot, "runtime", "stage-contract.json")),
198
+ };
199
+ }
200
+ function validateScannerManifest(options) {
201
+ const runtimeInfo = buildRuntimeExecutorInfo(options.executor);
202
+ if (options.manifest.project !== options.project) {
203
+ throw new Error(`Source Manifest project ${options.manifest.project} does not match ${options.project}.`);
204
+ }
205
+ if (options.manifest.source.locator !== options.sourceLocator) {
206
+ throw new Error("Source Manifest source locator does not match the Project Source locator.");
207
+ }
208
+ if (options.manifest.scanner.executor !== runtimeInfo.name) {
209
+ throw new Error(`Source Manifest scanner executor ${options.manifest.scanner.executor} does not match ${runtimeInfo.name}.`);
210
+ }
211
+ if (options.manifest.scanner.attempt !== options.attempt) {
212
+ throw new Error(`Source Manifest scanner attempt ${options.manifest.scanner.attempt} does not match ${options.attempt}.`);
213
+ }
214
+ return options.manifest;
215
+ }
216
+ function validateReusableManifest(options) {
217
+ if (options.manifest.project !== options.project) {
218
+ throw new Error(`Existing Source Manifest project ${options.manifest.project} does not match ${options.project}.`);
219
+ }
220
+ if (options.manifest.source.locator !== options.sourceLocator) {
221
+ throw new Error("Existing Source Manifest source locator does not match the Project Source locator.");
222
+ }
223
+ return options.manifest;
224
+ }
225
+ async function emitInventoryEvent(sink, runId, type, summary, logs) {
226
+ if (!sink || !runId)
227
+ return;
228
+ const base = {
229
+ event_id: createRunEventId("event"),
230
+ run_id: runId,
231
+ timestamp: createRunEventTimestamp(),
232
+ stage_id: "source-inventory",
233
+ };
234
+ if (type === "stage.started") {
235
+ await sink.emit({ ...base, type, ...(logs ? { logs } : {}) });
236
+ }
237
+ else if (type === "stage.passed") {
238
+ await sink.emit({ ...base, type, ...(summary ? { summary } : {}) });
239
+ }
240
+ else {
241
+ await sink.emit({ ...base, type, error: summary ?? "Source inventory failed." });
242
+ }
243
+ }
244
+ export async function runSourceInventory(options) {
245
+ const existing = loadContextGraphSourceManifest(options.contextGraphPath);
246
+ if (existing) {
247
+ try {
248
+ validateReusableManifest({
249
+ manifest: existing,
250
+ project: options.project,
251
+ sourceLocator: options.sourceLocator,
252
+ });
253
+ }
254
+ catch (error) {
255
+ return {
256
+ ok: false,
257
+ code: 1,
258
+ summary: error instanceof Error ? error.message : String(error),
259
+ manifest: null,
260
+ };
261
+ }
262
+ writeBuildSourceRuntimeFromManifest({
263
+ contextGraphPath: options.contextGraphPath,
264
+ buildPlanId: options.buildPlanId,
265
+ stageIds: options.stageIds,
266
+ stages: options.stages,
267
+ schema: options.schema,
268
+ sourceManifest: existing,
269
+ runId: options.runId ?? existing.run_id,
270
+ });
271
+ const existingContent = dropFilesystemArtifacts(existing);
272
+ writeSourceStageManifest({
273
+ contextGraphPath: options.contextGraphPath,
274
+ buildPlanId: options.buildPlanId,
275
+ sourceManifest: existingContent,
276
+ runId: options.runId ?? existingContent.run_id,
277
+ });
278
+ return {
279
+ ok: true,
280
+ code: 0,
281
+ summary: `Source Manifest already exists with ${existingContent.source_total} file(s).`,
282
+ manifest: existingContent,
283
+ };
284
+ }
285
+ const maxAttempts = Math.max(1, Math.min(5, Math.trunc(options.maxAttempts ?? 2)));
286
+ let feedback = null;
287
+ for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
288
+ const shellRoot = sourceInventoryShellRoot(options.contextGraphPath, attempt);
289
+ const inventoryRunId = `${options.runId ?? "source-inventory"}-source-inventory-${attempt}`;
290
+ mkdirSync(join(shellRoot, "runtime"), { recursive: true });
291
+ mkdirSync(join(shellRoot, "logs"), { recursive: true });
292
+ writeSourceInventoryShellSurface({
293
+ shellRoot,
294
+ project: options.project,
295
+ buildPlanId: options.buildPlanId,
296
+ });
297
+ writeFileSync(join(shellRoot, "runtime", "source-locator.json"), `${JSON.stringify({
298
+ kind: "interf-source-locator",
299
+ version: 1,
300
+ generated_at: new Date().toISOString(),
301
+ project: options.project,
302
+ project_intent: options.projectIntent ?? null,
303
+ source: {
304
+ kind: "local-folder",
305
+ locator: options.sourceLocator,
306
+ },
307
+ note: "Interf does not pre-scan or copy Source files. The scanner agent inspects this locator through its own Source access.",
308
+ }, null, 2)}\n`);
309
+ writeFileSync(join(shellRoot, "runtime", "stage-contract.json"), `${JSON.stringify({
310
+ kind: "interf-source-inventory-contract",
311
+ version: 1,
312
+ generated_at: new Date().toISOString(),
313
+ run_id: options.runId ?? null,
314
+ project: options.project,
315
+ project_intent: options.projectIntent ?? null,
316
+ source: {
317
+ kind: "local-folder",
318
+ locator: options.sourceLocator,
319
+ },
320
+ stage_id: "source-inventory",
321
+ stage_ids: options.stageIds,
322
+ stages: options.stages ?? [],
323
+ outputs: ["runtime/source-manifest.json"],
324
+ checks: [
325
+ "source-manifest.json exists",
326
+ "manifest source_total equals files.length",
327
+ "manifest scanner executor and attempt match this shell",
328
+ "manifest paths are relative to the Source locator",
329
+ ],
330
+ }, null, 2)}\n`);
331
+ writeFileSync(join(shellRoot, "runtime", "paths.json"), `${JSON.stringify({
332
+ kind: "interf-execution-shell",
333
+ version: 1,
334
+ build_plan: options.buildPlanId,
335
+ stage: "source-inventory",
336
+ reads: [],
337
+ writes: [],
338
+ }, null, 2)}\n`);
339
+ const prompt = sourceInventoryPrompt({
340
+ project: options.project,
341
+ projectIntent: options.projectIntent ?? null,
342
+ sourceLocator: options.sourceLocator,
343
+ runId: options.runId ?? null,
344
+ executor: options.executor,
345
+ attempt,
346
+ feedback,
347
+ });
348
+ const logs = sourceInventoryShellLogs({
349
+ contextGraphPath: options.contextGraphPath,
350
+ shellRoot,
351
+ inventoryRunId,
352
+ });
353
+ writeFileSync(shellPromptLogPath(shellRoot, inventoryRunId), prompt);
354
+ writeFileSync(shellEventLogPath(shellRoot, inventoryRunId), "");
355
+ writeFileSync(shellStatusLogPath(shellRoot, inventoryRunId), "");
356
+ writeStageExecutionWorkspaceManifest({
357
+ contextGraphPath: options.contextGraphPath,
358
+ shellRoot,
359
+ buildPlanId: options.buildPlanId,
360
+ stage: {
361
+ id: "source-inventory",
362
+ label: "Source Inventory",
363
+ contractType: "source-inventory",
364
+ },
365
+ logPaths: {
366
+ promptLogPath: shellPromptLogPath(shellRoot, inventoryRunId),
367
+ eventLogPath: shellEventLogPath(shellRoot, inventoryRunId),
368
+ statusLogPath: shellStatusLogPath(shellRoot, inventoryRunId),
369
+ },
370
+ });
371
+ writeStageExecutionSessionStarted({
372
+ contextGraphPath: options.contextGraphPath,
373
+ jobType: "source-inventory",
374
+ project: options.project,
375
+ projectIntent: options.projectIntent ?? null,
376
+ buildPlanId: options.buildPlanId,
377
+ buildRunId: options.runId ?? null,
378
+ stageId: "source-inventory",
379
+ stageLabel: "Source Inventory",
380
+ contractType: "source-inventory",
381
+ stageRunId: inventoryRunId,
382
+ attempt,
383
+ executor: options.executor,
384
+ shellRoot,
385
+ contractPath: join(shellRoot, "runtime", "stage-contract.json"),
386
+ promptPath: shellPromptLogPath(shellRoot, inventoryRunId),
387
+ eventStreamPath: shellEventLogPath(shellRoot, inventoryRunId),
388
+ statusPath: shellStatusLogPath(shellRoot, inventoryRunId),
389
+ summary: "Collecting Source Manifest.",
390
+ });
391
+ await emitInventoryEvent(options.events, options.runId ?? undefined, "stage.started", undefined, logs);
392
+ const code = await options.executor.execute(shellRoot, prompt, {
393
+ eventLogPath: shellEventLogPath(shellRoot, inventoryRunId),
394
+ statusLogPath: shellStatusLogPath(shellRoot, inventoryRunId),
395
+ // Tee reasoning to the shell's runtime/ dir, the same convention the
396
+ // shared stage path uses (runtime-runs.ts). The session reader resolves
397
+ // reasoning_path to this file only when it exists, so a scan that emits
398
+ // no reasoning leaves it null. This makes the source-inventory session as
399
+ // legible as every other agent job (policy rule 6) without re-routing it
400
+ // through the shared stage path.
401
+ reasoningLogPath: join(shellRoot, "runtime", "agent-reasoning.jsonl"),
402
+ completionCheck: () => existsSync(join(shellRoot, "runtime", "source-manifest.json")),
403
+ });
404
+ if (code !== 0) {
405
+ feedback = `source inventory executor exited with code ${code}`;
406
+ recordStageExecutionSessionValidationAttempt({
407
+ contextGraphPath: options.contextGraphPath,
408
+ stageId: "source-inventory",
409
+ stageRunId: inventoryRunId,
410
+ attempt,
411
+ status: "failed",
412
+ summary: feedback,
413
+ });
414
+ writeStageExecutionSessionFinished({
415
+ contextGraphPath: options.contextGraphPath,
416
+ stageId: "source-inventory",
417
+ stageRunId: inventoryRunId,
418
+ status: "failed",
419
+ summary: feedback,
420
+ error: feedback,
421
+ });
422
+ freezePreservedShell(shellRoot, "stage-execution");
423
+ markStageExecutionSessionsShellPreserved({ contextGraphPath: options.contextGraphPath, shellRoot });
424
+ continue;
425
+ }
426
+ try {
427
+ const manifest = validateScannerManifest({
428
+ manifest: readShellManifest(shellRoot),
429
+ project: options.project,
430
+ sourceLocator: options.sourceLocator,
431
+ executor: options.executor,
432
+ attempt,
433
+ });
434
+ const written = dropFilesystemArtifacts(SourceManifestSchema.parse({
435
+ ...manifest,
436
+ run_id: options.runId ?? manifest.run_id,
437
+ }));
438
+ writeBuildSourceRuntimeFromManifest({
439
+ contextGraphPath: options.contextGraphPath,
440
+ buildPlanId: options.buildPlanId,
441
+ stageIds: options.stageIds,
442
+ stages: options.stages,
443
+ schema: options.schema,
444
+ sourceManifest: written,
445
+ runId: options.runId ?? null,
446
+ });
447
+ writeSourceStageManifest({
448
+ contextGraphPath: options.contextGraphPath,
449
+ buildPlanId: options.buildPlanId,
450
+ sourceManifest: written,
451
+ runId: options.runId ?? null,
452
+ });
453
+ await emitInventoryEvent(options.events, options.runId ?? undefined, "stage.passed", `Source Manifest captured ${written.source_total} file(s).`);
454
+ recordStageExecutionSessionValidationAttempt({
455
+ contextGraphPath: options.contextGraphPath,
456
+ stageId: "source-inventory",
457
+ stageRunId: inventoryRunId,
458
+ attempt,
459
+ status: "succeeded",
460
+ summary: `Source Manifest captured ${written.source_total} file(s).`,
461
+ });
462
+ writeStageExecutionSessionFinished({
463
+ contextGraphPath: options.contextGraphPath,
464
+ stageId: "source-inventory",
465
+ stageRunId: inventoryRunId,
466
+ status: "succeeded",
467
+ summary: `Source Manifest captured ${written.source_total} file(s).`,
468
+ error: null,
469
+ });
470
+ freezePreservedShell(shellRoot, "stage-execution");
471
+ markStageExecutionSessionsShellPreserved({ contextGraphPath: options.contextGraphPath, shellRoot });
472
+ return {
473
+ ok: true,
474
+ code: 0,
475
+ summary: `Source Manifest captured ${written.source_total} file(s).`,
476
+ manifest: written,
477
+ logs,
478
+ };
479
+ }
480
+ catch (error) {
481
+ feedback = error instanceof Error ? error.message : String(error);
482
+ recordStageExecutionSessionValidationAttempt({
483
+ contextGraphPath: options.contextGraphPath,
484
+ stageId: "source-inventory",
485
+ stageRunId: inventoryRunId,
486
+ attempt,
487
+ status: "failed",
488
+ summary: feedback,
489
+ });
490
+ writeStageExecutionSessionFinished({
491
+ contextGraphPath: options.contextGraphPath,
492
+ stageId: "source-inventory",
493
+ stageRunId: inventoryRunId,
494
+ status: "failed",
495
+ summary: feedback,
496
+ error: feedback,
497
+ });
498
+ freezePreservedShell(shellRoot, "stage-execution");
499
+ markStageExecutionSessionsShellPreserved({ contextGraphPath: options.contextGraphPath, shellRoot });
500
+ }
501
+ }
502
+ await emitInventoryEvent(options.events, options.runId ?? undefined, "stage.failed", feedback ?? "Source inventory failed.");
503
+ return {
504
+ ok: false,
505
+ code: 1,
506
+ summary: feedback ?? "Source inventory failed.",
507
+ manifest: null,
508
+ };
509
+ }
510
+ export function sourceManifestExists(contextGraphPath) {
511
+ return existsSync(contextGraphRuntimeSourceManifestPath(contextGraphPath));
512
+ }
@@ -0,0 +1,63 @@
1
+ import { type SourceFile, type SourceFiles, type SourceManifest, type SourceManifestFile, type SourceState, type StageInputs } from "../../contracts/lib/schema.js";
2
+ import type { BuildPlanStageDefinition } from "../../build-plans/package/build-plan-definitions.js";
3
+ import type { ContextInterface } from "../../build-plans/package/context-interface.js";
4
+ export declare function selectStageSourceSlice(sourceState: SourceState, stage: Pick<BuildPlanStageDefinition, "contractType" | "reads">, schema?: ContextInterface | null): SourceFile[];
5
+ export declare function materializeStageSourceSlice(options: {
6
+ shellRoot: string;
7
+ stageInputs: StageInputs;
8
+ }): StageInputs;
9
+ export declare function buildShellSourceState(sourceState: SourceState, stageInputs: StageInputs): SourceState;
10
+ /**
11
+ * Drop OS-generated filesystem junk (`.DS_Store`, AppleDouble forks, `Thumbs.db`,
12
+ * etc.) from the Source Manifest before it is materialized into runtime coverage
13
+ * inputs. These are not Source content, so they must never become required
14
+ * `expected` inputs — otherwise a Source folder shows "not ready" purely because
15
+ * Finder/Explorer left a sidecar behind. Matched by filename only (provable),
16
+ * never by an agent's `not-relevant` label, so a genuinely skipped content file
17
+ * still counts toward readiness. `source_total` is recomputed to stay equal to
18
+ * the filtered file count.
19
+ */
20
+ export declare function dropFilesystemArtifacts(manifest: SourceManifest): SourceManifest;
21
+ export declare function sourceManifestToSourceFiles(manifest: SourceManifest): SourceFiles;
22
+ export declare function sourceManifestToSourceState(manifest: SourceManifest): SourceState;
23
+ /**
24
+ * Pure file-index hash. Excludes generated_at and run_id so the same source
25
+ * file index has a stable fingerprint across observations.
26
+ */
27
+ export declare function computeFileIndexHash(sourceFiles: SourceFiles): string;
28
+ export declare function buildBuildStageInputs(options: {
29
+ buildPlanId: string;
30
+ stageId: string;
31
+ sourceState: SourceState;
32
+ sourceFiles?: Array<SourceFile | SourceManifestFile>;
33
+ sourceManifestId?: string | null;
34
+ runId?: string | null;
35
+ generatedAt?: string;
36
+ }): StageInputs;
37
+ export declare function writeBuildStageInputs(options: {
38
+ contextGraphPath: string;
39
+ buildPlanId: string;
40
+ stageId: string;
41
+ sourceState: SourceState;
42
+ sourceFiles?: Array<SourceFile | SourceManifestFile>;
43
+ sourceManifestId?: string | null;
44
+ runId?: string | null;
45
+ generatedAt?: string;
46
+ }): StageInputs;
47
+ export declare function writeBuildSourceRuntimeFromManifest(options: {
48
+ contextGraphPath: string;
49
+ buildPlanId: string;
50
+ stageIds: string[];
51
+ sourceManifest: SourceManifest;
52
+ stages?: Pick<BuildPlanStageDefinition, "id" | "contractType" | "reads">[];
53
+ schema?: ContextInterface | null;
54
+ runId?: string | null;
55
+ }): {
56
+ sourceFiles: SourceFiles;
57
+ sourceState: SourceState;
58
+ stageInputs: StageInputs[];
59
+ };
60
+ export declare function loadContextGraphSourceManifest(contextGraphPath: string): SourceManifest | null;
61
+ export declare function loadContextGraphSourceFiles(contextGraphPath: string): SourceFiles | null;
62
+ export declare function loadContextGraphSourceState(contextGraphPath: string): SourceState | null;
63
+ export declare function loadBuildStageInputs(contextGraphPath: string, stageId: string): StageInputs | null;