@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
@@ -2,12 +2,12 @@
2
2
  * `interf` (no subcommand) and `interf init` — the wizard.
3
3
  *
4
4
  * Casual-user entry point. End-to-end onboarding:
5
- * - If no connection → connect to an already-running local engine, or ask
6
- * whether to start the foreground local engine, connect remote, or quit.
7
- * - Once connected → action menu (list / create / build / test / open UI / stop engine / quit).
5
+ * - If no connection → connect to an already-running local service, or ask
6
+ * whether to start the foreground local service, connect remote, or quit.
7
+ * - Once connected → action menu (list / create / build / test / stop service / quit).
8
8
  * - Each action loops back to the menu instead of exiting.
9
9
  *
10
- * Agents bypass the wizard entirely. They use `interf prep`, `interf build`,
10
+ * Agents bypass the wizard entirely. They use `interf project`, `interf build`,
11
11
  * etc. directly. The wizard is purely a UX wrapper around those CLI commands.
12
12
  */
13
13
  import chalk from "chalk";
@@ -16,8 +16,8 @@ import { existsSync, statSync } from "node:fs";
16
16
  import { homedir } from "node:os";
17
17
  import { basename, resolve } from "node:path";
18
18
  import { spawn } from "node:child_process";
19
- import { ConnectionRecordSchema, readActiveConnection, writeConnection, } from "../../packages/engine/connection-config.js";
20
- import { LOCAL_SERVICE_DEFAULT_HOST, LOCAL_SERVICE_DEFAULT_PORT } from "../../packages/engine/routes.js";
19
+ import { ConnectionRecordSchema, readActiveConnection, writeConnection, } from "../../packages/runtime/connection-config.js";
20
+ import { LOCAL_SERVICE_DEFAULT_HOST, LOCAL_SERVICE_DEFAULT_PORT } from "../../packages/runtime/service/routes.js";
21
21
  async function callJson(url, token) {
22
22
  const headers = new Headers();
23
23
  if (token)
@@ -60,9 +60,9 @@ function isHttpUrl(value) {
60
60
  }
61
61
  }
62
62
  /**
63
- * Probe a URL's `/health` endpoint and return whether the engine is up.
63
+ * Probe a URL's `/health` endpoint and return whether the local service is up.
64
64
  * Used as a fallback when `connection.json` may be missing (e.g. older
65
- * `interf web` binaries that don't write the 0.13 record).
65
+ * `interf runtime` binaries that don't write the connection record).
66
66
  */
67
67
  async function probeHealth(url) {
68
68
  try {
@@ -73,29 +73,64 @@ async function probeHealth(url) {
73
73
  return false;
74
74
  }
75
75
  }
76
+ async function serviceRequiresAuth(url) {
77
+ try {
78
+ const response = await fetch(`${url.replace(/\/+$/, "")}/v1/instance`);
79
+ if (response.status !== 200)
80
+ return true;
81
+ const body = await response.json();
82
+ return body.auth_required === true;
83
+ }
84
+ catch {
85
+ return true;
86
+ }
87
+ }
88
+ function activeConnectionForUrl(url) {
89
+ const normalized = url.replace(/\/+$/, "");
90
+ const conn = readActiveConnection();
91
+ if (!conn)
92
+ return null;
93
+ return conn.url.replace(/\/+$/, "") === normalized
94
+ ? { url: normalized, token: conn.auth_token }
95
+ : null;
96
+ }
97
+ async function connectToReachableEngine(url) {
98
+ const normalized = url.replace(/\/+$/, "");
99
+ const existing = activeConnectionForUrl(normalized);
100
+ if (existing)
101
+ return existing;
102
+ if (await serviceRequiresAuth(normalized))
103
+ return null;
104
+ try {
105
+ writeConnection({ url: normalized, auth_token: null });
106
+ }
107
+ catch {
108
+ // best effort
109
+ }
110
+ return { url: normalized, token: null };
111
+ }
76
112
  /**
77
- * Connect to an engine. Either an existing one already running on the
113
+ * Connect to a local service. Either an existing one already running on the
78
114
  * default port (with a `wasAlreadyRunning` flag so the caller can tell
79
115
  * the user honestly) or a fresh one we spawn here.
80
116
  *
81
117
  * Returns null on timeout / error.
82
118
  */
83
119
  async function startLocalEngineInBackground() {
84
- // First: check whether an engine is ALREADY running on the default
120
+ // First: check whether a local service is ALREADY running on the default
85
121
  // port. If so, don't pretend to start a new one — just connect.
86
122
  if (await probeHealth(DEFAULT_ENGINE_URL)) {
87
- try {
88
- writeConnection({ url: DEFAULT_ENGINE_URL, auth_token: null });
89
- }
90
- catch {
91
- // best effort
123
+ const existing = await connectToReachableEngine(DEFAULT_ENGINE_URL);
124
+ if (!existing) {
125
+ console.log(chalk.yellow(` Local service already running at ${DEFAULT_ENGINE_URL}, but no bearer token is available.`));
126
+ return null;
92
127
  }
93
- console.log(chalk.dim(` Engine already running at ${DEFAULT_ENGINE_URL} — connecting.`));
94
- return { url: DEFAULT_ENGINE_URL, token: null, wasAlreadyRunning: true };
128
+ console.log(chalk.dim(` Local service already running at ${DEFAULT_ENGINE_URL} — connecting.`));
129
+ return { ...existing, wasAlreadyRunning: true };
95
130
  }
96
131
  const spinner = p.spinner();
97
- spinner.start("Starting local Interf engine…");
98
- const child = spawn(process.argv[1] ?? "interf", ["web"], {
132
+ spinner.start("Starting local Interf service...");
133
+ const child = spawn(process.argv[1] ?? "interf", ["runtime"], {
99
134
  detached: true,
100
135
  stdio: "ignore",
101
136
  });
@@ -104,34 +139,31 @@ async function startLocalEngineInBackground() {
104
139
  const timeoutMs = 30_000;
105
140
  while (Date.now() - startedAt < timeoutMs) {
106
141
  await new Promise((r) => setTimeout(r, 250));
107
- // Path A: connection.json written by the spawned 0.13+ server.
142
+ // Path A: connection.json written by the spawned server.
108
143
  const conn = readActiveConnection();
109
144
  if (conn) {
110
145
  const url = conn.url.replace(/\/+$/, "");
111
146
  if (await probeHealth(url)) {
112
- spinner.stop(chalk.green(`Engine ready at ${url}`));
147
+ spinner.stop(chalk.green(`Local service ready at ${url}`));
113
148
  return { url, token: conn.auth_token, wasAlreadyRunning: false };
114
149
  }
115
150
  }
116
- // Path B: spawned engine is ready on the default URL.
151
+ // Path B: spawned service is ready on the default URL.
117
152
  if (await probeHealth(DEFAULT_ENGINE_URL)) {
118
- try {
119
- writeConnection({ url: DEFAULT_ENGINE_URL, auth_token: null });
120
- }
121
- catch {
122
- // best effort
153
+ const existing = await connectToReachableEngine(DEFAULT_ENGINE_URL);
154
+ if (existing) {
155
+ spinner.stop(chalk.green(`Local service ready at ${DEFAULT_ENGINE_URL}`));
156
+ return { ...existing, wasAlreadyRunning: false };
123
157
  }
124
- spinner.stop(chalk.green(`Engine ready at ${DEFAULT_ENGINE_URL}`));
125
- return { url: DEFAULT_ENGINE_URL, token: null, wasAlreadyRunning: false };
126
158
  }
127
159
  }
128
- spinner.stop(chalk.red("Timed out waiting for engine to start."));
160
+ spinner.stop(chalk.red("Timed out waiting for local service to start."));
129
161
  return null;
130
162
  }
131
163
  /**
132
164
  * Print the canonical connect-or-error hint and exit non-zero. Used
133
- * whenever the wizard needs an engine but no reachable connection
134
- * exists. The wizard does NOT auto-start an engine — `interf web` is
165
+ * whenever the wizard needs a local service but no reachable connection
166
+ * exists. The wizard does NOT auto-start a service — `interf runtime` is
135
167
  * the explicit, foreground way to run one.
136
168
  */
137
169
  function exitNoEngineConnected(reason) {
@@ -139,9 +171,9 @@ function exitNoEngineConnected(reason) {
139
171
  console.log(chalk.yellow(` ${reason}`));
140
172
  console.log();
141
173
  console.log(" Start one in another terminal:");
142
- console.log(chalk.bold(" interf web"));
174
+ console.log(chalk.bold(" interf runtime"));
143
175
  console.log();
144
- console.log(" Or connect to a remote engine:");
176
+ console.log(" Or connect to a remote service:");
145
177
  console.log(chalk.bold(" interf login --url <https://…>"));
146
178
  console.log();
147
179
  process.exit(1);
@@ -156,8 +188,8 @@ async function promptForConnection(reason) {
156
188
  const choice = await p.select({
157
189
  message: "How do you want to continue?",
158
190
  options: [
159
- { value: "start-local", label: "Start local engine (serves Interf UI)" },
160
- { value: "connect-remote", label: "Connect to remote engine" },
191
+ { value: "start-local", label: "Start local service" },
192
+ { value: "connect-remote", label: "Connect to remote service" },
161
193
  { value: "quit", label: chalk.dim("Exit") },
162
194
  ],
163
195
  initialValue: "start-local",
@@ -168,13 +200,13 @@ async function promptForConnection(reason) {
168
200
  }
169
201
  if (choice === "start-local") {
170
202
  console.log();
171
- console.log(chalk.dim(" Starting `interf web` in this terminal. Press Ctrl-C to stop the engine."));
203
+ console.log(chalk.dim(" Starting `interf runtime` in this terminal. Press Ctrl-C to stop the service."));
172
204
  console.log();
173
- const code = await spawnInterf(["web"]);
205
+ const code = await spawnInterf(["runtime"]);
174
206
  process.exit(code);
175
207
  }
176
208
  const urlValue = await p.text({
177
- message: "Remote engine URL",
209
+ message: "Remote service URL",
178
210
  placeholder: "https://api.interf.cloud",
179
211
  validate: (value) => {
180
212
  const trimmed = String(value ?? "").trim();
@@ -265,27 +297,20 @@ async function promptSourcePath() {
265
297
  }
266
298
  return String(choice);
267
299
  }
268
- async function flowCreatePreparation(conn) {
269
- const prepId = await p.text({
270
- message: "Preparation id (a short name for this unit of agent work)",
271
- placeholder: "my-prep",
300
+ async function flowCreateProject(conn) {
301
+ const projectId = await p.text({
302
+ message: "Project id (a short name for this agent task)",
303
+ placeholder: "my-project",
272
304
  validate: (value) => (/^[a-z0-9][a-z0-9-]*$/.test(value) ? undefined : "Lowercase letters, numbers, and dashes only."),
273
305
  });
274
- if (p.isCancel(prepId))
306
+ if (p.isCancel(projectId))
275
307
  return null;
276
- const about = await p.text({
277
- message: "What is this preparation for? (one line — the agent task intent)",
278
- placeholder: "Prepare these notes so an agent can answer questions about them.",
279
- });
280
- if (p.isCancel(about))
281
- return null;
282
- const aboutText = String(about ?? "").trim();
283
308
  const sourcePath = await promptSourcePath();
284
309
  if (!sourcePath)
285
310
  return null;
286
311
  // Offer saved Build Plans, but keep selection optional. The agent-first
287
- // path usually creates the Preparation from requested Artifacts first,
288
- // then drafts a custom Build Plan for review.
312
+ // path usually creates the Project from Source first, then drafts a
313
+ // custom Build Plan for review.
289
314
  const buildPlansResp = await callJson(`${conn.url}/v1/build-plans`, conn.token);
290
315
  const buildPlans = buildPlansResp.body?.build_plans ?? [];
291
316
  const buildPlanOptions = buildPlans
@@ -339,30 +364,29 @@ async function flowCreatePreparation(conn) {
339
364
  }
340
365
  }
341
366
  const exitCode = await spawnInterf([
342
- "prep",
367
+ "project",
343
368
  "create",
344
- String(prepId),
369
+ String(projectId),
345
370
  "--source",
346
371
  resolve(String(sourcePath)),
347
372
  ...(buildPlanId ? ["--build-plan", buildPlanId] : []),
348
- ...(aboutText ? ["--about", aboutText] : []),
349
373
  ]);
350
374
  if (exitCode !== 0)
351
375
  return null;
352
- return String(prepId);
376
+ return { id: String(projectId), buildPlanId };
353
377
  }
354
- async function pickPreparation(conn, message) {
355
- const preps = await callJson(`${conn.url}/v1/preparations`, conn.token);
356
- const list = preps.body?.preparations ?? [];
378
+ async function pickProject(conn, message) {
379
+ const projects = await callJson(`${conn.url}/v1/projects`, conn.token);
380
+ const list = projects.body?.projects ?? [];
357
381
  if (list.length === 0) {
358
- console.log(chalk.dim(" No preparations yet. Create one first."));
382
+ console.log(chalk.dim(" No Projects yet. Create one first."));
359
383
  return null;
360
384
  }
361
385
  const choice = await p.select({
362
386
  message,
363
- options: list.map((prep) => ({
364
- value: prep.id,
365
- label: `${prep.id} ${chalk.dim(`(${prep.build_plan_id ?? "no Build Plan"} · ${prep.readiness?.status ?? "-"})`)}`,
387
+ options: list.map((project) => ({
388
+ value: project.id,
389
+ label: `${project.id} ${chalk.dim(`(${project.build_plan_id ?? "no Build Plan"} · ${project.readiness?.status ?? "-"})`)}`,
366
390
  })),
367
391
  });
368
392
  if (p.isCancel(choice))
@@ -371,28 +395,27 @@ async function pickPreparation(conn, message) {
371
395
  }
372
396
  async function showActionMenu(conn, options = { allowAgentRuns: true }) {
373
397
  const buildLabel = options.allowAgentRuns
374
- ? "Build a preparation"
375
- : chalk.dim("Build a preparation (no agents available)");
376
- const testLabel = options.allowAgentRuns
377
- ? "Run readiness checks"
378
- : chalk.dim("Readiness checks (no agents available)");
398
+ ? "Build a Project"
399
+ : chalk.dim("Build a Project (no agents available)");
400
+ const benchmarkLabel = options.allowAgentRuns
401
+ ? "Run benchmark/evaluation"
402
+ : chalk.dim("Benchmark/evaluation (no agents available)");
379
403
  const action = await p.select({
380
404
  message: "What do you want to do?",
381
405
  options: [
382
- { value: "ui", label: "Open Interf UI" },
383
- { value: "ls", label: "List preparations" },
384
- { value: "create", label: "Create a new preparation" },
406
+ { value: "ls", label: "List Projects" },
407
+ { value: "create", label: "Create a new Project" },
385
408
  { value: "agents", label: "Manage agents (list / register / role-map)" },
386
409
  { value: "build", label: buildLabel },
387
- { value: "test", label: testLabel },
388
- { value: "stop", label: "Stop the local engine" },
410
+ { value: "benchmark", label: benchmarkLabel },
411
+ { value: "stop", label: "Stop the local service" },
389
412
  { value: "quit", label: "Quit" },
390
413
  ],
391
414
  });
392
415
  if (p.isCancel(action) || action === "quit")
393
416
  return "exit";
394
417
  if (action === "ls") {
395
- await spawnInterf(["prep", "ls"]);
418
+ await spawnInterf(["project", "ls"]);
396
419
  return "continue";
397
420
  }
398
421
  if (action === "agents") {
@@ -400,17 +423,21 @@ async function showActionMenu(conn, options = { allowAgentRuns: true }) {
400
423
  return "continue";
401
424
  }
402
425
  if (action === "create") {
403
- const newId = await flowCreatePreparation(conn);
404
- if (newId) {
426
+ const created = await flowCreateProject(conn);
427
+ if (created) {
405
428
  if (!options.allowAgentRuns) {
406
429
  console.log(chalk.dim(" Skipping build prompt — no agents available. Install one then run `interf build " +
407
- newId +
430
+ created.id +
408
431
  "`."));
409
432
  }
433
+ else if (!created.buildPlanId) {
434
+ console.log(chalk.dim(` Project ${created.id} created. Draft or select a Build Plan before building: ` +
435
+ `interf plan draft ${created.id} --intent "...".`));
436
+ }
410
437
  else {
411
- const buildNow = await p.confirm({ message: `Build ${newId} now?`, initialValue: true });
438
+ const buildNow = await p.confirm({ message: `Build ${created.id} now?`, initialValue: true });
412
439
  if (!p.isCancel(buildNow) && buildNow) {
413
- await spawnInterf(["build", newId]);
440
+ await spawnInterf(["build", created.id]);
414
441
  }
415
442
  }
416
443
  }
@@ -423,43 +450,25 @@ async function showActionMenu(conn, options = { allowAgentRuns: true }) {
423
450
  console.log(" register a custom CLI: `interf agents register <name> --command <cmd>`.");
424
451
  return "continue";
425
452
  }
426
- const id = await pickPreparation(conn, "Which preparation to build?");
453
+ const id = await pickProject(conn, "Which Project to build?");
427
454
  if (id)
428
455
  await spawnInterf(["build", id]);
429
456
  return "continue";
430
457
  }
431
- if (action === "test") {
458
+ if (action === "benchmark") {
432
459
  if (!options.allowAgentRuns) {
433
- console.log(chalk.yellow(" Cannot run readiness checks — no agents available."));
460
+ console.log(chalk.yellow(" Cannot run benchmark/evaluation — no agents available."));
434
461
  return "continue";
435
462
  }
436
- const id = await pickPreparation(conn, "Which preparation should Interf test?");
463
+ const id = await pickProject(conn, "Which Project should Interf benchmark?");
437
464
  if (id)
438
- await spawnInterf(["test", id]);
439
- return "continue";
440
- }
441
- if (action === "ui") {
442
- const target = `${conn.url}/`;
443
- console.log();
444
- console.log(` Opening ${chalk.bold(target)} in your browser…`);
445
- const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
446
- try {
447
- const child = spawn(command, [target], { detached: true, stdio: "ignore" });
448
- child.on("error", () => {
449
- console.log(chalk.dim(` (Could not open browser; visit ${target} manually.)`));
450
- });
451
- child.unref();
452
- }
453
- catch {
454
- console.log(chalk.dim(` (Could not open browser; visit ${target} manually.)`));
455
- }
456
- console.log();
465
+ await spawnInterf(["benchmark", id]);
457
466
  return "continue";
458
467
  }
459
468
  if (action === "stop") {
460
- const ok = await p.confirm({ message: "Stop the connected engine?", initialValue: false });
469
+ const ok = await p.confirm({ message: "Stop the connected local service?", initialValue: false });
461
470
  if (!p.isCancel(ok) && ok) {
462
- await spawnInterf(["web", "stop"]);
471
+ await spawnInterf(["runtime", "stop"]);
463
472
  return "exit";
464
473
  }
465
474
  return "continue";
@@ -467,17 +476,17 @@ async function showActionMenu(conn, options = { allowAgentRuns: true }) {
467
476
  return "continue";
468
477
  }
469
478
  /**
470
- * Agent install-cards menu shown when the connected engine has zero
479
+ * Agent install-cards menu shown when the connected service has zero
471
480
  * detected + registered agents. Returns:
472
481
  * - "rerun" → user installed an agent and wants to retry detection
473
- * - "skip" → continue in UI-only mode (no build/test)
482
+ * - "skip" → continue in read-only mode (no build/benchmark)
474
483
  * - "quit" → exit
475
484
  */
476
485
  async function showAgentInstallCards() {
477
486
  console.log();
478
487
  console.log(chalk.yellow(" No agents detected."));
479
488
  console.log();
480
- console.log(" Interf needs at least one agent to build verifiable context and run readiness checks.");
489
+ console.log(" Interf needs at least one agent to build a Context Graph and run benchmark/evaluation passes.");
481
490
  console.log();
482
491
  const choice = await p.select({
483
492
  message: "How do you want to proceed?",
@@ -500,7 +509,7 @@ async function showAgentInstallCards() {
500
509
  },
501
510
  {
502
511
  value: "skip",
503
- label: chalk.dim("Skip UI-only mode (browse existing verifiable context only)"),
512
+ label: chalk.dim("Skip - read-only mode (browse existing Context Graph only)"),
504
513
  },
505
514
  { value: "quit", label: chalk.dim("Quit") },
506
515
  ],
@@ -568,7 +577,7 @@ async function showAgentInstallCards() {
568
577
  message: "What now?",
569
578
  options: [
570
579
  { value: "rerun", label: "I installed it — re-detect" },
571
- { value: "skip", label: chalk.dim("Skip continue in UI-only mode") },
580
+ { value: "skip", label: chalk.dim("Skip - continue in read-only mode") },
572
581
  { value: "quit", label: chalk.dim("Quit") },
573
582
  ],
574
583
  });
@@ -580,13 +589,13 @@ async function showAgentInstallCards() {
580
589
  }
581
590
  return "rerun";
582
591
  }
583
- async function fetchAgentSnapshot(conn) {
592
+ async function fetchAgentState(conn) {
584
593
  const instance = await callJson(`${conn.url}/v1/instance`, conn.token);
585
594
  const agentsResponse = await callJson(`${conn.url}/v1/agents`, conn.token);
586
595
  if (instance.status !== 200)
587
596
  return null;
588
- // Engines pre-0.15 don't expose /v1/agents. Surface the gap explicitly
589
- // so the wizard can tell the user to restart instead of silently going
597
+ // Older engines don't expose /v1/agents. Surface the gap explicitly so
598
+ // the wizard can tell the user to restart instead of silently going
590
599
  // through the install-cards flow.
591
600
  const engineSupportsAgents = agentsResponse.status === 200 && instance.body?.agent_count !== undefined;
592
601
  return {
@@ -598,7 +607,7 @@ async function fetchAgentSnapshot(conn) {
598
607
  }
599
608
  async function runWizard(args) {
600
609
  // The wizard is the human entry point, so it can ask how to connect.
601
- // It still never auto-starts an engine: starting `interf web` is an
610
+ // It still never auto-starts a service: starting `interf runtime` is an
602
611
  // explicit foreground choice, and script/agent commands keep the
603
612
  // connect-or-error behavior.
604
613
  const initial = readActiveConnection({
@@ -608,18 +617,17 @@ async function runWizard(args) {
608
617
  let conn = null;
609
618
  if (!initial) {
610
619
  if (await probeHealth(DEFAULT_ENGINE_URL)) {
611
- try {
612
- writeConnection({ url: DEFAULT_ENGINE_URL, auth_token: null });
620
+ conn = await connectToReachableEngine(DEFAULT_ENGINE_URL);
621
+ if (conn) {
622
+ console.log();
623
+ console.log(chalk.dim(` Local service already running at ${DEFAULT_ENGINE_URL} — connecting.`));
613
624
  }
614
- catch {
615
- // best effort
625
+ else {
626
+ conn = await promptForConnection(`Local service is running at ${DEFAULT_ENGINE_URL}, but no bearer token is available.`);
616
627
  }
617
- console.log();
618
- console.log(chalk.dim(` Engine already running at ${DEFAULT_ENGINE_URL} — connecting.`));
619
- conn = { url: DEFAULT_ENGINE_URL, token: null };
620
628
  }
621
629
  else {
622
- conn = await promptForConnection("No Interf engine is connected.");
630
+ conn = await promptForConnection("No Interf local service is connected.");
623
631
  }
624
632
  }
625
633
  else {
@@ -627,15 +635,14 @@ async function runWizard(args) {
627
635
  const probe = await callJson(`${url}/health`, initial.auth_token);
628
636
  if (probe.status === 0) {
629
637
  if (!args.url && await probeHealth(DEFAULT_ENGINE_URL)) {
630
- try {
631
- writeConnection({ url: DEFAULT_ENGINE_URL, auth_token: null });
638
+ conn = await connectToReachableEngine(DEFAULT_ENGINE_URL);
639
+ if (conn) {
640
+ console.log();
641
+ console.log(chalk.dim(` Saved connection ${url} is unreachable; using local service at ${DEFAULT_ENGINE_URL}.`));
632
642
  }
633
- catch {
634
- // best effort
643
+ else {
644
+ conn = await promptForConnection(`Saved connection ${url} is unreachable. The default local service is running, but no bearer token is available.`);
635
645
  }
636
- console.log();
637
- console.log(chalk.dim(` Saved connection ${url} is unreachable; using local engine at ${DEFAULT_ENGINE_URL}.`));
638
- conn = { url: DEFAULT_ENGINE_URL, token: null };
639
646
  }
640
647
  else {
641
648
  conn = await promptForConnection(`Connection ${url} is unreachable.`);
@@ -651,23 +658,21 @@ async function runWizard(args) {
651
658
  const instance = await callJson(`${conn.url}/v1/instance`, conn.token);
652
659
  console.log();
653
660
  console.log(chalk.bold(` Connected to ${conn.url}`));
654
- if (instance.body?.package_version) {
655
- console.log(chalk.dim(` v${instance.body.package_version} · ${instance.body.preparation_count ?? 0} preparation(s)`));
656
- }
657
- // 0.15 — surface the connected agents up front. When zero are
661
+ console.log(chalk.dim(` ${instance.body?.project_count ?? 0} project(s)`));
662
+ // surface the execution agents up front. When zero are
658
663
  // detected, run the install-cards menu before letting the user
659
- // try to build or run readiness checks.
660
- let agents = await fetchAgentSnapshot(conn);
664
+ // try to build or run benchmark/evaluation passes.
665
+ let agents = await fetchAgentState(conn);
661
666
  if (agents && !agents.engineSupportsAgents) {
662
667
  console.log();
663
- console.log(chalk.yellow(" The connected engine is older than this CLI."));
668
+ console.log(chalk.yellow(" The connected local service is older than this CLI."));
664
669
  console.log(chalk.dim(" /v1/agents is not available — agent management is disabled."));
665
670
  console.log();
666
671
  const choice = await p.select({
667
- message: "Restart the engine now to pick up new features?",
672
+ message: "Restart the local service now to pick up new features?",
668
673
  options: [
669
- { value: "restart", label: "Yes stop old engine, start new one" },
670
- { value: "continue", label: chalk.dim("No continue with limited features (no agents UI / build / test)") },
674
+ { value: "restart", label: "Yes - stop old service, start new one" },
675
+ { value: "continue", label: chalk.dim("No - continue with limited features (no agent management, Build runs, or benchmark runs)") },
671
676
  { value: "quit", label: "Quit" },
672
677
  ],
673
678
  initialValue: "restart",
@@ -678,26 +683,26 @@ async function runWizard(args) {
678
683
  }
679
684
  if (choice === "restart") {
680
685
  console.log();
681
- console.log(chalk.dim(" Stopping old engine…"));
682
- await spawnInterf(["web", "stop"]);
686
+ console.log(chalk.dim(" Stopping old service..."));
687
+ await spawnInterf(["runtime", "stop"]);
683
688
  // Small grace period for the OS to release the port.
684
689
  await new Promise((r) => setTimeout(r, 800));
685
690
  const restarted = await startLocalEngineInBackground();
686
691
  if (!restarted) {
687
- console.log(chalk.red(" Could not start the new engine. Try manually: interf web"));
692
+ console.log(chalk.red(" Could not start the new local service. Try manually: interf runtime"));
688
693
  process.exit(1);
689
694
  }
690
695
  conn = restarted;
691
- agents = await fetchAgentSnapshot(conn);
696
+ agents = await fetchAgentState(conn);
692
697
  }
693
698
  }
694
699
  // Treat "all registered agents are unavailable" the same as "no agents
695
700
  // detected" — the install-cards menu lets the user install or register
696
701
  // a real one before the active-agent picker runs.
697
- function installedAgentCount(snapshot) {
698
- if (!snapshot)
702
+ function installedAgentCount(registry) {
703
+ if (!registry)
699
704
  return 0;
700
- return snapshot.agents.filter((agent) => agent.available !== false).length;
705
+ return registry.agents.filter((agent) => agent.available !== false).length;
701
706
  }
702
707
  let allowAgentRuns = installedAgentCount(agents) > 0;
703
708
  while (agents &&
@@ -713,7 +718,7 @@ async function runWizard(args) {
713
718
  break;
714
719
  }
715
720
  // decision === "rerun"
716
- agents = await fetchAgentSnapshot(conn);
721
+ agents = await fetchAgentState(conn);
717
722
  allowAgentRuns = installedAgentCount(agents) > 0;
718
723
  }
719
724
  if (agents && agents.engineSupportsAgents && installedAgentCount(agents) > 0) {
@@ -724,7 +729,7 @@ async function runWizard(args) {
724
729
  //
725
730
  // Custom agents whose CLI is no longer on PATH carry `available: false`
726
731
  // — show them in a hint instead of as selectable choices so the picker
727
- // does not let the user pick something the engine cannot run.
732
+ // does not let the user pick something the local service cannot run.
728
733
  const stale = agents.agents.filter((agent) => agent.available === false);
729
734
  if (stale.length > 0) {
730
735
  const names = stale.map((agent) => agent.display_name || agent.name).join(", ");
@@ -756,14 +761,14 @@ async function runWizard(args) {
756
761
  p.outro("Bye.");
757
762
  return;
758
763
  }
759
- agents = await fetchAgentSnapshot(conn);
764
+ agents = await fetchAgentState(conn);
760
765
  }
761
766
  else if (choice !== agents.defaultAgent) {
762
767
  // Switch active agent before proceeding. Reuse the existing CLI to
763
768
  // sweep the role-map's `general` row + any role pinned to the
764
769
  // previous active.
765
770
  await spawnInterf(["agents", "use", String(choice)]);
766
- agents = await fetchAgentSnapshot(conn);
771
+ agents = await fetchAgentState(conn);
767
772
  }
768
773
  if (agents && agents.defaultAgent) {
769
774
  console.log(chalk.dim(` Active: ${agents.defaultAgent} · roles default to ${agents.defaultAgent}`));
@@ -1,16 +1,19 @@
1
1
  import { agentsCommand } from "./commands/agents.js";
2
2
  import { buildCommand } from "./commands/build.js";
3
- import { testCommand } from "./commands/test.js";
3
+ import { benchmarkCommand } from "./commands/benchmark.js";
4
4
  import { doctorCommand } from "./commands/doctor.js";
5
5
  import { buildPlanCommand } from "./commands/build-plan.js";
6
6
  import { mcpCommand } from "./commands/mcp.js";
7
7
  import { runsCommand } from "./commands/runs.js";
8
+ import { graphsCommand } from "./commands/graphs.js";
9
+ import { tracesCommand } from "./commands/traces.js";
8
10
  import { statusCommand } from "./commands/status.js";
9
11
  import { resetCommand } from "./commands/reset.js";
10
- import { webCommand } from "./commands/web.js";
11
- import { prepCommand } from "./commands/prep.js";
12
+ import { runtimeCommand } from "./commands/runtime.js";
13
+ import { projectCommand } from "./commands/project.js";
12
14
  import { loginCommand } from "./commands/login.js";
13
15
  import { logoutCommand } from "./commands/logout.js";
16
+ import { authCommand } from "./commands/auth.js";
14
17
  import { wizardCommand, initCommand } from "./commands/wizard.js";
15
18
  export declare function buildCli(argv?: string[]): import("yargs").Argv<{}>;
16
19
  export declare function runCli(argv?: string[]): {
@@ -22,4 +25,4 @@ export declare function runCli(argv?: string[]): {
22
25
  _: (string | number)[];
23
26
  $0: string;
24
27
  }>;
25
- export { initCommand, buildCommand, testCommand, agentsCommand, doctorCommand, buildPlanCommand, mcpCommand, runsCommand, statusCommand, resetCommand, webCommand, prepCommand, loginCommand, logoutCommand, wizardCommand, };
28
+ export { initCommand, buildCommand, benchmarkCommand, agentsCommand, doctorCommand, buildPlanCommand, mcpCommand, runsCommand, graphsCommand, tracesCommand, statusCommand, resetCommand, runtimeCommand, projectCommand, loginCommand, logoutCommand, authCommand, wizardCommand, };