flujo-ai 3.33.0 → 3.35.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 (549) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +292 -285
  3. package/.next/app-path-routes-manifest.json +20 -19
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +21 -21
  6. package/.next/react-loadable-manifest.json +3 -3
  7. package/.next/routes-manifest.json +9 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +2 -2
  11. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  12. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  13. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/approvals/route.js +2 -2
  15. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  16. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/backup/route.js +1 -1
  18. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  19. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  22. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/encryption/secure/route.js +1 -1
  26. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  27. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/env/route.js +2 -2
  29. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  31. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/flow/compile/route.js +1 -1
  37. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/flow/generate/route.js +1 -1
  40. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  41. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/flow/generator/route.js +25 -4
  43. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/flow/improve/route.js +1 -1
  46. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  47. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/flow/repair/route.js +1 -1
  54. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  57. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/init/route.js +1 -1
  60. package/.next/server/app/api/init/route.js.nft.json +1 -1
  61. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  67. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  70. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  72. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  88. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  90. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  92. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/mcp-registry/route.js +1 -1
  94. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  97. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  99. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/model/provider/route.js +1 -1
  101. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  102. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/model/route.js.nft.json +1 -1
  104. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/model/test/route.js +1 -1
  106. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  107. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/oauth/callback/route.js +1 -1
  109. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/oauth/initiate/route.js +1 -1
  111. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/oauth/reset/route.js +1 -1
  113. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  114. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/packages/build/route.js +1 -1
  116. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  117. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  119. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  121. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  123. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  125. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/packages/resolve/route.js +1 -1
  127. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  128. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  130. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/packages/search/route.js +1 -1
  132. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  134. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
  136. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  137. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
  139. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  140. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
  142. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  143. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  146. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  147. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/planned-executions/route.js +1 -1
  149. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  150. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/registry/feedback/route.js +1 -1
  155. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/restore/route.js +1 -1
  162. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  163. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/runs/active/route.js +1 -1
  165. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  166. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/storage/route.js +1 -1
  168. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  170. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/update/route.js +1 -1
  172. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/waves/route.js +1 -1
  174. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  175. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  177. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  178. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/chat/page.js +2 -2
  180. package/.next/server/app/chat/page.js.nft.json +1 -1
  181. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/chat.html +1 -1
  183. package/.next/server/app/chat.rsc +3 -3
  184. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  185. package/.next/server/app/docs.html +1 -1
  186. package/.next/server/app/docs.rsc +2 -2
  187. package/.next/server/app/executions/page.js +2 -2
  188. package/.next/server/app/executions/page.js.nft.json +1 -1
  189. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  190. package/.next/server/app/executions.html +1 -1
  191. package/.next/server/app/executions.rsc +3 -3
  192. package/.next/server/app/flows/page.js +3 -3
  193. package/.next/server/app/flows/page.js.nft.json +1 -1
  194. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  195. package/.next/server/app/flows.html +1 -1
  196. package/.next/server/app/flows.rsc +3 -3
  197. package/.next/server/app/index.html +1 -1
  198. package/.next/server/app/index.rsc +3 -3
  199. package/.next/server/app/mcp/page.js +1 -1
  200. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  201. package/.next/server/app/mcp-flows/route.js +1 -1
  202. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  203. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  205. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  206. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/mcp.html +1 -1
  208. package/.next/server/app/mcp.rsc +3 -3
  209. package/.next/server/app/models/page.js +1 -1
  210. package/.next/server/app/models/page.js.nft.json +1 -1
  211. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  212. package/.next/server/app/packages/page.js +1 -1
  213. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  214. package/.next/server/app/packages.html +1 -1
  215. package/.next/server/app/packages.rsc +3 -3
  216. package/.next/server/app/page.js +4 -2
  217. package/.next/server/app/page_client-reference-manifest.js +1 -1
  218. package/.next/server/app/settings/page.js +1 -1
  219. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  220. package/.next/server/app/settings.html +1 -1
  221. package/.next/server/app/settings.rsc +3 -3
  222. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  223. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  225. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  226. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  228. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  229. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  231. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  232. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  234. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  235. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  237. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  238. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  240. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  241. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  243. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  244. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js +1 -0
  246. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js.nft.json +1 -0
  247. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -0
  248. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  249. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  251. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  252. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  253. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  254. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  255. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  257. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  258. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  259. package/.next/server/app/v1/chat/events/route.js +1 -1
  260. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  261. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/v1/models/route.js +1 -1
  263. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  264. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  265. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  266. package/.next/server/app/waves.html +1 -1
  267. package/.next/server/app/waves.rsc +2 -2
  268. package/.next/server/app-paths-manifest.json +20 -19
  269. package/.next/server/chunks/1114.js +1 -1
  270. package/.next/server/chunks/1226.js +1 -1
  271. package/.next/server/chunks/1227.js +1 -1
  272. package/.next/server/chunks/166.js +5 -5
  273. package/.next/server/chunks/1664.js +1 -1
  274. package/.next/server/chunks/1805.js +1 -1
  275. package/.next/server/chunks/227.js +1 -1
  276. package/.next/server/chunks/2273.js +2 -2
  277. package/.next/server/chunks/2372.js +1 -1
  278. package/.next/server/chunks/2859.js +1 -1
  279. package/.next/server/chunks/3717.js +1 -0
  280. package/.next/server/chunks/3935.js +4 -0
  281. package/.next/server/chunks/4265.js +1 -1
  282. package/.next/server/chunks/4466.js +1 -1
  283. package/.next/server/chunks/4551.js +1 -1
  284. package/.next/server/chunks/4771.js +2 -2
  285. package/.next/server/chunks/4822.js +1 -1
  286. package/.next/server/chunks/5096.js +1 -1
  287. package/.next/server/chunks/519.js +2 -0
  288. package/.next/server/chunks/5285.js +1 -0
  289. package/.next/server/chunks/5309.js +78 -0
  290. package/.next/server/chunks/544.js +16 -16
  291. package/.next/server/chunks/5463.js +1 -1
  292. package/.next/server/chunks/5544.js +4 -4
  293. package/.next/server/chunks/5703.js +2 -2
  294. package/.next/server/chunks/{5708.js → 6041.js} +1 -1
  295. package/.next/server/chunks/6226.js +1 -1
  296. package/.next/server/chunks/6747.js +72 -43
  297. package/.next/server/chunks/701.js +1 -1
  298. package/.next/server/chunks/7069.js +4 -4
  299. package/.next/server/chunks/7506.js +1 -1
  300. package/.next/server/chunks/7628.js +1 -1
  301. package/.next/server/chunks/7630.js +11 -0
  302. package/.next/server/chunks/7891.js +1 -1
  303. package/.next/server/chunks/7993.js +1 -1
  304. package/.next/server/chunks/8284.js +42 -0
  305. package/.next/server/chunks/8387.js +1 -1
  306. package/.next/server/chunks/8645.js +1 -1
  307. package/.next/server/chunks/8739.js +1 -1
  308. package/.next/server/chunks/9085.js +1 -1
  309. package/.next/server/chunks/9235.js +26 -5
  310. package/.next/server/chunks/9285.js +1 -1
  311. package/.next/server/functions-config-manifest.json +1 -1
  312. package/.next/server/instrumentation.js.nft.json +1 -1
  313. package/.next/server/middleware-build-manifest.js +1 -1
  314. package/.next/server/middleware-manifest.json +1 -1
  315. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  316. package/.next/server/pages/404.html +1 -1
  317. package/.next/server/pages/500.html +1 -1
  318. package/.next/server/server-reference-manifest.js +1 -1
  319. package/.next/server/server-reference-manifest.json +1 -1
  320. package/.next/static/chunks/2005.4eea65c00d9a29cd.js +1 -0
  321. package/.next/static/chunks/3429-34fb1a84aed96703.js +1 -0
  322. package/.next/static/chunks/{2005-f9d38c39f10c321f.js → 4386-e9621d3c94969a68.js} +1 -1
  323. package/.next/static/chunks/4919-6c8a48e3cc642349.js +1 -0
  324. package/.next/static/chunks/7561-2b366ddcbc3cc0ec.js +1 -0
  325. package/.next/static/chunks/8404-5aa8ea49197b98b8.js +1 -0
  326. package/.next/static/chunks/{8650-41c2afc0eba37fb8.js → 8650-aa22dbf7b37348f0.js} +1 -1
  327. package/.next/static/chunks/9611-9867e6e8e65172ec.js +1 -0
  328. package/.next/static/chunks/app/api/approvals/[id]/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  329. package/.next/static/chunks/app/api/approvals/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  330. package/.next/static/chunks/app/api/backup/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  331. package/.next/static/chunks/app/api/browse/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  332. package/.next/static/chunks/app/api/bugs/enhance/route-b9c783850b4c2acf.js +1 -0
  333. package/.next/static/chunks/app/api/cwd/route-b9c783850b4c2acf.js +1 -0
  334. package/.next/static/chunks/app/api/encryption/secure/route-b9c783850b4c2acf.js +1 -0
  335. package/.next/static/chunks/app/api/env/route-b9c783850b4c2acf.js +1 -0
  336. package/.next/static/chunks/app/api/flow/[id]/route-b9c783850b4c2acf.js +1 -0
  337. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-b9c783850b4c2acf.js +1 -0
  338. package/.next/static/chunks/app/api/flow/[id]/versions/route-b9c783850b4c2acf.js +1 -0
  339. package/.next/static/chunks/app/api/flow/compile/route-b9c783850b4c2acf.js +1 -0
  340. package/.next/static/chunks/app/api/flow/generate/route-b9c783850b4c2acf.js +1 -0
  341. package/.next/static/chunks/app/api/flow/generator/route-b9c783850b4c2acf.js +1 -0
  342. package/.next/static/chunks/app/api/flow/improve/route-b9c783850b4c2acf.js +1 -0
  343. package/.next/static/chunks/app/api/flow/prompt-renderer/route-b9c783850b4c2acf.js +1 -0
  344. package/.next/static/chunks/app/api/flow/quick-chat/route-b9c783850b4c2acf.js +1 -0
  345. package/.next/static/chunks/app/api/flow/repair/route-b9c783850b4c2acf.js +1 -0
  346. package/.next/static/chunks/app/api/flow/route-b9c783850b4c2acf.js +1 -0
  347. package/.next/static/chunks/app/api/git/route-b9c783850b4c2acf.js +1 -0
  348. package/.next/static/chunks/app/api/init/route-b9c783850b4c2acf.js +1 -0
  349. package/.next/static/chunks/app/api/local-models/capability/route-b9c783850b4c2acf.js +1 -0
  350. package/.next/static/chunks/app/api/local-models/pull/route-b9c783850b4c2acf.js +1 -0
  351. package/.next/static/chunks/app/api/local-models/suggest/route-b9c783850b4c2acf.js +1 -0
  352. package/.next/static/chunks/app/api/mcp/app-sandbox/route-b9c783850b4c2acf.js +1 -0
  353. package/.next/static/chunks/app/api/mcp/cancel/route-b9c783850b4c2acf.js +1 -0
  354. package/.next/static/chunks/app/api/mcp/oauth-capability/route-b9c783850b4c2acf.js +1 -0
  355. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-b9c783850b4c2acf.js +1 -0
  356. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-b9c783850b4c2acf.js +1 -0
  357. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b9c783850b4c2acf.js +1 -0
  358. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-b9c783850b4c2acf.js +1 -0
  359. package/.next/static/chunks/app/api/mcp/servers/[name]/route-b9c783850b4c2acf.js +1 -0
  360. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-b9c783850b4c2acf.js +1 -0
  361. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b9c783850b4c2acf.js +1 -0
  362. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-b9c783850b4c2acf.js +1 -0
  363. package/.next/static/chunks/app/api/mcp/servers/route-b9c783850b4c2acf.js +1 -0
  364. package/.next/static/chunks/app/api/mcp/test-connection/route-b9c783850b4c2acf.js +1 -0
  365. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-b9c783850b4c2acf.js +1 -0
  366. package/.next/static/chunks/app/api/mcp-registry/route-b9c783850b4c2acf.js +1 -0
  367. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-b9c783850b4c2acf.js +1 -0
  368. package/.next/static/chunks/app/api/model/[id]/route-b9c783850b4c2acf.js +1 -0
  369. package/.next/static/chunks/app/api/model/provider/route-b9c783850b4c2acf.js +1 -0
  370. package/.next/static/chunks/app/api/model/route-b9c783850b4c2acf.js +1 -0
  371. package/.next/static/chunks/app/api/model/test/route-b9c783850b4c2acf.js +1 -0
  372. package/.next/static/chunks/app/api/oauth/callback/route-b9c783850b4c2acf.js +1 -0
  373. package/.next/static/chunks/app/api/oauth/initiate/route-b9c783850b4c2acf.js +1 -0
  374. package/.next/static/chunks/app/api/oauth/reset/route-b9c783850b4c2acf.js +1 -0
  375. package/.next/static/chunks/app/api/packages/build/route-b9c783850b4c2acf.js +1 -0
  376. package/.next/static/chunks/app/api/packages/derive-secrets/route-b9c783850b4c2acf.js +1 -0
  377. package/.next/static/chunks/app/api/packages/install/route-b9c783850b4c2acf.js +1 -0
  378. package/.next/static/chunks/app/api/packages/install/status/route-b9c783850b4c2acf.js +1 -0
  379. package/.next/static/chunks/app/api/packages/installed/route-b9c783850b4c2acf.js +1 -0
  380. package/.next/static/chunks/app/api/packages/resolve/route-b9c783850b4c2acf.js +1 -0
  381. package/.next/static/chunks/app/api/packages/scan-targets/route-b9c783850b4c2acf.js +1 -0
  382. package/.next/static/chunks/app/api/packages/search/route-b9c783850b4c2acf.js +1 -0
  383. package/.next/static/chunks/app/api/packages/uninstall/route-b9c783850b4c2acf.js +1 -0
  384. package/.next/static/chunks/app/api/planned-executions/[id]/route-b9c783850b4c2acf.js +1 -0
  385. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-b9c783850b4c2acf.js +1 -0
  386. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-b9c783850b4c2acf.js +1 -0
  387. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b9c783850b4c2acf.js +1 -0
  388. package/.next/static/chunks/app/api/planned-executions/reconcile/route-b9c783850b4c2acf.js +1 -0
  389. package/.next/static/chunks/app/api/planned-executions/route-b9c783850b4c2acf.js +1 -0
  390. package/.next/static/chunks/app/api/registry/auth/resend/route-b9c783850b4c2acf.js +1 -0
  391. package/.next/static/chunks/app/api/registry/auth/reset/route-b9c783850b4c2acf.js +1 -0
  392. package/.next/static/chunks/app/api/registry/auth/route-b9c783850b4c2acf.js +1 -0
  393. package/.next/static/chunks/app/api/registry/feedback/route-b9c783850b4c2acf.js +1 -0
  394. package/.next/static/chunks/app/api/registry/oauth/callback/route-b9c783850b4c2acf.js +1 -0
  395. package/.next/static/chunks/app/api/registry/oauth/initiate/route-b9c783850b4c2acf.js +1 -0
  396. package/.next/static/chunks/app/api/registry/packages/route-b9c783850b4c2acf.js +1 -0
  397. package/.next/static/chunks/app/api/registry/publish/route-b9c783850b4c2acf.js +1 -0
  398. package/.next/static/chunks/app/api/registry/settings/route-b9c783850b4c2acf.js +1 -0
  399. package/.next/static/chunks/app/api/restore/route-b9c783850b4c2acf.js +1 -0
  400. package/.next/static/chunks/app/api/runs/active/route-b9c783850b4c2acf.js +1 -0
  401. package/.next/static/chunks/app/api/storage/route-b9c783850b4c2acf.js +1 -0
  402. package/.next/static/chunks/app/api/telemetry/daily-active/route-b9c783850b4c2acf.js +1 -0
  403. package/.next/static/chunks/app/api/update/route-b9c783850b4c2acf.js +1 -0
  404. package/.next/static/chunks/app/api/waves/route-b9c783850b4c2acf.js +1 -0
  405. package/.next/static/chunks/app/api/webhooks/[id]/route-b9c783850b4c2acf.js +1 -0
  406. package/.next/static/chunks/app/chat/{page-1d100e5d974c919e.js → page-e37bbc561f40ce60.js} +1 -1
  407. package/.next/static/chunks/app/executions/page-8296fd69c439ccee.js +1 -0
  408. package/.next/static/chunks/app/flows/page-e52c8943555e38dd.js +1 -0
  409. package/.next/static/chunks/app/{layout-38b88f3b057f4852.js → layout-abed1f211e03152f.js} +1 -1
  410. package/.next/static/chunks/app/mcp/page-1648e6fde0c41461.js +1 -0
  411. package/.next/static/chunks/app/mcp-flows/route-b9c783850b4c2acf.js +1 -0
  412. package/.next/static/chunks/app/mcp-proxy/[server]/route-b9c783850b4c2acf.js +1 -0
  413. package/.next/static/chunks/app/models/page-595597042e227970.js +1 -0
  414. package/.next/static/chunks/app/packages/page-f1a22789a6c0e0b6.js +1 -0
  415. package/.next/static/chunks/app/page-2f9da78a4891731a.js +1 -0
  416. package/.next/static/chunks/app/settings/page-f35e939032b0277d.js +1 -0
  417. package/.next/static/chunks/app/v1/chat/completions/route-b9c783850b4c2acf.js +1 -0
  418. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-b9c783850b4c2acf.js +1 -0
  419. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-b9c783850b4c2acf.js +1 -0
  420. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-b9c783850b4c2acf.js +1 -0
  421. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-b9c783850b4c2acf.js +1 -0
  422. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-b9c783850b4c2acf.js +1 -0
  423. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-b9c783850b4c2acf.js +1 -0
  424. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-b9c783850b4c2acf.js +1 -0
  425. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route-b9c783850b4c2acf.js +1 -0
  426. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-b9c783850b4c2acf.js +1 -0
  427. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-b9c783850b4c2acf.js +1 -0
  428. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-b9c783850b4c2acf.js +1 -0
  429. package/.next/static/chunks/app/v1/chat/conversations/route-b9c783850b4c2acf.js +1 -0
  430. package/.next/static/chunks/app/v1/chat/events/route-b9c783850b4c2acf.js +1 -0
  431. package/.next/static/chunks/app/v1/models/route-b9c783850b4c2acf.js +1 -0
  432. package/.next/static/chunks/{webpack-dccb4f149ebdedcc.js → webpack-9d09d53b271f49e2.js} +1 -1
  433. package/.next/trace +10 -10
  434. package/.next/types/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.ts +347 -0
  435. package/.next/types/routes.d.ts +2 -1
  436. package/.next/types/validator.ts +9 -0
  437. package/README.md +47 -47
  438. package/package.json +5 -5
  439. package/.next/server/chunks/2985.js +0 -1
  440. package/.next/server/chunks/4308.js +0 -4
  441. package/.next/server/chunks/4366.js +0 -2
  442. package/.next/server/chunks/5040.js +0 -48
  443. package/.next/server/chunks/8187.js +0 -78
  444. package/.next/server/chunks/8851.js +0 -1
  445. package/.next/static/chunks/289-98f50bfcf833d661.js +0 -1
  446. package/.next/static/chunks/3089.df88f3b16898aad7.js +0 -1
  447. package/.next/static/chunks/6733-c9029143901e62e9.js +0 -1
  448. package/.next/static/chunks/8041-05830e887c133085.js +0 -1
  449. package/.next/static/chunks/8404-bfa9203e4296f3fb.js +0 -1
  450. package/.next/static/chunks/95-b9691d3cb15556dc.js +0 -1
  451. package/.next/static/chunks/app/api/bugs/enhance/route-9ea2990be4b67136.js +0 -1
  452. package/.next/static/chunks/app/api/cwd/route-9ea2990be4b67136.js +0 -1
  453. package/.next/static/chunks/app/api/encryption/secure/route-9ea2990be4b67136.js +0 -1
  454. package/.next/static/chunks/app/api/env/route-9ea2990be4b67136.js +0 -1
  455. package/.next/static/chunks/app/api/flow/[id]/route-9ea2990be4b67136.js +0 -1
  456. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-9ea2990be4b67136.js +0 -1
  457. package/.next/static/chunks/app/api/flow/[id]/versions/route-9ea2990be4b67136.js +0 -1
  458. package/.next/static/chunks/app/api/flow/compile/route-9ea2990be4b67136.js +0 -1
  459. package/.next/static/chunks/app/api/flow/generate/route-9ea2990be4b67136.js +0 -1
  460. package/.next/static/chunks/app/api/flow/generator/route-9ea2990be4b67136.js +0 -1
  461. package/.next/static/chunks/app/api/flow/improve/route-9ea2990be4b67136.js +0 -1
  462. package/.next/static/chunks/app/api/flow/prompt-renderer/route-9ea2990be4b67136.js +0 -1
  463. package/.next/static/chunks/app/api/flow/quick-chat/route-9ea2990be4b67136.js +0 -1
  464. package/.next/static/chunks/app/api/flow/repair/route-9ea2990be4b67136.js +0 -1
  465. package/.next/static/chunks/app/api/flow/route-9ea2990be4b67136.js +0 -1
  466. package/.next/static/chunks/app/api/git/route-9ea2990be4b67136.js +0 -1
  467. package/.next/static/chunks/app/api/init/route-9ea2990be4b67136.js +0 -1
  468. package/.next/static/chunks/app/api/local-models/capability/route-9ea2990be4b67136.js +0 -1
  469. package/.next/static/chunks/app/api/local-models/pull/route-9ea2990be4b67136.js +0 -1
  470. package/.next/static/chunks/app/api/local-models/suggest/route-9ea2990be4b67136.js +0 -1
  471. package/.next/static/chunks/app/api/mcp/app-sandbox/route-9ea2990be4b67136.js +0 -1
  472. package/.next/static/chunks/app/api/mcp/cancel/route-9ea2990be4b67136.js +0 -1
  473. package/.next/static/chunks/app/api/mcp/oauth-capability/route-9ea2990be4b67136.js +0 -1
  474. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-9ea2990be4b67136.js +0 -1
  475. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-9ea2990be4b67136.js +0 -1
  476. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-9ea2990be4b67136.js +0 -1
  477. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-9ea2990be4b67136.js +0 -1
  478. package/.next/static/chunks/app/api/mcp/servers/[name]/route-9ea2990be4b67136.js +0 -1
  479. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-9ea2990be4b67136.js +0 -1
  480. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-9ea2990be4b67136.js +0 -1
  481. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-9ea2990be4b67136.js +0 -1
  482. package/.next/static/chunks/app/api/mcp/servers/route-9ea2990be4b67136.js +0 -1
  483. package/.next/static/chunks/app/api/mcp/test-connection/route-9ea2990be4b67136.js +0 -1
  484. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-9ea2990be4b67136.js +0 -1
  485. package/.next/static/chunks/app/api/mcp-registry/route-9ea2990be4b67136.js +0 -1
  486. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-9ea2990be4b67136.js +0 -1
  487. package/.next/static/chunks/app/api/model/[id]/route-9ea2990be4b67136.js +0 -1
  488. package/.next/static/chunks/app/api/model/provider/route-9ea2990be4b67136.js +0 -1
  489. package/.next/static/chunks/app/api/model/route-9ea2990be4b67136.js +0 -1
  490. package/.next/static/chunks/app/api/model/test/route-9ea2990be4b67136.js +0 -1
  491. package/.next/static/chunks/app/api/oauth/callback/route-9ea2990be4b67136.js +0 -1
  492. package/.next/static/chunks/app/api/oauth/initiate/route-9ea2990be4b67136.js +0 -1
  493. package/.next/static/chunks/app/api/oauth/reset/route-9ea2990be4b67136.js +0 -1
  494. package/.next/static/chunks/app/api/packages/build/route-9ea2990be4b67136.js +0 -1
  495. package/.next/static/chunks/app/api/packages/derive-secrets/route-9ea2990be4b67136.js +0 -1
  496. package/.next/static/chunks/app/api/packages/install/route-9ea2990be4b67136.js +0 -1
  497. package/.next/static/chunks/app/api/packages/install/status/route-9ea2990be4b67136.js +0 -1
  498. package/.next/static/chunks/app/api/packages/installed/route-9ea2990be4b67136.js +0 -1
  499. package/.next/static/chunks/app/api/packages/resolve/route-9ea2990be4b67136.js +0 -1
  500. package/.next/static/chunks/app/api/packages/scan-targets/route-9ea2990be4b67136.js +0 -1
  501. package/.next/static/chunks/app/api/packages/search/route-9ea2990be4b67136.js +0 -1
  502. package/.next/static/chunks/app/api/packages/uninstall/route-9ea2990be4b67136.js +0 -1
  503. package/.next/static/chunks/app/api/planned-executions/[id]/route-9ea2990be4b67136.js +0 -1
  504. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-9ea2990be4b67136.js +0 -1
  505. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-9ea2990be4b67136.js +0 -1
  506. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-9ea2990be4b67136.js +0 -1
  507. package/.next/static/chunks/app/api/planned-executions/reconcile/route-9ea2990be4b67136.js +0 -1
  508. package/.next/static/chunks/app/api/planned-executions/route-9ea2990be4b67136.js +0 -1
  509. package/.next/static/chunks/app/api/registry/auth/resend/route-9ea2990be4b67136.js +0 -1
  510. package/.next/static/chunks/app/api/registry/auth/reset/route-9ea2990be4b67136.js +0 -1
  511. package/.next/static/chunks/app/api/registry/auth/route-9ea2990be4b67136.js +0 -1
  512. package/.next/static/chunks/app/api/registry/feedback/route-9ea2990be4b67136.js +0 -1
  513. package/.next/static/chunks/app/api/registry/oauth/callback/route-9ea2990be4b67136.js +0 -1
  514. package/.next/static/chunks/app/api/registry/oauth/initiate/route-9ea2990be4b67136.js +0 -1
  515. package/.next/static/chunks/app/api/registry/packages/route-9ea2990be4b67136.js +0 -1
  516. package/.next/static/chunks/app/api/registry/publish/route-9ea2990be4b67136.js +0 -1
  517. package/.next/static/chunks/app/api/registry/settings/route-9ea2990be4b67136.js +0 -1
  518. package/.next/static/chunks/app/api/restore/route-9ea2990be4b67136.js +0 -1
  519. package/.next/static/chunks/app/api/runs/active/route-9ea2990be4b67136.js +0 -1
  520. package/.next/static/chunks/app/api/storage/route-9ea2990be4b67136.js +0 -1
  521. package/.next/static/chunks/app/api/telemetry/daily-active/route-9ea2990be4b67136.js +0 -1
  522. package/.next/static/chunks/app/api/update/route-9ea2990be4b67136.js +0 -1
  523. package/.next/static/chunks/app/api/waves/route-9ea2990be4b67136.js +0 -1
  524. package/.next/static/chunks/app/api/webhooks/[id]/route-9ea2990be4b67136.js +0 -1
  525. package/.next/static/chunks/app/executions/page-10ec7d58c7fbdd6f.js +0 -1
  526. package/.next/static/chunks/app/flows/page-9a78a2915268b2f8.js +0 -1
  527. package/.next/static/chunks/app/mcp/page-56b43b2f8752e9a5.js +0 -1
  528. package/.next/static/chunks/app/mcp-flows/route-9ea2990be4b67136.js +0 -1
  529. package/.next/static/chunks/app/mcp-proxy/[server]/route-9ea2990be4b67136.js +0 -1
  530. package/.next/static/chunks/app/models/page-808c0568ebc5e2c7.js +0 -1
  531. package/.next/static/chunks/app/packages/page-af6ec89522915206.js +0 -1
  532. package/.next/static/chunks/app/page-30bf4293efa47a47.js +0 -1
  533. package/.next/static/chunks/app/settings/page-59ae1b658838f0bc.js +0 -1
  534. package/.next/static/chunks/app/v1/chat/completions/route-9ea2990be4b67136.js +0 -1
  535. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-9ea2990be4b67136.js +0 -1
  536. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-9ea2990be4b67136.js +0 -1
  537. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-9ea2990be4b67136.js +0 -1
  538. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-9ea2990be4b67136.js +0 -1
  539. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-9ea2990be4b67136.js +0 -1
  540. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-9ea2990be4b67136.js +0 -1
  541. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-9ea2990be4b67136.js +0 -1
  542. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-9ea2990be4b67136.js +0 -1
  543. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-9ea2990be4b67136.js +0 -1
  544. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-9ea2990be4b67136.js +0 -1
  545. package/.next/static/chunks/app/v1/chat/conversations/route-9ea2990be4b67136.js +0 -1
  546. package/.next/static/chunks/app/v1/chat/events/route-9ea2990be4b67136.js +0 -1
  547. package/.next/static/chunks/app/v1/models/route-9ea2990be4b67136.js +0 -1
  548. /package/.next/static/{jfb1GsjSGMjBmwfa3kM26 → hbjnLG9RCje2AApS9TzP8}/_buildManifest.js +0 -0
  549. /package/.next/static/{jfb1GsjSGMjBmwfa3kM26 → hbjnLG9RCje2AApS9TzP8}/_ssgManifest.js +0 -0
@@ -0,0 +1,347 @@
1
+ // File: C:\Users\Moe\Documents\GitHub\FLUJO\src\app\v1\chat\conversations\[conversationId]\resources\[resourceId]\content\route.ts
2
+ import * as entry from '../../../../../../../../../../src/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ type TEntry = typeof import('../../../../../../../../../../src/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js')
6
+
7
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
8
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
9
+ : T
10
+
11
+ // Check that the entry is a valid entry
12
+ checkFields<Diff<{
13
+ GET?: Function
14
+ HEAD?: Function
15
+ OPTIONS?: Function
16
+ POST?: Function
17
+ PUT?: Function
18
+ DELETE?: Function
19
+ PATCH?: Function
20
+ config?: {}
21
+ generateStaticParams?: Function
22
+ revalidate?: RevalidateRange<TEntry> | false
23
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
24
+ dynamicParams?: boolean
25
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
26
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
27
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
28
+ maxDuration?: number
29
+
30
+ }, TEntry, ''>>()
31
+
32
+ type RouteContext = { params: Promise<SegmentParams> }
33
+ // Check the prop type of the entry function
34
+ if ('GET' in entry) {
35
+ checkFields<
36
+ Diff<
37
+ ParamCheck<Request | NextRequest>,
38
+ {
39
+ __tag__: 'GET'
40
+ __param_position__: 'first'
41
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
42
+ },
43
+ 'GET'
44
+ >
45
+ >()
46
+ checkFields<
47
+ Diff<
48
+ ParamCheck<RouteContext>,
49
+ {
50
+ __tag__: 'GET'
51
+ __param_position__: 'second'
52
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
53
+ },
54
+ 'GET'
55
+ >
56
+ >()
57
+
58
+ checkFields<
59
+ Diff<
60
+ {
61
+ __tag__: 'GET',
62
+ __return_type__: Response | void | never | Promise<Response | void | never>
63
+ },
64
+ {
65
+ __tag__: 'GET',
66
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
67
+ },
68
+ 'GET'
69
+ >
70
+ >()
71
+ }
72
+ // Check the prop type of the entry function
73
+ if ('HEAD' in entry) {
74
+ checkFields<
75
+ Diff<
76
+ ParamCheck<Request | NextRequest>,
77
+ {
78
+ __tag__: 'HEAD'
79
+ __param_position__: 'first'
80
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
81
+ },
82
+ 'HEAD'
83
+ >
84
+ >()
85
+ checkFields<
86
+ Diff<
87
+ ParamCheck<RouteContext>,
88
+ {
89
+ __tag__: 'HEAD'
90
+ __param_position__: 'second'
91
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
92
+ },
93
+ 'HEAD'
94
+ >
95
+ >()
96
+
97
+ checkFields<
98
+ Diff<
99
+ {
100
+ __tag__: 'HEAD',
101
+ __return_type__: Response | void | never | Promise<Response | void | never>
102
+ },
103
+ {
104
+ __tag__: 'HEAD',
105
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
106
+ },
107
+ 'HEAD'
108
+ >
109
+ >()
110
+ }
111
+ // Check the prop type of the entry function
112
+ if ('OPTIONS' in entry) {
113
+ checkFields<
114
+ Diff<
115
+ ParamCheck<Request | NextRequest>,
116
+ {
117
+ __tag__: 'OPTIONS'
118
+ __param_position__: 'first'
119
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
120
+ },
121
+ 'OPTIONS'
122
+ >
123
+ >()
124
+ checkFields<
125
+ Diff<
126
+ ParamCheck<RouteContext>,
127
+ {
128
+ __tag__: 'OPTIONS'
129
+ __param_position__: 'second'
130
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
131
+ },
132
+ 'OPTIONS'
133
+ >
134
+ >()
135
+
136
+ checkFields<
137
+ Diff<
138
+ {
139
+ __tag__: 'OPTIONS',
140
+ __return_type__: Response | void | never | Promise<Response | void | never>
141
+ },
142
+ {
143
+ __tag__: 'OPTIONS',
144
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
145
+ },
146
+ 'OPTIONS'
147
+ >
148
+ >()
149
+ }
150
+ // Check the prop type of the entry function
151
+ if ('POST' in entry) {
152
+ checkFields<
153
+ Diff<
154
+ ParamCheck<Request | NextRequest>,
155
+ {
156
+ __tag__: 'POST'
157
+ __param_position__: 'first'
158
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
159
+ },
160
+ 'POST'
161
+ >
162
+ >()
163
+ checkFields<
164
+ Diff<
165
+ ParamCheck<RouteContext>,
166
+ {
167
+ __tag__: 'POST'
168
+ __param_position__: 'second'
169
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
170
+ },
171
+ 'POST'
172
+ >
173
+ >()
174
+
175
+ checkFields<
176
+ Diff<
177
+ {
178
+ __tag__: 'POST',
179
+ __return_type__: Response | void | never | Promise<Response | void | never>
180
+ },
181
+ {
182
+ __tag__: 'POST',
183
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
184
+ },
185
+ 'POST'
186
+ >
187
+ >()
188
+ }
189
+ // Check the prop type of the entry function
190
+ if ('PUT' in entry) {
191
+ checkFields<
192
+ Diff<
193
+ ParamCheck<Request | NextRequest>,
194
+ {
195
+ __tag__: 'PUT'
196
+ __param_position__: 'first'
197
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
198
+ },
199
+ 'PUT'
200
+ >
201
+ >()
202
+ checkFields<
203
+ Diff<
204
+ ParamCheck<RouteContext>,
205
+ {
206
+ __tag__: 'PUT'
207
+ __param_position__: 'second'
208
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
209
+ },
210
+ 'PUT'
211
+ >
212
+ >()
213
+
214
+ checkFields<
215
+ Diff<
216
+ {
217
+ __tag__: 'PUT',
218
+ __return_type__: Response | void | never | Promise<Response | void | never>
219
+ },
220
+ {
221
+ __tag__: 'PUT',
222
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
223
+ },
224
+ 'PUT'
225
+ >
226
+ >()
227
+ }
228
+ // Check the prop type of the entry function
229
+ if ('DELETE' in entry) {
230
+ checkFields<
231
+ Diff<
232
+ ParamCheck<Request | NextRequest>,
233
+ {
234
+ __tag__: 'DELETE'
235
+ __param_position__: 'first'
236
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
237
+ },
238
+ 'DELETE'
239
+ >
240
+ >()
241
+ checkFields<
242
+ Diff<
243
+ ParamCheck<RouteContext>,
244
+ {
245
+ __tag__: 'DELETE'
246
+ __param_position__: 'second'
247
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
248
+ },
249
+ 'DELETE'
250
+ >
251
+ >()
252
+
253
+ checkFields<
254
+ Diff<
255
+ {
256
+ __tag__: 'DELETE',
257
+ __return_type__: Response | void | never | Promise<Response | void | never>
258
+ },
259
+ {
260
+ __tag__: 'DELETE',
261
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
262
+ },
263
+ 'DELETE'
264
+ >
265
+ >()
266
+ }
267
+ // Check the prop type of the entry function
268
+ if ('PATCH' in entry) {
269
+ checkFields<
270
+ Diff<
271
+ ParamCheck<Request | NextRequest>,
272
+ {
273
+ __tag__: 'PATCH'
274
+ __param_position__: 'first'
275
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
276
+ },
277
+ 'PATCH'
278
+ >
279
+ >()
280
+ checkFields<
281
+ Diff<
282
+ ParamCheck<RouteContext>,
283
+ {
284
+ __tag__: 'PATCH'
285
+ __param_position__: 'second'
286
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
287
+ },
288
+ 'PATCH'
289
+ >
290
+ >()
291
+
292
+ checkFields<
293
+ Diff<
294
+ {
295
+ __tag__: 'PATCH',
296
+ __return_type__: Response | void | never | Promise<Response | void | never>
297
+ },
298
+ {
299
+ __tag__: 'PATCH',
300
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
301
+ },
302
+ 'PATCH'
303
+ >
304
+ >()
305
+ }
306
+
307
+ // Check the arguments and return type of the generateStaticParams function
308
+ if ('generateStaticParams' in entry) {
309
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
310
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
311
+ }
312
+
313
+ export interface PageProps {
314
+ params?: Promise<SegmentParams>
315
+ searchParams?: Promise<any>
316
+ }
317
+ export interface LayoutProps {
318
+ children?: React.ReactNode
319
+
320
+ params?: Promise<SegmentParams>
321
+ }
322
+
323
+ // =============
324
+ // Utility types
325
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
326
+
327
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
328
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
329
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
330
+
331
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
332
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
333
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
334
+
335
+ type ParamCheck<T> = {
336
+ __tag__: string
337
+ __param_position__: string
338
+ __param_type__: T
339
+ }
340
+
341
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
342
+
343
+ // https://github.com/sindresorhus/type-fest
344
+ type Numeric = number | bigint
345
+ type Zero = 0 | 0n
346
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
347
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/chat" | "/docs" | "/executions" | "/flows" | "/mcp" | "/models" | "/packages" | "/settings" | "/waves"
5
- type AppRouteHandlerRoutes = "/api/approvals" | "/api/approvals/[id]" | "/api/backup" | "/api/browse" | "/api/bugs/enhance" | "/api/cwd" | "/api/encryption/secure" | "/api/env" | "/api/flow" | "/api/flow/[id]" | "/api/flow/[id]/versions" | "/api/flow/[id]/versions/[versionId]" | "/api/flow/compile" | "/api/flow/generate" | "/api/flow/generator" | "/api/flow/improve" | "/api/flow/prompt-renderer" | "/api/flow/quick-chat" | "/api/flow/repair" | "/api/git" | "/api/init" | "/api/local-models/capability" | "/api/local-models/pull" | "/api/local-models/suggest" | "/api/mcp-registry" | "/api/mcp-registry/spotlight" | "/api/mcp/app-sandbox" | "/api/mcp/cancel" | "/api/mcp/oauth-capability" | "/api/mcp/servers" | "/api/mcp/servers/[name]" | "/api/mcp/servers/[name]/prompts" | "/api/mcp/servers/[name]/prompts/get" | "/api/mcp/servers/[name]/resources" | "/api/mcp/servers/[name]/resources/read" | "/api/mcp/servers/[name]/status" | "/api/mcp/servers/[name]/tools" | "/api/mcp/servers/[name]/tools/[toolName]" | "/api/mcp/test-connection" | "/api/mcp/test-connection/stream" | "/api/model" | "/api/model/[id]" | "/api/model/provider" | "/api/model/test" | "/api/oauth/callback" | "/api/oauth/initiate" | "/api/oauth/reset" | "/api/packages/build" | "/api/packages/derive-secrets" | "/api/packages/install" | "/api/packages/install/status" | "/api/packages/installed" | "/api/packages/resolve" | "/api/packages/scan-targets" | "/api/packages/search" | "/api/packages/uninstall" | "/api/planned-executions" | "/api/planned-executions/[id]" | "/api/planned-executions/[id]/run" | "/api/planned-executions/[id]/runs" | "/api/planned-executions/preview-schedule" | "/api/planned-executions/reconcile" | "/api/registry/auth" | "/api/registry/auth/resend" | "/api/registry/auth/reset" | "/api/registry/feedback" | "/api/registry/oauth/callback" | "/api/registry/oauth/initiate" | "/api/registry/packages" | "/api/registry/publish" | "/api/registry/settings" | "/api/restore" | "/api/runs/active" | "/api/storage" | "/api/telemetry/daily-active" | "/api/update" | "/api/waves" | "/api/webhooks/[id]" | "/mcp-flows" | "/mcp-proxy/[server]" | "/v1/chat/completions" | "/v1/chat/conversations" | "/v1/chat/conversations/[conversationId]" | "/v1/chat/conversations/[conversationId]/breakpoints" | "/v1/chat/conversations/[conversationId]/cancel" | "/v1/chat/conversations/[conversationId]/debug/continue" | "/v1/chat/conversations/[conversationId]/debug/step" | "/v1/chat/conversations/[conversationId]/edit-state" | "/v1/chat/conversations/[conversationId]/events" | "/v1/chat/conversations/[conversationId]/inject" | "/v1/chat/conversations/[conversationId]/resources" | "/v1/chat/conversations/[conversationId]/respond" | "/v1/chat/events" | "/v1/models"
5
+ type AppRouteHandlerRoutes = "/api/approvals" | "/api/approvals/[id]" | "/api/backup" | "/api/browse" | "/api/bugs/enhance" | "/api/cwd" | "/api/encryption/secure" | "/api/env" | "/api/flow" | "/api/flow/[id]" | "/api/flow/[id]/versions" | "/api/flow/[id]/versions/[versionId]" | "/api/flow/compile" | "/api/flow/generate" | "/api/flow/generator" | "/api/flow/improve" | "/api/flow/prompt-renderer" | "/api/flow/quick-chat" | "/api/flow/repair" | "/api/git" | "/api/init" | "/api/local-models/capability" | "/api/local-models/pull" | "/api/local-models/suggest" | "/api/mcp-registry" | "/api/mcp-registry/spotlight" | "/api/mcp/app-sandbox" | "/api/mcp/cancel" | "/api/mcp/oauth-capability" | "/api/mcp/servers" | "/api/mcp/servers/[name]" | "/api/mcp/servers/[name]/prompts" | "/api/mcp/servers/[name]/prompts/get" | "/api/mcp/servers/[name]/resources" | "/api/mcp/servers/[name]/resources/read" | "/api/mcp/servers/[name]/status" | "/api/mcp/servers/[name]/tools" | "/api/mcp/servers/[name]/tools/[toolName]" | "/api/mcp/test-connection" | "/api/mcp/test-connection/stream" | "/api/model" | "/api/model/[id]" | "/api/model/provider" | "/api/model/test" | "/api/oauth/callback" | "/api/oauth/initiate" | "/api/oauth/reset" | "/api/packages/build" | "/api/packages/derive-secrets" | "/api/packages/install" | "/api/packages/install/status" | "/api/packages/installed" | "/api/packages/resolve" | "/api/packages/scan-targets" | "/api/packages/search" | "/api/packages/uninstall" | "/api/planned-executions" | "/api/planned-executions/[id]" | "/api/planned-executions/[id]/run" | "/api/planned-executions/[id]/runs" | "/api/planned-executions/preview-schedule" | "/api/planned-executions/reconcile" | "/api/registry/auth" | "/api/registry/auth/resend" | "/api/registry/auth/reset" | "/api/registry/feedback" | "/api/registry/oauth/callback" | "/api/registry/oauth/initiate" | "/api/registry/packages" | "/api/registry/publish" | "/api/registry/settings" | "/api/restore" | "/api/runs/active" | "/api/storage" | "/api/telemetry/daily-active" | "/api/update" | "/api/waves" | "/api/webhooks/[id]" | "/mcp-flows" | "/mcp-proxy/[server]" | "/v1/chat/completions" | "/v1/chat/conversations" | "/v1/chat/conversations/[conversationId]" | "/v1/chat/conversations/[conversationId]/breakpoints" | "/v1/chat/conversations/[conversationId]/cancel" | "/v1/chat/conversations/[conversationId]/debug/continue" | "/v1/chat/conversations/[conversationId]/debug/step" | "/v1/chat/conversations/[conversationId]/edit-state" | "/v1/chat/conversations/[conversationId]/events" | "/v1/chat/conversations/[conversationId]/inject" | "/v1/chat/conversations/[conversationId]/resources" | "/v1/chat/conversations/[conversationId]/resources/[resourceId]/content" | "/v1/chat/conversations/[conversationId]/respond" | "/v1/chat/events" | "/v1/models"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -111,6 +111,7 @@ interface ParamMap {
111
111
  "/v1/chat/conversations/[conversationId]/events": { "conversationId": string; }
112
112
  "/v1/chat/conversations/[conversationId]/inject": { "conversationId": string; }
113
113
  "/v1/chat/conversations/[conversationId]/resources": { "conversationId": string; }
114
+ "/v1/chat/conversations/[conversationId]/resources/[resourceId]/content": { "conversationId": string; "resourceId": string; }
114
115
  "/v1/chat/conversations/[conversationId]/respond": { "conversationId": string; }
115
116
  "/v1/chat/events": {}
116
117
  "/v1/models": {}
@@ -929,6 +929,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
929
929
  type __Unused = __Check
930
930
  }
931
931
 
932
+ // Validate ../../src/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.ts
933
+ {
934
+ type __IsExpected<Specific extends RouteHandlerConfig<"/v1/chat/conversations/[conversationId]/resources/[resourceId]/content">> = Specific
935
+ const handler = {} as typeof import("../../src/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js")
936
+ type __Check = __IsExpected<typeof handler>
937
+ // @ts-ignore
938
+ type __Unused = __Check
939
+ }
940
+
932
941
  // Validate ../../src/app/v1/chat/conversations/[conversationId]/resources/route.ts
933
942
  {
934
943
  type __IsExpected<Specific extends RouteHandlerConfig<"/v1/chat/conversations/[conversationId]/resources">> = Specific
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- <img width="720" height="405" alt="output" src="https://github.com/user-attachments/assets/87ff1b2c-fec2-4652-a049-98e5ee699e00" />
2
1
 
3
- ### ▶ FLUJO in 60 seconds
2
+ ### ▶ FLUJO — Your AI. In Flow.
4
3
 
5
- [![Watch: FLUJO in 60 seconds — animated short](githubpages/img/short-poster.jpeg)](https://mario-andreschak.github.io/FLUJO/githubpages/short.html)
4
+ [![Watch FLUJO — Your AI. In Flow.](githubpages/img/short-poster.png)](https://mario-andreschak.github.io/FLUJO/githubpages/short/)
6
5
 
7
- *Click to watch*
6
+ *Click to watch the 2:28 interactive product film*
8
7
 
9
8
  ## ⚡ Quick Install (recommended)
10
9
 
11
- One command installs everything FLUJO needs (Git, Node.js, Python, uv), clones FLUJO, builds it, and sets up a global `flujo` command. This is the recommended way to run FLUJO — MCP servers get all their runtimes too.
10
+ The installer sets up everything FLUJO needs (Git, Node.js, Python, uv), clones FLUJO, builds it, and creates a global `flujo` command. This is the recommended way to run FLUJO — MCP servers get all their runtimes too.
12
11
 
13
- **Windows** — press Start, type powershell, press Enter, copy & paste the command below and press Enter again:
12
+ **Windows installer (recommended)** — click below to download the latest `flujo-setup.exe`:
13
+
14
+ [![Download Setup.exe — Windows Installer](docs/images/readme/download-setup.png)](https://github.com/mario-andreschak/FLUJO/releases/latest/download/flujo-setup.exe)
15
+
16
+ **Windows PowerShell** — alternatively, press Start, type powershell, press Enter, copy & paste the command below and press Enter again:
14
17
 
15
18
  ```powershell
16
19
  irm https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.ps1 | iex
17
20
  ```
18
21
 
19
- Prefer a graphical installer? Download `flujo-setup.exe` from the
20
- [latest release](https://github.com/mario-andreschak/FLUJO/releases/latest) instead.
21
-
22
22
  **Linux / macOS** — paste into a terminal:
23
23
 
24
24
  ```bash
@@ -45,17 +45,17 @@ For *anything* that you struggle with (MCP Installation, Application Issues, Usa
45
45
  # FLUJO
46
46
 
47
47
  [![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
48
- [![Version](https://img.shields.io/badge/version-3.33.0-green.svg)](package.json)
49
-
50
- FLUJO is an open-source, local-first platform for building **MCP-powered AI workflows**. It brings together model management, Model-Context-Protocol (MCP) servers, a visual flow builder, and a chat interface in one app — so you can wire models and tools together, run them headlessly on triggers, and expose the result to other apps, without giving up control of your keys and data.
51
-
52
- FLUJO shares one anonymous daily-active pulse by default. The payload is limited
53
- to the app version, platform, install method, UTC date, and a random identifier
54
- that changes every day; it contains no flows, prompts, models, keys, filenames,
55
- account details, or permanent installation identifier. A daily in-app notice
56
- discloses the check. Sharing and the notice can be controlled independently
57
- under **Settings → Privacy & Usage**. Set `FLUJO_TELEMETRY_URL` to point at a
58
- self-hosted compatible collector.
48
+ [![Version](https://img.shields.io/badge/version-3.35.0-green.svg)](package.json)
49
+
50
+ FLUJO is an open-source, local-first platform for building **MCP-powered AI workflows**. It brings together model management, Model-Context-Protocol (MCP) servers, a visual flow builder, and a chat interface in one app — so you can wire models and tools together, run them headlessly on triggers, and expose the result to other apps, without giving up control of your keys and data.
51
+
52
+ FLUJO shares one anonymous daily-active pulse by default. The payload is limited
53
+ to the app version, platform, install method, UTC date, and a random identifier
54
+ that changes every day; it contains no flows, prompts, models, keys, filenames,
55
+ account details, or permanent installation identifier. A daily in-app notice
56
+ discloses the check. Sharing and the notice can be controlled independently
57
+ under **Settings → Privacy & Usage**. Set `FLUJO_TELEMETRY_URL` to point at a
58
+ self-hosted compatible collector.
59
59
 
60
60
  ![FLUJO Overview](docs/images/readme/home.png)
61
61
 
@@ -247,11 +247,11 @@ Then open http://localhost:4200.
247
247
  `docker-compose.yml`).
248
248
  - **Claude Subscription** in-container: generate a token on your host with
249
249
  `claude setup-token` and pass it as `CLAUDE_CODE_OAUTH_TOKEN`.
250
- - **fileWatch triggers**: bind-mount the host folder you want to watch into the
251
- container (see the commented volume example in `docker-compose.yml`).
252
- - **MCP Apps**: Compose also publishes the isolated sandbox origin on
253
- `http://localhost:4201`, loopback-only. Keep both `4200` and `4201` mappings
254
- when using interactive MCP Apps.
250
+ - **fileWatch triggers**: bind-mount the host folder you want to watch into the
251
+ container (see the commented volume example in `docker-compose.yml`).
252
+ - **MCP Apps**: Compose also publishes the isolated sandbox origin on
253
+ `http://localhost:4201`, loopback-only. Keep both `4200` and `4201` mappings
254
+ when using interactive MCP Apps.
255
255
 
256
256
  > ⚠️ **Security:** FLUJO has no authentication layer and its git API runs
257
257
  > commands on the server, so the port is bound to **localhost only** by default.
@@ -285,28 +285,28 @@ checks:
285
285
  > ⚠️ **Security precondition:** only set this when **nothing untrusted can reach
286
286
  > FLUJO's port at those names**. The DNS-rebinding protection is still enforced
287
287
  > — an attacker page's Origin never matches these entries — but widening the
288
- > trusted-host set is only safe on a private network fronted by your own
289
- > authenticating proxy.
290
-
291
- #### MCP Apps behind HTTPS
292
-
293
- MCP Apps must run on a different origin from FLUJO. For a hosted HTTPS install,
294
- give the sandbox its own HTTPS origin (for example
295
- `https://flujo-apps.example.internal`) and have the trusted proxy TLS-terminate
296
- that origin to the container's plain HTTP port `4201`. Configure:
297
-
298
- ```text
299
- FLUJO_MCP_APP_SANDBOX_PUBLIC_URL=https://flujo-apps.example.internal/sandbox.html
300
- FLUJO_MCP_APP_HOST_ORIGINS=https://flujo.example.internal
301
- ```
302
-
303
- `FLUJO_MCP_APP_HOST_ORIGINS` is a comma-separated allowlist of exact
304
- `http(s)://host[:port]` origins permitted to embed the sandbox. Preserve the
305
- browser's `Referer` header through the proxy; the sandbox checks it against this
306
- allowlist and pins its `frame-ancestors` CSP to that exact origin. Do not serve
307
- the sandbox beneath FLUJO's own origin, and do not point the browser directly at
308
- port `4201` from an HTTPS page—the listener expects TLS termination at the
309
- separate proxy origin.
288
+ > trusted-host set is only safe on a private network fronted by your own
289
+ > authenticating proxy.
290
+
291
+ #### MCP Apps behind HTTPS
292
+
293
+ MCP Apps must run on a different origin from FLUJO. For a hosted HTTPS install,
294
+ give the sandbox its own HTTPS origin (for example
295
+ `https://flujo-apps.example.internal`) and have the trusted proxy TLS-terminate
296
+ that origin to the container's plain HTTP port `4201`. Configure:
297
+
298
+ ```text
299
+ FLUJO_MCP_APP_SANDBOX_PUBLIC_URL=https://flujo-apps.example.internal/sandbox.html
300
+ FLUJO_MCP_APP_HOST_ORIGINS=https://flujo.example.internal
301
+ ```
302
+
303
+ `FLUJO_MCP_APP_HOST_ORIGINS` is a comma-separated allowlist of exact
304
+ `http(s)://host[:port]` origins permitted to embed the sandbox. Preserve the
305
+ browser's `Referer` header through the proxy; the sandbox checks it against this
306
+ allowlist and pins its `frame-ancestors` CSP to that exact origin. Do not serve
307
+ the sandbox beneath FLUJO's own origin, and do not point the browser directly at
308
+ port `4201` from an HTTPS page—the listener expects TLS termination at the
309
+ separate proxy origin.
310
310
 
311
311
  ### Run via npx (npm package)
312
312
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flujo-ai",
3
- "version": "3.33.0",
3
+ "version": "3.35.0",
4
4
  "bin": {
5
5
  "flujo": "bin/flujo.mjs"
6
6
  },
@@ -16,14 +16,14 @@
16
16
  "dev": "node scripts/launch-next.mjs dev -p 4200",
17
17
  "turbo": "node scripts/launch-next.mjs dev --turbopack -p 4200",
18
18
  "build": "next build",
19
- "start": "node scripts/launch-next.mjs start -p 4200",
20
- "check:parallel-mcp:no-oauth": "node scripts/check-parallel-mcp-no-oauth.mjs",
21
- "lint": "next lint",
19
+ "start": "node scripts/launch-next.mjs start -p 4200",
20
+ "check:parallel-mcp:no-oauth": "node scripts/check-parallel-mcp-no-oauth.mjs",
21
+ "lint": "next lint",
22
22
  "test": "jest",
23
23
  "test:watch": "jest --watch",
24
24
  "prepublishOnly": "npm run build",
25
25
  "version": "node scripts/sync-version.mjs && git add -A src README.md githubpages/index.html",
26
- "release": "npm version minor -m \"Bump version to %s\" && npm publish"
26
+ "release": "node scripts/release.mjs"
27
27
  },
28
28
  "dependencies": {
29
29
  "@anthropic-ai/claude-agent-sdk": "^0.3.186",
@@ -1 +0,0 @@
1
- "use strict";exports.id=2985,exports.ids=[2985],exports.modules={2117:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},19427:(a,b,c)=>{c.d(b,{A:()=>aa});var d,e,f=c(38301),g=c(43249),h=c(2783),i=c(37489),j=c(92869),k=c(55973),l=c(66335),m=c(62383),n=c(10005);function o(a){return a.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let p=function(a={}){let{ignoreAccents:b=!0,ignoreCase:c=!0,limit:d,matchFrom:e="any",stringify:f,trim:g=!1}=a;return(a,{inputValue:h,getOptionLabel:i})=>{let j=g?h.trim():h;c&&(j=j.toLowerCase()),b&&(j=o(j));let k=j?a.filter(a=>{let d=(f||i)(a);return c&&(d=d.toLowerCase()),b&&(d=o(d)),"start"===e?d.startsWith(j):d.includes(j)}):a;return"number"==typeof d?k.slice(0,d):k}}(),q=a=>null!==a.current&&a.current.parentElement?.contains(document.activeElement),r=[];function s(a,b,c){if(b||null==a)return"";let d=c(a);return"string"==typeof d?d:""}let t=function(a){let{unstable_isActiveElementInListbox:b=q,unstable_classNamePrefix:c="Mui",autoComplete:d=!1,autoHighlight:e=!1,autoSelect:g=!1,blurOnSelect:h=!1,clearOnBlur:i=!a.freeSolo,clearOnEscape:o=!1,componentName:t="useAutocomplete",defaultValue:u=a.multiple?r:null,disableClearable:v=!1,disableCloseOnSelect:w=!1,disabled:x,disabledItemsFocusable:y=!1,disableListWrap:z=!1,filterOptions:A=p,filterSelectedOptions:B=!1,freeSolo:C=!1,getOptionDisabled:D,getOptionKey:E,getOptionLabel:F=a=>a.label??a,groupBy:G,handleHomeEndKeys:H=!a.freeSolo,id:I,includeInputInList:J=!1,inputValue:K,isOptionEqualToValue:L=(a,b)=>a===b,multiple:M=!1,onChange:N,onClose:O,onHighlightChange:P,onInputChange:Q,onOpen:R,open:S,openOnFocus:T=!1,options:U,readOnly:V=!1,selectOnFocus:W=!a.freeSolo,value:X}=a,Y=(0,j.A)(I),Z=F;Z=a=>{let b=F(a);return"string"!=typeof b?String(b):b};let $=f.useRef(!1),_=f.useRef(!0),aa=f.useRef(null),ab=f.useRef(null),[ac,ad]=f.useState(null),[ae,af]=f.useState(-1),ag=e?0:-1,ah=f.useRef(ag),ai=f.useRef(s(u??X,M,Z)).current,[aj,ak]=(0,k.A)({controlled:X,default:u,name:t}),[al,am]=(0,k.A)({controlled:K,default:ai,name:t,state:"inputValue"}),[an,ao]=f.useState(!1),ap=f.useCallback((a,b,c)=>{if(!(M?aj.length<b.length:null!==b)&&!i)return;let d=s(b,M,Z);al!==d&&(am(d),Q&&Q(a,d,c))},[Z,al,M,Q,am,i,aj]),[aq,ar]=(0,k.A)({controlled:S,default:!1,name:t,state:"open"}),[as,at]=f.useState(!0),au=!M&&null!=aj&&al===Z(aj),av=aq&&!V,aw=av?A(U.filter(a=>!(B&&(M?aj:[aj]).some(b=>null!==b&&L(a,b)))),{inputValue:au&&as?"":al,getOptionLabel:Z}):[],ax=(0,l.A)({filteredOptions:aw,value:aj,inputValue:al});f.useEffect(()=>{let a=aj!==ax.value;(!an||a)&&(!C||a)&&ap(null,aj,"reset")},[aj,ap,an,ax.value,C]);let ay=aq&&aw.length>0&&!V,az=(0,m.A)(a=>{-1===a?aa.current.focus():ac.querySelector(`[data-tag-index="${a}"]`).focus()});f.useEffect(()=>{M&&ae>aj.length-1&&(af(-1),az(-1))},[aj,M,ae,az]);let aA=(0,m.A)(({event:a,index:b,reason:d})=>{if(ah.current=b,-1===b?aa.current.removeAttribute("aria-activedescendant"):aa.current.setAttribute("aria-activedescendant",`${Y}-option-${b}`),P&&["mouse","keyboard","touch"].includes(d)&&P(a,-1===b?null:aw[b],d),!ab.current)return;let e=ab.current.querySelector(`[role="option"].${c}-focused`);e&&(e.classList.remove(`${c}-focused`),e.classList.remove(`${c}-focusVisible`));let f=ab.current;if("listbox"!==ab.current.getAttribute("role")&&(f=ab.current.parentElement.querySelector('[role="listbox"]')),!f)return;if(-1===b){f.scrollTop=0;return}let g=ab.current.querySelector(`[data-option-index="${b}"]`);if(g&&(g.classList.add(`${c}-focused`),"keyboard"===d&&g.classList.add(`${c}-focusVisible`),f.scrollHeight>f.clientHeight&&"mouse"!==d&&"touch"!==d)){let a=f.clientHeight+f.scrollTop,b=g.offsetTop+g.offsetHeight;b>a?f.scrollTop=b-f.clientHeight:g.offsetTop-g.offsetHeight*(1.3*!!G)<f.scrollTop&&(f.scrollTop=g.offsetTop-g.offsetHeight*(1.3*!!G))}}),aB=(0,m.A)(({event:a,diff:b,direction:c="next",reason:e})=>{if(!av)return;let f=function(a,b){if(!ab.current||a<0||a>=aw.length)return -1;let c=a;for(;;){let d=ab.current.querySelector(`[data-option-index="${c}"]`),e=!y&&(!d||d.disabled||"true"===d.getAttribute("aria-disabled"));if(d&&d.hasAttribute("tabindex")&&!e)return c;if((c="next"===b?(c+1)%aw.length:(c-1+aw.length)%aw.length)===a)return -1}}((()=>{let a=aw.length-1;if("reset"===b)return ag;if("start"===b)return 0;if("end"===b)return a;let c=ah.current+b;return c<0?-1===c&&J?-1:z&&-1!==ah.current||Math.abs(b)>1?0:a:c>a?c===a+1&&J?-1:z||Math.abs(b)>1?a:0:c})(),c);if(aA({index:f,reason:e,event:a}),d&&"reset"!==b)if(-1===f)aa.current.value=al;else{let a=Z(aw[f]);aa.current.value=a,0===a.toLowerCase().indexOf(al.toLowerCase())&&al.length>0&&aa.current.setSelectionRange(al.length,a.length)}}),aC=f.useCallback(()=>{if(!av)return;let a=(()=>{var a,b;if(-1!==ah.current&&ax.filteredOptions&&ax.filteredOptions.length!==aw.length&&ax.inputValue===al&&(M?aj.length===ax.value.length&&ax.value.every((a,b)=>Z(aj[b])===Z(a)):(a=ax.value,b=aj,(a?Z(a):"")===(b?Z(b):"")))){let a=ax.filteredOptions[ah.current];if(a)return aw.findIndex(b=>Z(b)===Z(a))}return -1})();if(-1!==a){ah.current=a;return}let b=M?aj[0]:aj;if(0===aw.length||null==b)return void aB({diff:"reset"});if(ab.current){if(null!=b){let a=aw[ah.current];if(M&&a&&-1!==aj.findIndex(b=>L(a,b)))return;let c=aw.findIndex(a=>L(a,b));-1===c?aB({diff:"reset"}):aA({index:c});return}if(ah.current>=aw.length-1)return void aA({index:aw.length-1});aA({index:ah.current})}},[aw.length,!M&&aj,B,aB,aA,av,al,M]),aD=(0,m.A)(a=>{(0,n.A)(ab,a),a&&aC()});f.useEffect(()=>{aC()},[aC]);let aE=a=>{!aq&&(ar(!0),at(!0),R&&R(a))},aF=(a,b)=>{aq&&(ar(!1),O&&O(a,b))},aG=(a,b,c,d)=>{if(M){if(aj.length===b.length&&aj.every((a,c)=>a===b[c]))return}else if(aj===b)return;N&&N(a,b,c,d),ak(b)},aH=f.useRef(!1),aI=(a,b,c="selectOption",d="options")=>{let e=c,f=b;if(M){let a=(f=Array.isArray(aj)?aj.slice():[]).findIndex(a=>L(b,a));-1===a?f.push(b):"freeSolo"!==d&&(f.splice(a,1),e="removeOption")}ap(a,f,e),aG(a,f,e,{option:b}),w||a&&(a.ctrlKey||a.metaKey)||aF(a,e),(!0===h||"touch"===h&&aH.current||"mouse"===h&&!aH.current)&&aa.current.blur()},aJ=(a,b)=>{if(!M)return;""===al&&aF(a,"toggleInput");let c=ae;-1===ae?""===al&&"previous"===b&&(c=aj.length-1):((c+="next"===b?1:-1)<0&&(c=0),c===aj.length&&(c=-1)),af(c=function(a,b){if(-1===a)return -1;let c=a;for(;;){if("next"===b&&c===aj.length||"previous"===b&&-1===c)return -1;let a=ac.querySelector(`[data-tag-index="${c}"]`);if(a&&a.hasAttribute("tabindex")&&!a.disabled&&"true"!==a.getAttribute("aria-disabled"))return c;c+="next"===b?1:-1}}(c,b)),az(c)},aK=a=>{$.current=!0,am(""),Q&&Q(a,"","clear"),aG(a,M?[]:null,"clear")},aL=a=>{ao(!0),T&&!$.current&&aE(a)},aM=a=>{if(b(ab))return void aa.current.focus();ao(!1),_.current=!0,$.current=!1,g&&-1!==ah.current&&av?aI(a,aw[ah.current],"blur"):g&&C&&""!==al?aI(a,al,"blur","freeSolo"):i&&ap(a,aj,"blur"),aF(a,"blur")},aN=a=>{let b=a.target.value;al!==b&&(am(b),at(!1),Q&&Q(a,b,"input")),""===b?v||M||aG(a,null,"clear"):aE(a)},aO=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));ah.current!==b&&aA({event:a,index:b,reason:"mouse"})},aP=a=>{aA({event:a,index:Number(a.currentTarget.getAttribute("data-option-index")),reason:"touch"}),aH.current=!0},aQ=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));aI(a,aw[b],"selectOption"),aH.current=!1},aR=a=>{aq?aF(a,"toggleInput"):aE(a)},aS=a=>{a.currentTarget.contains(a.target)&&a.target.getAttribute("id")!==Y&&a.preventDefault()},aT=a=>{a.currentTarget.contains(a.target)&&(aa.current.focus(),W&&_.current&&aa.current.selectionEnd-aa.current.selectionStart==0&&aa.current.select(),_.current=!1)},aU=a=>{x||""!==al&&aq||aR(a)},aV=C&&al.length>0;aV=aV||(M?aj.length>0:null!==aj);let aW=aw;return G&&(aW=aw.reduce((a,b,c)=>{let d=G(b);return a.length>0&&a[a.length-1].group===d?a[a.length-1].options.push(b):a.push({key:c,index:c,group:d,options:[b]}),a},[])),x&&an&&aM(),{getRootProps:(a={})=>({...a,onKeyDown:b=>{if(a.onKeyDown&&a.onKeyDown(b),!b.defaultMuiPrevented&&(-1===ae||["ArrowLeft","ArrowRight"].includes(b.key)||(af(-1),az(-1)),229!==b.which))switch(b.key){case"Home":av&&H&&(b.preventDefault(),aB({diff:"start",direction:"next",reason:"keyboard",event:b}));break;case"End":av&&H&&(b.preventDefault(),aB({diff:"end",direction:"previous",reason:"keyboard",event:b}));break;case"PageUp":b.preventDefault(),aB({diff:-5,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"PageDown":b.preventDefault(),aB({diff:5,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowDown":b.preventDefault(),aB({diff:1,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowUp":b.preventDefault(),aB({diff:-1,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"ArrowLeft":aJ(b,"previous");break;case"ArrowRight":aJ(b,"next");break;case"Enter":if(-1!==ah.current&&av){let a=aw[ah.current],c=!!D&&D(a);if(b.preventDefault(),c)return;aI(b,a,"selectOption"),d&&aa.current.setSelectionRange(aa.current.value.length,aa.current.value.length)}else C&&""!==al&&!1===au&&(M&&b.preventDefault(),aI(b,al,"createOption","freeSolo"));break;case"Escape":av?(b.preventDefault(),b.stopPropagation(),aF(b,"escape")):o&&(""!==al||M&&aj.length>0)&&(b.preventDefault(),b.stopPropagation(),aK(b));break;case"Backspace":if(M&&!V&&""===al&&aj.length>0){let a=-1===ae?aj.length-1:ae,c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}break;case"Delete":if(M&&!V&&""===al&&aj.length>0&&-1!==ae){let a=aj.slice();a.splice(ae,1),aG(b,a,"removeOption",{option:aj[ae]})}}},onMouseDown:aS,onClick:aT}),getInputLabelProps:()=>({id:`${Y}-label`,htmlFor:Y}),getInputProps:()=>({id:Y,value:al,onBlur:aM,onFocus:aL,onChange:aN,onMouseDown:aU,"aria-activedescendant":av?"":null,"aria-autocomplete":d?"both":"list","aria-controls":ay?`${Y}-listbox`:void 0,"aria-expanded":ay,autoComplete:"off",ref:aa,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:x}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:aK}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:aR}),getTagProps:({index:a})=>({key:a,"data-tag-index":a,tabIndex:-1,...!V&&{onDelete:b=>{let c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}}}),getListboxProps:()=>({role:"listbox",id:`${Y}-listbox`,"aria-labelledby":`${Y}-label`,ref:aD,onMouseDown:a=>{a.preventDefault()}}),getOptionProps:({index:a,option:b})=>{let c=(M?aj:[aj]).some(a=>null!=a&&L(b,a)),d=!!D&&D(b);return{key:E?.(b)??Z(b),tabIndex:-1,role:"option",id:`${Y}-option-${a}`,onMouseMove:aO,onClick:aQ,onTouchStart:aP,"data-option-index":a,"aria-disabled":d,"aria-selected":c}},id:Y,inputValue:al,value:aj,dirty:aV,expanded:av&&ac,popupOpen:av,focused:an||-1!==ae,anchorEl:ac,setAnchorEl:ad,focusedTag:ae,groupedOptions:aW}};var u=c(31605),v=c(18168),w=c(68333),x=c(6636),y=c(6638),z=c(29565),A=c(33105);function B(a){return(0,A.Ay)("MuiListSubheader",a)}(0,z.A)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);var C=c(21124);let D=(0,v.Ay)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"default"!==c.color&&b[`color${(0,y.A)(c.color)}`],!c.disableGutters&&b.gutters,c.inset&&b.inset,!c.disableSticky&&b.sticky]}})((0,w.A)(({theme:a})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(a.vars||a).palette.text.secondary,fontFamily:a.typography.fontFamily,fontWeight:a.typography.fontWeightMedium,fontSize:a.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(a.vars||a).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.inset,style:{paddingLeft:72}},{props:({ownerState:a})=>!a.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(a.vars||a).palette.background.paper}}]}))),E=f.forwardRef(function(a,b){let c=(0,x.b)({props:a,name:"MuiListSubheader"}),{className:d,color:e="default",component:f="li",disableGutters:i=!1,disableSticky:j=!1,inset:k=!1,...l}=c,m={...c,color:e,component:f,disableGutters:i,disableSticky:j,inset:k},n=(a=>{let{classes:b,color:c,disableGutters:d,inset:e,disableSticky:f}=a,g={root:["root","default"!==c&&`color${(0,y.A)(c)}`,!d&&"gutters",e&&"inset",!f&&"sticky"]};return(0,h.A)(g,B,b)})(m);return(0,C.jsx)(D,{as:f,className:(0,g.A)(n.root,d),ref:b,ownerState:m,...l})});E&&(E.muiSkipListHighlight=!0);var F=c(54573),G=c(44079),H=c(41893),I=c(88679),J=c(13763),K=c(91003),L=c(37659),M=c(88570),N=c(41606);function O(a){return(0,A.Ay)("MuiAutocomplete",a)}let P=(0,z.A)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var Q=c(20385);let R=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{fullWidth:d,hasClearIcon:e,hasPopupIcon:f,inputFocused:g,size:h}=c;return[{[`& .${P.tag}`]:b.tag},{[`& .${P.tag}`]:b[`tagSize${(0,y.A)(h)}`]},{[`& .${P.inputRoot}`]:b.inputRoot},{[`& .${P.input}`]:b.input},{[`& .${P.input}`]:g&&b.inputFocused},b.root,d&&b.fullWidth,f&&b.hasPopupIcon,e&&b.hasClearIcon]}})({[`&.${P.focused} .${P.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${P.clearIndicator}`]:{visibility:"visible"}},[`& .${P.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${P.inputRoot}`]:{[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:30},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:56},[`& .${P.input}`]:{width:0,minWidth:30}},[`& .${I.A.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${I.A.root}.${J.A.sizeSmall}`]:{[`& .${I.A.input}`]:{padding:"2px 4px 3px 0"}},[`& .${K.A.root}`]:{padding:9,[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:39},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:65},[`& .${P.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${P.endAdornment}`]:{right:9}},[`& .${K.A.root}.${J.A.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${P.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${L.A.root}`]:{paddingTop:19,paddingLeft:8,[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:39},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:65},[`& .${L.A.input}`]:{padding:"7px 4px"},[`& .${P.endAdornment}`]:{right:9}},[`& .${L.A.root}.${J.A.sizeSmall}`]:{paddingBottom:1,[`& .${L.A.input}`]:{padding:"2.5px 4px"}},[`& .${J.A.hiddenLabel}`]:{paddingTop:8},[`& .${L.A.root}.${J.A.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${P.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${L.A.root}.${J.A.hiddenLabel}.${J.A.sizeSmall}`]:{[`& .${P.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${P.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${P.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${P.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${P.inputRoot}`]:{flexWrap:"wrap"}}}]}),S=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(a,b)=>b.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),T=(0,v.Ay)(G.A,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(a,b)=>b.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),U=(0,v.Ay)(G.A,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.popupIndicator,c.popupOpen&&b.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),V=(0,v.Ay)(u.A,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${P.option}`]:b.option},b.popper,c.disablePortal&&b.popperDisablePortal]}})((0,w.A)(({theme:a})=>({zIndex:(a.vars||a).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),W=(0,v.Ay)(F.A,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(a,b)=>b.paper})((0,w.A)(({theme:a})=>({...a.typography.body1,overflow:"auto"}))),X=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(a,b)=>b.loading})((0,w.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),Y=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(a,b)=>b.noOptions})((0,w.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),Z=(0,v.Ay)("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(a,b)=>b.listbox})((0,w.A)(({theme:a})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${P.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[a.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${P.focused}`]:{backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${P.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity),[`&.${P.focused}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(a.vars||a).palette.action.selected}},[`&.${P.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}}}}))),$=(0,v.Ay)(E,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(a,b)=>b.groupLabel})((0,w.A)(({theme:a})=>({backgroundColor:(a.vars||a).palette.background.paper,top:-8}))),_=(0,v.Ay)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(a,b)=>b.groupUl})({padding:0,[`& .${P.option}`]:{paddingLeft:24}}),aa=f.forwardRef(function(a,b){let c,i=(0,x.b)({props:a,name:"MuiAutocomplete"}),{autoComplete:j=!1,autoHighlight:k=!1,autoSelect:l=!1,blurOnSelect:m=!1,ChipProps:n,className:o,clearIcon:p=d||(d=(0,C.jsx)(M.A,{fontSize:"small"})),clearOnBlur:q=!i.freeSolo,clearOnEscape:r=!1,clearText:s="Clear",closeText:v="Close",componentsProps:w,defaultValue:z=i.multiple?[]:null,disableClearable:A=!1,disableCloseOnSelect:B=!1,disabled:D=!1,disabledItemsFocusable:E=!1,disableListWrap:G=!1,disablePortal:I=!1,filterOptions:J,filterSelectedOptions:K=!1,forcePopupIcon:L="auto",freeSolo:P=!1,fullWidth:aa=!1,getLimitTagsText:ab=a=>`+${a}`,getOptionDisabled:ac,getOptionKey:ad,getOptionLabel:ae,isOptionEqualToValue:af,groupBy:ag,handleHomeEndKeys:ah=!i.freeSolo,id:ai,includeInputInList:aj=!1,inputValue:ak,limitTags:al=-1,ListboxComponent:am,ListboxProps:an,loading:ao=!1,loadingText:ap="Loading…",multiple:aq=!1,noOptionsText:ar="No options",onChange:as,onClose:at,onHighlightChange:au,onInputChange:av,onOpen:aw,open:ax,openOnFocus:ay=!1,openText:az="Open",options:aA,PaperComponent:aB,PopperComponent:aC,popupIcon:aD=e||(e=(0,C.jsx)(N.A,{})),readOnly:aE=!1,renderGroup:aF,renderInput:aG,renderOption:aH,renderTags:aI,selectOnFocus:aJ=!i.freeSolo,size:aK="medium",slots:aL={},slotProps:aM={},value:aN,...aO}=i,{getRootProps:aP,getInputProps:aQ,getInputLabelProps:aR,getPopupIndicatorProps:aS,getClearProps:aT,getTagProps:aU,getListboxProps:aV,getOptionProps:aW,value:aX,dirty:aY,expanded:aZ,id:a$,popupOpen:a_,focused:a0,focusedTag:a1,anchorEl:a2,setAnchorEl:a3,inputValue:a4,groupedOptions:a5}=t({...i,componentName:"Autocomplete"}),a6=!A&&!D&&aY&&!aE,a7=(!P||!0===L)&&!1!==L,{onMouseDown:a8}=aQ(),{ref:a9,...ba}=aV(),bb=ae||(a=>a.label??a),bc={...i,disablePortal:I,expanded:aZ,focused:a0,fullWidth:aa,getOptionLabel:bb,hasClearIcon:a6,hasPopupIcon:a7,inputFocused:-1===a1,popupOpen:a_,size:aK},bd=(a=>{let{classes:b,disablePortal:c,expanded:d,focused:e,fullWidth:f,hasClearIcon:g,hasPopupIcon:i,inputFocused:j,popupOpen:k,size:l}=a,m={root:["root",d&&"expanded",e&&"focused",f&&"fullWidth",g&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",j&&"inputFocused"],tag:["tag",`tagSize${(0,y.A)(l)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",k&&"popupIndicatorOpen"],popper:["popper",c&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,h.A)(m,O,b)})(bc),be={slots:{paper:aB,popper:aC,...aL},slotProps:{chip:n,listbox:an,...w,...aM}},[bf,bg]=(0,Q.A)("listbox",{elementType:Z,externalForwardedProps:be,ownerState:bc,className:bd.listbox,additionalProps:ba,ref:a9}),[bh,bi]=(0,Q.A)("paper",{elementType:F.A,externalForwardedProps:be,ownerState:bc,className:bd.paper}),[bj,bk]=(0,Q.A)("popper",{elementType:u.A,externalForwardedProps:be,ownerState:bc,className:bd.popper,additionalProps:{disablePortal:I,style:{width:a2?a2.clientWidth:null},role:"presentation",anchorEl:a2,open:a_}});if(aq&&aX.length>0){let a=a=>({className:bd.tag,disabled:D,...aU(a)});c=aI?aI(aX,a,bc):aX.map((b,c)=>{let{key:d,...e}=a({index:c});return(0,C.jsx)(H.A,{label:bb(b),size:aK,...e,...be.slotProps.chip},d)})}if(al>-1&&Array.isArray(c)){let a=c.length-al;!a0&&a>0&&(c=c.splice(0,al)).push((0,C.jsx)("span",{className:bd.tag,children:ab(a)},c.length))}let bl=aF||(a=>(0,C.jsxs)("li",{children:[(0,C.jsx)($,{className:bd.groupLabel,ownerState:bc,component:"div",children:a.group}),(0,C.jsx)(_,{className:bd.groupUl,ownerState:bc,children:a.children})]},a.key)),bm=aH||((a,b)=>{let{key:c,...d}=a;return(0,C.jsx)("li",{...d,children:bb(b)},c)}),bn=(a,b)=>{let c=aW({option:a,index:b});return bm({...c,className:bd.option},a,{selected:c["aria-selected"],index:b,inputValue:a4},bc)},bo=be.slotProps.clearIndicator,bp=be.slotProps.popupIndicator;return(0,C.jsxs)(f.Fragment,{children:[(0,C.jsx)(R,{ref:b,className:(0,g.A)(bd.root,o),ownerState:bc,...aP(aO),children:aG({id:a$,disabled:D,fullWidth:!0,size:"small"===aK?"small":void 0,InputLabelProps:aR(),InputProps:{ref:a3,className:bd.inputRoot,startAdornment:c,onMouseDown:a=>{a.target===a.currentTarget&&a8(a)},...(a6||a7)&&{endAdornment:(0,C.jsxs)(S,{className:bd.endAdornment,ownerState:bc,children:[a6?(0,C.jsx)(T,{...aT(),"aria-label":s,title:s,ownerState:bc,...bo,className:(0,g.A)(bd.clearIndicator,bo?.className),children:p}):null,a7?(0,C.jsx)(U,{...aS(),disabled:D,"aria-label":a_?v:az,title:a_?v:az,ownerState:bc,...bp,className:(0,g.A)(bd.popupIndicator,bp?.className),children:aD}):null]})}},inputProps:{className:bd.input,disabled:D,readOnly:aE,...aQ()}})}),a2?(0,C.jsx)(V,{as:bj,...bk,children:(0,C.jsxs)(W,{as:bh,...bi,children:[ao&&0===a5.length?(0,C.jsx)(X,{className:bd.loading,ownerState:bc,children:ap}):null,0!==a5.length||P||ao?null:(0,C.jsx)(Y,{className:bd.noOptions,ownerState:bc,role:"presentation",onMouseDown:a=>{a.preventDefault()},children:ar}),a5.length>0?(0,C.jsx)(bf,{as:am,...bg,children:a5.map((a,b)=>ag?bl({key:a.key,group:a.group,children:a.options.map((b,c)=>bn(b,a.index+c))}):bn(a,b))}):null]})}):null]})})},65343:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},66335:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(38301);let e=a=>{let b=d.useRef({});return d.useEffect(()=>{b.current=a}),b.current}}};