@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
package/README.md ADDED
@@ -0,0 +1,268 @@
1
+ # Interf
2
+
3
+ **Interf prepares data for agents.**
4
+
5
+ This npm package ships the `interf` CLI and local Interf runtime for building
6
+ task-specific Context Graphs from files.
7
+
8
+ Agents miss things in files. When agents answer from a folder, they first have
9
+ to discover what is in it, decide what matters, extract evidence, and connect
10
+ facts across files. That file-to-context step is hidden, inconsistent, and hard
11
+ to inspect.
12
+
13
+ Interf separates that step. It makes users' agents build a Context Graph from
14
+ their files. It has source coverage summaries, task-aware knowledge, artifact
15
+ handoffs, and links back to sources. Your agent uses the prepared map instead
16
+ of rediscovering the files during the task.
17
+
18
+ ```text
19
+ Source files Context Graph agents use
20
+
21
+ bristol-office-market/ <context-graph>/
22
+ q4-market-report.pdf AGENTS.md
23
+ lease-comps.xlsx home.md
24
+ planning-notes.md summaries/
25
+ exports/availability.csv knowledge/
26
+ artifacts/
27
+ traces/
28
+ ```
29
+
30
+ ## What a Build Produces
31
+
32
+ A Build produces a Context Graph. The Context Graph is source-backed context
33
+ built from files so agents can use prepared context instead of partial file
34
+ reads.
35
+
36
+ For a local Build, the Context Graph is an inspectable folder:
37
+
38
+ ```text
39
+ <context-graph>/
40
+ AGENTS.md # agent guidance
41
+ home.md # overview and routes
42
+ artifacts/ # task-specific agent handoffs
43
+ summaries/ # source coverage proof
44
+ knowledge/ # navigation and drilldown
45
+ traces/ # links back to sources
46
+ ```
47
+
48
+ The output is not an answer. It is a prepared map over the Source: artifact
49
+ handoffs, summaries, knowledge notes, and links back to sources. The Source
50
+ remains the ground truth. Agents start from `artifacts/`, use `summaries/` for
51
+ coverage proof and `knowledge/` for drilldown, then follow source links when
52
+ exact wording, table values, chart reads, or provenance-sensitive claims matter.
53
+
54
+ ## Design Choices
55
+
56
+ - `Project-scoped`: every Project starts from a specific Source and selected
57
+ Build Plan, not a generic index over every file.
58
+ - `Inspectable`: Interf records what was built, which requested Artifacts exist,
59
+ and where source-backed traces live.
60
+ - `Local-first`: local Builds keep Source files on your machine and read-only.
61
+ - `Bring your own agent`: use Claude Code, Codex, or another registered
62
+ command-line agent.
63
+ - `File over hidden index`: local Builds expose the Context Graph as a folder
64
+ agents can inspect.
65
+ - `Context Checks you control`: every Build can be checked against
66
+ plain-English conditions such as "Every page is covered" or "Every figure
67
+ cites a source page."
68
+
69
+ ## Why Not Just Ask Your Agent?
70
+
71
+ You can. Interf can use Claude Code, Codex, or another registered local agent
72
+ while it builds the Context Graph.
73
+
74
+ A one-off preprocessing prompt gives you another answer to trust. Interf puts
75
+ the preparation step inside a Build Plan you can inspect: requested Artifacts,
76
+ declared stages, Build evidence, Context Checks, and traces.
77
+
78
+ The agent can still execute the stages. Interf shows what was covered, what was
79
+ produced, and whether the Context Graph is ready for the task.
80
+
81
+ ## Install
82
+
83
+ ```bash
84
+ npm install -g @interf/compiler
85
+ interf # opens the wizard
86
+ ```
87
+
88
+ Requires Node.js 20+ and a local agent CLI such as Claude Code, Codex, or
89
+ another registered command-line agent. Run `interf doctor --live` if the
90
+ executor is not detected.
91
+
92
+ ## Quick Start
93
+
94
+ ```bash
95
+ # terminal 1: start the local Interf runtime
96
+ interf runtime
97
+
98
+ # terminal 2: create a Project from a local Source
99
+ interf project create bristol --source ./bristol-office-market
100
+
101
+ # draft the Build Plan for review
102
+ interf plan draft bristol \
103
+ --intent "Bristol annual take-up and availability chart lookup" \
104
+ --artifacts "Guide to the report; annual take-up figures with source references" \
105
+ --ready-when "Every page is listed and every figure has a source reference."
106
+
107
+ # select the reviewed Build Plan
108
+ interf plan select bristol <build-plan-id>
109
+
110
+ # build the Context Graph
111
+ interf build bristol
112
+
113
+ # optional: benchmark/evaluate answers from the Source baseline, Context Graph, or both
114
+ interf benchmark bristol
115
+ ```
116
+
117
+ `interf runtime` starts the local runtime in the foreground and writes the
118
+ active connection record so subsequent CLI commands can connect. Agents can use
119
+ `interf runtime start` for an explicit managed background runtime, then
120
+ `interf runtime stop` when their task is done.
121
+
122
+ Mutating commands never implicitly auto-start a runtime. If no instance is
123
+ connected, they exit with a hint pointing at `interf runtime`,
124
+ `interf runtime start`, or `interf login`.
125
+
126
+ `interf build` returns the Context Graph locator on success. For local Builds,
127
+ that locator points to a folder agents can inspect and continue from. There is
128
+ no `--out` flag and no implicit copy of your Source folder.
129
+
130
+ ## Context Graph
131
+
132
+ The Context Graph is the output Interf builds from your files for agents. It is
133
+ a knowledge map over the Source, not a replacement for the Source.
134
+
135
+ It gives agents structure and source-backed routes for navigating files. For
136
+ the built-in `interf-default`, it includes:
137
+
138
+ ```text
139
+ <context-graph>/
140
+ AGENTS.md # agent-facing guidance and source-checking rules
141
+ CLAUDE.md # same guidance for Claude Code
142
+ home.md # graph index
143
+ artifacts/ # task-specific handoffs for agents
144
+ summaries/ # one source-named folder per source file
145
+ knowledge/ # linked notes built from summaries and source refs
146
+ traces/ # source provenance for claims and checks
147
+ ```
148
+
149
+ The source files stay the source of truth. Interf writes generated state inside
150
+ the instance data directory and does not modify the Source.
151
+
152
+ `AGENTS.md` tells agents how to use the Context Graph: start from the prepared
153
+ outputs, follow the prepared routes, and use the recorded source references
154
+ when exact source evidence matters.
155
+
156
+ ## Build Plans
157
+
158
+ A Build Plan tells Interf how to build requested Artifacts from your Source for
159
+ the agent task. It also states the Context Checks the user can review before the
160
+ Build.
161
+
162
+ The built-in `interf-default` Build Plan ships with `interf`. Save your own
163
+ local Build Plan with `interf plan save <path>`; draft new ones with
164
+ `interf plan draft <project-id>`.
165
+
166
+ ```text
167
+ <build-plan-folder>/
168
+ build-plan.json # Build Plan definition: artifacts, stages, build rules
169
+ build-plan.schema.json # output contract: required Context Graph files/folders
170
+ README.md # what this Build Plan is for
171
+ build/
172
+ stages/
173
+ summarize/ # stage instructions Interf runs during the Build
174
+ structure/
175
+ shape/
176
+ use/
177
+ query/ # how agents read the Context Graph
178
+ improve/ # how Interf revises the plan if checks still fail
179
+ ```
180
+
181
+ - `build-plan.json` is the technical filename for the Build Plan definition:
182
+ requested Artifacts, stages, and how the files should be built.
183
+ - `build-plan.schema.json` describes the output contract: what the Context Graph
184
+ must contain.
185
+ - `build/stages/<stage>/` is where you author one folder per stage.
186
+ - `use/query/` holds the instructions agents follow when they read the Context
187
+ Graph for the task.
188
+ - `improve/` holds the instructions Interf follows when the first Build misses
189
+ and the Build Plan itself needs editing.
190
+
191
+ ## Build Plan Improvement
192
+
193
+ When the first Build is `not ready`, Interf can edit the Build Plan and build
194
+ again. Same Source, same checks, improved Build Plan and Context Graph.
195
+
196
+ ```bash
197
+ interf plan improve <project-id>
198
+ ```
199
+
200
+ Interf records Build Plan improvement as a Run with the revised Build Plan,
201
+ Build evidence, and resulting Context Graph.
202
+
203
+ ## Context Checks And Benchmarks
204
+
205
+ Context Checks are plain-English promises the user reviews before a Build.
206
+ Requested Artifacts back those checks.
207
+
208
+ Examples:
209
+
210
+ - every file in scope was processed
211
+ - required pages or slides were inventoried
212
+ - required outputs exist
213
+ - every figure cites a source page
214
+ - the Source has not changed since the Build
215
+
216
+ Benchmarks are different. A benchmark asks saved questions and measures answer
217
+ accuracy against an agent source-access baseline, the Context Graph, or both.
218
+
219
+ ```bash
220
+ interf benchmark bristol
221
+ interf benchmark bristol --target source-files
222
+ interf benchmark bristol --target context-graph
223
+ ```
224
+
225
+ `interf benchmark` is optional evaluation. It is not the main readiness surface.
226
+
227
+ ## What Interf Is Not
228
+
229
+ - Not a second brain or memory product. One Project starts from one Source and
230
+ agent task.
231
+ - Not a vector store or hosted RAG server. The Context Graph is structured
232
+ source-backed context agents can inspect.
233
+ - Not a hosted data platform by default. Local Builds run on your machine.
234
+ - Not a generic agent task orchestrator. Interf prepares files into Context
235
+ Graphs for agents.
236
+
237
+ ## Useful Commands
238
+
239
+ - `interf` / `interf init` - open the interactive wizard.
240
+ - `interf runtime` - run the local Interf runtime in the foreground.
241
+ - `interf runtime start` - start a managed background local runtime.
242
+ - `interf runtime stop` - stop the running local runtime.
243
+ - `interf project ls / create / show / rm` - manage Projects.
244
+ - `interf plan list / show / save / draft / select / improve` - manage Build
245
+ Plans.
246
+ - `interf build <project-id>` - Build the Context Graph for a Project.
247
+ - `interf graphs ls --project <id>` / `show <graph-id> --project <id>` - inspect
248
+ Context Graphs.
249
+ - `interf traces ls --project <id>` / `show <trace-kind> --project <id>` -
250
+ inspect Context Graph traces.
251
+ - `interf runs ls --project <id>` / `status <run-id>` - inspect Runs.
252
+ - `interf benchmark <project-id>` - run an optional benchmark/evaluation pass.
253
+ - `interf agents ls / use / register / unregister / map / unmap` - configure
254
+ local agents and role mapping.
255
+ - `interf login / logout` - connect the CLI to another Interf instance.
256
+ - `interf status` - show the active connection and Project summary.
257
+ - `interf doctor --live` - check the local executor before a Build.
258
+
259
+ ## Public Assets
260
+
261
+ - [skills/interf](./skills/interf/) - bundled agent Skill for Interf.
262
+ - [build-plans/interf-default](./build-plans/interf-default/) - default Build
263
+ Plan that ships with `interf`.
264
+
265
+ Contributors: see [CONTRIBUTING.md](./CONTRIBUTING.md).
266
+
267
+ License: see [LICENSE.md](./LICENSE.md). © 2026 Interf Inc. All rights reserved.
268
+ Name and branding: see [TRADEMARKS.md](./TRADEMARKS.md).
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ import { startInterfMcpServer, } from "./cli/commands/mcp.js";
3
+ function readOptionValue(argv, index, flag) {
4
+ const current = argv[index];
5
+ const inlinePrefix = `${flag}=`;
6
+ if (current?.startsWith(inlinePrefix)) {
7
+ return { value: current.slice(inlinePrefix.length), nextIndex: index };
8
+ }
9
+ const value = argv[index + 1];
10
+ if (!value || value.startsWith("--")) {
11
+ throw new Error(`Missing value for ${flag}.`);
12
+ }
13
+ return { value, nextIndex: index + 1 };
14
+ }
15
+ function parseArgs(argv) {
16
+ const args = { profile: "app", transport: "stdio" };
17
+ for (let index = 0; index < argv.length; index += 1) {
18
+ const arg = argv[index];
19
+ if (arg === "--help" || arg === "-h") {
20
+ process.stderr.write("usage: interf-mcp [--url <url>] [--token <token>]\n");
21
+ process.exit(0);
22
+ }
23
+ if (arg === "--profile" || arg?.startsWith("--profile=")) {
24
+ const parsed = readOptionValue(argv, index, "--profile");
25
+ if (parsed.value !== "app" && parsed.value !== "headless") {
26
+ throw new Error("--profile must be app or headless.");
27
+ }
28
+ args.profile = parsed.value;
29
+ index = parsed.nextIndex;
30
+ continue;
31
+ }
32
+ if (arg === "--transport" || arg?.startsWith("--transport=")) {
33
+ const parsed = readOptionValue(argv, index, "--transport");
34
+ if (parsed.value !== "stdio") {
35
+ throw new Error("Only stdio transport is supported by the local Interf MCP server.");
36
+ }
37
+ args.transport = parsed.value;
38
+ index = parsed.nextIndex;
39
+ continue;
40
+ }
41
+ if (arg === "--url" || arg?.startsWith("--url=")) {
42
+ const parsed = readOptionValue(argv, index, "--url");
43
+ args.url = parsed.value;
44
+ index = parsed.nextIndex;
45
+ continue;
46
+ }
47
+ if (arg === "--token" || arg?.startsWith("--token=")) {
48
+ const parsed = readOptionValue(argv, index, "--token");
49
+ args.token = parsed.value;
50
+ index = parsed.nextIndex;
51
+ continue;
52
+ }
53
+ throw new Error(`Unknown MCP server option: ${arg ?? ""}`);
54
+ }
55
+ return args;
56
+ }
57
+ try {
58
+ await startInterfMcpServer(parseArgs(process.argv.slice(2)));
59
+ }
60
+ catch (error) {
61
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
62
+ process.exit(1);
63
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env node
2
+ import { runRuntimeForeground, runRuntimeStatus, } from "./cli/commands/runtime.js";
3
+ import { LOCAL_SERVICE_DEFAULT_HOST, LOCAL_SERVICE_DEFAULT_PORT, } from "./packages/runtime/service/routes.js";
4
+ function optionValue(argv, index, flag) {
5
+ const current = argv[index];
6
+ const inlinePrefix = `${flag}=`;
7
+ if (current?.startsWith(inlinePrefix)) {
8
+ return { value: current.slice(inlinePrefix.length), nextIndex: index };
9
+ }
10
+ const value = argv[index + 1];
11
+ if (!value || value.startsWith("--")) {
12
+ throw new Error(`Missing value for ${flag}.`);
13
+ }
14
+ return { value, nextIndex: index + 1 };
15
+ }
16
+ function parseNumber(raw, flag) {
17
+ const value = Number(raw);
18
+ if (!Number.isInteger(value) || value <= 0) {
19
+ throw new Error(`${flag} must be a positive integer.`);
20
+ }
21
+ return value;
22
+ }
23
+ function parseForegroundArgs(argv) {
24
+ const args = {
25
+ host: LOCAL_SERVICE_DEFAULT_HOST,
26
+ port: LOCAL_SERVICE_DEFAULT_PORT,
27
+ };
28
+ for (let index = 0; index < argv.length; index += 1) {
29
+ const arg = argv[index];
30
+ if (arg === "--help" || arg === "-h") {
31
+ process.stderr.write("usage: interf-runtime [--host <host>] [--port <port>] [--app-owned] [--parent-pid <pid>]\n");
32
+ process.exit(0);
33
+ }
34
+ if (arg === "--host" || arg?.startsWith("--host=")) {
35
+ const parsed = optionValue(argv, index, "--host");
36
+ args.host = parsed.value;
37
+ index = parsed.nextIndex;
38
+ continue;
39
+ }
40
+ if (arg === "--port" || arg?.startsWith("--port=")) {
41
+ const parsed = optionValue(argv, index, "--port");
42
+ args.port = parseNumber(parsed.value, "--port");
43
+ index = parsed.nextIndex;
44
+ continue;
45
+ }
46
+ if (arg === "--app-owned") {
47
+ args.appOwned = true;
48
+ continue;
49
+ }
50
+ if (arg === "--parent-pid" || arg?.startsWith("--parent-pid=")) {
51
+ const parsed = optionValue(argv, index, "--parent-pid");
52
+ args.parentPid = parseNumber(parsed.value, "--parent-pid");
53
+ index = parsed.nextIndex;
54
+ continue;
55
+ }
56
+ throw new Error(`Unknown runtime option: ${arg ?? ""}`);
57
+ }
58
+ return args;
59
+ }
60
+ function parseStatusArgs(argv) {
61
+ const args = {};
62
+ for (let index = 0; index < argv.length; index += 1) {
63
+ const arg = argv[index];
64
+ if (arg === "--help" || arg === "-h") {
65
+ process.stderr.write("usage: interf-runtime status [--url <url>] [--token <token>] [--require-owner-kind <kind>] [--require-owner-pid <pid>]\n");
66
+ process.exit(0);
67
+ }
68
+ if (arg === "--url" || arg?.startsWith("--url=")) {
69
+ const parsed = optionValue(argv, index, "--url");
70
+ args.url = parsed.value;
71
+ index = parsed.nextIndex;
72
+ continue;
73
+ }
74
+ if (arg === "--token" || arg?.startsWith("--token=")) {
75
+ const parsed = optionValue(argv, index, "--token");
76
+ args.token = parsed.value;
77
+ index = parsed.nextIndex;
78
+ continue;
79
+ }
80
+ if (arg === "--require-owner-kind" || arg?.startsWith("--require-owner-kind=")) {
81
+ const parsed = optionValue(argv, index, "--require-owner-kind");
82
+ if (parsed.value !== "desktop-app" && parsed.value !== "headless") {
83
+ throw new Error("--require-owner-kind must be desktop-app or headless.");
84
+ }
85
+ args.requireOwnerKind = parsed.value;
86
+ index = parsed.nextIndex;
87
+ continue;
88
+ }
89
+ if (arg === "--require-owner-pid" || arg?.startsWith("--require-owner-pid=")) {
90
+ const parsed = optionValue(argv, index, "--require-owner-pid");
91
+ args.requireOwnerPid = parseNumber(parsed.value, "--require-owner-pid");
92
+ index = parsed.nextIndex;
93
+ continue;
94
+ }
95
+ throw new Error(`Unknown runtime status option: ${arg ?? ""}`);
96
+ }
97
+ return args;
98
+ }
99
+ try {
100
+ const [subcommand, ...rest] = process.argv.slice(2);
101
+ if (subcommand === "status") {
102
+ await runRuntimeStatus(parseStatusArgs(rest));
103
+ }
104
+ else {
105
+ await runRuntimeForeground(parseForegroundArgs(process.argv.slice(2)));
106
+ }
107
+ }
108
+ catch (error) {
109
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
110
+ process.exit(1);
111
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `interf agents` — manage connected agents + role mapping.
2
+ * `interf agents` — manage execution agents + role mapping.
3
3
  *
4
4
  * interf agents ls # list registered + detected
5
5
  * interf agents use <name> # set active agent
@@ -12,7 +12,7 @@
12
12
  * `~/.interf/agents.json` directly — the service is the source of truth.
13
13
  */
14
14
  import chalk from "chalk";
15
- import { CONNECT_OR_ERROR_HINT, readActiveConnection, } from "../../packages/engine/connection-config.js";
15
+ import { CONNECT_OR_ERROR_HINT, readActiveConnection, } from "../../packages/runtime/connection-config.js";
16
16
  function resolveConnection(args) {
17
17
  const conn = readActiveConnection({
18
18
  urlOverride: args.url,
@@ -62,7 +62,7 @@ function printRegistry(registry) {
62
62
  return;
63
63
  }
64
64
  console.log();
65
- console.log(chalk.bold(" Connected agents"));
65
+ console.log(chalk.bold(" Execution agents"));
66
66
  for (const agent of registry.agents) {
67
67
  console.log(formatAgentLine(agent, registry));
68
68
  }
@@ -77,7 +77,7 @@ function printRegistry(registry) {
77
77
  }
78
78
  export const agentsCommand = {
79
79
  command: "agents <subcommand>",
80
- describe: "Manage connected agents and role mapping",
80
+ describe: "Manage execution agents and role mapping",
81
81
  builder: (yargs) => yargs
82
82
  .option("url", { type: "string", describe: "Override the active connection URL" })
83
83
  .option("token", { type: "string", describe: "Override the active bearer token" })
@@ -0,0 +1,20 @@
1
+ import type { CommandModule } from "yargs";
2
+ /**
3
+ * `interf auth` — local user session for the service.
4
+ *
5
+ * `login` drives WorkOS AuthKit PKCE in the browser: spawns a loopback
6
+ * callback server, asks AuthKit for an authorize URL, opens the browser,
7
+ * exchanges the returned code for tokens, persists the refresh token in
8
+ * the system keychain, and writes `~/.interf/auth/session.json` so the
9
+ * service reads the identity on boot.
10
+ *
11
+ * `--dev-stub <email>` keeps the local-only fast path for CI / tests /
12
+ * pre-WorkOS-configuration developer machines. It writes a `local_<email>`
13
+ * session straight to disk without any network hop.
14
+ *
15
+ * The plan tier comes from the cloud control plane (`GET /v1/me`) in a
16
+ * follow-up; today every fresh PKCE login lands as `free` and the
17
+ * entitlements gate on local quotas. The dev stub takes `--plan` so
18
+ * tests can simulate Pro.
19
+ */
20
+ export declare const authCommand: CommandModule;
@@ -0,0 +1,161 @@
1
+ import chalk from "chalk";
2
+ import { clearSession, readSession, writeSession, } from "../../packages/runtime/auth/session-store.js";
3
+ import { entitlementsForPlan } from "../../packages/runtime/auth/account-context.js";
4
+ import { defaultPkceTransport, runPkceFlow, AuthFlowError, } from "../../packages/runtime/auth/auth-flow.js";
5
+ import { deleteRefreshToken, setRefreshToken, } from "../../packages/runtime/auth/keychain.js";
6
+ import { WorkOSConfigError } from "../../packages/runtime/auth/workos-client.js";
7
+ /**
8
+ * `interf auth` — local user session for the service.
9
+ *
10
+ * `login` drives WorkOS AuthKit PKCE in the browser: spawns a loopback
11
+ * callback server, asks AuthKit for an authorize URL, opens the browser,
12
+ * exchanges the returned code for tokens, persists the refresh token in
13
+ * the system keychain, and writes `~/.interf/auth/session.json` so the
14
+ * service reads the identity on boot.
15
+ *
16
+ * `--dev-stub <email>` keeps the local-only fast path for CI / tests /
17
+ * pre-WorkOS-configuration developer machines. It writes a `local_<email>`
18
+ * session straight to disk without any network hop.
19
+ *
20
+ * The plan tier comes from the cloud control plane (`GET /v1/me`) in a
21
+ * follow-up; today every fresh PKCE login lands as `free` and the
22
+ * entitlements gate on local quotas. The dev stub takes `--plan` so
23
+ * tests can simulate Pro.
24
+ */
25
+ export const authCommand = {
26
+ command: "auth <action>",
27
+ describe: "Manage Interf account session (login / logout / whoami)",
28
+ builder: (y) => y
29
+ .positional("action", {
30
+ type: "string",
31
+ choices: ["login", "logout", "whoami"],
32
+ demandOption: true,
33
+ describe: "auth action",
34
+ })
35
+ .option("dev-stub", {
36
+ type: "string",
37
+ describe: "Skip PKCE and write a local-only session for <email>",
38
+ })
39
+ .option("plan", {
40
+ type: "string",
41
+ choices: ["free", "pro", "enterprise"],
42
+ default: "free",
43
+ describe: "Tier to associate with --dev-stub sessions (dev only)",
44
+ })
45
+ .option("no-browser", {
46
+ type: "boolean",
47
+ default: false,
48
+ describe: "Print the AuthKit URL instead of opening the browser",
49
+ })
50
+ .option("login-hint", {
51
+ type: "string",
52
+ describe: "Prefill the AuthKit email field",
53
+ }),
54
+ handler: async (args) => {
55
+ const action = args.action;
56
+ if (action === "whoami") {
57
+ await handleWhoami();
58
+ return;
59
+ }
60
+ if (action === "logout") {
61
+ await handleLogout();
62
+ return;
63
+ }
64
+ if (action === "login") {
65
+ await handleLogin(args);
66
+ return;
67
+ }
68
+ },
69
+ };
70
+ async function handleWhoami() {
71
+ const session = readSession();
72
+ if (!session) {
73
+ console.log(chalk.dim("Not signed in. Run `interf auth login`."));
74
+ return;
75
+ }
76
+ console.log(chalk.bold(session.email));
77
+ console.log(chalk.dim(` user_id: ${session.user_id}`));
78
+ console.log(chalk.dim(` plan: ${session.plan}`));
79
+ const cap = session.entitlements.max_active_projects;
80
+ console.log(chalk.dim(` project cap: ${Number.isFinite(cap) ? cap : "unlimited"}`));
81
+ console.log(chalk.dim(` refreshed_at: ${session.refreshed_at}`));
82
+ }
83
+ async function handleLogout() {
84
+ const session = readSession();
85
+ if (session) {
86
+ try {
87
+ await deleteRefreshToken(session.user_id);
88
+ }
89
+ catch (error) {
90
+ const message = error instanceof Error ? error.message : String(error);
91
+ console.warn(chalk.yellow(` Warning: could not clear keychain entry (${message}).`));
92
+ }
93
+ }
94
+ clearSession();
95
+ console.log(chalk.green("Signed out. Session cleared."));
96
+ }
97
+ async function handleLogin(args) {
98
+ const devStubEmail = args["dev-stub"];
99
+ if (devStubEmail) {
100
+ writeStubSession(devStubEmail, args.plan ?? "free");
101
+ return;
102
+ }
103
+ try {
104
+ const result = await runPkceFlow(defaultPkceTransport(), {
105
+ autoOpenBrowser: !args["no-browser"],
106
+ ...(args["login-hint"] ? { loginHint: args["login-hint"] } : {}),
107
+ });
108
+ try {
109
+ await setRefreshToken(result.user.id, result.refreshToken);
110
+ }
111
+ catch (error) {
112
+ const message = error instanceof Error ? error.message : String(error);
113
+ console.warn(chalk.yellow(` Warning: could not persist refresh token (${message}). ` +
114
+ "You may need to re-run `interf auth login` after the next service restart."));
115
+ }
116
+ const refreshedAt = new Date().toISOString();
117
+ const plan = "free";
118
+ const displayName = [result.user.firstName, result.user.lastName]
119
+ .filter((part) => typeof part === "string" && part.length > 0)
120
+ .join(" ") || null;
121
+ writeSession({
122
+ user_id: result.user.id,
123
+ email: result.user.email,
124
+ display_name: displayName,
125
+ plan,
126
+ entitlements: entitlementsForPlan(plan),
127
+ refreshed_at: refreshedAt,
128
+ });
129
+ console.log(chalk.green(`Signed in as ${result.user.email}.`));
130
+ console.log(chalk.dim(" Session written to ~/.interf/auth/session.json."));
131
+ console.log(chalk.dim(" Restart `interf runtime` to pick up the new account context."));
132
+ return;
133
+ }
134
+ catch (error) {
135
+ if (error instanceof WorkOSConfigError) {
136
+ console.error(chalk.red(error.message));
137
+ process.exit(2);
138
+ }
139
+ if (error instanceof AuthFlowError) {
140
+ console.error(chalk.red(`Sign-in failed: ${error.message}`));
141
+ process.exit(1);
142
+ }
143
+ const message = error instanceof Error ? error.message : String(error);
144
+ console.error(chalk.red(`Sign-in failed: ${message}`));
145
+ process.exit(1);
146
+ }
147
+ }
148
+ function writeStubSession(email, plan) {
149
+ const refreshedAt = new Date().toISOString();
150
+ writeSession({
151
+ user_id: `local_${email.replace(/[^a-zA-Z0-9_-]/g, "_")}`,
152
+ email,
153
+ display_name: email.split("@")[0] ?? null,
154
+ plan,
155
+ entitlements: entitlementsForPlan(plan),
156
+ refreshed_at: refreshedAt,
157
+ });
158
+ console.log(chalk.green(`Signed in as ${email} (${plan}) [dev stub].`));
159
+ console.log(chalk.dim(" Local session written to ~/.interf/auth/session.json."));
160
+ console.log(chalk.dim(" No network hop; this bypass is for CI / local testing only."));
161
+ }
@@ -0,0 +1,10 @@
1
+ import type { CommandModule } from "yargs";
2
+ type BenchmarkTarget = "context-graph" | "source-files" | "both";
3
+ interface BenchmarkArgs {
4
+ projectId: string;
5
+ target?: BenchmarkTarget;
6
+ url?: string;
7
+ token?: string;
8
+ }
9
+ export declare const benchmarkCommand: CommandModule<unknown, BenchmarkArgs>;
10
+ export {};