@interf/compiler 0.22.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/README.md +268 -0
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -4
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +10 -0
  10. package/dist/cli/commands/benchmark.js +88 -0
  11. package/dist/cli/commands/build-plan.js +95 -103
  12. package/dist/cli/commands/build.d.ts +1 -1
  13. package/dist/cli/commands/build.js +16 -15
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +199 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +3 -2
  20. package/dist/cli/commands/mcp.js +721 -204
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +202 -0
  23. package/dist/cli/commands/reset.d.ts +1 -1
  24. package/dist/cli/commands/reset.js +10 -10
  25. package/dist/cli/commands/runs.js +52 -26
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +33 -22
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +125 -0
  32. package/dist/cli/commands/wizard.js +155 -150
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +2 -2
  37. package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
  38. package/dist/packages/build-plans/authoring/brief.js +89 -0
  39. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
  40. package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
  41. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
  42. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
  43. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  44. package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
  45. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  46. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  47. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  48. package/dist/packages/build-plans/index.d.ts +1 -1
  49. package/dist/packages/build-plans/index.js +1 -1
  50. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
  51. package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
  52. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  53. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  54. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  55. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  56. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
  57. package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
  58. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
  59. package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
  60. package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
  61. package/dist/packages/build-plans/package/context-interface.js +14 -33
  62. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  63. package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
  64. package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
  65. package/dist/packages/build-plans/package/local-build-plans.js +56 -31
  66. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  67. package/dist/packages/contracts/index.d.ts +4 -2
  68. package/dist/packages/contracts/index.js +2 -1
  69. package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
  70. package/dist/packages/contracts/lib/project-paths.js +211 -0
  71. package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
  72. package/dist/packages/contracts/lib/project-schema.js +113 -0
  73. package/dist/packages/contracts/lib/schema.d.ts +739 -80
  74. package/dist/packages/contracts/lib/schema.js +410 -75
  75. package/dist/packages/contracts/utils/parse.js +67 -0
  76. package/dist/packages/projects/index.d.ts +6 -0
  77. package/dist/packages/{project → projects}/index.js +0 -3
  78. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  79. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  80. package/dist/packages/projects/interf.d.ts +2 -0
  81. package/dist/packages/projects/interf.js +1 -0
  82. package/dist/packages/projects/lib/schema.d.ts +79 -0
  83. package/dist/packages/projects/lib/schema.js +89 -0
  84. package/dist/packages/projects/source-config.d.ts +58 -0
  85. package/dist/packages/projects/source-config.js +352 -0
  86. package/dist/packages/projects/source-folders.d.ts +11 -0
  87. package/dist/packages/{project → projects}/source-folders.js +26 -26
  88. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  89. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  90. package/dist/packages/runtime/action-values.d.ts +1 -0
  91. package/dist/packages/runtime/action-values.js +1 -0
  92. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  93. package/dist/packages/runtime/actions/errors.js +12 -0
  94. package/dist/packages/runtime/actions/fields.d.ts +82 -0
  95. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  96. package/dist/packages/runtime/actions/form-builders.js +619 -0
  97. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  98. package/dist/packages/runtime/actions/form-validators.js +128 -0
  99. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  100. package/dist/packages/runtime/actions/helpers.js +80 -0
  101. package/dist/packages/runtime/actions/index.d.ts +8 -0
  102. package/dist/packages/runtime/actions/index.js +11 -0
  103. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  104. package/dist/packages/runtime/actions/registry.js +62 -0
  105. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  106. package/dist/packages/runtime/actions/requests.js +158 -0
  107. package/dist/packages/runtime/actions/schemas.d.ts +154 -0
  108. package/dist/packages/runtime/actions/schemas.js +36 -0
  109. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  110. package/dist/packages/runtime/agent-handoff.js +101 -0
  111. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  112. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  113. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  114. package/dist/packages/runtime/agents/lib/args.js +24 -0
  115. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  116. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  117. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  118. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  119. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  120. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  121. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
  122. package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
  123. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
  124. package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
  125. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  126. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  127. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  128. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  129. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  130. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  131. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  132. package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
  133. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  134. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  135. package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
  136. package/dist/packages/runtime/agents/lib/shells.js +383 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  138. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  139. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  140. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  141. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  142. package/dist/packages/runtime/agents/providers/codex.js +64 -0
  143. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  144. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  145. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  146. package/dist/packages/runtime/agents/providers/index.js +31 -0
  147. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  148. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  149. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  150. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  151. package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
  152. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  153. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  154. package/dist/packages/runtime/auth/account-context.js +68 -0
  155. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  156. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  157. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  158. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  159. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  160. package/dist/packages/runtime/auth/keychain.js +85 -0
  161. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  162. package/dist/packages/runtime/auth/session-store.js +88 -0
  163. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  164. package/dist/packages/runtime/auth/workos-client.js +87 -0
  165. package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
  166. package/dist/packages/runtime/benchmark-question-draft.js +124 -0
  167. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  168. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  169. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
  170. package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
  171. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  172. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  173. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  174. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  175. package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
  176. package/dist/packages/runtime/build/build-evidence.js +173 -0
  177. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  178. package/dist/packages/runtime/build/build-pipeline.js +304 -0
  179. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  180. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  181. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  182. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  183. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  184. package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
  185. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  186. package/dist/packages/runtime/build/build-stage-runner.js +165 -0
  187. package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
  188. package/dist/packages/runtime/build/build-target.js +16 -0
  189. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  190. package/dist/packages/runtime/build/check-evaluator.js +575 -0
  191. package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
  192. package/dist/packages/runtime/build/context-graph-paths.js +133 -0
  193. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  194. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  195. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  196. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  197. package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
  198. package/dist/packages/{engine → runtime}/build/index.js +5 -3
  199. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
  200. package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
  201. package/dist/packages/runtime/build/reset.d.ts +2 -0
  202. package/dist/packages/runtime/build/reset.js +62 -0
  203. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
  204. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  205. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  206. package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
  207. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
  208. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  209. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  210. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  211. package/dist/packages/runtime/build/runtime-runs.js +265 -0
  212. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
  213. package/dist/packages/runtime/build/runtime-types.js +1 -0
  214. package/dist/packages/runtime/build/runtime.d.ts +6 -0
  215. package/dist/packages/runtime/build/runtime.js +5 -0
  216. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  217. package/dist/packages/runtime/build/source-files.js +184 -0
  218. package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
  219. package/dist/packages/runtime/build/source-inventory.js +273 -0
  220. package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
  221. package/dist/packages/runtime/build/source-manifest.js +192 -0
  222. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  223. package/dist/packages/runtime/build/stage-evidence.js +317 -0
  224. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  225. package/dist/packages/runtime/build/stage-reuse.js +142 -0
  226. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  227. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  228. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  229. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  230. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  231. package/dist/packages/runtime/build/state-io.js +119 -0
  232. package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
  233. package/dist/packages/runtime/build/state-paths.js +22 -0
  234. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  235. package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
  236. package/dist/packages/runtime/build/state.d.ts +7 -0
  237. package/dist/packages/runtime/build/state.js +12 -0
  238. package/dist/packages/runtime/build/traces.d.ts +30 -0
  239. package/dist/packages/runtime/build/traces.js +133 -0
  240. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  241. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
  242. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  243. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  244. package/dist/packages/{engine → runtime}/client.d.ts +15 -15
  245. package/dist/packages/{engine → runtime}/client.js +41 -24
  246. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  247. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  248. package/dist/packages/runtime/context-checks.d.ts +10 -0
  249. package/dist/packages/runtime/context-checks.js +114 -0
  250. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  251. package/dist/packages/runtime/context-graph-scaffold.js +134 -0
  252. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  253. package/dist/packages/runtime/entitlement-guard.js +70 -0
  254. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  255. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  256. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
  257. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  258. package/dist/packages/runtime/index.d.ts +29 -0
  259. package/dist/packages/runtime/index.js +21 -0
  260. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  261. package/dist/packages/runtime/instance-paths.js +29 -0
  262. package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
  263. package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
  264. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  265. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  266. package/dist/packages/runtime/project-entries.d.ts +11 -0
  267. package/dist/packages/runtime/project-entries.js +49 -0
  268. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  269. package/dist/packages/runtime/project-source-state.js +53 -0
  270. package/dist/packages/runtime/project-store.d.ts +85 -0
  271. package/dist/packages/runtime/project-store.js +168 -0
  272. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  273. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  274. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  275. package/dist/packages/{engine → runtime}/run-observability.js +166 -84
  276. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  277. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  278. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  279. package/dist/packages/runtime/runtime-build-plans.js +131 -0
  280. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  281. package/dist/packages/runtime/runtime-build-runs.js +562 -0
  282. package/dist/packages/runtime/runtime-caches.d.ts +91 -0
  283. package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
  284. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  285. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  286. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  287. package/dist/packages/runtime/runtime-executor.js +131 -0
  288. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  289. package/dist/packages/runtime/runtime-jobs.js +463 -0
  290. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  291. package/dist/packages/runtime/runtime-observability.js +39 -0
  292. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  293. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  294. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  295. package/dist/packages/runtime/runtime-project-mutations.js +64 -0
  296. package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
  297. package/dist/packages/runtime/runtime-project-reads.js +381 -0
  298. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  299. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  300. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
  301. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
  302. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  303. package/dist/packages/runtime/runtime-verify-runs.js +295 -0
  304. package/dist/packages/runtime/runtime.d.ts +1165 -0
  305. package/dist/packages/runtime/runtime.js +417 -0
  306. package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
  307. package/dist/packages/runtime/schemas/actions.js +117 -0
  308. package/dist/packages/runtime/schemas/agents.d.ts +76 -0
  309. package/dist/packages/runtime/schemas/agents.js +41 -0
  310. package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
  311. package/dist/packages/runtime/schemas/build-plans.js +107 -0
  312. package/dist/packages/runtime/schemas/files.d.ts +567 -0
  313. package/dist/packages/runtime/schemas/files.js +51 -0
  314. package/dist/packages/runtime/schemas/index.d.ts +8 -0
  315. package/dist/packages/runtime/schemas/index.js +12 -0
  316. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  317. package/dist/packages/runtime/schemas/instance.js +143 -0
  318. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  319. package/dist/packages/runtime/schemas/jobs.js +103 -0
  320. package/dist/packages/runtime/schemas/projects.d.ts +339 -0
  321. package/dist/packages/runtime/schemas/projects.js +136 -0
  322. package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
  323. package/dist/packages/runtime/schemas/runs.js +98 -0
  324. package/dist/packages/runtime/service/index.d.ts +3 -0
  325. package/dist/packages/runtime/service/index.js +3 -0
  326. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  327. package/dist/packages/runtime/service/openapi.js +117 -0
  328. package/dist/packages/runtime/service/operations.d.ts +1490 -0
  329. package/dist/packages/runtime/service/operations.js +245 -0
  330. package/dist/packages/runtime/service/routes.d.ts +106 -0
  331. package/dist/packages/runtime/service/routes.js +120 -0
  332. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  333. package/dist/packages/runtime/service/server-api-files.js +85 -0
  334. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  335. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  336. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  337. package/dist/packages/runtime/service/server-guards.js +181 -0
  338. package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
  339. package/dist/packages/runtime/service/server-helpers.js +89 -0
  340. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  341. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  342. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  343. package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
  344. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  345. package/dist/packages/runtime/service/server-routes-agents.js +198 -0
  346. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  347. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  348. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  349. package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
  350. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  351. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  352. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  353. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  354. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  355. package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
  356. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  357. package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
  358. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  359. package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
  360. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  361. package/dist/packages/runtime/service/server-routes-projects.js +92 -0
  362. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  363. package/dist/packages/runtime/service/server-routes-runs.js +112 -0
  364. package/dist/packages/runtime/service/server.d.ts +37 -0
  365. package/dist/packages/runtime/service/server.js +300 -0
  366. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  367. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  368. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  369. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  370. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  371. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  372. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  373. package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
  374. package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
  375. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
  376. package/dist/packages/runtime/verify/verify-paths.js +61 -0
  377. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  378. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  379. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  380. package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
  381. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  382. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  383. package/dist/packages/runtime/verify/verify-types.js +1 -0
  384. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  385. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  386. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  387. package/dist/packages/runtime/wire-schemas.js +27 -0
  388. package/package.json +40 -30
  389. package/public-repo/CONTRIBUTING.md +7 -16
  390. package/public-repo/README.md +175 -234
  391. package/public-repo/SECURITY.md +3 -4
  392. package/public-repo/build-plans/interf-default/README.md +19 -14
  393. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
  394. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
  395. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
  396. package/public-repo/build-plans/interf-default/build-plan.json +34 -28
  397. package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
  398. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  399. package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
  400. package/public-repo/openapi/local-service.openapi.json +6803 -0
  401. package/public-repo/skills/interf/SKILL.md +460 -179
  402. package/dist/cli/commands/prep.d.ts +0 -2
  403. package/dist/cli/commands/prep.js +0 -240
  404. package/dist/cli/commands/test.d.ts +0 -10
  405. package/dist/cli/commands/test.js +0 -85
  406. package/dist/cli/commands/web.d.ts +0 -2
  407. package/dist/cli/commands/web.js +0 -286
  408. package/dist/interf-ui/404.html +0 -1
  409. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  410. package/dist/interf-ui/__next._full.txt +0 -20
  411. package/dist/interf-ui/__next._head.txt +0 -5
  412. package/dist/interf-ui/__next._index.txt +0 -5
  413. package/dist/interf-ui/__next._tree.txt +0 -5
  414. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_ssgManifest.js +0 -1
  417. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  418. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  419. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  420. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  421. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  422. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  423. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  424. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  425. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  426. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  427. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  428. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  429. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  430. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  431. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  432. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  433. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  434. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  435. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  436. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  437. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  438. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  439. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  440. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  441. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  442. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  443. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  444. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  445. package/dist/interf-ui/_not-found.html +0 -1
  446. package/dist/interf-ui/_not-found.txt +0 -15
  447. package/dist/interf-ui/index.html +0 -1
  448. package/dist/interf-ui/index.txt +0 -20
  449. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  450. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  451. package/dist/packages/engine/action-definitions.d.ts +0 -407
  452. package/dist/packages/engine/action-definitions.js +0 -1158
  453. package/dist/packages/engine/action-values.d.ts +0 -1
  454. package/dist/packages/engine/action-values.js +0 -1
  455. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  456. package/dist/packages/engine/agents/lib/args.js +0 -52
  457. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  458. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  459. package/dist/packages/engine/agents/lib/constants.js +0 -28
  460. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  461. package/dist/packages/engine/agents/lib/schema.js +0 -7
  462. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  463. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  464. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  465. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  466. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  467. package/dist/packages/engine/build/build-pipeline.js +0 -175
  468. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  469. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  470. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  471. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  472. package/dist/packages/engine/build/build-target.js +0 -16
  473. package/dist/packages/engine/build/check-evaluator.js +0 -298
  474. package/dist/packages/engine/build/reset.d.ts +0 -2
  475. package/dist/packages/engine/build/reset.js +0 -74
  476. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  477. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  478. package/dist/packages/engine/build/runtime-runs.js +0 -224
  479. package/dist/packages/engine/build/runtime.d.ts +0 -5
  480. package/dist/packages/engine/build/runtime.js +0 -4
  481. package/dist/packages/engine/build/source-files.d.ts +0 -46
  482. package/dist/packages/engine/build/source-files.js +0 -149
  483. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  484. package/dist/packages/engine/build/state-artifacts.js +0 -14
  485. package/dist/packages/engine/build/state-health.d.ts +0 -4
  486. package/dist/packages/engine/build/state-io.d.ts +0 -11
  487. package/dist/packages/engine/build/state-io.js +0 -82
  488. package/dist/packages/engine/build/state-paths.js +0 -16
  489. package/dist/packages/engine/build/state-view.d.ts +0 -5
  490. package/dist/packages/engine/build/state.d.ts +0 -7
  491. package/dist/packages/engine/build/state.js +0 -12
  492. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  493. package/dist/packages/engine/build/validate-helpers.js +0 -41
  494. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  495. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  496. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  497. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  498. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  499. package/dist/packages/engine/cloud-seams.js +0 -84
  500. package/dist/packages/engine/index.d.ts +0 -22
  501. package/dist/packages/engine/index.js +0 -15
  502. package/dist/packages/engine/instance-paths.d.ts +0 -106
  503. package/dist/packages/engine/instance-paths.js +0 -171
  504. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  505. package/dist/packages/engine/lib/schema.js +0 -730
  506. package/dist/packages/engine/preparation-store.d.ts +0 -105
  507. package/dist/packages/engine/preparation-store.js +0 -213
  508. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  509. package/dist/packages/engine/readiness-check-draft.js +0 -111
  510. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  511. package/dist/packages/engine/routes.d.ts +0 -85
  512. package/dist/packages/engine/routes.js +0 -99
  513. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  514. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  515. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  516. package/dist/packages/engine/runtime.d.ts +0 -371
  517. package/dist/packages/engine/runtime.js +0 -2463
  518. package/dist/packages/engine/server.d.ts +0 -58
  519. package/dist/packages/engine/server.js +0 -1399
  520. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  521. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  522. package/dist/packages/engine/verify/verify-paths.js +0 -61
  523. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  524. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  525. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  526. package/dist/packages/engine/wire-schemas.js +0 -59
  527. package/dist/packages/project/index.d.ts +0 -9
  528. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  529. package/dist/packages/project/interf-bootstrap.js +0 -1
  530. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  531. package/dist/packages/project/interf-scaffold.js +0 -136
  532. package/dist/packages/project/interf.d.ts +0 -4
  533. package/dist/packages/project/interf.js +0 -3
  534. package/dist/packages/project/lib/schema.d.ts +0 -328
  535. package/dist/packages/project/lib/schema.js +0 -136
  536. package/dist/packages/project/preparation-entries.d.ts +0 -11
  537. package/dist/packages/project/preparation-entries.js +0 -49
  538. package/dist/packages/project/source-config.d.ts +0 -46
  539. package/dist/packages/project/source-config.js +0 -394
  540. package/dist/packages/project/source-folders.d.ts +0 -11
  541. package/public-repo/plugins/README.md +0 -9
  542. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  543. package/public-repo/plugins/interf/.mcp.json +0 -12
  544. package/public-repo/plugins/interf/README.md +0 -32
  545. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  546. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  547. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  548. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  549. /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
  550. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  551. /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
  552. /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
  553. /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
  554. /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
  555. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  556. /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
  557. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  558. /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
  559. /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
  560. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  561. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  562. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  563. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  564. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  565. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  566. /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
  567. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  568. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  569. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  570. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  571. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  572. /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
  573. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  574. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  575. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -0,0 +1,575 @@
1
+ import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
2
+ import { basename, dirname, join, relative, resolve } from "node:path";
3
+ import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
4
+ import { parseJsonFrontmatter } from "../../contracts/utils/parse.js";
5
+ import { CheckKindSchema, SourceManifestSchema, } from "../../contracts/lib/schema.js";
6
+ import { countBrokenWikilinks, isOutputMarkdownFile, validateSynthFiles, } from "./validate.js";
7
+ /**
8
+ * Build a CheckResult envelope from an evaluator outcome. Centralizes the
9
+ * timestamp + required-flag plumbing so individual evaluators can
10
+ * focus on the pass/fail decision and a one-line summary.
11
+ */
12
+ function makeCheckResult(check, passed, summary, details) {
13
+ return {
14
+ check_id: check.id,
15
+ kind: check.kind,
16
+ passed,
17
+ required: check.required,
18
+ summary,
19
+ ...(details !== undefined ? { details } : {}),
20
+ evaluated_at: new Date().toISOString(),
21
+ };
22
+ }
23
+ function resolveTargetPath(check, context) {
24
+ const target = context.targetPath;
25
+ if (!target)
26
+ return null;
27
+ const root = resolve(context.rootPath);
28
+ const absolute = resolve(root, target);
29
+ // Defense in depth — schema-level validation already rejects path
30
+ // traversal, but a hand-edited Build Plan or stale on-disk fixture could
31
+ // slip through. Reject anything that escapes the root.
32
+ if (absolute !== root && !absolute.startsWith(`${root}/`)) {
33
+ return null;
34
+ }
35
+ return absolute;
36
+ }
37
+ function listMarkdownFiles(absolutePath) {
38
+ if (!existsSync(absolutePath))
39
+ return [];
40
+ try {
41
+ const stats = statSync(absolutePath);
42
+ if (stats.isFile()) {
43
+ return isOutputMarkdownFile(absolutePath) ? [absolutePath] : [];
44
+ }
45
+ if (stats.isDirectory()) {
46
+ return listFilesRecursive(absolutePath, isOutputMarkdownFile);
47
+ }
48
+ }
49
+ catch {
50
+ return [];
51
+ }
52
+ return [];
53
+ }
54
+ function countFiles(absolutePath) {
55
+ if (!existsSync(absolutePath))
56
+ return 0;
57
+ try {
58
+ const stats = statSync(absolutePath);
59
+ if (stats.isFile())
60
+ return 1;
61
+ if (stats.isDirectory()) {
62
+ return listFilesRecursive(absolutePath, () => true).length;
63
+ }
64
+ }
65
+ catch {
66
+ return 0;
67
+ }
68
+ return 0;
69
+ }
70
+ function countSourceSummaryFolders(absolutePath, options) {
71
+ if (!existsSync(absolutePath))
72
+ return { actual: 0, missingSummary: [] };
73
+ try {
74
+ const stats = statSync(absolutePath);
75
+ if (!stats.isDirectory())
76
+ return { actual: 0, missingSummary: [] };
77
+ const missingSummary = [];
78
+ let actual = 0;
79
+ for (const entry of readdirSync(absolutePath, { withFileTypes: true })) {
80
+ if (!entry.isDirectory())
81
+ continue;
82
+ const dirPath = join(absolutePath, entry.name);
83
+ const hasSummary = existsSync(join(dirPath, options.summaryFile));
84
+ const hasManifest = existsSync(join(dirPath, options.manifestFile));
85
+ if (hasSummary || hasManifest) {
86
+ actual += 1;
87
+ }
88
+ else {
89
+ missingSummary.push(entry.name);
90
+ }
91
+ }
92
+ return { actual, missingSummary };
93
+ }
94
+ catch {
95
+ return { actual: 0, missingSummary: [] };
96
+ }
97
+ }
98
+ function summaryDirectoriesWithEvidence(absolutePath, options) {
99
+ const dirs = new Set();
100
+ if (!existsSync(absolutePath))
101
+ return dirs;
102
+ for (const file of listFilesRecursive(absolutePath, () => true)) {
103
+ const name = basename(file);
104
+ if (name !== options.summaryFile && name !== options.manifestFile)
105
+ continue;
106
+ dirs.add(relative(absolutePath, dirname(file)).replaceAll("\\", "/"));
107
+ }
108
+ return dirs;
109
+ }
110
+ function sourceSummaryFolderCandidates(sourcePath, sourceFileId, basenameCounts) {
111
+ const normalized = sourcePath.replaceAll("\\", "/");
112
+ const base = basename(normalized);
113
+ const candidates = [
114
+ normalized,
115
+ sourceFileId,
116
+ basenameCounts.get(base) === 1 ? base : "",
117
+ ].filter((candidate) => candidate.length > 0);
118
+ return [...new Set(candidates)];
119
+ }
120
+ function sourceSummaryCoverage(absolutePath, manifest, options) {
121
+ const evidenceDirs = summaryDirectoriesWithEvidence(absolutePath, options);
122
+ const matchedDirs = new Set();
123
+ const missingSourcePaths = [];
124
+ const basenameCounts = new Map();
125
+ for (const sourceFile of manifest.files) {
126
+ const base = basename(sourceFile.path.replaceAll("\\", "/"));
127
+ basenameCounts.set(base, (basenameCounts.get(base) ?? 0) + 1);
128
+ }
129
+ for (const sourceFile of manifest.files) {
130
+ const candidates = sourceSummaryFolderCandidates(sourceFile.path, sourceFile.id, basenameCounts);
131
+ const matched = candidates.find((candidate) => evidenceDirs.has(candidate));
132
+ if (matched) {
133
+ matchedDirs.add(matched);
134
+ }
135
+ else {
136
+ missingSourcePaths.push(sourceFile.path);
137
+ }
138
+ }
139
+ return {
140
+ actual: manifest.files.length - missingSourcePaths.length,
141
+ expected: manifest.source_total,
142
+ missingSourcePaths,
143
+ extraSummaryFolders: [...evidenceDirs].filter((dir) => !matchedDirs.has(dir)).sort((left, right) => left.localeCompare(right)),
144
+ };
145
+ }
146
+ function checkPhrases(check) {
147
+ if (Array.isArray(check.params?.phrases)) {
148
+ return check.params.phrases.filter((phrase) => typeof phrase === "string");
149
+ }
150
+ if (typeof check.params?.text === "string") {
151
+ return [check.params.text];
152
+ }
153
+ return [];
154
+ }
155
+ function frontmatterKeys(check) {
156
+ return Array.isArray(check.params?.keys)
157
+ ? check.params.keys.filter((key) => typeof key === "string" && key.trim().length > 0)
158
+ : [];
159
+ }
160
+ function hasNonEmptyFrontmatterValue(value) {
161
+ if (typeof value === "string")
162
+ return value.trim().length > 0;
163
+ if (typeof value === "number" || typeof value === "boolean")
164
+ return true;
165
+ if (Array.isArray(value))
166
+ return value.some(hasNonEmptyFrontmatterValue);
167
+ if (value && typeof value === "object")
168
+ return Object.keys(value).length > 0;
169
+ return false;
170
+ }
171
+ function collectFrontmatterFailures(files, predicate) {
172
+ const invalid = [];
173
+ const missing = [];
174
+ for (const file of files) {
175
+ const parsed = parseJsonFrontmatter(readFileSync(file, "utf8"));
176
+ if (!parsed) {
177
+ invalid.push(file);
178
+ continue;
179
+ }
180
+ if (!predicate(parsed.frontmatter)) {
181
+ missing.push(file);
182
+ }
183
+ }
184
+ return { invalid, missing };
185
+ }
186
+ function loadSourceManifestForCheck(context, path = ".interf/runtime/source-manifest.json") {
187
+ const manifestPath = resolve(context.rootPath, path);
188
+ if (!existsSync(manifestPath))
189
+ return { manifest: null, error: `Source Manifest does not exist at ${path}.` };
190
+ try {
191
+ const manifest = SourceManifestSchema.parse(JSON.parse(readFileSync(manifestPath, "utf8")));
192
+ return { manifest, error: null };
193
+ }
194
+ catch (error) {
195
+ return {
196
+ manifest: null,
197
+ error: `Source Manifest is invalid: ${error instanceof Error ? error.message : String(error)}`,
198
+ };
199
+ }
200
+ }
201
+ function loadRequiredSourceManifestForCheck(check, context) {
202
+ const manifestPath = typeof check.params?.manifest_path === "string"
203
+ ? check.params.manifest_path
204
+ : ".interf/runtime/source-manifest.json";
205
+ const loaded = loadSourceManifestForCheck(context, manifestPath);
206
+ if (loaded.manifest)
207
+ return { manifest: loaded.manifest, failure: null };
208
+ return {
209
+ manifest: null,
210
+ failure: makeCheckResult(check, false, loaded.error ?? "Source Manifest is required for this source-bound check.", { manifest_path: manifestPath }),
211
+ };
212
+ }
213
+ function sourceManifestPageTotal(context) {
214
+ const loaded = loadSourceManifestForCheck(context);
215
+ if (!loaded.manifest)
216
+ return { total: 0, error: loaded.error };
217
+ let total = 0;
218
+ for (const file of loaded.manifest.files) {
219
+ const pageUnits = file.inspectable_units.filter((unit) => unit.kind === "page").length;
220
+ total += pageUnits > 0 ? pageUnits : file.page_count ?? 0;
221
+ }
222
+ return { total, error: null };
223
+ }
224
+ const EVALUATORS = {
225
+ file_exists(check, context) {
226
+ const target = resolveTargetPath(check, context);
227
+ if (!target) {
228
+ return makeCheckResult(check, false, "No target path provided for file_exists check.");
229
+ }
230
+ if (!existsSync(target)) {
231
+ return makeCheckResult(check, false, "File or directory does not exist.", { path: context.targetPath });
232
+ }
233
+ try {
234
+ const stats = statSync(target);
235
+ if (stats.isFile() && stats.size === 0) {
236
+ return makeCheckResult(check, false, "File exists but is empty.", { path: context.targetPath });
237
+ }
238
+ return makeCheckResult(check, true, `Path exists (${stats.isDirectory() ? "directory" : "file"}).`);
239
+ }
240
+ catch {
241
+ return makeCheckResult(check, false, "Could not stat target path.", { path: context.targetPath });
242
+ }
243
+ },
244
+ source_manifest_valid(check, context) {
245
+ const manifestPath = typeof check.params?.path === "string"
246
+ ? check.params.path
247
+ : ".interf/runtime/source-manifest.json";
248
+ const loaded = loadSourceManifestForCheck(context, manifestPath);
249
+ if (!loaded.manifest) {
250
+ return makeCheckResult(check, false, loaded.error ?? "Source Manifest is invalid.");
251
+ }
252
+ return makeCheckResult(check, true, `Source Manifest lists ${loaded.manifest.source_total} source file(s).`, { source_manifest_id: loaded.manifest.manifest_id, source_total: loaded.manifest.source_total });
253
+ },
254
+ min_file_count(check, context) {
255
+ const target = resolveTargetPath(check, context);
256
+ if (!target) {
257
+ return makeCheckResult(check, false, "No target path provided for min_file_count check.");
258
+ }
259
+ const min = typeof check.params?.min === "number" ? check.params.min : 1;
260
+ const actual = countFiles(target);
261
+ if (actual >= min) {
262
+ return makeCheckResult(check, true, `${actual} file(s) (≥ ${min}).`, { actual, min });
263
+ }
264
+ return makeCheckResult(check, false, `Found ${actual} file(s); expected at least ${min}.`, { actual, min });
265
+ },
266
+ min_file_count_matches_source(check, context) {
267
+ const target = resolveTargetPath(check, context);
268
+ if (!target) {
269
+ return makeCheckResult(check, false, "No target path provided for min_file_count_matches_source check.");
270
+ }
271
+ const sourceManifest = loadRequiredSourceManifestForCheck(check, context);
272
+ if (!sourceManifest.manifest)
273
+ return sourceManifest.failure ?? makeCheckResult(check, false, "Source Manifest is required.");
274
+ const matchKey = typeof check.params?.match === "string" ? check.params.match : "source_total";
275
+ const expected = matchKey === "source_total"
276
+ ? sourceManifest.manifest.source_total
277
+ : context.counts?.[matchKey];
278
+ if (typeof expected !== "number") {
279
+ return makeCheckResult(check, false, `Cannot evaluate: count "${matchKey}" not available in context.`, { matchKey });
280
+ }
281
+ if (expected <= 0) {
282
+ return makeCheckResult(check, false, `Cannot evaluate: count "${matchKey}" must be greater than zero.`, { matchKey, expected });
283
+ }
284
+ const actual = countFiles(target);
285
+ if (actual >= expected) {
286
+ return makeCheckResult(check, true, `${actual} of ${expected} source files covered.`, { actual, expected, source_manifest_id: sourceManifest.manifest.manifest_id });
287
+ }
288
+ return makeCheckResult(check, false, `Only ${actual} of ${expected} source files covered.`, { actual, expected, matchKey, source_manifest_id: sourceManifest.manifest.manifest_id });
289
+ },
290
+ source_summary_folders(check, context) {
291
+ const target = resolveTargetPath(check, context);
292
+ if (!target) {
293
+ return makeCheckResult(check, false, "No target path provided for source_summary_folders check.");
294
+ }
295
+ const sourceManifest = loadRequiredSourceManifestForCheck(check, context);
296
+ if (!sourceManifest.manifest)
297
+ return sourceManifest.failure ?? makeCheckResult(check, false, "Source Manifest is required.");
298
+ const matchKey = typeof check.params?.match === "string" ? check.params.match : "source_total";
299
+ const expected = matchKey === "source_total"
300
+ ? sourceManifest.manifest.source_total
301
+ : context.counts?.[matchKey];
302
+ if (typeof expected !== "number") {
303
+ return makeCheckResult(check, false, `Cannot evaluate: count "${matchKey}" not available in context.`, { matchKey });
304
+ }
305
+ if (expected <= 0) {
306
+ return makeCheckResult(check, false, `Cannot evaluate: count "${matchKey}" must be greater than zero.`, { matchKey, expected });
307
+ }
308
+ const summaryFile = typeof check.params?.summary_file === "string" ? check.params.summary_file : "summary.md";
309
+ const manifestFile = typeof check.params?.manifest_file === "string" ? check.params.manifest_file : "manifest.md";
310
+ const coverage = matchKey === "source_total"
311
+ ? sourceSummaryCoverage(target, sourceManifest.manifest, { summaryFile, manifestFile })
312
+ : {
313
+ ...countSourceSummaryFolders(target, { summaryFile, manifestFile }),
314
+ expected,
315
+ missingSourcePaths: [],
316
+ extraSummaryFolders: [],
317
+ };
318
+ if (coverage.actual >= expected) {
319
+ return makeCheckResult(check, true, `${coverage.actual} source summary folder(s) covered for ${expected} source file(s).`, {
320
+ actual: coverage.actual,
321
+ expected,
322
+ summaryFile,
323
+ manifestFile,
324
+ source_manifest_id: sourceManifest.manifest.manifest_id,
325
+ extraSummaryFolders: coverage.extraSummaryFolders,
326
+ });
327
+ }
328
+ return makeCheckResult(check, false, `Only ${coverage.actual} source summary folder(s) covered for ${expected} source file(s).`, {
329
+ actual: coverage.actual,
330
+ expected,
331
+ matchKey,
332
+ summaryFile,
333
+ manifestFile,
334
+ missingSourcePaths: coverage.missingSourcePaths,
335
+ extraSummaryFolders: coverage.extraSummaryFolders,
336
+ });
337
+ },
338
+ source_page_coverage(check, context) {
339
+ const target = resolveTargetPath(check, context);
340
+ if (!target) {
341
+ return makeCheckResult(check, false, "No target path provided for source_page_coverage check.");
342
+ }
343
+ const expected = sourceManifestPageTotal(context);
344
+ if (expected.error)
345
+ return makeCheckResult(check, false, expected.error);
346
+ if (expected.total <= 0) {
347
+ if (check.params?.allow_no_pages === true) {
348
+ return makeCheckResult(check, true, "Source Manifest does not declare page-level units.");
349
+ }
350
+ return makeCheckResult(check, false, "Source Manifest does not declare page-level units. Add page_count or page inspectable_units, or set params.allow_no_pages explicitly.");
351
+ }
352
+ const pagesDir = typeof check.params?.pages_dir === "string" ? check.params.pages_dir : "pages";
353
+ const summaryFile = typeof check.params?.summary_file === "string" ? check.params.summary_file : "summary.md";
354
+ const actual = listFilesRecursive(target)
355
+ .filter((file) => file.endsWith(`/${summaryFile}`) && file.includes(`/${pagesDir}/`))
356
+ .length;
357
+ if (actual >= expected.total) {
358
+ return makeCheckResult(check, true, `${actual} page summary file(s) cover ${expected.total} page unit(s).`, { actual, expected: expected.total });
359
+ }
360
+ return makeCheckResult(check, false, `Only ${actual} page summary file(s) cover ${expected.total} page unit(s).`, { actual, expected: expected.total, pagesDir, summaryFile });
361
+ },
362
+ frontmatter_valid(check, context) {
363
+ const target = resolveTargetPath(check, context);
364
+ if (!target) {
365
+ return makeCheckResult(check, false, "No target path provided for frontmatter_valid check.");
366
+ }
367
+ const files = listMarkdownFiles(target);
368
+ if (files.length === 0) {
369
+ return makeCheckResult(check, true, "No markdown files to validate.");
370
+ }
371
+ const validation = validateSynthFiles(files);
372
+ if (validation.invalid_frontmatter === 0) {
373
+ return makeCheckResult(check, true, `${files.length} markdown file(s) have valid frontmatter.`);
374
+ }
375
+ return makeCheckResult(check, false, `${validation.invalid_frontmatter} of ${files.length} markdown file(s) have invalid frontmatter.`, { invalid: validation.invalid_frontmatter, total: files.length });
376
+ },
377
+ frontmatter_required_keys(check, context) {
378
+ const target = resolveTargetPath(check, context);
379
+ if (!target) {
380
+ return makeCheckResult(check, false, "No target path provided for frontmatter_required_keys check.");
381
+ }
382
+ const keys = Array.isArray(check.params?.keys) ? check.params.keys.filter((k) => typeof k === "string") : [];
383
+ if (keys.length === 0) {
384
+ return makeCheckResult(check, false, "Build Plan check is missing required frontmatter keys. Use `params.keys: string[]`.");
385
+ }
386
+ const files = listMarkdownFiles(target);
387
+ if (files.length === 0) {
388
+ return makeCheckResult(check, true, "No markdown files to validate.");
389
+ }
390
+ const validation = validateSynthFiles(files, { requiredFrontmatterKeys: keys });
391
+ if (validation.invalid_frontmatter === 0) {
392
+ return makeCheckResult(check, true, `All ${files.length} markdown file(s) have required keys: ${keys.join(", ")}.`);
393
+ }
394
+ return makeCheckResult(check, false, `${validation.invalid_frontmatter} of ${files.length} file(s) missing required keys (${keys.join(", ")}).`, { invalid: validation.invalid_frontmatter, total: files.length, requiredKeys: keys });
395
+ },
396
+ frontmatter_nonempty_keys(check, context) {
397
+ const target = resolveTargetPath(check, context);
398
+ if (!target) {
399
+ return makeCheckResult(check, false, "No target path provided for frontmatter_nonempty_keys check.");
400
+ }
401
+ const keys = frontmatterKeys(check);
402
+ if (keys.length === 0) {
403
+ return makeCheckResult(check, false, "Build Plan check is missing non-empty frontmatter keys. Use `params.keys: string[]`.");
404
+ }
405
+ const files = listMarkdownFiles(target);
406
+ if (files.length === 0) {
407
+ return makeCheckResult(check, false, "No markdown files to validate.");
408
+ }
409
+ const { invalid, missing } = collectFrontmatterFailures(files, (frontmatter) => keys.every((key) => hasNonEmptyFrontmatterValue(frontmatter[key])));
410
+ if (invalid.length === 0 && missing.length === 0) {
411
+ return makeCheckResult(check, true, `All ${files.length} markdown file(s) have non-empty keys: ${keys.join(", ")}.`);
412
+ }
413
+ return makeCheckResult(check, false, `${invalid.length + missing.length} of ${files.length} markdown file(s) are missing non-empty keys (${keys.join(", ")}).`, { invalid, missing, requiredKeys: keys });
414
+ },
415
+ source_refs_required(check, context) {
416
+ const target = resolveTargetPath(check, context);
417
+ if (!target) {
418
+ return makeCheckResult(check, false, "No target path provided for source_refs_required check.");
419
+ }
420
+ const keys = frontmatterKeys(check);
421
+ const sourceRefKeys = keys.length > 0 ? keys : ["source_refs", "source_ref", "source_path"];
422
+ const files = listMarkdownFiles(target);
423
+ if (files.length === 0) {
424
+ return makeCheckResult(check, false, "No markdown files to validate.");
425
+ }
426
+ const { invalid, missing } = collectFrontmatterFailures(files, (frontmatter) => sourceRefKeys.some((key) => hasNonEmptyFrontmatterValue(frontmatter[key])));
427
+ if (invalid.length === 0 && missing.length === 0) {
428
+ return makeCheckResult(check, true, `All ${files.length} markdown file(s) have source refs.`);
429
+ }
430
+ return makeCheckResult(check, false, `${invalid.length + missing.length} of ${files.length} markdown file(s) are missing source refs.`, { invalid, missing, sourceRefKeys });
431
+ },
432
+ wikilinks_valid(check, context) {
433
+ const target = resolveTargetPath(check, context);
434
+ if (!target) {
435
+ return makeCheckResult(check, false, "No target path provided for wikilinks_valid check.");
436
+ }
437
+ const broken = countBrokenWikilinks(context.rootPath, [context.rootPath], [target]);
438
+ if (broken === 0) {
439
+ return makeCheckResult(check, true, "All wikilinks resolve.");
440
+ }
441
+ return makeCheckResult(check, false, `${broken} broken wikilink(s).`, { broken });
442
+ },
443
+ must_not_contain(check, context) {
444
+ const target = resolveTargetPath(check, context);
445
+ if (!target || !existsSync(target)) {
446
+ return makeCheckResult(check, false, "Target path does not exist.", { path: context.targetPath });
447
+ }
448
+ const phrases = checkPhrases(check);
449
+ if (phrases.length === 0) {
450
+ return makeCheckResult(check, false, "Artifact diagnostic is missing forbidden text. Use `params.phrases: string[]` or `params.text: string`.");
451
+ }
452
+ try {
453
+ const stats = statSync(target);
454
+ const files = stats.isFile() ? [target] : listFilesRecursive(target, () => true);
455
+ const offenders = [];
456
+ for (const file of files) {
457
+ const content = readFileSync(file, "utf8");
458
+ for (const phrase of phrases) {
459
+ if (content.includes(phrase)) {
460
+ offenders.push(`${file}: contains "${phrase}"`);
461
+ break;
462
+ }
463
+ }
464
+ }
465
+ if (offenders.length === 0) {
466
+ return makeCheckResult(check, true, `No forbidden phrases found across ${files.length} file(s).`);
467
+ }
468
+ return makeCheckResult(check, false, `${offenders.length} file(s) contain forbidden phrases.`, { offenders, phrases });
469
+ }
470
+ catch (error) {
471
+ return makeCheckResult(check, false, `Error reading target: ${error instanceof Error ? error.message : String(error)}`);
472
+ }
473
+ },
474
+ must_contain(check, context) {
475
+ const target = resolveTargetPath(check, context);
476
+ if (!target || !existsSync(target)) {
477
+ return makeCheckResult(check, false, "Target path does not exist.", { path: context.targetPath });
478
+ }
479
+ const phrases = checkPhrases(check);
480
+ if (phrases.length === 0) {
481
+ return makeCheckResult(check, false, "Artifact diagnostic is missing required text. Use `params.phrases: string[]` or `params.text: string`.");
482
+ }
483
+ try {
484
+ const stats = statSync(target);
485
+ // For directories, must_contain checks across ALL files (every phrase
486
+ // must appear in at least one file). For files, all phrases must
487
+ // appear in that single file.
488
+ if (stats.isFile()) {
489
+ const content = readFileSync(target, "utf8");
490
+ const missing = phrases.filter((phrase) => !content.includes(phrase));
491
+ if (missing.length === 0) {
492
+ return makeCheckResult(check, true, `All ${phrases.length} required phrase(s) present.`);
493
+ }
494
+ return makeCheckResult(check, false, `${missing.length} required phrase(s) missing.`, { missing });
495
+ }
496
+ const files = listFilesRecursive(target, () => true);
497
+ const remaining = new Set(phrases);
498
+ for (const file of files) {
499
+ const content = readFileSync(file, "utf8");
500
+ for (const phrase of [...remaining]) {
501
+ if (content.includes(phrase))
502
+ remaining.delete(phrase);
503
+ }
504
+ if (remaining.size === 0)
505
+ break;
506
+ }
507
+ if (remaining.size === 0) {
508
+ return makeCheckResult(check, true, `All ${phrases.length} required phrase(s) found across files.`);
509
+ }
510
+ return makeCheckResult(check, false, `${remaining.size} required phrase(s) missing across all files.`, { missing: [...remaining] });
511
+ }
512
+ catch (error) {
513
+ return makeCheckResult(check, false, `Error reading target: ${error instanceof Error ? error.message : String(error)}`);
514
+ }
515
+ },
516
+ qa_match(check, context) {
517
+ const expected = typeof check.params?.expected === "string" ? check.params.expected : "";
518
+ const strictness = typeof check.params?.strictness === "string" ? check.params.strictness : "loose";
519
+ const answer = context.agentAnswer ?? "";
520
+ if (!expected) {
521
+ return makeCheckResult(check, false, "qa_match check requires `params.expected: string`.");
522
+ }
523
+ if (!answer) {
524
+ return makeCheckResult(check, false, "No agent answer available for qa_match evaluation.");
525
+ }
526
+ if (strictness === "strict") {
527
+ const passed = answer.trim() === expected.trim();
528
+ return makeCheckResult(check, passed, passed ? "Answer matches expected exactly." : "Answer does not match expected.");
529
+ }
530
+ // Loose: case-insensitive substring match either direction.
531
+ const a = answer.trim().toLowerCase();
532
+ const e = expected.trim().toLowerCase();
533
+ const passed = a.includes(e) || e.includes(a);
534
+ return makeCheckResult(check, passed, passed ? "Answer matches expected (loose)." : "Answer does not match expected.");
535
+ },
536
+ };
537
+ /**
538
+ * Evaluate a single Check against a context, returning a CheckResult.
539
+ */
540
+ export function evaluateCheck(check, context) {
541
+ const evaluator = EVALUATORS[check.kind];
542
+ if (!evaluator) {
543
+ return {
544
+ check_id: check.id,
545
+ kind: check.kind,
546
+ passed: false,
547
+ required: check.required,
548
+ summary: `Unknown check kind: ${check.kind}`,
549
+ evaluated_at: new Date().toISOString(),
550
+ };
551
+ }
552
+ return evaluator(check, context);
553
+ }
554
+ /**
555
+ * Evaluate a list of checks. Aggregate ready/not_ready verdict over
556
+ * the check_results: `ready` if every required check passed, otherwise
557
+ * `not_ready`. Soft checks (required: false) that fail produce a
558
+ * check result but don't change the verdict.
559
+ */
560
+ export function evaluateChecks(checks, context) {
561
+ const check_results = checks.map((check) => evaluateCheck(check, context));
562
+ const failures = check_results.filter((result) => !result.passed && result.required);
563
+ return {
564
+ check_results,
565
+ ready: failures.length === 0,
566
+ failures,
567
+ };
568
+ }
569
+ /**
570
+ * Type guard for the canonical CheckKinds. Useful at parse boundaries
571
+ * where a string came from on-disk JSON.
572
+ */
573
+ export function isCheckKind(value) {
574
+ return CheckKindSchema.safeParse(value).success;
575
+ }
@@ -0,0 +1,51 @@
1
+ export declare const CONTEXT_GRAPH_INTERF_DIR = ".interf";
2
+ export declare const CONTEXT_GRAPH_CONFIG_FILE = "interf.json";
3
+ export declare const CONTEXT_GRAPH_BUILD_PLAN_DIR = "build-plan";
4
+ export declare const CONTEXT_GRAPH_TEST_DIR = "tests";
5
+ export declare const CONTEXT_GRAPH_TEST_TARGETS_DIR = "targets";
6
+ export declare const CONTEXT_GRAPH_RUNTIME_DIR = "runtime";
7
+ export declare const CONTEXT_GRAPH_RUNTIME_STATE_FILE = "state.json";
8
+ export declare const CONTEXT_GRAPH_RUNTIME_HEALTH_FILE = "health.json";
9
+ export declare const CONTEXT_GRAPH_RUNTIME_VIEW_SPEC_FILE = "view-spec.json";
10
+ export declare const CONTEXT_GRAPH_RUNTIME_SOURCE_MANIFEST_FILE = "source-manifest.json";
11
+ export declare const CONTEXT_GRAPH_RUNTIME_SOURCE_MANIFEST_AUDIT_FILE = "source-manifest.audit.json";
12
+ export declare const CONTEXT_GRAPH_RUNTIME_SOURCE_FILES_FILE = "source-files.json";
13
+ export declare const CONTEXT_GRAPH_RUNTIME_SOURCE_STATE_FILE = "source-state.json";
14
+ export declare const CONTEXT_GRAPH_RUNTIME_STAGE_INPUTS_DIR = "stages";
15
+ export declare const CONTEXT_GRAPH_RUNTIME_STAGE_INPUTS_FILE = "inputs.json";
16
+ export declare const CONTEXT_GRAPH_RUNTIME_INVENTORY_FILE = "inventory.json";
17
+ export declare const CONTEXT_GRAPH_RUNTIME_RUN_FILE = "run.json";
18
+ export declare const CONTEXT_GRAPH_RUNTIME_RUN_HISTORY_FILE = "run-history.jsonl";
19
+ export declare const CONTEXT_GRAPH_RUNTIME_STAGE_CONTRACT_FILE = "stage-contract.json";
20
+ export declare function contextGraphRuntimeRoot(contextGraphPath: string): string;
21
+ export declare function contextGraphRuntimeFilePath(contextGraphPath: string, fileName: string): string;
22
+ export declare function contextGraphInterfRoot(contextGraphPath: string): string;
23
+ export declare function contextGraphInterfConfigPath(contextGraphPath: string): string;
24
+ export declare function buildPlanPackagePathForContextGraph(contextGraphPath: string): string;
25
+ export declare function testRootForContextGraph(contextGraphPath: string): string;
26
+ export declare function testTargetsRootForContextGraph(contextGraphPath: string): string;
27
+ export declare function stageExecutionShellsRoot(contextGraphPath: string): string;
28
+ export declare function buildPlanImprovementLoopsRoot(contextGraphPath: string): string;
29
+ export declare function buildPlanImprovementRunRoot(contextGraphPath: string, runId: string): string;
30
+ export declare function buildPlanImprovementLoopRoot(contextGraphPath: string, runId: string, loopIndex: number): string;
31
+ export declare function targetTestRunsRootForContextGraph(contextGraphPath: string): string;
32
+ export declare function targetTestSandboxesRootForContextGraph(contextGraphPath: string): string;
33
+ export declare function contextGraphRuntimeLogsRoot(contextGraphPath: string): string;
34
+ export declare function contextGraphRuntimeArchivedStageContractPath(contextGraphPath: string, runId: string): string;
35
+ export declare function contextGraphQueryAcceptanceRoot(contextGraphPath: string): string;
36
+ export declare function contextGraphRuntimeStatePath(contextGraphPath: string): string;
37
+ export declare function contextGraphRuntimeHealthPath(contextGraphPath: string): string;
38
+ export declare function contextGraphRuntimeViewSpecPath(contextGraphPath: string): string;
39
+ export declare function contextGraphRuntimeSourceManifestPath(contextGraphPath: string): string;
40
+ export declare function contextGraphRuntimeSourceManifestAuditPath(contextGraphPath: string): string;
41
+ export declare function contextGraphRuntimeSourceFilesPath(contextGraphPath: string): string;
42
+ export declare function contextGraphRuntimeSourceStatePath(contextGraphPath: string): string;
43
+ export declare function contextGraphRuntimeStagesRoot(contextGraphPath: string): string;
44
+ export declare function contextGraphRuntimeStageRoot(contextGraphPath: string, stageId: string): string;
45
+ export declare function contextGraphRuntimeStageInputsPath(contextGraphPath: string, stageId: string): string;
46
+ export declare function contextGraphExecutionInventoryPath(contextGraphPath: string): string;
47
+ export declare function contextGraphExecutionStageLedgerPath(contextGraphPath: string): string;
48
+ export declare function contextGraphExecutionStageLedgerHistoryPath(contextGraphPath: string): string;
49
+ export declare function contextGraphRuntimeStageContractPath(contextGraphPath: string): string;
50
+ export declare function resolveSourceControlPathForContextGraph(contextGraphPath: string): string;
51
+ export declare function defaultControlPathForContextGraph(contextGraphPath: string): string;