@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,134 @@
1
+ import { z } from "zod";
2
+ import { ActionValueIdPattern, actionIdField, optionalActionIdField, optionalActionText, requiredActionText, } from "./schemas.js";
3
+ import { maybeActionValue, slugForActionId } from "./helpers.js";
4
+ void ActionValueIdPattern;
5
+ export function createProjectSchema(existingNames) {
6
+ return z.object({
7
+ // Any text is accepted; the durable id is slugged from it on submit
8
+ // (see createProjectActionValues). Uniqueness is checked on the slug.
9
+ name: requiredActionText("Project name"),
10
+ path: requiredActionText("Source"),
11
+ intent: requiredActionText("Agent task"),
12
+ build_plan: optionalActionIdField("Build Plan").optional(),
13
+ }).strict().superRefine((values, ctx) => {
14
+ if (existingNames.has(slugForActionId(values.name))) {
15
+ ctx.addIssue({
16
+ code: z.ZodIssueCode.custom,
17
+ path: ["name"],
18
+ message: "A Project with this name already exists.",
19
+ });
20
+ }
21
+ });
22
+ }
23
+ export function prepareRunSchema() {
24
+ return z.object({
25
+ project: actionIdField("Project"),
26
+ build_plan: optionalActionIdField("Build Plan"),
27
+ source_folder_path: optionalActionText,
28
+ }).strict();
29
+ }
30
+ export function selectBuildPlanSchema() {
31
+ return z.object({
32
+ name: actionIdField("Project"),
33
+ path: requiredActionText("Source"),
34
+ intent: requiredActionText("Agent task"),
35
+ current_build_plan: optionalActionIdField("Current Build Plan"),
36
+ build_plan: actionIdField("Build Plan"),
37
+ }).strict();
38
+ }
39
+ export function buildPlanAuthoringSchema(existingBuildPlanIds) {
40
+ return z.object({
41
+ build_plan_id: optionalActionIdField("Build Plan id"),
42
+ label: optionalActionText,
43
+ hint: optionalActionText,
44
+ intent: requiredActionText("Intent"),
45
+ requested_artifacts_description: optionalActionText,
46
+ user_prep_instructions: optionalActionText,
47
+ }).strict().superRefine((values, ctx) => {
48
+ const explicitBuildPlanId = maybeActionValue(values.build_plan_id ?? "");
49
+ if (explicitBuildPlanId && existingBuildPlanIds.has(explicitBuildPlanId)) {
50
+ ctx.addIssue({
51
+ code: z.ZodIssueCode.custom,
52
+ path: ["build_plan_id"],
53
+ message: "A Build Plan with this id already exists.",
54
+ });
55
+ }
56
+ });
57
+ }
58
+ export function buildPlanChangeSchema(action, buildPlanId, existingBuildPlanIds) {
59
+ const base = {
60
+ action: requiredActionText("Action"),
61
+ build_plan: actionIdField("Build Plan"),
62
+ project: optionalActionIdField("Project"),
63
+ };
64
+ if (action === "modify") {
65
+ return z.object({
66
+ ...base,
67
+ change_request: requiredActionText("Requested change"),
68
+ label: optionalActionText,
69
+ hint: optionalActionText,
70
+ }).strict();
71
+ }
72
+ if (action === "duplicate") {
73
+ return z.object({
74
+ ...base,
75
+ new_build_plan_id: actionIdField("New Build Plan id"),
76
+ }).strict().superRefine((values, ctx) => {
77
+ if (existingBuildPlanIds.has(values.new_build_plan_id)) {
78
+ ctx.addIssue({
79
+ code: z.ZodIssueCode.custom,
80
+ path: ["new_build_plan_id"],
81
+ message: "A Build Plan with this id already exists.",
82
+ });
83
+ }
84
+ });
85
+ }
86
+ return z.object({
87
+ ...base,
88
+ confirmation: requiredActionText("Confirmation").refine((value) => value === buildPlanId, `Type ${buildPlanId} to confirm.`),
89
+ }).strict();
90
+ }
91
+ export function projectChangeSchema(action, project, existingNames) {
92
+ const base = {
93
+ action: requiredActionText("Action"),
94
+ project: actionIdField("Project"),
95
+ };
96
+ if (action === "modify") {
97
+ return z.object({
98
+ ...base,
99
+ name: actionIdField("Project id"),
100
+ path: requiredActionText("Source"),
101
+ intent: requiredActionText("Agent task"),
102
+ build_plan: optionalActionIdField("Build Plan"),
103
+ }).strict().superRefine((values, ctx) => {
104
+ if (values.name !== project && existingNames.has(values.name)) {
105
+ ctx.addIssue({
106
+ code: z.ZodIssueCode.custom,
107
+ path: ["name"],
108
+ message: "A Project with this name already exists.",
109
+ });
110
+ }
111
+ });
112
+ }
113
+ if (action === "duplicate") {
114
+ return z.object({
115
+ ...base,
116
+ name: actionIdField("New Project id"),
117
+ path: requiredActionText("Source"),
118
+ intent: requiredActionText("Agent task"),
119
+ build_plan: optionalActionIdField("Build Plan"),
120
+ }).strict().superRefine((values, ctx) => {
121
+ if (existingNames.has(values.name)) {
122
+ ctx.addIssue({
123
+ code: z.ZodIssueCode.custom,
124
+ path: ["name"],
125
+ message: "A Project with this name already exists.",
126
+ });
127
+ }
128
+ });
129
+ }
130
+ return z.object({
131
+ ...base,
132
+ confirmation: requiredActionText("Confirmation").refine((value) => value === project, `Type ${project} to confirm.`),
133
+ }).strict();
134
+ }
@@ -0,0 +1,11 @@
1
+ import { type BuildPlanAuthoringActionValues } from "./schemas.js";
2
+ import type { ActionFieldOption, ActionInputValues, BuildPlanActionChoice } from "./fields.js";
3
+ export declare function buildPlanAuthoringIntentBrief(values: BuildPlanAuthoringActionValues): string;
4
+ export declare function slugForActionId(value: string): string;
5
+ export declare function uniqueActionId(seed: string, usedIds: Set<string>): string;
6
+ export declare function titleFromActionId(value: string): string;
7
+ export declare function maybeActionValue(value: string): string | undefined;
8
+ export declare function inputValue(values: ActionInputValues, key: string): string;
9
+ export declare function buildPlanChoiceOptions(buildPlans: BuildPlanActionChoice[]): ActionFieldOption[];
10
+ export declare function buildPlanIntentFromInput(values: ActionInputValues): string;
11
+ export declare function conciseSummary(value: string, fallback: string): string;
@@ -0,0 +1,80 @@
1
+ import { formatRequestedArtifactsForPrompt } from "../requested-artifacts.js";
2
+ import { BuildPlanAuthoringActionValuesSchema, } from "./schemas.js";
3
+ export function buildPlanAuthoringIntentBrief(values) {
4
+ const requestedArtifacts = values.requested_artifacts?.length
5
+ ? formatRequestedArtifactsForPrompt(values.requested_artifacts)
6
+ : null;
7
+ const requestedArtifactsDescription = values.requested_artifacts_description?.trim();
8
+ const prepInstructions = values.user_prep_instructions?.trim();
9
+ return [
10
+ `Intent: ${values.intent}`,
11
+ requestedArtifacts ? `Requested outputs:\n${requestedArtifacts}` : null,
12
+ requestedArtifactsDescription ? `Requested outputs: ${requestedArtifactsDescription}` : null,
13
+ prepInstructions ? `Build instructions: ${prepInstructions}` : null,
14
+ ].filter((line) => Boolean(line)).join("\n");
15
+ }
16
+ export function slugForActionId(value) {
17
+ const slug = value
18
+ .toLowerCase()
19
+ .replace(/[^a-z0-9]+/g, "-")
20
+ .replace(/^-+|-+$/g, "")
21
+ .slice(0, 72)
22
+ .replace(/-+$/g, "");
23
+ return slug || "project";
24
+ }
25
+ export function uniqueActionId(seed, usedIds) {
26
+ const base = slugForActionId(seed);
27
+ if (!usedIds.has(base))
28
+ return base;
29
+ for (let index = 2; index < 100; index += 1) {
30
+ const candidate = `${base}-${index}`;
31
+ if (!usedIds.has(candidate))
32
+ return candidate;
33
+ }
34
+ return `${base}-${Date.now().toString(36)}`;
35
+ }
36
+ export function titleFromActionId(value) {
37
+ return value
38
+ .split("-")
39
+ .filter(Boolean)
40
+ .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
41
+ .join(" ");
42
+ }
43
+ export function maybeActionValue(value) {
44
+ const trimmed = value.trim();
45
+ return trimmed.length > 0 ? trimmed : undefined;
46
+ }
47
+ export function inputValue(values, key) {
48
+ return values[key] ?? "";
49
+ }
50
+ export function buildPlanChoiceOptions(buildPlans) {
51
+ const seen = new Set();
52
+ const options = [];
53
+ for (const buildPlan of [{ id: "interf-default", label: "interf-default" }, ...buildPlans]) {
54
+ if (seen.has(buildPlan.id))
55
+ continue;
56
+ seen.add(buildPlan.id);
57
+ options.push({ label: buildPlan.label ?? buildPlan.id, value: buildPlan.id });
58
+ }
59
+ return options;
60
+ }
61
+ export function buildPlanIntentFromInput(values) {
62
+ const parsed = BuildPlanAuthoringActionValuesSchema.safeParse(values);
63
+ if (parsed.success)
64
+ return buildPlanAuthoringIntentBrief(parsed.data);
65
+ const intent = inputValue(values, "intent");
66
+ const requestedArtifactsDescription = inputValue(values, "requested_artifacts_description");
67
+ const prepInstructions = inputValue(values, "user_prep_instructions");
68
+ return [
69
+ `Intent: ${intent}`,
70
+ maybeActionValue(requestedArtifactsDescription) ? `Requested outputs: ${requestedArtifactsDescription}` : null,
71
+ maybeActionValue(prepInstructions) ? `Build instructions: ${prepInstructions}` : null,
72
+ ].filter((line) => Boolean(line)).join("\n");
73
+ }
74
+ export function conciseSummary(value, fallback) {
75
+ const normalized = value.replace(/\s+/g, " ").trim();
76
+ if (!normalized)
77
+ return fallback;
78
+ const sentence = normalized.match(/^.{24,180}?(?:[.!?](?:\s|$)|$)/)?.[0]?.trim() ?? normalized;
79
+ return sentence.length > 180 ? `${sentence.slice(0, 177).trim()}...` : sentence;
80
+ }
@@ -0,0 +1,8 @@
1
+ export * from "./schemas.js";
2
+ export * from "./registry.js";
3
+ export * from "./fields.js";
4
+ export * from "./errors.js";
5
+ export * from "./helpers.js";
6
+ export * from "./form-validators.js";
7
+ export * from "./requests.js";
8
+ export * from "./form-builders.js";
@@ -0,0 +1,11 @@
1
+ // Aggregate barrel for engine action definitions. Re-exports the public
2
+ // surface so existing callers (UI page.tsx, CLI commands, action-values.ts)
3
+ // don't have to know which sibling file owns a given symbol.
4
+ export * from "./schemas.js";
5
+ export * from "./registry.js";
6
+ export * from "./fields.js";
7
+ export * from "./errors.js";
8
+ export * from "./helpers.js";
9
+ export * from "./form-validators.js";
10
+ export * from "./requests.js";
11
+ export * from "./form-builders.js";
@@ -0,0 +1,64 @@
1
+ export declare const INTERF_SERVICE_ACTIONS: {
2
+ readonly createProject: {
3
+ readonly id: "create-project";
4
+ readonly serviceAction: "project-setup";
5
+ readonly title: "Create Project";
6
+ readonly description: "Save a Source, Build Plan, and Project activity under one Project.";
7
+ };
8
+ readonly buildRun: {
9
+ readonly id: "build-run";
10
+ readonly serviceAction: "build";
11
+ readonly title: "Build Context Graph";
12
+ readonly description: "Run the saved Build Plan against this Source and write a Context Graph.";
13
+ };
14
+ readonly selectBuildPlan: {
15
+ readonly id: "select-build-plan";
16
+ readonly serviceAction: "project-setup";
17
+ readonly title: "Select Build Plan";
18
+ readonly description: "Choose the Build Plan that will build this Project's Context Graph.";
19
+ };
20
+ readonly createBuildPlan: {
21
+ readonly id: "build-plan-draft";
22
+ readonly serviceAction: "build-plan-draft";
23
+ readonly title: "Draft Build Plan";
24
+ readonly description: "Draft a Build Plan for the Context Graph this Project should build.";
25
+ };
26
+ readonly buildPlanChange: {
27
+ readonly id: "build-plan-change";
28
+ readonly serviceAction: "build-plan-change";
29
+ readonly title: "Modify Build Plan";
30
+ readonly description: "Modify, duplicate, or remove an existing Build Plan.";
31
+ };
32
+ readonly projectChange: {
33
+ readonly id: "project-change";
34
+ readonly serviceAction: "project-change";
35
+ readonly title: "Modify Project";
36
+ readonly description: "Modify, duplicate, or remove an existing Project.";
37
+ };
38
+ readonly confirmAction: {
39
+ readonly id: "confirm-action";
40
+ readonly serviceAction: "action-proposal";
41
+ readonly title: "Confirm Request";
42
+ readonly description: "Confirm the typed Interf service request before it runs.";
43
+ };
44
+ readonly runBenchmark: {
45
+ readonly id: "run-benchmark";
46
+ readonly serviceAction: "benchmark";
47
+ readonly title: "Run Benchmark";
48
+ readonly description: "Run saved Q&A / fact-check evaluation questions against this Project.";
49
+ };
50
+ readonly draftBenchmarkQuestions: {
51
+ readonly id: "draft-benchmark-questions";
52
+ readonly serviceAction: "benchmark-question-draft";
53
+ readonly title: "Draft Benchmark Questions";
54
+ readonly description: "Ask the configured local executor to draft saved Q&A / fact-check evaluation questions.";
55
+ };
56
+ readonly improveProject: {
57
+ readonly id: "improve-project";
58
+ readonly serviceAction: "build-plan-improvement";
59
+ readonly title: "Improve Build Plan";
60
+ readonly description: "Use benchmark results, Graph Manifest metrics, Stage Manifests, and supplemental diagnostics to refine the Build Plan this Project uses.";
61
+ };
62
+ };
63
+ export type InterfServiceActionKey = keyof typeof INTERF_SERVICE_ACTIONS;
64
+ export type InterfServiceActionId = typeof INTERF_SERVICE_ACTIONS[InterfServiceActionKey]["id"];
@@ -0,0 +1,62 @@
1
+ export const INTERF_SERVICE_ACTIONS = {
2
+ createProject: {
3
+ id: "create-project",
4
+ serviceAction: "project-setup",
5
+ title: "Create Project",
6
+ description: "Save a Source, Build Plan, and Project activity under one Project.",
7
+ },
8
+ buildRun: {
9
+ id: "build-run",
10
+ serviceAction: "build",
11
+ title: "Build Context Graph",
12
+ description: "Run the saved Build Plan against this Source and write a Context Graph.",
13
+ },
14
+ selectBuildPlan: {
15
+ id: "select-build-plan",
16
+ serviceAction: "project-setup",
17
+ title: "Select Build Plan",
18
+ description: "Choose the Build Plan that will build this Project's Context Graph.",
19
+ },
20
+ createBuildPlan: {
21
+ id: "build-plan-draft",
22
+ serviceAction: "build-plan-draft",
23
+ title: "Draft Build Plan",
24
+ description: "Draft a Build Plan for the Context Graph this Project should build.",
25
+ },
26
+ buildPlanChange: {
27
+ id: "build-plan-change",
28
+ serviceAction: "build-plan-change",
29
+ title: "Modify Build Plan",
30
+ description: "Modify, duplicate, or remove an existing Build Plan.",
31
+ },
32
+ projectChange: {
33
+ id: "project-change",
34
+ serviceAction: "project-change",
35
+ title: "Modify Project",
36
+ description: "Modify, duplicate, or remove an existing Project.",
37
+ },
38
+ confirmAction: {
39
+ id: "confirm-action",
40
+ serviceAction: "action-proposal",
41
+ title: "Confirm Request",
42
+ description: "Confirm the typed Interf service request before it runs.",
43
+ },
44
+ runBenchmark: {
45
+ id: "run-benchmark",
46
+ serviceAction: "benchmark",
47
+ title: "Run Benchmark",
48
+ description: "Run saved Q&A / fact-check evaluation questions against this Project.",
49
+ },
50
+ draftBenchmarkQuestions: {
51
+ id: "draft-benchmark-questions",
52
+ serviceAction: "benchmark-question-draft",
53
+ title: "Draft Benchmark Questions",
54
+ description: "Ask the configured local executor to draft saved Q&A / fact-check evaluation questions.",
55
+ },
56
+ improveProject: {
57
+ id: "improve-project",
58
+ serviceAction: "build-plan-improvement",
59
+ title: "Improve Build Plan",
60
+ description: "Use benchmark results, Graph Manifest metrics, Stage Manifests, and supplemental diagnostics to refine the Build Plan this Project uses.",
61
+ },
62
+ };
@@ -0,0 +1,45 @@
1
+ import { artifactRequirementsFromRequestedArtifacts } from "../requested-artifacts.js";
2
+ import type { RequestedArtifact, SourceContext, BuildPlanContextCheckDraft } from "../../build-plans/authoring/brief.js";
3
+ import { type BuildPlanAuthoringActionValues, type ProjectSetupActionValues } from "./schemas.js";
4
+ import type { ActionInputValues, ActionValues, BuildPlanChangeAction, ProjectChangeAction } from "./fields.js";
5
+ export declare function normalizedBuildPlanActionValues(values: ActionInputValues, existingBuildPlanIds: Set<string>, defaultSeed: string): ActionInputValues;
6
+ export declare function createProjectActionValues(values: ActionInputValues): ProjectSetupActionValues;
7
+ export declare function selectBuildPlanActionValues(values: ActionInputValues): ProjectSetupActionValues;
8
+ export declare function projectSetupRequestFromActionValues(input: unknown): {
9
+ project: {
10
+ build_plan?: string;
11
+ intent: string;
12
+ name: string;
13
+ path: string;
14
+ };
15
+ build_after_setup: boolean;
16
+ setup_mode: "create" | "select-build-plan";
17
+ };
18
+ export declare function buildPlanAuthoringRequestFromActionValues(input: unknown, context: {
19
+ checks?: BuildPlanContextCheckDraft[];
20
+ project?: string | null;
21
+ requestedArtifacts?: RequestedArtifact[];
22
+ sourceContext?: SourceContext | null;
23
+ }): {
24
+ artifact_requirements: ReturnType<typeof artifactRequirementsFromRequestedArtifacts>;
25
+ base_build_plan_id?: string;
26
+ checks: BuildPlanContextCheckDraft[];
27
+ hint?: string;
28
+ label: string;
29
+ build_plan_id: string;
30
+ reference_build_plan_id?: string;
31
+ requested_artifacts: RequestedArtifact[];
32
+ source_context?: SourceContext | null;
33
+ intent: string;
34
+ user_prep_instructions?: string;
35
+ };
36
+ export declare function buildPlanImprovementActionValues(options: {
37
+ hint?: string;
38
+ label?: string;
39
+ buildPlanId: string;
40
+ projectName: string;
41
+ }): BuildPlanAuthoringActionValues;
42
+ export declare function buildPlanAuthoringActionValues(values: ActionInputValues): BuildPlanAuthoringActionValues;
43
+ export declare function buildPlanChangeActionValues(action: BuildPlanChangeAction, values: ActionInputValues): ActionValues;
44
+ export declare function duplicateProjectActionValues(values: ActionInputValues): ProjectSetupActionValues;
45
+ export declare function projectChangeActionValues(action: ProjectChangeAction, values: ActionInputValues): ActionValues;
@@ -0,0 +1,164 @@
1
+ import { artifactRequirementsFromRequestedArtifacts, } from "../requested-artifacts.js";
2
+ import { BuildPlanAuthoringActionValuesSchema, ProjectSetupActionValuesSchema, } from "./schemas.js";
3
+ import { conciseSummary, inputValue, maybeActionValue, slugForActionId, titleFromActionId, uniqueActionId, } from "./helpers.js";
4
+ export function normalizedBuildPlanActionValues(values, existingBuildPlanIds, defaultSeed) {
5
+ const explicitBuildPlanId = maybeActionValue(inputValue(values, "build_plan_id"));
6
+ const intent = inputValue(values, "intent").trim();
7
+ const buildPlanId = explicitBuildPlanId ?? uniqueActionId(intent || defaultSeed || "custom-build-plan", existingBuildPlanIds);
8
+ const output = maybeActionValue(inputValue(values, "requested_artifacts_description"));
9
+ return {
10
+ ...values,
11
+ build_plan_id: buildPlanId,
12
+ label: maybeActionValue(inputValue(values, "label")) ?? titleFromActionId(buildPlanId),
13
+ hint: maybeActionValue(inputValue(values, "hint")) ?? conciseSummary(output ?? intent, "Build Plan for requested outputs and coverage."),
14
+ intent,
15
+ };
16
+ }
17
+ export function createProjectActionValues(values) {
18
+ const buildPlan = inputValue(values, "build_plan");
19
+ return {
20
+ // Users type any friendly name; the durable Project id is a safe slug
21
+ // derived from it. Slugged here so both the UI and CLI get the same id.
22
+ name: slugForActionId(inputValue(values, "name")),
23
+ path: inputValue(values, "path"),
24
+ intent: inputValue(values, "intent"),
25
+ build_after_setup: false,
26
+ ...(maybeActionValue(buildPlan) ? { build_plan: buildPlan } : {}),
27
+ };
28
+ }
29
+ export function selectBuildPlanActionValues(values) {
30
+ return {
31
+ name: inputValue(values, "name"),
32
+ path: inputValue(values, "path"),
33
+ intent: inputValue(values, "intent"),
34
+ build_plan: inputValue(values, "build_plan"),
35
+ build_after_setup: false,
36
+ setup_mode: "select-build-plan",
37
+ };
38
+ }
39
+ export function projectSetupRequestFromActionValues(input) {
40
+ const values = ProjectSetupActionValuesSchema.parse(input);
41
+ const buildPlan = values.build_plan;
42
+ return {
43
+ build_after_setup: values.build_after_setup ?? false,
44
+ setup_mode: values.setup_mode === "select-build-plan" ? "select-build-plan" : "create",
45
+ project: {
46
+ name: values.name,
47
+ path: values.path,
48
+ intent: values.intent,
49
+ ...(buildPlan && buildPlan.length > 0 ? { build_plan: buildPlan } : {}),
50
+ },
51
+ };
52
+ }
53
+ export function buildPlanAuthoringRequestFromActionValues(input, context) {
54
+ const values = BuildPlanAuthoringActionValuesSchema.parse(input);
55
+ const buildPlanId = values.build_plan_id;
56
+ if (!buildPlanId) {
57
+ throw new Error("Build Plan id is required.");
58
+ }
59
+ const requestedArtifacts = values.requested_artifacts ?? context.requestedArtifacts ?? [];
60
+ const sourceContext = values.source_context ?? context.sourceContext ?? null;
61
+ const baseBuildPlanId = values.base_build_plan_id;
62
+ const referenceBuildPlanId = values.reference_build_plan_id;
63
+ return {
64
+ ...(baseBuildPlanId ? { base_build_plan_id: baseBuildPlanId } : {}),
65
+ ...(referenceBuildPlanId ? { reference_build_plan_id: referenceBuildPlanId } : {}),
66
+ build_plan_id: buildPlanId,
67
+ label: values.label ?? titleFromActionId(buildPlanId),
68
+ ...(values.hint ? { hint: values.hint } : { hint: conciseSummary(values.requested_artifacts_description ?? values.intent, "Reusable Build Plan for prepared outputs.") }),
69
+ intent: values.intent,
70
+ checks: values.checks ?? context.checks ?? [],
71
+ ...(values.user_prep_instructions ? { user_prep_instructions: values.user_prep_instructions } : {}),
72
+ requested_artifacts: requestedArtifacts,
73
+ source_context: sourceContext,
74
+ artifact_requirements: artifactRequirementsFromRequestedArtifacts(requestedArtifacts),
75
+ };
76
+ }
77
+ export function buildPlanImprovementActionValues(options) {
78
+ return {
79
+ build_plan_id: options.buildPlanId,
80
+ reference_build_plan_id: options.buildPlanId,
81
+ ...(maybeActionValue(options.label ?? "") ? { label: options.label } : {}),
82
+ ...(maybeActionValue(options.hint ?? "") ? { hint: options.hint } : {}),
83
+ intent: `Improve Build Plan ${options.buildPlanId} using the latest benchmark results, Graph Manifest metrics, Stage Manifests, and supplemental graph diagnostics for Project ${options.projectName}.`,
84
+ };
85
+ }
86
+ export function buildPlanAuthoringActionValues(values) {
87
+ const buildPlanId = inputValue(values, "build_plan_id");
88
+ const label = inputValue(values, "label");
89
+ const hint = inputValue(values, "hint");
90
+ const requestedArtifactsDescription = inputValue(values, "requested_artifacts_description");
91
+ const userPrepInstructions = inputValue(values, "user_prep_instructions");
92
+ return {
93
+ ...(maybeActionValue(buildPlanId) ? { build_plan_id: buildPlanId } : {}),
94
+ ...(maybeActionValue(label) ? { label } : {}),
95
+ ...(maybeActionValue(hint) ? { hint } : {}),
96
+ intent: inputValue(values, "intent"),
97
+ ...(maybeActionValue(requestedArtifactsDescription) ? { requested_artifacts_description: requestedArtifactsDescription } : {}),
98
+ ...(maybeActionValue(userPrepInstructions) ? { user_prep_instructions: userPrepInstructions } : {}),
99
+ };
100
+ }
101
+ export function buildPlanChangeActionValues(action, values) {
102
+ if (action === "modify") {
103
+ const buildPlanId = inputValue(values, "build_plan");
104
+ return {
105
+ build_plan_id: buildPlanId,
106
+ reference_build_plan_id: buildPlanId,
107
+ ...(maybeActionValue(inputValue(values, "label")) ? { label: inputValue(values, "label") } : {}),
108
+ ...(maybeActionValue(inputValue(values, "hint")) ? { hint: inputValue(values, "hint") } : {}),
109
+ intent: [
110
+ `Modify Build Plan ${buildPlanId}.`,
111
+ inputValue(values, "change_request"),
112
+ ].filter(Boolean).join("\n"),
113
+ };
114
+ }
115
+ if (action === "duplicate") {
116
+ const newBuildPlanId = inputValue(values, "new_build_plan_id");
117
+ return {
118
+ action_type: "build-plan-change",
119
+ operation: "duplicate",
120
+ build_plan: inputValue(values, "build_plan"),
121
+ new_build_plan_id: newBuildPlanId,
122
+ label: titleFromActionId(newBuildPlanId),
123
+ hint: `Duplicate of ${inputValue(values, "build_plan")}`,
124
+ };
125
+ }
126
+ return {
127
+ action_type: "build-plan-change",
128
+ operation: "remove",
129
+ build_plan: inputValue(values, "build_plan"),
130
+ confirmation: inputValue(values, "confirmation"),
131
+ };
132
+ }
133
+ export function duplicateProjectActionValues(values) {
134
+ const buildPlan = inputValue(values, "build_plan");
135
+ return {
136
+ name: inputValue(values, "name"),
137
+ path: inputValue(values, "path"),
138
+ intent: inputValue(values, "intent"),
139
+ build_after_setup: false,
140
+ setup_mode: "create",
141
+ ...(maybeActionValue(buildPlan) ? { build_plan: buildPlan } : {}),
142
+ };
143
+ }
144
+ export function projectChangeActionValues(action, values) {
145
+ if (action === "modify") {
146
+ const buildPlan = inputValue(values, "build_plan");
147
+ return {
148
+ name: inputValue(values, "project"),
149
+ path: inputValue(values, "path"),
150
+ intent: inputValue(values, "intent"),
151
+ build_after_setup: false,
152
+ setup_mode: "select-build-plan",
153
+ ...(maybeActionValue(buildPlan) ? { build_plan: buildPlan } : {}),
154
+ };
155
+ }
156
+ if (action === "duplicate")
157
+ return duplicateProjectActionValues(values);
158
+ return {
159
+ action_type: "project-change",
160
+ operation: "remove",
161
+ project: inputValue(values, "project"),
162
+ confirmation: inputValue(values, "confirmation"),
163
+ };
164
+ }