@nifrajs/cli 3.5.0 → 4.0.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 (403) hide show
  1. package/README.md +42 -3
  2. package/dist/app-files.d.ts +11 -0
  3. package/dist/app-files.d.ts.map +1 -0
  4. package/dist/app-files.js +34 -0
  5. package/dist/app-files.js.map +1 -0
  6. package/dist/assure-hydration.d.ts +7 -1
  7. package/dist/assure-hydration.d.ts.map +1 -1
  8. package/dist/assure-hydration.js +128 -43
  9. package/dist/assure-hydration.js.map +1 -1
  10. package/dist/assure.d.ts.map +1 -1
  11. package/dist/assure.js +16 -2
  12. package/dist/assure.js.map +1 -1
  13. package/dist/capabilities-tool.d.ts +5 -1
  14. package/dist/capabilities-tool.d.ts.map +1 -1
  15. package/dist/capabilities-tool.js +32 -10
  16. package/dist/capabilities-tool.js.map +1 -1
  17. package/dist/cdn-check.d.ts +41 -0
  18. package/dist/cdn-check.d.ts.map +1 -0
  19. package/dist/cdn-check.js +207 -0
  20. package/dist/cdn-check.js.map +1 -0
  21. package/dist/check-diagnostics.d.ts +4 -0
  22. package/dist/check-diagnostics.d.ts.map +1 -1
  23. package/dist/check-diagnostics.js +13 -0
  24. package/dist/check-diagnostics.js.map +1 -1
  25. package/dist/check-scan.d.ts +49 -7
  26. package/dist/check-scan.d.ts.map +1 -1
  27. package/dist/check-scan.js +291 -62
  28. package/dist/check-scan.js.map +1 -1
  29. package/dist/check.d.ts.map +1 -1
  30. package/dist/check.js +99 -63
  31. package/dist/check.js.map +1 -1
  32. package/dist/cli.d.ts +42 -16
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +262 -82
  35. package/dist/cli.js.map +1 -1
  36. package/dist/command-catalog.d.ts +57 -5
  37. package/dist/command-catalog.d.ts.map +1 -1
  38. package/dist/command-catalog.js +270 -26
  39. package/dist/command-catalog.js.map +1 -1
  40. package/dist/config-target.d.ts +8 -0
  41. package/dist/config-target.d.ts.map +1 -0
  42. package/dist/config-target.js +45 -0
  43. package/dist/config-target.js.map +1 -0
  44. package/dist/contracts.d.ts.map +1 -1
  45. package/dist/contracts.js +52 -13
  46. package/dist/contracts.js.map +1 -1
  47. package/dist/db-audit.d.ts +37 -0
  48. package/dist/db-audit.d.ts.map +1 -0
  49. package/dist/db-audit.js +99 -0
  50. package/dist/db-audit.js.map +1 -0
  51. package/dist/db-child.d.ts +64 -0
  52. package/dist/db-child.d.ts.map +1 -0
  53. package/dist/db-child.js +213 -0
  54. package/dist/db-child.js.map +1 -0
  55. package/dist/db-config.d.ts +60 -0
  56. package/dist/db-config.d.ts.map +1 -0
  57. package/dist/db-config.js +176 -0
  58. package/dist/db-config.js.map +1 -0
  59. package/dist/db-tool.d.ts +84 -0
  60. package/dist/db-tool.d.ts.map +1 -0
  61. package/dist/db-tool.js +537 -0
  62. package/dist/db-tool.js.map +1 -0
  63. package/dist/dev-bun-config.d.ts +20 -13
  64. package/dist/dev-bun-config.d.ts.map +1 -1
  65. package/dist/dev-bun-config.js +98 -41
  66. package/dist/dev-bun-config.js.map +1 -1
  67. package/dist/dev-feed-tool.d.ts +106 -0
  68. package/dist/dev-feed-tool.d.ts.map +1 -0
  69. package/dist/dev-feed-tool.js +713 -0
  70. package/dist/dev-feed-tool.js.map +1 -0
  71. package/dist/dev-server-client.d.ts +67 -0
  72. package/dist/dev-server-client.d.ts.map +1 -0
  73. package/dist/dev-server-client.js +195 -0
  74. package/dist/dev-server-client.js.map +1 -0
  75. package/dist/diff-tool.d.ts +3 -3
  76. package/dist/diff-tool.d.ts.map +1 -1
  77. package/dist/diff-tool.js +6 -5
  78. package/dist/diff-tool.js.map +1 -1
  79. package/dist/docs-search.d.ts.map +1 -1
  80. package/dist/docs-search.js +12 -4
  81. package/dist/docs-search.js.map +1 -1
  82. package/dist/doctor.d.ts +17 -0
  83. package/dist/doctor.d.ts.map +1 -1
  84. package/dist/doctor.js +76 -15
  85. package/dist/doctor.js.map +1 -1
  86. package/dist/env-file.d.ts +15 -0
  87. package/dist/env-file.d.ts.map +1 -1
  88. package/dist/env-file.js +73 -1
  89. package/dist/env-file.js.map +1 -1
  90. package/dist/fix-recipes.d.ts.map +1 -1
  91. package/dist/fix-recipes.js +41 -21
  92. package/dist/fix-recipes.js.map +1 -1
  93. package/dist/frontend-guidance.js +5 -5
  94. package/dist/frontend-guidance.js.map +1 -1
  95. package/dist/i18n-check.d.ts +16 -0
  96. package/dist/i18n-check.d.ts.map +1 -0
  97. package/dist/i18n-check.js +154 -0
  98. package/dist/i18n-check.js.map +1 -0
  99. package/dist/init-agents.d.ts +49 -13
  100. package/dist/init-agents.d.ts.map +1 -1
  101. package/dist/init-agents.js +239 -34
  102. package/dist/init-agents.js.map +1 -1
  103. package/dist/internal/code-unit-order.d.ts +4 -0
  104. package/dist/internal/code-unit-order.d.ts.map +1 -0
  105. package/dist/internal/code-unit-order.js +6 -0
  106. package/dist/internal/code-unit-order.js.map +1 -0
  107. package/dist/internal/script-kind.d.ts +7 -0
  108. package/dist/internal/script-kind.d.ts.map +1 -0
  109. package/dist/internal/script-kind.js +12 -0
  110. package/dist/internal/script-kind.js.map +1 -0
  111. package/dist/internal/source-facts.d.ts +5 -0
  112. package/dist/internal/source-facts.d.ts.map +1 -1
  113. package/dist/internal/source-facts.js +61 -5
  114. package/dist/internal/source-facts.js.map +1 -1
  115. package/dist/internal/typescript-import.d.ts +49 -24
  116. package/dist/internal/typescript-import.d.ts.map +1 -1
  117. package/dist/internal/typescript-import.js +507 -67
  118. package/dist/internal/typescript-import.js.map +1 -1
  119. package/dist/introspect.d.ts +5 -1
  120. package/dist/introspect.d.ts.map +1 -1
  121. package/dist/introspect.js +92 -27
  122. package/dist/introspect.js.map +1 -1
  123. package/dist/learn.js +3 -3
  124. package/dist/learn.js.map +1 -1
  125. package/dist/levels-tool.d.ts +10 -0
  126. package/dist/levels-tool.d.ts.map +1 -1
  127. package/dist/levels-tool.js +33 -3
  128. package/dist/levels-tool.js.map +1 -1
  129. package/dist/load.d.ts +67 -17
  130. package/dist/load.d.ts.map +1 -1
  131. package/dist/load.js +78 -18
  132. package/dist/load.js.map +1 -1
  133. package/dist/manifest-tool.d.ts.map +1 -1
  134. package/dist/manifest-tool.js +3 -2
  135. package/dist/manifest-tool.js.map +1 -1
  136. package/dist/mcp-app-tool.d.ts.map +1 -1
  137. package/dist/mcp-app-tool.js +2 -0
  138. package/dist/mcp-app-tool.js.map +1 -1
  139. package/dist/mcp-context.js +1 -1
  140. package/dist/mcp-context.js.map +1 -1
  141. package/dist/mcp-delegate.d.ts +57 -0
  142. package/dist/mcp-delegate.d.ts.map +1 -0
  143. package/dist/mcp-delegate.js +130 -0
  144. package/dist/mcp-delegate.js.map +1 -0
  145. package/dist/mcp-docs-tools.d.ts.map +1 -1
  146. package/dist/mcp-docs-tools.js +23 -5
  147. package/dist/mcp-docs-tools.js.map +1 -1
  148. package/dist/mcp-exec.d.ts +2 -0
  149. package/dist/mcp-exec.d.ts.map +1 -1
  150. package/dist/mcp-exec.js +132 -108
  151. package/dist/mcp-exec.js.map +1 -1
  152. package/dist/mcp-http.d.ts.map +1 -1
  153. package/dist/mcp-http.js +17 -5
  154. package/dist/mcp-http.js.map +1 -1
  155. package/dist/mcp-io.d.ts +14 -0
  156. package/dist/mcp-io.d.ts.map +1 -1
  157. package/dist/mcp-io.js +45 -0
  158. package/dist/mcp-io.js.map +1 -1
  159. package/dist/mcp-isolate.d.ts +48 -0
  160. package/dist/mcp-isolate.d.ts.map +1 -0
  161. package/dist/mcp-isolate.js +222 -0
  162. package/dist/mcp-isolate.js.map +1 -0
  163. package/dist/mcp-project-child.d.ts +74 -0
  164. package/dist/mcp-project-child.d.ts.map +1 -0
  165. package/dist/mcp-project-child.js +130 -0
  166. package/dist/mcp-project-child.js.map +1 -0
  167. package/dist/mcp-render.js +2 -2
  168. package/dist/mcp-render.js.map +1 -1
  169. package/dist/mcp-root.d.ts +37 -9
  170. package/dist/mcp-root.d.ts.map +1 -1
  171. package/dist/mcp-root.js +110 -23
  172. package/dist/mcp-root.js.map +1 -1
  173. package/dist/mcp-run.d.ts +18 -1
  174. package/dist/mcp-run.d.ts.map +1 -1
  175. package/dist/mcp-run.js +82 -9
  176. package/dist/mcp-run.js.map +1 -1
  177. package/dist/mcp-ws.js +4 -1
  178. package/dist/mcp-ws.js.map +1 -1
  179. package/dist/mcp.d.ts +16 -3
  180. package/dist/mcp.d.ts.map +1 -1
  181. package/dist/mcp.js +81 -53
  182. package/dist/mcp.js.map +1 -1
  183. package/dist/migrate-layout.d.ts +44 -0
  184. package/dist/migrate-layout.d.ts.map +1 -0
  185. package/dist/migrate-layout.js +982 -0
  186. package/dist/migrate-layout.js.map +1 -0
  187. package/dist/openapi-tool.d.ts +2 -2
  188. package/dist/openapi-tool.d.ts.map +1 -1
  189. package/dist/openapi-tool.js.map +1 -1
  190. package/dist/openapi-types.d.ts +2 -1
  191. package/dist/openapi-types.d.ts.map +1 -1
  192. package/dist/openapi-types.js +240 -12
  193. package/dist/openapi-types.js.map +1 -1
  194. package/dist/pipeline-report.d.ts +3 -2
  195. package/dist/pipeline-report.d.ts.map +1 -1
  196. package/dist/pipeline-report.js +19 -16
  197. package/dist/pipeline-report.js.map +1 -1
  198. package/dist/port.d.ts +5 -4
  199. package/dist/port.d.ts.map +1 -1
  200. package/dist/port.js +46 -29
  201. package/dist/port.js.map +1 -1
  202. package/dist/project-facts.d.ts +5 -0
  203. package/dist/project-facts.d.ts.map +1 -1
  204. package/dist/project-facts.js.map +1 -1
  205. package/dist/recipes/4.0.0.d.ts +9 -0
  206. package/dist/recipes/4.0.0.d.ts.map +1 -0
  207. package/dist/recipes/4.0.0.js +34 -0
  208. package/dist/recipes/4.0.0.js.map +1 -0
  209. package/dist/recipes/index.d.ts.map +1 -1
  210. package/dist/recipes/index.js +2 -0
  211. package/dist/recipes/index.js.map +1 -1
  212. package/dist/release-verification.d.ts +11 -1
  213. package/dist/release-verification.d.ts.map +1 -1
  214. package/dist/release-verification.js +47 -4
  215. package/dist/release-verification.js.map +1 -1
  216. package/dist/review.d.ts.map +1 -1
  217. package/dist/review.js +12 -8
  218. package/dist/review.js.map +1 -1
  219. package/dist/route-types.d.ts +28 -0
  220. package/dist/route-types.d.ts.map +1 -0
  221. package/dist/route-types.js +106 -0
  222. package/dist/route-types.js.map +1 -0
  223. package/dist/rules/codes.d.ts +9 -0
  224. package/dist/rules/codes.d.ts.map +1 -1
  225. package/dist/rules/codes.js +9 -0
  226. package/dist/rules/codes.js.map +1 -1
  227. package/dist/rules/data-guard.d.ts +12 -0
  228. package/dist/rules/data-guard.d.ts.map +1 -0
  229. package/dist/rules/data-guard.js +213 -0
  230. package/dist/rules/data-guard.js.map +1 -0
  231. package/dist/rules/index.d.ts +3 -0
  232. package/dist/rules/index.d.ts.map +1 -1
  233. package/dist/rules/index.js +17 -5
  234. package/dist/rules/index.js.map +1 -1
  235. package/dist/rules/islands.d.ts.map +1 -1
  236. package/dist/rules/islands.js +7 -4
  237. package/dist/rules/islands.js.map +1 -1
  238. package/dist/rules/legacy.d.ts.map +1 -1
  239. package/dist/rules/legacy.js +71 -38
  240. package/dist/rules/legacy.js.map +1 -1
  241. package/dist/rules/nano.d.ts.map +1 -1
  242. package/dist/rules/nano.js +15 -6
  243. package/dist/rules/nano.js.map +1 -1
  244. package/dist/rules/pages.d.ts +15 -0
  245. package/dist/rules/pages.d.ts.map +1 -0
  246. package/dist/rules/pages.js +88 -0
  247. package/dist/rules/pages.js.map +1 -0
  248. package/dist/rules/routes.d.ts +11 -0
  249. package/dist/rules/routes.d.ts.map +1 -1
  250. package/dist/rules/routes.js +180 -2
  251. package/dist/rules/routes.js.map +1 -1
  252. package/dist/rules/secrets.d.ts +10 -0
  253. package/dist/rules/secrets.d.ts.map +1 -0
  254. package/dist/rules/secrets.js +169 -0
  255. package/dist/rules/secrets.js.map +1 -0
  256. package/dist/rules/security.d.ts +7 -0
  257. package/dist/rules/security.d.ts.map +1 -1
  258. package/dist/rules/security.js +171 -65
  259. package/dist/rules/security.js.map +1 -1
  260. package/dist/rules/typescript.d.ts +16 -0
  261. package/dist/rules/typescript.d.ts.map +1 -0
  262. package/dist/rules/typescript.js +59 -0
  263. package/dist/rules/typescript.js.map +1 -0
  264. package/dist/rules/zones.d.ts +17 -0
  265. package/dist/rules/zones.d.ts.map +1 -0
  266. package/dist/rules/zones.js +174 -0
  267. package/dist/rules/zones.js.map +1 -0
  268. package/dist/scaffold.d.ts +25 -12
  269. package/dist/scaffold.d.ts.map +1 -1
  270. package/dist/scaffold.js +132 -87
  271. package/dist/scaffold.js.map +1 -1
  272. package/dist/sdk.d.ts +17 -3
  273. package/dist/sdk.d.ts.map +1 -1
  274. package/dist/sdk.js +941 -153
  275. package/dist/sdk.js.map +1 -1
  276. package/dist/search-terms.d.ts +2 -0
  277. package/dist/search-terms.d.ts.map +1 -1
  278. package/dist/search-terms.js +23 -8
  279. package/dist/search-terms.js.map +1 -1
  280. package/dist/smoke.d.ts +79 -0
  281. package/dist/smoke.d.ts.map +1 -0
  282. package/dist/smoke.js +494 -0
  283. package/dist/smoke.js.map +1 -0
  284. package/dist/sync-manifest.d.ts.map +1 -1
  285. package/dist/sync-manifest.js +2 -1
  286. package/dist/sync-manifest.js.map +1 -1
  287. package/dist/sync-routes.d.ts +4 -3
  288. package/dist/sync-routes.d.ts.map +1 -1
  289. package/dist/sync-routes.js +4 -3
  290. package/dist/sync-routes.js.map +1 -1
  291. package/dist/test-tool.d.ts.map +1 -1
  292. package/dist/test-tool.js +30 -11
  293. package/dist/test-tool.js.map +1 -1
  294. package/dist/types-search.d.ts.map +1 -1
  295. package/dist/types-search.js +11 -5
  296. package/dist/types-search.js.map +1 -1
  297. package/dist/upgrade.d.ts +36 -6
  298. package/dist/upgrade.d.ts.map +1 -1
  299. package/dist/upgrade.js +167 -29
  300. package/dist/upgrade.js.map +1 -1
  301. package/dist/verification-plan.d.ts.map +1 -1
  302. package/dist/verification-plan.js +4 -0
  303. package/dist/verification-plan.js.map +1 -1
  304. package/dist/verification.d.ts.map +1 -1
  305. package/dist/verification.js +45 -12
  306. package/dist/verification.js.map +1 -1
  307. package/dist/web-app-options.d.ts +19 -0
  308. package/dist/web-app-options.d.ts.map +1 -0
  309. package/dist/web-app-options.js +49 -0
  310. package/dist/web-app-options.js.map +1 -0
  311. package/dist/work-graph.d.ts.map +1 -1
  312. package/dist/work-graph.js +29 -13
  313. package/dist/work-graph.js.map +1 -1
  314. package/docs/examples.json +185 -29
  315. package/docs/llms-full.txt +3807 -580
  316. package/docs/types.json +14229 -10939
  317. package/package.json +19 -12
  318. package/src/app-files.ts +40 -0
  319. package/src/assure-hydration.ts +139 -46
  320. package/src/assure.ts +17 -2
  321. package/src/capabilities-tool.ts +35 -9
  322. package/src/cdn-check.ts +268 -0
  323. package/src/check-diagnostics.ts +17 -0
  324. package/src/check-scan.ts +358 -63
  325. package/src/check.ts +97 -62
  326. package/src/cli.ts +296 -87
  327. package/src/command-catalog.ts +374 -38
  328. package/src/config-target.ts +47 -0
  329. package/src/contracts.ts +54 -12
  330. package/src/db-audit.ts +128 -0
  331. package/src/db-child.ts +285 -0
  332. package/src/db-config.ts +224 -0
  333. package/src/db-tool.ts +690 -0
  334. package/src/dev-bun-config.ts +116 -40
  335. package/src/dev-feed-tool.ts +912 -0
  336. package/src/dev-server-client.ts +267 -0
  337. package/src/diff-tool.ts +6 -5
  338. package/src/docs-search.ts +10 -3
  339. package/src/doctor.ts +98 -15
  340. package/src/env-file.ts +78 -1
  341. package/src/fix-recipes.ts +44 -31
  342. package/src/frontend-guidance.ts +5 -5
  343. package/src/i18n-check.ts +179 -0
  344. package/src/init-agents.ts +301 -38
  345. package/src/internal/code-unit-order.ts +5 -0
  346. package/src/internal/script-kind.ts +11 -0
  347. package/src/internal/source-facts.ts +96 -22
  348. package/src/internal/typescript-import.ts +663 -68
  349. package/src/introspect.ts +90 -27
  350. package/src/learn.ts +3 -3
  351. package/src/levels-tool.ts +47 -2
  352. package/src/load.ts +140 -33
  353. package/src/manifest-tool.ts +3 -2
  354. package/src/mcp-app-tool.ts +2 -0
  355. package/src/mcp-context.ts +1 -1
  356. package/src/mcp-delegate.ts +162 -0
  357. package/src/mcp-docs-tools.ts +23 -5
  358. package/src/mcp-exec.ts +160 -132
  359. package/src/mcp-http.ts +19 -5
  360. package/src/mcp-io.ts +57 -0
  361. package/src/mcp-isolate.ts +287 -0
  362. package/src/mcp-project-child.ts +182 -0
  363. package/src/mcp-render.ts +2 -2
  364. package/src/mcp-root.ts +117 -22
  365. package/src/mcp-run.ts +104 -10
  366. package/src/mcp-ws.ts +4 -1
  367. package/src/mcp.ts +106 -64
  368. package/src/migrate-layout.ts +1121 -0
  369. package/src/openapi-tool.ts +7 -3
  370. package/src/openapi-types.ts +315 -13
  371. package/src/pipeline-report.ts +22 -18
  372. package/src/port.ts +53 -30
  373. package/src/project-facts.ts +5 -0
  374. package/src/recipes/4.0.0.ts +35 -0
  375. package/src/recipes/index.ts +2 -0
  376. package/src/release-verification.ts +74 -5
  377. package/src/review.ts +13 -8
  378. package/src/route-types.ts +133 -0
  379. package/src/rules/codes.ts +9 -0
  380. package/src/rules/data-guard.ts +230 -0
  381. package/src/rules/index.ts +18 -5
  382. package/src/rules/islands.ts +12 -4
  383. package/src/rules/legacy.ts +71 -39
  384. package/src/rules/nano.ts +18 -6
  385. package/src/rules/pages.ts +99 -0
  386. package/src/rules/routes.ts +181 -2
  387. package/src/rules/secrets.ts +174 -0
  388. package/src/rules/security.ts +198 -70
  389. package/src/rules/typescript.ts +77 -0
  390. package/src/rules/zones.ts +195 -0
  391. package/src/scaffold.ts +147 -95
  392. package/src/sdk.ts +1215 -158
  393. package/src/search-terms.ts +24 -7
  394. package/src/smoke.ts +607 -0
  395. package/src/sync-manifest.ts +2 -1
  396. package/src/sync-routes.ts +4 -3
  397. package/src/test-tool.ts +32 -11
  398. package/src/types-search.ts +11 -4
  399. package/src/upgrade.ts +205 -25
  400. package/src/verification-plan.ts +13 -0
  401. package/src/verification.ts +50 -12
  402. package/src/web-app-options.ts +57 -0
  403. package/src/work-graph.ts +27 -13
package/dist/mcp-run.js CHANGED
@@ -16,8 +16,10 @@ import { existsSync, realpathSync } from "node:fs";
16
16
  import { isAbsolute, relative, resolve, sep } from "node:path";
17
17
  import { pathToFileURL } from "node:url";
18
18
  import { runApp } from "@nifrajs/runner";
19
+ import { captureInto, createDevFeed, runWithDevRequest, } from "@nifrajs/web/dev-feed";
20
+ import { BACKEND_APP_FILE } from "./app-files.js";
19
21
  import { CHILD_INPUT_MAX_BYTES, CHILD_OUTPUT_MAX_BYTES, readBoundedLines, readBoundedStream, serializeBoundedJson, } from "./mcp-io.js";
20
- const ENTRY_CANDIDATES = ["backend.ts", "app.ts", "src/backend.ts", "src/app.ts"];
22
+ const ENTRY_CANDIDATES = [BACKEND_APP_FILE, "app.ts", "src/app.ts"];
21
23
  const errString = (err) => err instanceof Error ? `${err.name}: ${err.message}` : String(err);
22
24
  export async function loadBackend(cwd, entry) {
23
25
  const candidates = entry && entry.length > 0 ? [entry] : ENTRY_CANDIDATES;
@@ -73,12 +75,65 @@ export async function runBackend(cwd, requests, entry) {
73
75
  if ("error" in loaded)
74
76
  return loaded;
75
77
  try {
76
- return { results: await runApp(loaded.app, requests) };
78
+ return { results: await runCaptured(cwd, loaded.app, requests) };
77
79
  }
78
80
  catch (err) {
79
81
  return { error: errString(err) };
80
82
  }
81
83
  }
84
+ const MAX_LOGS_PER_REQUEST = 100;
85
+ /**
86
+ * Run `requests` one at a time, each inside its own request context, so what a handler logs - and
87
+ * core's `unhandled request error` line behind a bare 500 - lands on the result of the request that
88
+ * produced it, redacted, with the error as a Diagnostic (codeframe, cause, fix). Without this a 500 came
89
+ * back as `internal_error` and the reason only ever reached a stderr nobody reads.
90
+ */
91
+ export async function runCaptured(cwd, app, requests) {
92
+ const feed = createDevFeed({ root: cwd, persist: false });
93
+ const detach = captureInto(feed);
94
+ const runs = [];
95
+ try {
96
+ for (const [index, spec] of requests.entries()) {
97
+ const requestId = `run${index + 1}`;
98
+ const [method, path] = describeSpec(spec);
99
+ const [result] = await runWithDevRequest({ feedId: feed.id, requestId, method, path },
100
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: runApp validates each spec itself and reports a malformed one as that request's error.
101
+ () => runApp(app, [spec]));
102
+ if (result !== undefined)
103
+ runs.push({ requestId, result });
104
+ }
105
+ // A line a handler scheduled for later (a promise continuation, a 0 ms timer) still lands.
106
+ await new Promise((resolve) => setTimeout(resolve, 0));
107
+ }
108
+ finally {
109
+ detach();
110
+ }
111
+ return runs.map(({ requestId, result }) => withCapture(feed, requestId, result));
112
+ }
113
+ function describeSpec(spec) {
114
+ if (typeof spec !== "object" || spec === null)
115
+ return ["GET", "/"];
116
+ const method = "method" in spec && typeof spec.method === "string" ? spec.method : "GET";
117
+ const path = "path" in spec && typeof spec.path === "string" ? spec.path : "/";
118
+ return [method, path];
119
+ }
120
+ function withCapture(feed, requestId, result) {
121
+ if (result.error !== undefined) {
122
+ const thrown = new Error(result.error.message);
123
+ thrown.name = result.error.name;
124
+ if (result.error.stack !== undefined)
125
+ thrown.stack = result.error.stack;
126
+ feed.recordError(thrown, { category: "api", requestId });
127
+ }
128
+ const capture = {};
129
+ const logs = feed.logs({ requestId, limit: MAX_LOGS_PER_REQUEST }).logs;
130
+ if (logs.length > 0)
131
+ capture.logs = logs.map(({ level, message }) => ({ level, message }));
132
+ const errors = feed.errors({ requestId }).errors;
133
+ if (errors.length > 0)
134
+ capture.errors = errors.map((entry) => entry.diagnostic);
135
+ return { ...result, ...capture };
136
+ }
82
137
  function redirectConsoleToStderr() {
83
138
  const write = (level, args) => {
84
139
  Bun.stderr.write(`[${level}] ${args.map((arg) => String(arg)).join(" ")}\n`);
@@ -96,13 +151,28 @@ function safeResponseId(value) {
96
151
  return value;
97
152
  return null;
98
153
  }
99
- async function runWorker(cwd) {
154
+ /**
155
+ * Keep stdout for the protocol. The app's console and any direct `process.stdout.write` go to stderr,
156
+ * or a stray `console.log` in a handler would corrupt the JSON the parent reads. Returns the writer
157
+ * that still reaches the real stdout.
158
+ */
159
+ function reserveStdout() {
100
160
  redirectConsoleToStderr();
161
+ const original = Reflect.get(process.stdout, "write");
162
+ const write = typeof original === "function" ? original.bind(process.stdout) : undefined;
163
+ // Bound now, before any capture patches stderr: a redirected stdout line is captured once, as stdout.
164
+ const toStderr = process.stderr.write.bind(process.stderr);
165
+ Reflect.set(process.stdout, "write", (chunk, ...rest) => Reflect.apply(toStderr, process.stderr, [chunk, ...rest]));
166
+ return (text) => {
167
+ write?.(text);
168
+ };
169
+ }
170
+ async function runWorker(cwd, protocol) {
101
171
  const apps = new Map();
102
172
  const send = (id, output) => {
103
173
  const responseId = safeResponseId(id);
104
174
  const encoded = serializeBoundedJson({ id: responseId, output }, CHILD_OUTPUT_MAX_BYTES - 1);
105
- process.stdout.write(`${encoded ?? JSON.stringify({ id: responseId, output: { error: "worker output exceeded the size limit" } })}\n`);
175
+ protocol(`${encoded ?? JSON.stringify({ id: responseId, output: { error: "worker output exceeded the size limit" } })}\n`);
106
176
  };
107
177
  for await (const item of readBoundedLines(Bun.stdin.stream(), CHILD_INPUT_MAX_BYTES)) {
108
178
  if (item.kind === "too-large") {
@@ -156,9 +226,7 @@ async function runWorker(cwd) {
156
226
  continue;
157
227
  }
158
228
  try {
159
- send(id, {
160
- results: await runApp(app.app, requests),
161
- });
229
+ send(id, { results: await runCaptured(cwd, app.app, requests) });
162
230
  }
163
231
  catch (err) {
164
232
  send(id, { error: errString(err) });
@@ -169,8 +237,9 @@ async function runWorker(cwd) {
169
237
  // this only executes when run directly (not when imported by a test).
170
238
  if (import.meta.main) {
171
239
  const cwd = process.argv[2] ?? process.cwd();
240
+ const protocol = reserveStdout();
172
241
  if (process.argv.includes("--worker")) {
173
- await runWorker(cwd);
242
+ await runWorker(cwd, protocol);
174
243
  process.exit(0);
175
244
  }
176
245
  let output;
@@ -187,7 +256,11 @@ if (import.meta.main) {
187
256
  output = { error: "invalid input: expected JSON { requests: [...] }" };
188
257
  }
189
258
  }
190
- process.stdout.write(serializeBoundedJson(output, CHILD_OUTPUT_MAX_BYTES, 2) ??
259
+ // `Bun.write` to the fd, not the patched `process.stdout.write`, so the answer is flushed when it
260
+ // resolves. Then exit: the app's own handles (a pool, an interval) would keep this single-use
261
+ // process alive until the parent's timeout, and the parent waits for it to exit.
262
+ await Bun.write(Bun.stdout, serializeBoundedJson(output, CHILD_OUTPUT_MAX_BYTES, 2) ??
191
263
  JSON.stringify({ error: `output exceeded ${CHILD_OUTPUT_MAX_BYTES} bytes` }));
264
+ process.exit(0);
192
265
  }
193
266
  //# sourceMappingURL=mcp-run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-run.js","sourceRoot":"","sources":["../src/mcp-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-run.js","sourceRoot":"","sources":["../src/mcp-run.ts"],"names":[],"mappings":"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"}
package/dist/mcp-ws.js CHANGED
@@ -253,6 +253,9 @@ if (import.meta.main) {
253
253
  error: 'invalid input: expected JSON { "path": "/..." }',
254
254
  };
255
255
  }
256
- process.stdout.write(JSON.stringify(output, null, 2));
256
+ // Flushed, then exit: the app's own handles would keep this single-use process alive until the
257
+ // parent's timeout, as in mcp-run and mcp-render.
258
+ await Bun.write(Bun.stdout, JSON.stringify(output, null, 2));
259
+ process.exit(0);
257
260
  }
258
261
  //# sourceMappingURL=mcp-ws.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-ws.js","sourceRoot":"","sources":["../src/mcp-ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-ws.js","sourceRoot":"","sources":["../src/mcp-ws.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts CHANGED
@@ -20,19 +20,32 @@
20
20
  * - `nifra_levels` - the cumulative verification ladder (L0 contract → L4 invariants): what the
21
21
  * project actually proves, and why each level it misses does not hold.
22
22
  * - `nifra_doctor` - package.json dependency drift detector, with safe local-version auto-fix.
23
- * - `nifra_explain` - resolve an error (pasted, or the dev server's last) into a structured
23
+ * - `nifra_errors` - the running dev server's errors (SSR, loader, API, build, browser, hydration,
24
+ * crash), each a structured diagnostic tagged with its request; `since` cursors, stale flags.
25
+ * - `nifra_logs` - the dev server's console output, server and browser, tagged by request.
26
+ * - `nifra_db_schema` / `nifra_db_query` / `nifra_db_role` - the development database declared as
27
+ * `devDatabase` in nifra.config.ts: its schema, one read-only query (or plan) per call in a fresh
28
+ * subprocess killed at the deadline, and the SQL for a read-only role. Separate tools, so a client
29
+ * can allow reading the schema without allowing queries.
30
+ * - `nifra_explain` - resolve an error (pasted, or the dev server's latest) into a structured
24
31
  * diagnostic: stable code, a codeframe in the user's source, and the recognised cause + fix.
25
32
  * - `nifra_inspect` - read the running dev server's recent request traces (method/path/status/
26
- * duration/ISR) from the DevTools plugin: what your requests ACTUALLY did, not a guess.
33
+ * duration/ISR/errors): what your requests ACTUALLY did, not a guess.
27
34
  *
28
35
  * Wire it into a client (e.g. Claude Desktop / Cursor) as: command `nifra`, args `["mcp"]` (or
29
36
  * `["mcp", "<dir>"]` to pin the project directory explicitly). The server does NOT silently trust its
30
37
  * spawn directory: the root is resolved via `./mcp-root.ts` (marker walk-up, the client's MCP `roots`,
31
38
  * fail-closed tools when no nifra project is found) and announced in `initialize` + on every project
32
- * tool result. The protocol is hand-rolled (newline-delimited JSON-RPC 2.0 over stdio), including
39
+ * tool result. A project that installs its own `@nifrajs/cli` at a different version gets the session
40
+ * handed to that CLI; when that is impossible the version-sensitive tools refuse rather than answer
41
+ * for the wrong release (see `./mcp-delegate.ts`). The protocol is hand-rolled (newline-delimited JSON-RPC 2.0 over stdio), including
33
42
  * standard MCP progress notifications and request cancellation - no SDK dependency, the same
34
43
  * minimal-surface choice as the rest of nifra. The pure dispatch lives in `./mcp-protocol.ts`; this
35
44
  * module is the I/O shell (stdin loop, tool wiring, the run subprocess).
45
+ *
46
+ * This process runs no project code and holds none of the project's `.env`: the config, the backend
47
+ * and everything they import run in a fresh subprocess per call (`./mcp-isolate.ts`), and a session
48
+ * whose process Bun started with `.env` values moves to a copy that never loads them (`./cli.ts`).
36
49
  */
37
50
  export { extractBackendPrompts, extractBackendResources, extractBackendTools, } from "./mcp-reflect.js";
38
51
  export type { BoundedLine, BoundedOutput } from "./mcp-io.js";
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AA8BH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AAezB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAA;AAItB,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AA4EzB;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAqKf"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AA0BH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AAezB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAW/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAA;AAItB,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAgFzB;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Lf"}
package/dist/mcp.js CHANGED
@@ -20,93 +20,102 @@
20
20
  * - `nifra_levels` - the cumulative verification ladder (L0 contract → L4 invariants): what the
21
21
  * project actually proves, and why each level it misses does not hold.
22
22
  * - `nifra_doctor` - package.json dependency drift detector, with safe local-version auto-fix.
23
- * - `nifra_explain` - resolve an error (pasted, or the dev server's last) into a structured
23
+ * - `nifra_errors` - the running dev server's errors (SSR, loader, API, build, browser, hydration,
24
+ * crash), each a structured diagnostic tagged with its request; `since` cursors, stale flags.
25
+ * - `nifra_logs` - the dev server's console output, server and browser, tagged by request.
26
+ * - `nifra_db_schema` / `nifra_db_query` / `nifra_db_role` - the development database declared as
27
+ * `devDatabase` in nifra.config.ts: its schema, one read-only query (or plan) per call in a fresh
28
+ * subprocess killed at the deadline, and the SQL for a read-only role. Separate tools, so a client
29
+ * can allow reading the schema without allowing queries.
30
+ * - `nifra_explain` - resolve an error (pasted, or the dev server's latest) into a structured
24
31
  * diagnostic: stable code, a codeframe in the user's source, and the recognised cause + fix.
25
32
  * - `nifra_inspect` - read the running dev server's recent request traces (method/path/status/
26
- * duration/ISR) from the DevTools plugin: what your requests ACTUALLY did, not a guess.
33
+ * duration/ISR/errors): what your requests ACTUALLY did, not a guess.
27
34
  *
28
35
  * Wire it into a client (e.g. Claude Desktop / Cursor) as: command `nifra`, args `["mcp"]` (or
29
36
  * `["mcp", "<dir>"]` to pin the project directory explicitly). The server does NOT silently trust its
30
37
  * spawn directory: the root is resolved via `./mcp-root.ts` (marker walk-up, the client's MCP `roots`,
31
38
  * fail-closed tools when no nifra project is found) and announced in `initialize` + on every project
32
- * tool result. The protocol is hand-rolled (newline-delimited JSON-RPC 2.0 over stdio), including
39
+ * tool result. A project that installs its own `@nifrajs/cli` at a different version gets the session
40
+ * handed to that CLI; when that is impossible the version-sensitive tools refuse rather than answer
41
+ * for the wrong release (see `./mcp-delegate.ts`). The protocol is hand-rolled (newline-delimited JSON-RPC 2.0 over stdio), including
33
42
  * standard MCP progress notifications and request cancellation - no SDK dependency, the same
34
43
  * minimal-surface choice as the rest of nifra. The pure dispatch lives in `./mcp-protocol.ts`; this
35
44
  * module is the I/O shell (stdin loop, tool wiring, the run subprocess).
45
+ *
46
+ * This process runs no project code and holds none of the project's `.env`: the config, the backend
47
+ * and everything they import run in a fresh subprocess per call (`./mcp-isolate.ts`), and a session
48
+ * whose process Bun started with `.env` values moves to a copy that never loads them (`./cli.ts`).
36
49
  */
37
50
  import { stat } from "node:fs/promises";
38
51
  import { resolve } from "node:path";
39
52
  import { loadDocsCorpus } from "./docs-search.js";
40
53
  import { loadExamplesCorpus } from "./examples.js";
41
- import { detectMonorepo, loadMonorepoApps } from "./load.js";
54
+ import { loadMonorepoApps } from "./load.js";
55
+ import { delegateToProjectCli, refuseVersionSensitive } from "./mcp-delegate.js";
42
56
  import { docsTools } from "./mcp-docs-tools.js";
43
57
  import { createMcpProtocolState, handleRpc, isJsonRpcRequest, isJsonRpcResponse, rpcError, } from "./mcp-protocol.js";
44
- import { extractBackendPrompts, extractBackendResources, extractBackendTools, } from "./mcp-reflect.js";
45
58
  import { loadTypesCorpus } from "./types-search.js";
46
59
  export { extractBackendPrompts, extractBackendResources, extractBackendTools, } from "./mcp-reflect.js";
47
60
  import { applyClientRoots, clientSupportsRoots, detectToolingDrift, driftNote, guardTools, pathsFromRootsResult, resolveRootState, rootInstructions, rootVerdict, } from "./mcp-root.js";
48
61
  export { CHILD_INPUT_MAX_BYTES, CHILD_OUTPUT_MAX_BYTES, CHILD_TIMEOUT_MS, LOCAL_TOOL_FETCH_TIMEOUT_MS, LOCAL_TOOL_MAX_RESPONSE_BYTES, notNifraResponse, readBoundedLines, readBoundedResponse, readBoundedStream, serializeBoundedJson, timeoutMessage, validateLocalPort, } from "./mcp-io.js";
49
62
  export { clientSupportsRoots, guardTools } from "./mcp-root.js";
50
- import { createCachedAppLoader, projectTools } from "./mcp-exec.js";
63
+ import { projectTools } from "./mcp-exec.js";
64
+ import { createAppSurface, detectMonorepoIsolated, isolateResources, isolateTools, } from "./mcp-isolate.js";
51
65
  export { catalogProjectTools, createCachedAppLoader, createWarmHandler, projectTools, renderHandler, runHandler, spawnChild, toMcpTool, WarmWorker, wsHandler, } from "./mcp-exec.js";
52
- import { namespaceForApp, projectFeatures } from "./mcp-context.js";
66
+ import { namespaceForApp, projectPrompts, projectResources } from "./mcp-context.js";
53
67
  export { dirError, namespaceForApp, projectFeatures, projectPrompts, projectResources, resolveProjectDir, } from "./mcp-context.js";
54
- async function backendFeatures(loader, base) {
55
- const resources = [...(base.resources ?? [])];
56
- const prompts = [...(base.prompts ?? [])];
57
- try {
58
- const app = await loader();
59
- resources.push(...extractBackendResources(app.backend));
60
- prompts.push(...extractBackendPrompts(app.backend));
61
- }
62
- catch {
63
- // Not loadable here (no web config, or the config itself throws). The server still serves.
64
- }
65
- return { resources, prompts };
66
- }
67
68
  /**
68
- * The MCP tools the app itself declares via `app.tool(...)`, or none when the app cannot be loaded.
69
- *
70
- * Same reasoning as {@link backendFeatures}, on the hotter path: this ran on EVERY JSON-RPC message,
71
- * so an unloadable project failed `initialize` itself with a `-32603` and the session never opened.
72
- * An app's own tools are an extension of the built-in set, so their absence must not withdraw the
73
- * built-ins - a backend-only project still gets docs, examples, types, check, doctor, levels and test.
69
+ * The loader the server builds its tool and resource lists with. It never loads: every handler that
70
+ * reaches the app runs in a project subprocess (`./mcp-isolate.ts`), so one that tried here fails.
74
71
  */
75
- async function appDeclaredTools(loader) {
76
- try {
77
- return extractBackendTools((await loader()).backend);
78
- }
79
- catch {
80
- return [];
72
+ const noAppInServer = () => Promise.reject(new Error("[nifra] the MCP server does not load the app; project code runs in a subprocess"));
73
+ const isolatedToolsByDir = new Map();
74
+ /**
75
+ * The project's tools, each forwarded to a project subprocess unless it runs no project code. Built
76
+ * once per directory: `nifra_run`/`nifra_render` hold their warm worker in the tool, so a list rebuilt
77
+ * per message started a fresh worker for every `warm: true` call.
78
+ */
79
+ function isolatedProjectTools(cwd) {
80
+ let tools = isolatedToolsByDir.get(cwd);
81
+ if (tools === undefined) {
82
+ tools = isolateTools(cwd, projectTools(cwd, noAppInServer));
83
+ isolatedToolsByDir.set(cwd, tools);
81
84
  }
85
+ return tools;
86
+ }
87
+ /** The project's resources and prompts, with the ones the app declares. */
88
+ function appFeatures(cwd, surface) {
89
+ return {
90
+ resources: [
91
+ ...isolateResources(cwd, projectResources(cwd, noAppInServer)),
92
+ ...surface.resources,
93
+ ],
94
+ prompts: [...projectPrompts(), ...surface.prompts],
95
+ };
82
96
  }
83
97
  const ROOTS_REQUEST_ID = "nifra:roots/list";
84
98
  const MAX_STDIO_MESSAGE_BYTES = 8 * 1024 * 1024;
85
99
  const STDIO_ENCODER = new TextEncoder();
86
100
  async function createProjectContext(root) {
87
- const monorepo = await detectMonorepo(root);
101
+ const monorepo = await detectMonorepoIsolated(root);
88
102
  if (monorepo) {
89
- const appEntries = await loadMonorepoApps(root, monorepo);
103
+ const apps = (await loadMonorepoApps(root, monorepo)).map(({ name, cwd }) => ({ name, cwd, surface: createAppSurface(cwd) }));
90
104
  const allResources = [];
91
105
  const allPrompts = [];
92
- for (const { name, cwd: appCwd } of appEntries) {
93
- const loader = createCachedAppLoader(appCwd);
94
- const ns = namespaceForApp(name, [], await backendFeatures(loader, projectFeatures(appCwd, loader)));
106
+ for (const { name, cwd: appCwd, surface } of apps) {
107
+ const ns = namespaceForApp(name, [], appFeatures(appCwd, await surface()));
95
108
  allResources.push(...(ns.features.resources ?? []));
96
109
  allPrompts.push(...(ns.features.prompts ?? []));
97
110
  }
98
111
  return {
99
- monorepo,
112
+ apps,
100
113
  features: { resources: allResources, prompts: allPrompts },
101
- loadAppCached: createCachedAppLoader(root),
114
+ surface: createAppSurface(root),
102
115
  };
103
116
  }
104
- const loadAppCached = createCachedAppLoader(root);
105
- return {
106
- monorepo,
107
- features: await backendFeatures(loadAppCached, projectFeatures(root, loadAppCached)),
108
- loadAppCached,
109
- };
117
+ const surface = createAppSurface(root);
118
+ return { apps: undefined, features: appFeatures(root, await surface()), surface };
110
119
  }
111
120
  /**
112
121
  * Run the stdio MCP server: read newline-delimited JSON-RPC from stdin, write responses to stdout.
@@ -120,6 +129,19 @@ export async function runMcpServer(cwd, version, explicitDir) {
120
129
  throw new Error(`nifra mcp: directory not found: ${requested}`);
121
130
  }
122
131
  let rootState = await resolveRootState(requested, explicitDir !== undefined);
132
+ if (rootState.isProject) {
133
+ // Before anything reads stdin: a hand-off child inherits the descriptor and owns the session.
134
+ const exitCode = await delegateToProjectCli({
135
+ cwd,
136
+ root: rootState.root,
137
+ version,
138
+ args: explicitDir === undefined ? [] : [requested],
139
+ });
140
+ if (exitCode !== undefined) {
141
+ process.exitCode = exitCode;
142
+ return;
143
+ }
144
+ }
123
145
  let ctx = await createProjectContext(rootState.root);
124
146
  let drift = await detectToolingDrift(rootState.root, version);
125
147
  const serverInfo = { name: "nifra", version };
@@ -174,21 +196,25 @@ export async function runMcpServer(cwd, version, explicitDir) {
174
196
  rootsSupported = clientSupportsRoots(message.params);
175
197
  }
176
198
  let activeTools;
177
- if (ctx.monorepo) {
178
- const appEntries = await loadMonorepoApps(rootState.root, ctx.monorepo);
199
+ if (ctx.apps) {
179
200
  const allTools = [];
180
- for (const { name, cwd: appCwd } of appEntries) {
181
- const loader = createCachedAppLoader(appCwd);
182
- const tools = [...projectTools(appCwd, loader), ...(await appDeclaredTools(loader))];
201
+ for (const { name, cwd: appCwd, surface } of ctx.apps) {
202
+ const tools = [
203
+ ...refuseVersionSensitive(isolatedProjectTools(appCwd), drift),
204
+ ...(await surface()).tools,
205
+ ];
183
206
  const ns = namespaceForApp(name, tools, { resources: [], prompts: [] });
184
207
  allTools.push(...ns.tools);
185
208
  }
186
- activeTools = [...docsTools(loadDocsCorpus, loadExamplesCorpus, loadTypesCorpus), ...allTools];
209
+ activeTools = [
210
+ ...refuseVersionSensitive(docsTools(loadDocsCorpus, loadExamplesCorpus, loadTypesCorpus), drift),
211
+ ...allTools,
212
+ ];
187
213
  }
188
214
  else {
189
215
  activeTools = [
190
- ...projectTools(rootState.root, ctx.loadAppCached),
191
- ...(await appDeclaredTools(ctx.loadAppCached)),
216
+ ...refuseVersionSensitive(isolatedProjectTools(rootState.root), drift),
217
+ ...(await ctx.surface()).tools,
192
218
  ];
193
219
  }
194
220
  const verdict = await rootVerdict(rootState);
@@ -202,6 +228,8 @@ export async function runMcpServer(cwd, version, explicitDir) {
202
228
  const response = await handleRpc(message, activeTools, serverInfo, features, {
203
229
  state,
204
230
  sendNotification: send,
231
+ // The stdio caller is the developer's own agent: a failure it cannot read it cannot fix.
232
+ exposeToolErrors: true,
205
233
  });
206
234
  if (response)
207
235
  send(response);
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type * as TS from "typescript";
2
+ export interface LayoutMigrationIssue {
3
+ readonly file: string;
4
+ readonly reason: string;
5
+ }
6
+ export interface LayoutMigrationResult {
7
+ readonly ok: boolean;
8
+ readonly write: boolean;
9
+ /** Route files whose backend exports moved, and where they went. */
10
+ readonly splits: ReadonlyArray<{
11
+ readonly file: string;
12
+ readonly backend: string;
13
+ readonly moved: readonly string[];
14
+ }>;
15
+ /** Files that moved, app-relative. */
16
+ readonly moves: ReadonlyArray<{
17
+ readonly from: string;
18
+ readonly to: string;
19
+ }>;
20
+ /** Files whose imports were rewritten (and were not otherwise created). */
21
+ readonly rewritten: readonly string[];
22
+ readonly issues: readonly LayoutMigrationIssue[];
23
+ }
24
+ export interface LayoutMigrationOptions {
25
+ readonly write?: boolean;
26
+ /** Inject the TypeScript compiler (tests); defaults to the CLI's own. */
27
+ readonly typescript?: typeof TS;
28
+ }
29
+ export interface SplitResult {
30
+ readonly frontend: string;
31
+ /** `undefined` when the file exports nothing for the server. */
32
+ readonly backend: string | undefined;
33
+ readonly moved: readonly string[];
34
+ readonly issues: readonly string[];
35
+ }
36
+ /**
37
+ * Split one route module's source into its frontend and backend halves. `backendSpecifier` is how the
38
+ * frontend refers to the backend half in an `import type` (`./index.backend.ts`).
39
+ */
40
+ export declare function splitRouteSource(ts: typeof TS, source: string, fileName: string, backendSpecifier: string): SplitResult;
41
+ /** `_middleware.ts`'s default export, as the `middleware` export of a `_layout.backend.ts`. */
42
+ export declare function middlewareSource(ts: typeof TS, source: string, fileName: string): string;
43
+ export declare function migrateLayout(appRoot: string, options?: LayoutMigrationOptions): Promise<LayoutMigrationResult>;
44
+ //# sourceMappingURL=migrate-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-layout.d.ts","sourceRoot":"","sources":["../src/migrate-layout.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AA8BrC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAClC,CAAC,CAAA;IACF,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7E,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;CAChC;AAqCD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC;AAsKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,OAAO,EAAE,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,WAAW,CAyKb;AAeD,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6BxF;AAwUD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA+PhC"}