flujo-ai 3.9.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 (525) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +592 -0
  3. package/.next/app-path-routes-manifest.json +63 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/diagnostics/build-diagnostics.json +6 -0
  6. package/.next/diagnostics/framework.json +1 -0
  7. package/.next/export-marker.json +6 -0
  8. package/.next/images-manifest.json +58 -0
  9. package/.next/next-minimal-server.js.nft.json +1 -0
  10. package/.next/next-server.js.nft.json +1 -0
  11. package/.next/package.json +1 -0
  12. package/.next/prerender-manifest.json +205 -0
  13. package/.next/react-loadable-manifest.json +83 -0
  14. package/.next/required-server-files.json +328 -0
  15. package/.next/routes-manifest.json +305 -0
  16. package/.next/server/app/_not-found/page.js +4 -0
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/_not-found.html +1 -0
  20. package/.next/server/app/_not-found.meta +8 -0
  21. package/.next/server/app/_not-found.rsc +16 -0
  22. package/.next/server/app/api/backup/route.js +2 -0
  23. package/.next/server/app/api/backup/route.js.nft.json +1 -0
  24. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -0
  25. package/.next/server/app/api/browse/route.js +2 -0
  26. package/.next/server/app/api/browse/route.js.nft.json +1 -0
  27. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -0
  28. package/.next/server/app/api/cwd/route.js +2 -0
  29. package/.next/server/app/api/cwd/route.js.nft.json +1 -0
  30. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -0
  31. package/.next/server/app/api/encryption/secure/route.js +1 -0
  32. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -0
  33. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -0
  34. package/.next/server/app/api/env/route.js +2 -0
  35. package/.next/server/app/api/env/route.js.nft.json +1 -0
  36. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/flow/[id]/route.js +1 -0
  38. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -0
  39. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -0
  40. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -0
  41. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -0
  42. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -0
  43. package/.next/server/app/api/flow/route.js +1 -0
  44. package/.next/server/app/api/flow/route.js.nft.json +1 -0
  45. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/git/route.js +3 -0
  47. package/.next/server/app/api/git/route.js.nft.json +1 -0
  48. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -0
  49. package/.next/server/app/api/init/route.js +1 -0
  50. package/.next/server/app/api/init/route.js.nft.json +1 -0
  51. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
  52. package/.next/server/app/api/mcp/cancel/route.js +2 -0
  53. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -0
  54. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -0
  55. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -0
  56. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -0
  57. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -0
  58. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -0
  59. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -0
  60. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -0
  61. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -0
  62. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -0
  63. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -0
  65. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -0
  66. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -0
  68. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -0
  69. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -0
  71. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -0
  72. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -0
  74. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -0
  75. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -0
  77. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -0
  78. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -0
  79. package/.next/server/app/api/mcp/servers/route.js +1 -0
  80. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -0
  81. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/mcp/test-connection/route.js +1 -0
  83. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -0
  84. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -0
  85. package/.next/server/app/api/mcp-registry/route.js +2 -0
  86. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -0
  87. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/mcp-registry/spotlight/route.js +2 -0
  89. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -0
  90. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/model/[id]/route.js +1 -0
  92. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -0
  93. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/model/provider/route.js +2 -0
  95. package/.next/server/app/api/model/provider/route.js.nft.json +1 -0
  96. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/model/route.js +1 -0
  98. package/.next/server/app/api/model/route.js.nft.json +1 -0
  99. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/model/test/route.js +2 -0
  101. package/.next/server/app/api/model/test/route.js.nft.json +1 -0
  102. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -0
  103. package/.next/server/app/api/oauth/callback/route.js +2 -0
  104. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -0
  105. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/oauth/initiate/route.js +2 -0
  107. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -0
  108. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -0
  109. package/.next/server/app/api/oauth/reset/route.js +2 -0
  110. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -0
  111. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/planned-executions/[id]/route.js +1 -0
  113. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -0
  114. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -0
  115. package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -0
  116. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -0
  117. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -0
  119. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -0
  120. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/api/planned-executions/preview-schedule/route.js +2 -0
  122. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -0
  123. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/planned-executions/route.js +1 -0
  125. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -0
  126. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/api/restore/route.js +2 -0
  128. package/.next/server/app/api/restore/route.js.nft.json +1 -0
  129. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/storage/route.js +2 -0
  131. package/.next/server/app/api/storage/route.js.nft.json +1 -0
  132. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -0
  133. package/.next/server/app/api/update/route.js +2 -0
  134. package/.next/server/app/api/update/route.js.nft.json +1 -0
  135. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/webhooks/[id]/route.js +1 -0
  137. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -0
  138. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/chat/page.js +10 -0
  140. package/.next/server/app/chat/page.js.nft.json +1 -0
  141. package/.next/server/app/chat/page_client-reference-manifest.js +1 -0
  142. package/.next/server/app/chat.html +1 -0
  143. package/.next/server/app/chat.meta +7 -0
  144. package/.next/server/app/chat.rsc +20 -0
  145. package/.next/server/app/docs/page.js +2 -0
  146. package/.next/server/app/docs/page.js.nft.json +1 -0
  147. package/.next/server/app/docs/page_client-reference-manifest.js +1 -0
  148. package/.next/server/app/docs.html +1 -0
  149. package/.next/server/app/docs.meta +7 -0
  150. package/.next/server/app/docs.rsc +20 -0
  151. package/.next/server/app/executions/page.js +5 -0
  152. package/.next/server/app/executions/page.js.nft.json +1 -0
  153. package/.next/server/app/executions/page_client-reference-manifest.js +1 -0
  154. package/.next/server/app/executions.html +1 -0
  155. package/.next/server/app/executions.meta +7 -0
  156. package/.next/server/app/executions.rsc +20 -0
  157. package/.next/server/app/flows/page.js +40 -0
  158. package/.next/server/app/flows/page.js.nft.json +1 -0
  159. package/.next/server/app/flows/page_client-reference-manifest.js +1 -0
  160. package/.next/server/app/flows.html +1 -0
  161. package/.next/server/app/flows.meta +7 -0
  162. package/.next/server/app/flows.rsc +21 -0
  163. package/.next/server/app/index.html +1 -0
  164. package/.next/server/app/index.meta +7 -0
  165. package/.next/server/app/index.rsc +20 -0
  166. package/.next/server/app/mcp/page.js +50 -0
  167. package/.next/server/app/mcp/page.js.nft.json +1 -0
  168. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -0
  169. package/.next/server/app/mcp-flows/route.js +1 -0
  170. package/.next/server/app/mcp-flows/route.js.nft.json +1 -0
  171. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/mcp-proxy/[server]/route.js +1 -0
  173. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -0
  174. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/mcp.html +1 -0
  176. package/.next/server/app/mcp.meta +7 -0
  177. package/.next/server/app/mcp.rsc +20 -0
  178. package/.next/server/app/models/page.js +3 -0
  179. package/.next/server/app/models/page.js.nft.json +1 -0
  180. package/.next/server/app/models/page_client-reference-manifest.js +1 -0
  181. package/.next/server/app/page.js +2 -0
  182. package/.next/server/app/page.js.nft.json +1 -0
  183. package/.next/server/app/page_client-reference-manifest.js +1 -0
  184. package/.next/server/app/settings/page.js +46 -0
  185. package/.next/server/app/settings/page.js.nft.json +1 -0
  186. package/.next/server/app/settings/page_client-reference-manifest.js +1 -0
  187. package/.next/server/app/settings.html +1 -0
  188. package/.next/server/app/settings.meta +7 -0
  189. package/.next/server/app/settings.rsc +20 -0
  190. package/.next/server/app/v1/chat/completions/route.js +2 -0
  191. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -0
  192. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -0
  193. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -0
  194. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -0
  195. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -0
  197. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -0
  198. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -0
  199. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -0
  200. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -0
  201. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -0
  203. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -0
  204. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -0
  205. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -0
  206. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -0
  207. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -0
  208. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +11 -0
  209. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -0
  210. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -0
  211. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -0
  212. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -0
  213. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -0
  214. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -0
  215. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -0
  216. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -0
  217. package/.next/server/app/v1/chat/conversations/route.js +2 -0
  218. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -0
  219. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -0
  220. package/.next/server/app/v1/models/route.js +2 -0
  221. package/.next/server/app/v1/models/route.js.nft.json +1 -0
  222. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -0
  223. package/.next/server/app-paths-manifest.json +63 -0
  224. package/.next/server/chunks/120.js +15 -0
  225. package/.next/server/chunks/1223.js +1 -0
  226. package/.next/server/chunks/1373.js +1 -0
  227. package/.next/server/chunks/1381.js +1 -0
  228. package/.next/server/chunks/1403.js +6 -0
  229. package/.next/server/chunks/1555.js +1 -0
  230. package/.next/server/chunks/1692.js +1 -0
  231. package/.next/server/chunks/1870.js +1 -0
  232. package/.next/server/chunks/1905.js +2 -0
  233. package/.next/server/chunks/1986.js +1 -0
  234. package/.next/server/chunks/2181.js +17 -0
  235. package/.next/server/chunks/22.js +4 -0
  236. package/.next/server/chunks/2253.js +1 -0
  237. package/.next/server/chunks/232.js +1 -0
  238. package/.next/server/chunks/2471.js +1 -0
  239. package/.next/server/chunks/2666.js +1 -0
  240. package/.next/server/chunks/2695.js +95 -0
  241. package/.next/server/chunks/2776.js +3 -0
  242. package/.next/server/chunks/3736.js +1 -0
  243. package/.next/server/chunks/3984.js +9 -0
  244. package/.next/server/chunks/4239.js +1 -0
  245. package/.next/server/chunks/4322.js +1 -0
  246. package/.next/server/chunks/4706.js +1 -0
  247. package/.next/server/chunks/4729.js +6 -0
  248. package/.next/server/chunks/473.js +2 -0
  249. package/.next/server/chunks/4753.js +8 -0
  250. package/.next/server/chunks/4989.js +1 -0
  251. package/.next/server/chunks/5389.js +154 -0
  252. package/.next/server/chunks/5443.js +1 -0
  253. package/.next/server/chunks/5486.js +1 -0
  254. package/.next/server/chunks/5547.js +2 -0
  255. package/.next/server/chunks/558.js +1 -0
  256. package/.next/server/chunks/5611.js +6 -0
  257. package/.next/server/chunks/5734.js +60 -0
  258. package/.next/server/chunks/5838.js +1 -0
  259. package/.next/server/chunks/5873.js +22 -0
  260. package/.next/server/chunks/598.js +1 -0
  261. package/.next/server/chunks/6064.js +1 -0
  262. package/.next/server/chunks/62.js +1 -0
  263. package/.next/server/chunks/6283.js +2 -0
  264. package/.next/server/chunks/6390.js +28 -0
  265. package/.next/server/chunks/6542.js +1 -0
  266. package/.next/server/chunks/6637.js +2 -0
  267. package/.next/server/chunks/6760.js +1 -0
  268. package/.next/server/chunks/6936.js +35 -0
  269. package/.next/server/chunks/6996.js +62 -0
  270. package/.next/server/chunks/701.js +10 -0
  271. package/.next/server/chunks/7214.js +6 -0
  272. package/.next/server/chunks/724.js +27 -0
  273. package/.next/server/chunks/7412.js +5 -0
  274. package/.next/server/chunks/7506.js +10 -0
  275. package/.next/server/chunks/7531.js +52 -0
  276. package/.next/server/chunks/805.js +2 -0
  277. package/.next/server/chunks/812.js +2 -0
  278. package/.next/server/chunks/8298.js +1 -0
  279. package/.next/server/chunks/8312.js +5 -0
  280. package/.next/server/chunks/8445.js +82 -0
  281. package/.next/server/chunks/8460.js +1 -0
  282. package/.next/server/chunks/8693.js +1 -0
  283. package/.next/server/chunks/8739.js +2 -0
  284. package/.next/server/chunks/8938.js +8 -0
  285. package/.next/server/chunks/9042.js +1 -0
  286. package/.next/server/chunks/9188.js +1 -0
  287. package/.next/server/chunks/9273.js +4 -0
  288. package/.next/server/chunks/9314.js +12 -0
  289. package/.next/server/chunks/9343.js +5 -0
  290. package/.next/server/chunks/9406.js +95 -0
  291. package/.next/server/chunks/9938.js +1 -0
  292. package/.next/server/chunks/9989.js +1 -0
  293. package/.next/server/functions-config-manifest.json +10 -0
  294. package/.next/server/instrumentation.js +1 -0
  295. package/.next/server/instrumentation.js.nft.json +1 -0
  296. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  297. package/.next/server/middleware-build-manifest.js +1 -0
  298. package/.next/server/middleware-manifest.json +6 -0
  299. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  300. package/.next/server/next-font-manifest.js +1 -0
  301. package/.next/server/next-font-manifest.json +1 -0
  302. package/.next/server/pages/404.html +1 -0
  303. package/.next/server/pages/500.html +1 -0
  304. package/.next/server/pages/_app.js +1 -0
  305. package/.next/server/pages/_app.js.nft.json +1 -0
  306. package/.next/server/pages/_document.js +1 -0
  307. package/.next/server/pages/_document.js.nft.json +1 -0
  308. package/.next/server/pages/_error.js +19 -0
  309. package/.next/server/pages/_error.js.nft.json +1 -0
  310. package/.next/server/pages-manifest.json +6 -0
  311. package/.next/server/server-reference-manifest.js +1 -0
  312. package/.next/server/server-reference-manifest.json +1 -0
  313. package/.next/server/webpack-runtime.js +1 -0
  314. package/.next/static/GbXXL_8DLT2oVwT-JdpbM/_buildManifest.js +1 -0
  315. package/.next/static/GbXXL_8DLT2oVwT-JdpbM/_ssgManifest.js +1 -0
  316. package/.next/static/chunks/1255-13d973e0759ea6d6.js +1 -0
  317. package/.next/static/chunks/1374-e084b3c40554288a.js +1 -0
  318. package/.next/static/chunks/1424-01898260211a09d0.js +1 -0
  319. package/.next/static/chunks/1646.a93085a0445ba909.js +1 -0
  320. package/.next/static/chunks/1a258343-bcffff1604e3797c.js +1 -0
  321. package/.next/static/chunks/2003-7710c23acaef11c9.js +1 -0
  322. package/.next/static/chunks/2005-f9d38c39f10c321f.js +1 -0
  323. package/.next/static/chunks/2160-4d9f132965bc2a89.js +1 -0
  324. package/.next/static/chunks/2380-2a7acfa037ec8e80.js +1 -0
  325. package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
  326. package/.next/static/chunks/2624-b985ab3eac1139c3.js +1 -0
  327. package/.next/static/chunks/2678-c88052addfb0478a.js +1 -0
  328. package/.next/static/chunks/2720-2a926505ec98a6de.js +1 -0
  329. package/.next/static/chunks/3077-565833c67440a7fa.js +1 -0
  330. package/.next/static/chunks/3217.79ca74c918fc772c.js +1 -0
  331. package/.next/static/chunks/3235-dfcb73b8d483f8cd.js +1 -0
  332. package/.next/static/chunks/3272-fd8d59523f61da96.js +1 -0
  333. package/.next/static/chunks/3403-7c5037145e384171.js +1 -0
  334. package/.next/static/chunks/3545.c3fbe14528517a75.js +1 -0
  335. package/.next/static/chunks/3750-38474d67566af4c3.js +1 -0
  336. package/.next/static/chunks/3810-cee95063d5535307.js +1 -0
  337. package/.next/static/chunks/39-1732a0b689c7b641.js +1 -0
  338. package/.next/static/chunks/4754-5c62bb61142f82d1.js +1 -0
  339. package/.next/static/chunks/488-623d07c3fbc21e28.js +1 -0
  340. package/.next/static/chunks/4bd1b696-182b6b13bdad92e3.js +1 -0
  341. package/.next/static/chunks/5139.e4ff9cc3669129ed.js +1 -0
  342. package/.next/static/chunks/5648-2c6caf3d55f95e11.js +1 -0
  343. package/.next/static/chunks/5961-828f4f7efc3e1381.js +1 -0
  344. package/.next/static/chunks/6134-758747aabd77289d.js +8 -0
  345. package/.next/static/chunks/690-391bc0f482a9f67c.js +1 -0
  346. package/.next/static/chunks/7126-2bafddf1b09cacac.js +1 -0
  347. package/.next/static/chunks/7329-78f54f68ea2d37e2.js +1 -0
  348. package/.next/static/chunks/7396-807a034f58b57712.js +1 -0
  349. package/.next/static/chunks/7488-b58bc701d0deda00.js +1 -0
  350. package/.next/static/chunks/7539.41f0448cf9783388.js +1 -0
  351. package/.next/static/chunks/7583.8a518353bd072db9.js +1 -0
  352. package/.next/static/chunks/8187.5d6523f30e705998.js +1 -0
  353. package/.next/static/chunks/8198.cd0d3f8429c02862.js +1 -0
  354. package/.next/static/chunks/8345.76f420453fc0dee7.js +1 -0
  355. package/.next/static/chunks/8548-8e4a95334064e8b2.js +1 -0
  356. package/.next/static/chunks/8598-1b627b3d682b364a.js +1 -0
  357. package/.next/static/chunks/8862-1314a13b011c4817.js +1 -0
  358. package/.next/static/chunks/9164-81ca1a1bccdc5ed2.js +1 -0
  359. package/.next/static/chunks/9195.01a57af6d6cdf1a5.js +1 -0
  360. package/.next/static/chunks/9244-3281f7fd02003a2c.js +1 -0
  361. package/.next/static/chunks/9562-93cc45aef3630781.js +1 -0
  362. package/.next/static/chunks/9718-12d33c1a26bb002d.js +1 -0
  363. package/.next/static/chunks/app/_not-found/page-81dc485d60f94046.js +1 -0
  364. package/.next/static/chunks/app/api/backup/route-acd5b6e731d45f1a.js +1 -0
  365. package/.next/static/chunks/app/api/browse/route-acd5b6e731d45f1a.js +1 -0
  366. package/.next/static/chunks/app/api/cwd/route-acd5b6e731d45f1a.js +1 -0
  367. package/.next/static/chunks/app/api/encryption/secure/route-acd5b6e731d45f1a.js +1 -0
  368. package/.next/static/chunks/app/api/env/route-acd5b6e731d45f1a.js +1 -0
  369. package/.next/static/chunks/app/api/flow/[id]/route-acd5b6e731d45f1a.js +1 -0
  370. package/.next/static/chunks/app/api/flow/prompt-renderer/route-acd5b6e731d45f1a.js +1 -0
  371. package/.next/static/chunks/app/api/flow/route-acd5b6e731d45f1a.js +1 -0
  372. package/.next/static/chunks/app/api/git/route-acd5b6e731d45f1a.js +1 -0
  373. package/.next/static/chunks/app/api/init/route-acd5b6e731d45f1a.js +1 -0
  374. package/.next/static/chunks/app/api/mcp/cancel/route-acd5b6e731d45f1a.js +1 -0
  375. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-acd5b6e731d45f1a.js +1 -0
  376. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-acd5b6e731d45f1a.js +1 -0
  377. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-acd5b6e731d45f1a.js +1 -0
  378. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-acd5b6e731d45f1a.js +1 -0
  379. package/.next/static/chunks/app/api/mcp/servers/[name]/route-acd5b6e731d45f1a.js +1 -0
  380. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-acd5b6e731d45f1a.js +1 -0
  381. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-acd5b6e731d45f1a.js +1 -0
  382. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-acd5b6e731d45f1a.js +1 -0
  383. package/.next/static/chunks/app/api/mcp/servers/route-acd5b6e731d45f1a.js +1 -0
  384. package/.next/static/chunks/app/api/mcp/test-connection/route-acd5b6e731d45f1a.js +1 -0
  385. package/.next/static/chunks/app/api/mcp-registry/route-acd5b6e731d45f1a.js +1 -0
  386. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-acd5b6e731d45f1a.js +1 -0
  387. package/.next/static/chunks/app/api/model/[id]/route-acd5b6e731d45f1a.js +1 -0
  388. package/.next/static/chunks/app/api/model/provider/route-acd5b6e731d45f1a.js +1 -0
  389. package/.next/static/chunks/app/api/model/route-acd5b6e731d45f1a.js +1 -0
  390. package/.next/static/chunks/app/api/model/test/route-acd5b6e731d45f1a.js +1 -0
  391. package/.next/static/chunks/app/api/oauth/callback/route-acd5b6e731d45f1a.js +1 -0
  392. package/.next/static/chunks/app/api/oauth/initiate/route-acd5b6e731d45f1a.js +1 -0
  393. package/.next/static/chunks/app/api/oauth/reset/route-acd5b6e731d45f1a.js +1 -0
  394. package/.next/static/chunks/app/api/planned-executions/[id]/route-acd5b6e731d45f1a.js +1 -0
  395. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-acd5b6e731d45f1a.js +1 -0
  396. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-acd5b6e731d45f1a.js +1 -0
  397. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-acd5b6e731d45f1a.js +1 -0
  398. package/.next/static/chunks/app/api/planned-executions/route-acd5b6e731d45f1a.js +1 -0
  399. package/.next/static/chunks/app/api/restore/route-acd5b6e731d45f1a.js +1 -0
  400. package/.next/static/chunks/app/api/storage/route-acd5b6e731d45f1a.js +1 -0
  401. package/.next/static/chunks/app/api/update/route-acd5b6e731d45f1a.js +1 -0
  402. package/.next/static/chunks/app/api/webhooks/[id]/route-acd5b6e731d45f1a.js +1 -0
  403. package/.next/static/chunks/app/chat/page-019d2b836f34f40d.js +1 -0
  404. package/.next/static/chunks/app/docs/page-2a4cff7c40706a48.js +1 -0
  405. package/.next/static/chunks/app/executions/page-b46744c507a6e810.js +1 -0
  406. package/.next/static/chunks/app/flows/page-7b5c0e06951398ac.js +1 -0
  407. package/.next/static/chunks/app/layout-2878f13d7e253503.js +1 -0
  408. package/.next/static/chunks/app/mcp/page-1ca55f88a3045b5d.js +1 -0
  409. package/.next/static/chunks/app/mcp-flows/route-acd5b6e731d45f1a.js +1 -0
  410. package/.next/static/chunks/app/mcp-proxy/[server]/route-acd5b6e731d45f1a.js +1 -0
  411. package/.next/static/chunks/app/models/error-2b00c98abf1e02cf.js +1 -0
  412. package/.next/static/chunks/app/models/loading-57d1c02d0817fc47.js +1 -0
  413. package/.next/static/chunks/app/models/page-a20e6c4e1a5a0c9a.js +1 -0
  414. package/.next/static/chunks/app/page-471879d3918aeeb6.js +1 -0
  415. package/.next/static/chunks/app/settings/page-88f7e1b65a6681ec.js +1 -0
  416. package/.next/static/chunks/app/v1/chat/completions/route-acd5b6e731d45f1a.js +1 -0
  417. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-acd5b6e731d45f1a.js +1 -0
  418. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-acd5b6e731d45f1a.js +1 -0
  419. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-acd5b6e731d45f1a.js +1 -0
  420. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-acd5b6e731d45f1a.js +1 -0
  421. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-acd5b6e731d45f1a.js +1 -0
  422. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-acd5b6e731d45f1a.js +1 -0
  423. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-acd5b6e731d45f1a.js +1 -0
  424. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-acd5b6e731d45f1a.js +1 -0
  425. package/.next/static/chunks/app/v1/chat/conversations/route-acd5b6e731d45f1a.js +1 -0
  426. package/.next/static/chunks/app/v1/models/route-acd5b6e731d45f1a.js +1 -0
  427. package/.next/static/chunks/ccd63cfe-4a75b90fa4cb53ad.js +1 -0
  428. package/.next/static/chunks/framework-1548034a53843b9f.js +1 -0
  429. package/.next/static/chunks/main-app-faff38c77cb00119.js +1 -0
  430. package/.next/static/chunks/main-be8e823624954fab.js +1 -0
  431. package/.next/static/chunks/pages/_app-e8b861c87f6f033c.js +1 -0
  432. package/.next/static/chunks/pages/_error-c8f84f7bd11d43d4.js +1 -0
  433. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  434. package/.next/static/chunks/webpack-6f17a022ac16e8bd.js +1 -0
  435. package/.next/static/css/64cb1f185b52a623.css +1 -0
  436. package/.next/static/css/d1484588c616b291.css +31 -0
  437. package/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
  438. package/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
  439. package/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
  440. package/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
  441. package/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
  442. package/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
  443. package/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
  444. package/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
  445. package/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
  446. package/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
  447. package/.next/static/media/f639721981034f88-s.woff2 +0 -0
  448. package/.next/trace +7 -0
  449. package/.next/types/app/api/backup/route.ts +347 -0
  450. package/.next/types/app/api/browse/route.ts +347 -0
  451. package/.next/types/app/api/cwd/route.ts +347 -0
  452. package/.next/types/app/api/encryption/secure/route.ts +347 -0
  453. package/.next/types/app/api/env/route.ts +347 -0
  454. package/.next/types/app/api/flow/[id]/route.ts +347 -0
  455. package/.next/types/app/api/flow/prompt-renderer/route.ts +347 -0
  456. package/.next/types/app/api/flow/route.ts +347 -0
  457. package/.next/types/app/api/git/route.ts +347 -0
  458. package/.next/types/app/api/init/route.ts +347 -0
  459. package/.next/types/app/api/mcp/cancel/route.ts +347 -0
  460. package/.next/types/app/api/mcp/servers/[name]/prompts/get/route.ts +347 -0
  461. package/.next/types/app/api/mcp/servers/[name]/prompts/route.ts +347 -0
  462. package/.next/types/app/api/mcp/servers/[name]/resources/read/route.ts +347 -0
  463. package/.next/types/app/api/mcp/servers/[name]/resources/route.ts +347 -0
  464. package/.next/types/app/api/mcp/servers/[name]/route.ts +347 -0
  465. package/.next/types/app/api/mcp/servers/[name]/status/route.ts +347 -0
  466. package/.next/types/app/api/mcp/servers/[name]/tools/[toolName]/route.ts +347 -0
  467. package/.next/types/app/api/mcp/servers/[name]/tools/route.ts +347 -0
  468. package/.next/types/app/api/mcp/servers/route.ts +347 -0
  469. package/.next/types/app/api/mcp/test-connection/route.ts +347 -0
  470. package/.next/types/app/api/mcp-registry/route.ts +347 -0
  471. package/.next/types/app/api/mcp-registry/spotlight/route.ts +347 -0
  472. package/.next/types/app/api/model/[id]/route.ts +347 -0
  473. package/.next/types/app/api/model/provider/route.ts +347 -0
  474. package/.next/types/app/api/model/route.ts +347 -0
  475. package/.next/types/app/api/model/test/route.ts +347 -0
  476. package/.next/types/app/api/oauth/callback/route.ts +347 -0
  477. package/.next/types/app/api/oauth/initiate/route.ts +347 -0
  478. package/.next/types/app/api/oauth/reset/route.ts +347 -0
  479. package/.next/types/app/api/planned-executions/[id]/route.ts +347 -0
  480. package/.next/types/app/api/planned-executions/[id]/run/route.ts +347 -0
  481. package/.next/types/app/api/planned-executions/[id]/runs/route.ts +347 -0
  482. package/.next/types/app/api/planned-executions/preview-schedule/route.ts +347 -0
  483. package/.next/types/app/api/planned-executions/route.ts +347 -0
  484. package/.next/types/app/api/restore/route.ts +347 -0
  485. package/.next/types/app/api/storage/route.ts +347 -0
  486. package/.next/types/app/api/update/route.ts +347 -0
  487. package/.next/types/app/api/webhooks/[id]/route.ts +347 -0
  488. package/.next/types/app/chat/page.ts +84 -0
  489. package/.next/types/app/docs/page.ts +84 -0
  490. package/.next/types/app/executions/page.ts +84 -0
  491. package/.next/types/app/flows/page.ts +84 -0
  492. package/.next/types/app/layout.ts +84 -0
  493. package/.next/types/app/mcp/page.ts +84 -0
  494. package/.next/types/app/mcp-flows/route.ts +347 -0
  495. package/.next/types/app/mcp-proxy/[server]/route.ts +347 -0
  496. package/.next/types/app/models/page.ts +84 -0
  497. package/.next/types/app/page.ts +84 -0
  498. package/.next/types/app/settings/page.ts +84 -0
  499. package/.next/types/app/v1/chat/completions/route.ts +347 -0
  500. package/.next/types/app/v1/chat/conversations/[conversationId]/breakpoints/route.ts +347 -0
  501. package/.next/types/app/v1/chat/conversations/[conversationId]/cancel/route.ts +347 -0
  502. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/continue/route.ts +347 -0
  503. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/step/route.ts +347 -0
  504. package/.next/types/app/v1/chat/conversations/[conversationId]/edit-state/route.ts +347 -0
  505. package/.next/types/app/v1/chat/conversations/[conversationId]/events/route.ts +347 -0
  506. package/.next/types/app/v1/chat/conversations/[conversationId]/respond/route.ts +347 -0
  507. package/.next/types/app/v1/chat/conversations/[conversationId]/route.ts +347 -0
  508. package/.next/types/app/v1/chat/conversations/route.ts +347 -0
  509. package/.next/types/app/v1/models/route.ts +347 -0
  510. package/.next/types/cache-life.d.ts +141 -0
  511. package/.next/types/package.json +1 -0
  512. package/.next/types/routes.d.ts +131 -0
  513. package/.next/types/validator.ts +601 -0
  514. package/LICENSE +21 -0
  515. package/README.md +372 -0
  516. package/bin/flujo.mjs +120 -0
  517. package/next.config.ts +99 -0
  518. package/package.json +91 -0
  519. package/public/favicon.ico +0 -0
  520. package/public/file.svg +1 -0
  521. package/public/globe.svg +1 -0
  522. package/public/next.svg +1 -0
  523. package/public/vercel.svg +1 -0
  524. package/public/window.svg +1 -0
  525. package/scripts/launch-next.mjs +98 -0
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Launches Next.js with TLS settings that let FLUJO connect to MCP servers whose
4
+ * certificates are signed by a custom/private (enterprise) CA.
5
+ *
6
+ * Node.js does NOT trust the operating system's certificate store by default, which is
7
+ * why a streamable-HTTP MCP server over HTTPS with a corporate CA fails with
8
+ * "unable to verify the first certificate" even though `curl` works. This launcher:
9
+ *
10
+ * 1. Adds `--use-system-ca` to NODE_OPTIONS (on Node versions that support it) so Node
11
+ * trusts the OS certificate store — the same store `curl` uses.
12
+ * 2. Maps the friendlier FLUJO_EXTRA_CA_CERTS env var to NODE_EXTRA_CA_CERTS so a
13
+ * specific PEM CA bundle can be trusted without touching the OS store.
14
+ *
15
+ * Both settings propagate to every Node child process Next spawns (including the server),
16
+ * because NODE_OPTIONS / NODE_EXTRA_CA_CERTS are read at process startup.
17
+ *
18
+ * The TLS/CA logic is exported as `buildLaunchEnv()` so the npm-package bin wrapper
19
+ * (bin/flujo.mjs, issue #59) reuses it verbatim instead of duplicating it.
20
+ */
21
+ import { spawn } from 'node:child_process';
22
+ import process from 'node:process';
23
+ import { pathToFileURL } from 'node:url';
24
+
25
+ /**
26
+ * Return a copy of `baseEnv` with FLUJO's TLS/CA settings applied:
27
+ * - NODE_OPTIONS gains `--use-system-ca` on Node versions that support it.
28
+ * - FLUJO_EXTRA_CA_CERTS is mirrored to NODE_EXTRA_CA_CERTS.
29
+ * Pure apart from a one-time informational log on older Node builds.
30
+ */
31
+ export function buildLaunchEnv(baseEnv = process.env) {
32
+ const env = { ...baseEnv };
33
+
34
+ // Detect support empirically instead of sniffing the version number. This Set is the
35
+ // authoritative list of flags THIS Node binary accepts inside NODE_OPTIONS, so it is
36
+ // correct across versions, platforms, and nightly/RC builds — and it guarantees we never
37
+ // inject a flag that Node would then reject at startup with a scary error.
38
+ const supportsSystemCa = process.allowedNodeEnvironmentFlags.has('--use-system-ca');
39
+
40
+ if (supportsSystemCa && !/--use-system-ca/.test(env.NODE_OPTIONS || '')) {
41
+ env.NODE_OPTIONS = `${env.NODE_OPTIONS ? `${env.NODE_OPTIONS} ` : ''}--use-system-ca`;
42
+ } else if (!supportsSystemCa && !env.NODE_EXTRA_CA_CERTS && !env.FLUJO_EXTRA_CA_CERTS) {
43
+ // Not an error — older Node simply lacks the flag and falls back to Node's bundled CAs.
44
+ // Only surface this (as info, not a warning) when no CA bundle is already configured,
45
+ // so it never looks alarming on the happy path.
46
+ console.log(
47
+ `[FLUJO] Node ${process.versions.node} has no --use-system-ca flag; using Node's bundled CAs. ` +
48
+ `If an MCP server uses a private/corporate CA, set FLUJO_EXTRA_CA_CERTS (or NODE_EXTRA_CA_CERTS) ` +
49
+ `to your CA file before starting FLUJO.`
50
+ );
51
+ }
52
+
53
+ // Convenience alias so users don't have to remember the exact Node env var name.
54
+ if (env.FLUJO_EXTRA_CA_CERTS && !env.NODE_EXTRA_CA_CERTS) {
55
+ env.NODE_EXTRA_CA_CERTS = env.FLUJO_EXTRA_CA_CERTS;
56
+ }
57
+
58
+ return env;
59
+ }
60
+
61
+ /** Spawn `next <passthroughArgs>` with the TLS-configured env and forward its exit. */
62
+ function launchNext(passthroughArgs) {
63
+ const env = buildLaunchEnv();
64
+
65
+ const tlsSummary = [
66
+ env.NODE_OPTIONS ? `NODE_OPTIONS="${env.NODE_OPTIONS}"` : null,
67
+ env.NODE_EXTRA_CA_CERTS ? `NODE_EXTRA_CA_CERTS="${env.NODE_EXTRA_CA_CERTS}"` : null,
68
+ ].filter(Boolean).join(', ');
69
+ console.log(`[FLUJO] Starting next ${passthroughArgs.join(' ')}${tlsSummary ? ` (${tlsSummary})` : ''}`);
70
+
71
+ // On Windows the resolved binary is next.cmd, which requires a shell to execute.
72
+ const child = spawn('next', passthroughArgs, {
73
+ stdio: 'inherit',
74
+ env,
75
+ shell: process.platform === 'win32',
76
+ });
77
+
78
+ child.on('error', error => {
79
+ console.error('[FLUJO] Failed to launch next:', error);
80
+ process.exit(1);
81
+ });
82
+
83
+ child.on('exit', (code, signal) => {
84
+ if (signal) {
85
+ process.kill(process.pid, signal);
86
+ } else {
87
+ process.exit(code ?? 0);
88
+ }
89
+ });
90
+ }
91
+
92
+ // Only launch when run directly (`node scripts/launch-next.mjs start -p 4200`), not when
93
+ // imported for buildLaunchEnv (bin/flujo.mjs). Everything after the script name is the
94
+ // Next.js command, e.g. ["start", "-p", "4200"].
95
+ const isMain = import.meta.url === pathToFileURL(process.argv[1] ?? '').href;
96
+ if (isMain) {
97
+ launchNext(process.argv.slice(2));
98
+ }