flujo-ai 3.28.0 → 3.30.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 (848) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +481 -464
  3. package/.next/app-path-routes-manifest.json +20 -17
  4. package/.next/build-manifest.json +6 -6
  5. package/.next/prerender-manifest.json +30 -30
  6. package/.next/react-loadable-manifest.json +7 -6
  7. package/.next/required-server-files.json +4 -4
  8. package/.next/routes-manifest.json +8 -0
  9. package/.next/server/app/_not-found/page.js +4 -4
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +3 -3
  14. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  15. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  16. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/approvals/route.js +2 -2
  18. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  19. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/backup/route.js +1 -1
  21. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  22. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/browse/route.js +1 -1
  24. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  25. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/bugs/enhance/route.js +3 -3
  27. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/cwd/route.js +1 -1
  30. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  31. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/encryption/secure/route.js +1 -1
  33. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  34. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/env/route.js +2 -2
  36. package/.next/server/app/api/env/route.js.nft.json +1 -1
  37. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/flow/[id]/route.js +1 -1
  39. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  42. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  45. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/flow/compile/route.js +1 -1
  48. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  49. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/flow/generate/route.js +1 -1
  51. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/flow/improve/route.js +1 -1
  54. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  57. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  58. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  60. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  61. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/flow/repair/route.js +1 -1
  63. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  64. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/flow/route.js +1 -1
  66. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  67. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/git/route.js +2 -2
  69. package/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/init/route.js +1 -1
  72. package/.next/server/app/api/init/route.js.nft.json +1 -1
  73. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/local-models/capability/route.js +2 -1
  75. package/.next/server/app/api/local-models/capability/route.js.nft.json +1 -1
  76. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/local-models/pull/route.js +2 -1
  78. package/.next/server/app/api/local-models/pull/route.js.nft.json +1 -1
  79. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/local-models/suggest/route.js +2 -2
  81. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  83. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  84. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  86. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  89. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  90. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  107. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  108. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  110. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  111. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  113. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  114. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/mcp/servers/route.js +1 -1
  116. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  117. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  119. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  120. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  122. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  123. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/mcp-registry/route.js +2 -2
  125. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  126. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  128. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  129. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/model/[id]/route.js +1 -1
  131. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  132. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/model/provider/route.js +2 -2
  134. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  135. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/model/route.js +1 -1
  137. package/.next/server/app/api/model/route.js.nft.json +1 -1
  138. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/model/test/route.js +2 -2
  140. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  141. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/oauth/callback/route.js +2 -2
  143. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  144. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  146. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  147. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/oauth/reset/route.js +2 -2
  149. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  150. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/packages/build/route.js +1 -1
  152. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  153. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  155. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  156. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/packages/install/route.js +1 -1
  158. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  159. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/packages/install/status/route.js +1 -1
  161. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  162. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/packages/installed/route.js +1 -1
  164. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  165. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/packages/resolve/route.js +1 -1
  167. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  168. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/packages/scan-targets/route.js +1 -0
  170. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -0
  171. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/packages/search/route.js +1 -0
  173. package/.next/server/app/api/packages/search/route.js.nft.json +1 -0
  174. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  176. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  177. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  179. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  180. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  182. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  183. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  185. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  186. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  188. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  189. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  191. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  192. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/planned-executions/route.js +1 -1
  194. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  195. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  197. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  198. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  200. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  201. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/registry/auth/route.js +1 -1
  203. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  204. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  206. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  207. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  209. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  210. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/registry/publish/route.js +1 -1
  212. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  213. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/registry/settings/route.js +1 -1
  215. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  216. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/restore/route.js +1 -1
  218. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  219. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/runs/active/route.js +2 -2
  221. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  222. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/api/storage/route.js +1 -1
  224. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  225. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/api/update/route.js +1 -1
  227. package/.next/server/app/api/update/route.js.nft.json +1 -1
  228. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/waves/route.js +1 -1
  230. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  231. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  233. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  234. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/chat/page.js +9 -9
  236. package/.next/server/app/chat/page.js.nft.json +1 -1
  237. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  238. package/.next/server/app/chat.html +1 -1
  239. package/.next/server/app/chat.rsc +4 -4
  240. package/.next/server/app/docs/page.js +5 -5
  241. package/.next/server/app/docs/page.js.nft.json +1 -1
  242. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  243. package/.next/server/app/docs.html +1 -1
  244. package/.next/server/app/docs.rsc +4 -4
  245. package/.next/server/app/executions/page.js +2 -39
  246. package/.next/server/app/executions/page.js.nft.json +1 -1
  247. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  248. package/.next/server/app/executions.html +1 -1
  249. package/.next/server/app/executions.rsc +4 -4
  250. package/.next/server/app/flows/page.js +3 -3
  251. package/.next/server/app/flows/page.js.nft.json +1 -1
  252. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  253. package/.next/server/app/flows.html +1 -1
  254. package/.next/server/app/flows.rsc +4 -4
  255. package/.next/server/app/index.html +1 -1
  256. package/.next/server/app/index.rsc +4 -4
  257. package/.next/server/app/mcp/page.js +11 -11
  258. package/.next/server/app/mcp/page.js.nft.json +1 -1
  259. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  260. package/.next/server/app/mcp-flows/route.js +1 -1
  261. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  262. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  264. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  265. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  266. package/.next/server/app/mcp.html +1 -1
  267. package/.next/server/app/mcp.rsc +4 -4
  268. package/.next/server/app/models/page.js +2 -2
  269. package/.next/server/app/models/page.js.nft.json +1 -1
  270. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  271. package/.next/server/app/packages/page.js +2 -2
  272. package/.next/server/app/packages/page.js.nft.json +1 -1
  273. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  274. package/.next/server/app/packages.html +1 -1
  275. package/.next/server/app/packages.rsc +4 -4
  276. package/.next/server/app/page.js +3 -3
  277. package/.next/server/app/page.js.nft.json +1 -1
  278. package/.next/server/app/page_client-reference-manifest.js +1 -1
  279. package/.next/server/app/settings/page.js +2 -2
  280. package/.next/server/app/settings/page.js.nft.json +1 -1
  281. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  282. package/.next/server/app/settings.html +1 -1
  283. package/.next/server/app/settings.rsc +4 -4
  284. package/.next/server/app/v1/chat/completions/route.js +1 -1
  285. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +4 -4
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -0
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -0
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -0
  308. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  311. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  312. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  313. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  315. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  317. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  318. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  319. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  320. package/.next/server/app/v1/chat/events/route.js +3 -3
  321. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  322. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  323. package/.next/server/app/v1/models/route.js +2 -2
  324. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  325. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  326. package/.next/server/app/waves/page.js +4 -4
  327. package/.next/server/app/waves/page.js.nft.json +1 -1
  328. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  329. package/.next/server/app/waves.html +1 -1
  330. package/.next/server/app/waves.rsc +4 -4
  331. package/.next/server/app-paths-manifest.json +20 -17
  332. package/.next/server/chunks/1114.js +1 -1
  333. package/.next/server/chunks/1226.js +1 -1
  334. package/.next/server/chunks/1314.js +1 -1
  335. package/.next/server/chunks/{6529.js → 1578.js} +2 -2
  336. package/.next/server/chunks/1634.js +1 -0
  337. package/.next/server/chunks/166.js +5 -5
  338. package/.next/server/chunks/1690.js +1 -0
  339. package/.next/server/chunks/2180.js +1 -0
  340. package/.next/server/chunks/227.js +2 -2
  341. package/.next/server/chunks/2273.js +2 -0
  342. package/.next/server/chunks/237.js +1 -0
  343. package/.next/server/chunks/2695.js +2 -2
  344. package/.next/server/chunks/2859.js +1 -1
  345. package/.next/server/chunks/2866.js +2 -0
  346. package/.next/server/chunks/{7674.js → 3030.js} +1 -1
  347. package/.next/server/chunks/3128.js +4 -4
  348. package/.next/server/chunks/{8730.js → 3489.js} +1 -1
  349. package/.next/server/chunks/3570.js +228 -105
  350. package/.next/server/chunks/3629.js +1 -1
  351. package/.next/server/chunks/3912.js +2 -0
  352. package/.next/server/chunks/3984.js +4 -4
  353. package/.next/server/chunks/4265.js +1 -1
  354. package/.next/server/chunks/4366.js +2 -0
  355. package/.next/server/chunks/4551.js +6 -0
  356. package/.next/server/chunks/4566.js +6 -0
  357. package/.next/server/chunks/4671.js +1 -1
  358. package/.next/server/chunks/4681.js +1 -1
  359. package/.next/server/chunks/4685.js +1 -0
  360. package/.next/server/chunks/4771.js +2 -2
  361. package/.next/server/chunks/4961.js +2 -0
  362. package/.next/server/chunks/5040.js +53 -0
  363. package/.next/server/chunks/5067.js +1 -1
  364. package/.next/server/chunks/544.js +135 -0
  365. package/.next/server/chunks/5463.js +1 -1
  366. package/.next/server/chunks/5544.js +5 -5
  367. package/.next/server/chunks/5548.js +62 -0
  368. package/.next/server/chunks/5561.js +1 -0
  369. package/.next/server/chunks/5705.js +1 -0
  370. package/.next/server/chunks/5708.js +1 -1
  371. package/.next/server/chunks/5829.js +1 -0
  372. package/.next/server/chunks/5863.js +37 -0
  373. package/.next/server/chunks/5880.js +1 -1
  374. package/.next/server/chunks/6034.js +77 -0
  375. package/.next/server/chunks/6226.js +6 -0
  376. package/.next/server/chunks/6404.js +2 -0
  377. package/.next/server/chunks/6432.js +1 -0
  378. package/.next/server/chunks/6496.js +1 -0
  379. package/.next/server/chunks/6793.js +1 -0
  380. package/.next/server/chunks/694.js +3 -0
  381. package/.next/server/chunks/701.js +1 -1
  382. package/.next/server/chunks/7506.js +1 -1
  383. package/.next/server/chunks/7579.js +4 -4
  384. package/.next/server/chunks/7634.js +4 -0
  385. package/.next/server/chunks/7724.js +1 -0
  386. package/.next/server/chunks/7821.js +1 -1
  387. package/.next/server/chunks/793.js +15 -5
  388. package/.next/server/chunks/7969.js +1 -0
  389. package/.next/server/chunks/{6537.js → 8001.js} +1 -1
  390. package/.next/server/chunks/8034.js +1 -0
  391. package/.next/server/chunks/8092.js +1 -0
  392. package/.next/server/chunks/{8568.js → 8192.js} +1 -1
  393. package/.next/server/chunks/826.js +2 -0
  394. package/.next/server/chunks/8298.js +1 -0
  395. package/.next/server/chunks/8321.js +1 -0
  396. package/.next/server/chunks/8356.js +1 -0
  397. package/.next/server/chunks/8366.js +90 -0
  398. package/.next/server/chunks/8387.js +1 -1
  399. package/.next/server/chunks/848.js +39 -0
  400. package/.next/server/chunks/8615.js +1 -0
  401. package/.next/server/chunks/8645.js +2 -0
  402. package/.next/server/chunks/8739.js +1 -1
  403. package/.next/server/chunks/8851.js +1 -0
  404. package/.next/server/chunks/9174.js +1 -0
  405. package/.next/server/chunks/9313.js +1 -0
  406. package/.next/server/chunks/94.js +1 -1
  407. package/.next/server/chunks/9406.js +2 -2
  408. package/.next/server/chunks/9509.js +2 -2
  409. package/.next/server/chunks/9537.js +39 -0
  410. package/.next/server/chunks/9576.js +2 -0
  411. package/.next/server/chunks/9671.js +1 -1
  412. package/.next/server/chunks/9724.js +16 -6
  413. package/.next/server/chunks/9857.js +1 -0
  414. package/.next/server/chunks/{3298.js → 9868.js} +2 -2
  415. package/.next/server/chunks/9957.js +1 -0
  416. package/.next/server/chunks/9983.js +2 -0
  417. package/.next/server/edge-instrumentation.js.map +1 -1
  418. package/.next/server/functions-config-manifest.json +2 -2
  419. package/.next/server/instrumentation.js.nft.json +1 -1
  420. package/.next/server/middleware-build-manifest.js +1 -1
  421. package/.next/server/middleware-manifest.json +5 -5
  422. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  423. package/.next/server/pages/404.html +1 -1
  424. package/.next/server/pages/500.html +1 -1
  425. package/.next/server/server-reference-manifest.js +1 -1
  426. package/.next/server/server-reference-manifest.json +1 -1
  427. package/.next/server/src/middleware.js +2 -2
  428. package/.next/server/src/middleware.js.map +1 -1
  429. package/.next/static/A9jP2ydtYbqx-IayWP2Sg/_buildManifest.js +1 -0
  430. package/.next/static/chunks/1496-d478bce7d7c85080.js +1 -0
  431. package/.next/static/chunks/1572-b663a83bba28a0a1.js +8 -0
  432. package/.next/static/chunks/1641-e5ff8f112da0a335.js +1 -0
  433. package/.next/static/chunks/1988-bd73f26184e930c1.js +1 -0
  434. package/.next/static/chunks/2266-d812473724cc6643.js +1 -0
  435. package/.next/static/chunks/{8345.bc5534ec13abc9ee.js → 2969.eb9ff8cd2a5034b0.js} +1 -1
  436. package/.next/static/chunks/3089.a0856f8093b90939.js +1 -0
  437. package/.next/static/chunks/{2005-f9d38c39f10c321f.js → 3189-fa8ec6d719d5e72b.js} +1 -1
  438. package/.next/static/chunks/3452-a639f121f2953f50.js +62 -0
  439. package/.next/static/chunks/3560-5bdceef09b50e1c3.js +1 -0
  440. package/.next/static/chunks/3659-0ab9580d5ee5deea.js +1 -0
  441. package/.next/static/chunks/3672-cd86ace43288da79.js +1 -0
  442. package/.next/static/chunks/3711-0050bb4d345c2c9c.js +1 -0
  443. package/.next/static/chunks/4147-20897d83b3cd3978.js +39 -0
  444. package/.next/static/chunks/435-17c79f3b9f8dd38d.js +1 -0
  445. package/.next/static/chunks/454.5fc2f8eef98483e3.js +1 -0
  446. package/.next/static/chunks/469-1f043fe082d9f475.js +1 -0
  447. package/.next/static/chunks/4740-62814d07b2b7f760.js +1 -0
  448. package/.next/static/chunks/5418-45aa7e646ad024be.js +1 -0
  449. package/.next/static/chunks/5441-cb0c31de8bce65c3.js +1 -0
  450. package/.next/static/chunks/6404-86615a5f5ce5c00f.js +1 -0
  451. package/.next/static/chunks/7445-d8a8be6e451c522e.js +1 -0
  452. package/.next/static/chunks/{3827-9e9a6e11ef808d90.js → 8041-05830e887c133085.js} +1 -1
  453. package/.next/static/chunks/812-dfe7ba07ddb7a565.js +1 -0
  454. package/.next/static/chunks/8404-14ef0345dc401ac5.js +1 -0
  455. package/.next/static/chunks/8678-c6c6be2672f337f6.js +1 -0
  456. package/.next/static/chunks/8855-f802599c4af81cca.js +1 -0
  457. package/.next/static/chunks/9562-5494feecd8c6f7a3.js +1 -0
  458. package/.next/static/chunks/9581-6d2523fd68a5e3c4.js +1 -0
  459. package/.next/static/chunks/app/_not-found/page-26055690a2426e22.js +1 -0
  460. package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  461. package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +1 -0
  462. package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +1 -0
  463. package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +1 -0
  464. package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +1 -0
  465. package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +1 -0
  466. package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +1 -0
  467. package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +1 -0
  468. package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  469. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +1 -0
  470. package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +1 -0
  471. package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +1 -0
  472. package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +1 -0
  473. package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +1 -0
  474. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +1 -0
  475. package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +1 -0
  476. package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +1 -0
  477. package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +1 -0
  478. package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +1 -0
  479. package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +1 -0
  480. package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +1 -0
  481. package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +1 -0
  482. package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +1 -0
  483. package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +1 -0
  484. package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +1 -0
  485. package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +1 -0
  486. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +1 -0
  487. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +1 -0
  488. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +1 -0
  489. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +1 -0
  490. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +1 -0
  491. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +1 -0
  492. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +1 -0
  493. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +1 -0
  494. package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +1 -0
  495. package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +1 -0
  496. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +1 -0
  497. package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +1 -0
  498. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +1 -0
  499. package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  500. package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +1 -0
  501. package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +1 -0
  502. package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +1 -0
  503. package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
  504. package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
  505. package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +1 -0
  506. package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +1 -0
  507. package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +1 -0
  508. package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +1 -0
  509. package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +1 -0
  510. package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +1 -0
  511. package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +1 -0
  512. package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +1 -0
  513. package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +1 -0
  514. package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +1 -0
  515. package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  516. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +1 -0
  517. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +1 -0
  518. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +1 -0
  519. package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +1 -0
  520. package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +1 -0
  521. package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +1 -0
  522. package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +1 -0
  523. package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +1 -0
  524. package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
  525. package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
  526. package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +1 -0
  527. package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +1 -0
  528. package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +1 -0
  529. package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +1 -0
  530. package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +1 -0
  531. package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +1 -0
  532. package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +1 -0
  533. package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  534. package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +1 -0
  535. package/.next/static/chunks/app/docs/{page-250523af44e96120.js → page-fc30f613607b8a26.js} +1 -1
  536. package/.next/static/chunks/app/executions/page-e71689c7256af1e8.js +1 -0
  537. package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +1 -0
  538. package/.next/static/chunks/app/layout-038b35b382eef11d.js +1 -0
  539. package/.next/static/chunks/app/mcp/page-6041156fc67ef361.js +1 -0
  540. package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +1 -0
  541. package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +1 -0
  542. package/.next/static/chunks/app/models/{error-5732fbb053e182c5.js → error-1718b538d6967e56.js} +1 -1
  543. package/.next/static/chunks/app/models/{loading-57d1c02d0817fc47.js → loading-1687ae86584f5b1b.js} +1 -1
  544. package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +1 -0
  545. package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +1 -0
  546. package/.next/static/chunks/app/page-5c7fccd019942d46.js +1 -0
  547. package/.next/static/chunks/app/settings/page-fb336bb049bab72a.js +1 -0
  548. package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +1 -0
  549. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +1 -0
  550. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +1 -0
  551. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +1 -0
  552. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +1 -0
  553. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +1 -0
  554. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +1 -0
  555. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +1 -0
  556. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +1 -0
  557. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +1 -0
  558. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +1 -0
  559. package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +1 -0
  560. package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +1 -0
  561. package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +1 -0
  562. package/.next/static/chunks/app/waves/page-3cf4b47b12662196.js +1 -0
  563. package/.next/static/chunks/{main-app-faff38c77cb00119.js → main-app-2de821d2899bb841.js} +1 -1
  564. package/.next/static/chunks/webpack-2d8e0c13c0b865fe.js +1 -0
  565. package/.next/static/css/30253fcfa8035221.css +1 -0
  566. package/.next/trace +10 -10
  567. package/.next/types/app/api/approvals/[id]/route.ts +1 -1
  568. package/.next/types/app/api/approvals/route.ts +1 -1
  569. package/.next/types/app/api/backup/route.ts +1 -1
  570. package/.next/types/app/api/browse/route.ts +1 -1
  571. package/.next/types/app/api/bugs/enhance/route.ts +1 -1
  572. package/.next/types/app/api/cwd/route.ts +1 -1
  573. package/.next/types/app/api/encryption/secure/route.ts +1 -1
  574. package/.next/types/app/api/env/route.ts +1 -1
  575. package/.next/types/app/api/flow/[id]/route.ts +1 -1
  576. package/.next/types/app/api/flow/[id]/versions/[versionId]/route.ts +1 -1
  577. package/.next/types/app/api/flow/[id]/versions/route.ts +1 -1
  578. package/.next/types/app/api/flow/compile/route.ts +1 -1
  579. package/.next/types/app/api/flow/generate/route.ts +1 -1
  580. package/.next/types/app/api/flow/improve/route.ts +1 -1
  581. package/.next/types/app/api/flow/prompt-renderer/route.ts +1 -1
  582. package/.next/types/app/api/flow/quick-chat/route.ts +1 -1
  583. package/.next/types/app/api/flow/repair/route.ts +1 -1
  584. package/.next/types/app/api/flow/route.ts +1 -1
  585. package/.next/types/app/api/git/route.ts +1 -1
  586. package/.next/types/app/api/init/route.ts +1 -1
  587. package/.next/types/app/api/local-models/capability/route.ts +1 -1
  588. package/.next/types/app/api/local-models/pull/route.ts +1 -1
  589. package/.next/types/app/api/local-models/suggest/route.ts +1 -1
  590. package/.next/types/app/api/mcp/app-sandbox/route.ts +1 -1
  591. package/.next/types/app/api/mcp/cancel/route.ts +1 -1
  592. package/.next/types/app/api/mcp/oauth-capability/route.ts +1 -1
  593. package/.next/types/app/api/mcp/servers/[name]/prompts/get/route.ts +1 -1
  594. package/.next/types/app/api/mcp/servers/[name]/prompts/route.ts +1 -1
  595. package/.next/types/app/api/mcp/servers/[name]/resources/read/route.ts +1 -1
  596. package/.next/types/app/api/mcp/servers/[name]/resources/route.ts +1 -1
  597. package/.next/types/app/api/mcp/servers/[name]/route.ts +1 -1
  598. package/.next/types/app/api/mcp/servers/[name]/status/route.ts +1 -1
  599. package/.next/types/app/api/mcp/servers/[name]/tools/[toolName]/route.ts +1 -1
  600. package/.next/types/app/api/mcp/servers/[name]/tools/route.ts +1 -1
  601. package/.next/types/app/api/mcp/servers/route.ts +1 -1
  602. package/.next/types/app/api/mcp/test-connection/route.ts +1 -1
  603. package/.next/types/app/api/mcp/test-connection/stream/route.ts +1 -1
  604. package/.next/types/app/api/mcp-registry/route.ts +1 -1
  605. package/.next/types/app/api/mcp-registry/spotlight/route.ts +1 -1
  606. package/.next/types/app/api/model/[id]/route.ts +1 -1
  607. package/.next/types/app/api/model/provider/route.ts +1 -1
  608. package/.next/types/app/api/model/route.ts +1 -1
  609. package/.next/types/app/api/model/test/route.ts +1 -1
  610. package/.next/types/app/api/oauth/callback/route.ts +1 -1
  611. package/.next/types/app/api/oauth/initiate/route.ts +1 -1
  612. package/.next/types/app/api/oauth/reset/route.ts +1 -1
  613. package/.next/types/app/api/packages/build/route.ts +1 -1
  614. package/.next/types/app/api/packages/derive-secrets/route.ts +1 -1
  615. package/.next/types/app/api/packages/install/route.ts +1 -1
  616. package/.next/types/app/api/packages/install/status/route.ts +1 -1
  617. package/.next/types/app/api/packages/installed/route.ts +1 -1
  618. package/.next/types/app/api/packages/resolve/route.ts +1 -1
  619. package/.next/types/app/api/packages/scan-targets/route.ts +347 -0
  620. package/.next/types/app/api/packages/search/route.ts +347 -0
  621. package/.next/types/app/api/packages/uninstall/route.ts +1 -1
  622. package/.next/types/app/api/planned-executions/[id]/route.ts +1 -1
  623. package/.next/types/app/api/planned-executions/[id]/run/route.ts +1 -1
  624. package/.next/types/app/api/planned-executions/[id]/runs/route.ts +1 -1
  625. package/.next/types/app/api/planned-executions/preview-schedule/route.ts +1 -1
  626. package/.next/types/app/api/planned-executions/reconcile/route.ts +1 -1
  627. package/.next/types/app/api/planned-executions/route.ts +1 -1
  628. package/.next/types/app/api/registry/auth/resend/route.ts +1 -1
  629. package/.next/types/app/api/registry/auth/reset/route.ts +1 -1
  630. package/.next/types/app/api/registry/auth/route.ts +1 -1
  631. package/.next/types/app/api/registry/oauth/callback/route.ts +1 -1
  632. package/.next/types/app/api/registry/oauth/initiate/route.ts +1 -1
  633. package/.next/types/app/api/registry/publish/route.ts +1 -1
  634. package/.next/types/app/api/registry/settings/route.ts +1 -1
  635. package/.next/types/app/api/restore/route.ts +1 -1
  636. package/.next/types/app/api/runs/active/route.ts +1 -1
  637. package/.next/types/app/api/storage/route.ts +1 -1
  638. package/.next/types/app/api/update/route.ts +1 -1
  639. package/.next/types/app/api/waves/route.ts +1 -1
  640. package/.next/types/app/api/webhooks/[id]/route.ts +1 -1
  641. package/.next/types/app/chat/page.ts +1 -1
  642. package/.next/types/app/docs/page.ts +1 -1
  643. package/.next/types/app/executions/page.ts +1 -1
  644. package/.next/types/app/flows/page.ts +1 -1
  645. package/.next/types/app/layout.ts +1 -1
  646. package/.next/types/app/mcp/page.ts +1 -1
  647. package/.next/types/app/mcp-flows/route.ts +1 -1
  648. package/.next/types/app/mcp-proxy/[server]/route.ts +1 -1
  649. package/.next/types/app/models/page.ts +1 -1
  650. package/.next/types/app/packages/page.ts +1 -1
  651. package/.next/types/app/page.ts +1 -1
  652. package/.next/types/app/settings/page.ts +1 -1
  653. package/.next/types/app/v1/chat/completions/route.ts +1 -1
  654. package/.next/types/app/v1/chat/conversations/[conversationId]/breakpoints/route.ts +1 -1
  655. package/.next/types/app/v1/chat/conversations/[conversationId]/cancel/route.ts +1 -1
  656. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/continue/route.ts +1 -1
  657. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/step/route.ts +1 -1
  658. package/.next/types/app/v1/chat/conversations/[conversationId]/edit-state/route.ts +1 -1
  659. package/.next/types/app/v1/chat/conversations/[conversationId]/events/route.ts +1 -1
  660. package/.next/types/app/v1/chat/conversations/[conversationId]/inject/route.ts +347 -0
  661. package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +1 -1
  662. package/.next/types/app/v1/chat/conversations/[conversationId]/respond/route.ts +1 -1
  663. package/.next/types/app/v1/chat/conversations/[conversationId]/route.ts +1 -1
  664. package/.next/types/app/v1/chat/conversations/route.ts +1 -1
  665. package/.next/types/app/v1/chat/events/route.ts +1 -1
  666. package/.next/types/app/v1/models/route.ts +1 -1
  667. package/.next/types/app/waves/page.ts +1 -1
  668. package/.next/types/routes.d.ts +4 -1
  669. package/.next/types/validator.ts +27 -0
  670. package/README.md +6 -1
  671. package/bin/flujo.mjs +120 -120
  672. package/next.config.mjs +139 -139
  673. package/package.json +2 -1
  674. package/scripts/launch-next.mjs +112 -112
  675. package/.next/server/chunks/1083.js +0 -2
  676. package/.next/server/chunks/1197.js +0 -2
  677. package/.next/server/chunks/1373.js +0 -1
  678. package/.next/server/chunks/1604.js +0 -70
  679. package/.next/server/chunks/1659.js +0 -1
  680. package/.next/server/chunks/1819.js +0 -2
  681. package/.next/server/chunks/2434.js +0 -2
  682. package/.next/server/chunks/2666.js +0 -1
  683. package/.next/server/chunks/2940.js +0 -46
  684. package/.next/server/chunks/2985.js +0 -1
  685. package/.next/server/chunks/3273.js +0 -1
  686. package/.next/server/chunks/3304.js +0 -1
  687. package/.next/server/chunks/346.js +0 -1
  688. package/.next/server/chunks/3648.js +0 -1
  689. package/.next/server/chunks/38.js +0 -2
  690. package/.next/server/chunks/3951.js +0 -151
  691. package/.next/server/chunks/4042.js +0 -1
  692. package/.next/server/chunks/4239.js +0 -1
  693. package/.next/server/chunks/4426.js +0 -6
  694. package/.next/server/chunks/4661.js +0 -1
  695. package/.next/server/chunks/4765.js +0 -1
  696. package/.next/server/chunks/5148.js +0 -1
  697. package/.next/server/chunks/5471.js +0 -1
  698. package/.next/server/chunks/5958.js +0 -2
  699. package/.next/server/chunks/6005.js +0 -1
  700. package/.next/server/chunks/6126.js +0 -53
  701. package/.next/server/chunks/6849.js +0 -66
  702. package/.next/server/chunks/7214.js +0 -6
  703. package/.next/server/chunks/724.js +0 -27
  704. package/.next/server/chunks/7463.js +0 -6
  705. package/.next/server/chunks/7538.js +0 -21
  706. package/.next/server/chunks/8339.js +0 -1
  707. package/.next/server/chunks/8522.js +0 -2
  708. package/.next/server/chunks/8572.js +0 -1
  709. package/.next/server/chunks/8667.js +0 -1
  710. package/.next/server/chunks/869.js +0 -2
  711. package/.next/server/chunks/8979.js +0 -37
  712. package/.next/server/chunks/8994.js +0 -2
  713. package/.next/server/chunks/9165.js +0 -1
  714. package/.next/server/chunks/9387.js +0 -15
  715. package/.next/server/chunks/9400.js +0 -2
  716. package/.next/server/chunks/9472.js +0 -2
  717. package/.next/server/chunks/9583.js +0 -1
  718. package/.next/server/chunks/991.js +0 -2
  719. package/.next/static/Q6ITx_bZyoEOnKdZu_C7j/_buildManifest.js +0 -1
  720. package/.next/static/chunks/1594-309fa6363f215d76.js +0 -1
  721. package/.next/static/chunks/1809-e56cf3c476261e34.js +0 -1
  722. package/.next/static/chunks/1937-6bbdcdc660db562c.js +0 -1
  723. package/.next/static/chunks/1988-1b651d581fc44a36.js +0 -1
  724. package/.next/static/chunks/2164-7d6451e88a447de7.js +0 -1
  725. package/.next/static/chunks/218-6cbe09820faa3272.js +0 -1
  726. package/.next/static/chunks/2566-60acd5838abd9f3f.js +0 -1
  727. package/.next/static/chunks/2800-4fa29a3eeb693593.js +0 -1
  728. package/.next/static/chunks/289-98f50bfcf833d661.js +0 -1
  729. package/.next/static/chunks/3089.9e15df4ffd0fe4e8.js +0 -1
  730. package/.next/static/chunks/3418-a2f5d0c4f29ee2fb.js +0 -1
  731. package/.next/static/chunks/3556-b9855146c7506696.js +0 -1
  732. package/.next/static/chunks/3948-1cb8fc7a64805254.js +0 -1
  733. package/.next/static/chunks/3958-5641a828b320f2fe.js +0 -100
  734. package/.next/static/chunks/5328-4e556503b70e72b4.js +0 -1
  735. package/.next/static/chunks/5512.682bef7fd3a7c286.js +0 -1
  736. package/.next/static/chunks/6195-8c4c57628e9013d5.js +0 -1
  737. package/.next/static/chunks/6669-a949326b30ea1d39.js +0 -1
  738. package/.next/static/chunks/6777-4b0d05731a089de4.js +0 -1
  739. package/.next/static/chunks/6947-0ff3545efb53e959.js +0 -1
  740. package/.next/static/chunks/7304-e7cd725083617b81.js +0 -8
  741. package/.next/static/chunks/7445-2802e158c9093556.js +0 -1
  742. package/.next/static/chunks/795-704a0e742ecc2ef6.js +0 -1
  743. package/.next/static/chunks/812-3ceea0da38ad2891.js +0 -1
  744. package/.next/static/chunks/8551-a28272acfda62ac9.js +0 -1
  745. package/.next/static/chunks/8855-02889c9ab4bf0bcf.js +0 -1
  746. package/.next/static/chunks/9554-cb5bd72cb40e8dbe.js +0 -1
  747. package/.next/static/chunks/9562-ef0ddd4e6b9023cf.js +0 -1
  748. package/.next/static/chunks/app/_not-found/page-81dc485d60f94046.js +0 -1
  749. package/.next/static/chunks/app/api/approvals/[id]/route-c745e5b53b81491a.js +0 -1
  750. package/.next/static/chunks/app/api/approvals/route-c745e5b53b81491a.js +0 -1
  751. package/.next/static/chunks/app/api/backup/route-c745e5b53b81491a.js +0 -1
  752. package/.next/static/chunks/app/api/browse/route-c745e5b53b81491a.js +0 -1
  753. package/.next/static/chunks/app/api/bugs/enhance/route-c745e5b53b81491a.js +0 -1
  754. package/.next/static/chunks/app/api/cwd/route-c745e5b53b81491a.js +0 -1
  755. package/.next/static/chunks/app/api/encryption/secure/route-c745e5b53b81491a.js +0 -1
  756. package/.next/static/chunks/app/api/env/route-c745e5b53b81491a.js +0 -1
  757. package/.next/static/chunks/app/api/flow/[id]/route-c745e5b53b81491a.js +0 -1
  758. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-c745e5b53b81491a.js +0 -1
  759. package/.next/static/chunks/app/api/flow/[id]/versions/route-c745e5b53b81491a.js +0 -1
  760. package/.next/static/chunks/app/api/flow/compile/route-c745e5b53b81491a.js +0 -1
  761. package/.next/static/chunks/app/api/flow/generate/route-c745e5b53b81491a.js +0 -1
  762. package/.next/static/chunks/app/api/flow/improve/route-c745e5b53b81491a.js +0 -1
  763. package/.next/static/chunks/app/api/flow/prompt-renderer/route-c745e5b53b81491a.js +0 -1
  764. package/.next/static/chunks/app/api/flow/quick-chat/route-c745e5b53b81491a.js +0 -1
  765. package/.next/static/chunks/app/api/flow/repair/route-c745e5b53b81491a.js +0 -1
  766. package/.next/static/chunks/app/api/flow/route-c745e5b53b81491a.js +0 -1
  767. package/.next/static/chunks/app/api/git/route-c745e5b53b81491a.js +0 -1
  768. package/.next/static/chunks/app/api/init/route-c745e5b53b81491a.js +0 -1
  769. package/.next/static/chunks/app/api/local-models/capability/route-c745e5b53b81491a.js +0 -1
  770. package/.next/static/chunks/app/api/local-models/pull/route-c745e5b53b81491a.js +0 -1
  771. package/.next/static/chunks/app/api/local-models/suggest/route-c745e5b53b81491a.js +0 -1
  772. package/.next/static/chunks/app/api/mcp/app-sandbox/route-c745e5b53b81491a.js +0 -1
  773. package/.next/static/chunks/app/api/mcp/cancel/route-c745e5b53b81491a.js +0 -1
  774. package/.next/static/chunks/app/api/mcp/oauth-capability/route-c745e5b53b81491a.js +0 -1
  775. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-c745e5b53b81491a.js +0 -1
  776. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-c745e5b53b81491a.js +0 -1
  777. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-c745e5b53b81491a.js +0 -1
  778. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-c745e5b53b81491a.js +0 -1
  779. package/.next/static/chunks/app/api/mcp/servers/[name]/route-c745e5b53b81491a.js +0 -1
  780. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-c745e5b53b81491a.js +0 -1
  781. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-c745e5b53b81491a.js +0 -1
  782. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-c745e5b53b81491a.js +0 -1
  783. package/.next/static/chunks/app/api/mcp/servers/route-c745e5b53b81491a.js +0 -1
  784. package/.next/static/chunks/app/api/mcp/test-connection/route-c745e5b53b81491a.js +0 -1
  785. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-c745e5b53b81491a.js +0 -1
  786. package/.next/static/chunks/app/api/mcp-registry/route-c745e5b53b81491a.js +0 -1
  787. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-c745e5b53b81491a.js +0 -1
  788. package/.next/static/chunks/app/api/model/[id]/route-c745e5b53b81491a.js +0 -1
  789. package/.next/static/chunks/app/api/model/provider/route-c745e5b53b81491a.js +0 -1
  790. package/.next/static/chunks/app/api/model/route-c745e5b53b81491a.js +0 -1
  791. package/.next/static/chunks/app/api/model/test/route-c745e5b53b81491a.js +0 -1
  792. package/.next/static/chunks/app/api/oauth/callback/route-c745e5b53b81491a.js +0 -1
  793. package/.next/static/chunks/app/api/oauth/initiate/route-c745e5b53b81491a.js +0 -1
  794. package/.next/static/chunks/app/api/oauth/reset/route-c745e5b53b81491a.js +0 -1
  795. package/.next/static/chunks/app/api/packages/build/route-c745e5b53b81491a.js +0 -1
  796. package/.next/static/chunks/app/api/packages/derive-secrets/route-c745e5b53b81491a.js +0 -1
  797. package/.next/static/chunks/app/api/packages/install/route-c745e5b53b81491a.js +0 -1
  798. package/.next/static/chunks/app/api/packages/install/status/route-c745e5b53b81491a.js +0 -1
  799. package/.next/static/chunks/app/api/packages/installed/route-c745e5b53b81491a.js +0 -1
  800. package/.next/static/chunks/app/api/packages/resolve/route-c745e5b53b81491a.js +0 -1
  801. package/.next/static/chunks/app/api/packages/uninstall/route-c745e5b53b81491a.js +0 -1
  802. package/.next/static/chunks/app/api/planned-executions/[id]/route-c745e5b53b81491a.js +0 -1
  803. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-c745e5b53b81491a.js +0 -1
  804. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-c745e5b53b81491a.js +0 -1
  805. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-c745e5b53b81491a.js +0 -1
  806. package/.next/static/chunks/app/api/planned-executions/reconcile/route-c745e5b53b81491a.js +0 -1
  807. package/.next/static/chunks/app/api/planned-executions/route-c745e5b53b81491a.js +0 -1
  808. package/.next/static/chunks/app/api/registry/auth/resend/route-c745e5b53b81491a.js +0 -1
  809. package/.next/static/chunks/app/api/registry/auth/reset/route-c745e5b53b81491a.js +0 -1
  810. package/.next/static/chunks/app/api/registry/auth/route-c745e5b53b81491a.js +0 -1
  811. package/.next/static/chunks/app/api/registry/oauth/callback/route-c745e5b53b81491a.js +0 -1
  812. package/.next/static/chunks/app/api/registry/oauth/initiate/route-c745e5b53b81491a.js +0 -1
  813. package/.next/static/chunks/app/api/registry/publish/route-c745e5b53b81491a.js +0 -1
  814. package/.next/static/chunks/app/api/registry/settings/route-c745e5b53b81491a.js +0 -1
  815. package/.next/static/chunks/app/api/restore/route-c745e5b53b81491a.js +0 -1
  816. package/.next/static/chunks/app/api/runs/active/route-c745e5b53b81491a.js +0 -1
  817. package/.next/static/chunks/app/api/storage/route-c745e5b53b81491a.js +0 -1
  818. package/.next/static/chunks/app/api/update/route-c745e5b53b81491a.js +0 -1
  819. package/.next/static/chunks/app/api/waves/route-c745e5b53b81491a.js +0 -1
  820. package/.next/static/chunks/app/api/webhooks/[id]/route-c745e5b53b81491a.js +0 -1
  821. package/.next/static/chunks/app/chat/page-c39160ddf90bbae9.js +0 -1
  822. package/.next/static/chunks/app/executions/page-10d09f36de30939f.js +0 -1
  823. package/.next/static/chunks/app/flows/page-0d8fb471adfc2981.js +0 -1
  824. package/.next/static/chunks/app/layout-eea7078d7553c21a.js +0 -1
  825. package/.next/static/chunks/app/mcp/page-8ad71bf5801bfe5f.js +0 -1
  826. package/.next/static/chunks/app/mcp-flows/route-c745e5b53b81491a.js +0 -1
  827. package/.next/static/chunks/app/mcp-proxy/[server]/route-c745e5b53b81491a.js +0 -1
  828. package/.next/static/chunks/app/models/page-17e8e6668f92f58d.js +0 -1
  829. package/.next/static/chunks/app/packages/page-9f61751e98134f3d.js +0 -1
  830. package/.next/static/chunks/app/page-d3ea90b065b95d1e.js +0 -1
  831. package/.next/static/chunks/app/settings/page-afbf8790e99fecaf.js +0 -1
  832. package/.next/static/chunks/app/v1/chat/completions/route-c745e5b53b81491a.js +0 -1
  833. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-c745e5b53b81491a.js +0 -1
  834. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-c745e5b53b81491a.js +0 -1
  835. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-c745e5b53b81491a.js +0 -1
  836. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-c745e5b53b81491a.js +0 -1
  837. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-c745e5b53b81491a.js +0 -1
  838. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-c745e5b53b81491a.js +0 -1
  839. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-c745e5b53b81491a.js +0 -1
  840. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-c745e5b53b81491a.js +0 -1
  841. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-c745e5b53b81491a.js +0 -1
  842. package/.next/static/chunks/app/v1/chat/conversations/route-c745e5b53b81491a.js +0 -1
  843. package/.next/static/chunks/app/v1/chat/events/route-c745e5b53b81491a.js +0 -1
  844. package/.next/static/chunks/app/v1/models/route-c745e5b53b81491a.js +0 -1
  845. package/.next/static/chunks/app/waves/page-97ad6b51c9cae4b3.js +0 -1
  846. package/.next/static/chunks/webpack-0d4a4e773990ac44.js +0 -1
  847. package/.next/static/css/40f9bef305b11bf5.css +0 -1
  848. /package/.next/static/{Q6ITx_bZyoEOnKdZu_C7j → A9jP2ydtYbqx-IayWP2Sg}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7724,exports.ids=[7724],exports.modules={354:(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:"M20 6h-8l-2-2H7.17l4 4H20v9.17l1.76 1.76c.15-.28.24-.59.24-.93V8c0-1.1-.9-2-2-2M2.1 2.1.69 3.51l1.56 1.56c-.15.28-.24.59-.24.93L2 18c0 1.1.9 2 2 2h13.17l3.31 3.31 1.41-1.41zM4 18V6.83L15.17 18z"}),"FolderOffOutlined")},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)}},5501:(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 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"}),"Star")},8165:(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 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle")},12033:(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:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit")},18467:(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:"m9.17 6 2 2H20v10H4V6zM10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"FolderOutlined")},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]})})},31973:(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:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m0 12H4V6h5.17l2 2H20zm-8-4h2v2h2v-2h2v-2h-2v-2h-2v2h-2z"}),"CreateNewFolderOutlined")},36698:(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:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check")},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}},98463:(a,b,c)=>{c.d(b,{A:()=>n});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(6636),i=c(29565),j=c(33105);function k(a){return(0,j.Ay)("MuiCardActions",a)}(0,i.A)("MuiCardActions",["root","spacing"]);var l=c(21124);let m=(0,g.Ay)("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,!c.disableSpacing&&b.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),n=d.forwardRef(function(a,b){let c=(0,h.b)({props:a,name:"MuiCardActions"}),{disableSpacing:d=!1,className:g,...i}=c,j={...c,disableSpacing:d},n=(a=>{let{classes:b,disableSpacing:c}=a;return(0,f.A)({root:["root",!c&&"spacing"]},k,b)})(j);return(0,l.jsx)(m,{className:(0,e.A)(n.root,g),ownerState:j,ref:b,...i})})},99587:(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:"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z"}),"StarBorder")}};
@@ -1 +1 @@
1
- "use strict";exports.id=7821,exports.ids=[7821],exports.modules={87821:(a,b,c)=>{c.d(b,{flowService:()=>x});var d=c(32524),e=c(92372),f=c(38844),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.getDataDir)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;function u(a){let{createdAt:b,updatedAt:c,...d}=a;return JSON.stringify(d)}async function v(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class w{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await v();let a=(await (0,e.av)(t)).map(({item:a,mtimeMs:b})=>{if(null!=a.createdAt&&null!=a.updatedAt)return a;let c=Math.floor(b);return{...a,createdAt:a.createdAt??c,updatedAt:a.updatedAt??c}});return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await v();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(3128),c.e(4322),c.e(5067),c.e(6849),c.e(1373),c.e(5096),c.e(7538),c.e(346),c.e(724),c.e(2940),c.e(3629)]).then(c.bind(c,52940));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await v();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&u(b)!==u(a)&&await n(b);let c=Date.now();a.createdAt=b?.createdAt??a.createdAt??c,a.updatedAt=c,await (0,e.Vt)(t,a.id,a);let d=this.flowsCache;if(d){let b=d.findIndex(b=>b.id===a.id);b>=0?d[b]=a:d.push(a),this.flowsCache=d}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await v(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c=Date.now(),e={id:(0,d.A)(),name:a,createdAt:c,updatedAt:c,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${e.id}`,{name:a}),e}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let x=new w}};
1
+ "use strict";exports.id=7821,exports.ids=[7821],exports.modules={87821:(a,b,c)=>{c.d(b,{flowService:()=>x});var d=c(32524),e=c(92372),f=c(38844),g=c(50846),h=c(33873),i=c.n(h),j=c(29021),k=c(43326);let l=(0,g.h)("backend/services/flow/flowVersions");function m(a){return(0,e.ln)(a),`flow-versions/${a}`}async function n(a){try{let b=m(a.id),c=Date.now(),d=`${c}-${Math.random().toString(36).slice(2,6)}`,f={versionId:d,flowId:a.id,savedAt:c,flow:a};return await (0,e.Vt)(b,d,f),await o(a.id),d}catch(b){return l.warn(`Could not archive a version of flow ${a.id}`,b),null}}async function o(a){let b=m(a),c=await (0,e.pL)(b);if(!(c.length<=25))for(let d of c.sort((a,b)=>b.savedAt-a.savedAt).slice(25))try{await (0,e.bB)(b,d.versionId)}catch(b){l.warn(`Could not prune version ${d.versionId} of flow ${a}`,b)}}async function p(a){return(await (0,e.pL)(m(a))).sort((a,b)=>b.savedAt-a.savedAt).map(a=>({versionId:a.versionId,savedAt:a.savedAt,name:a.flow?.name??"unknown",nodeCount:a.flow?.nodes?.length??0,edgeCount:a.flow?.edges?.length??0}))}async function q(a,b){try{return await (0,e.EI)(m(a),b,null)}catch(c){return l.debug(`getFlowVersion: could not load ${a}/${b}`,c),null}}async function r(a){try{(0,e.ln)(a),await j.promises.rm(i().join((0,k.getDataDir)(),"db","flow-versions",a),{recursive:!0,force:!0})}catch(b){l.warn(`Could not remove version history of flow ${a}`,b)}}let s=(0,g.h)("backend/services/flow/index"),t=f.Z.FLOWS;function u(a){let{createdAt:b,updatedAt:c,...d}=a;return JSON.stringify(d)}async function v(){return global.__flujo_flowsMigration||(global.__flujo_flowsMigration=(async()=>{try{await (0,e.w5)(f.Z.FLOWS,t,a=>a.id)}catch(a){s.error("Flow storage migration failed",a),global.__flujo_flowsMigration=void 0}})()),global.__flujo_flowsMigration}class w{get flowsCache(){return global.__flujo_flowsCache??null}set flowsCache(a){global.__flujo_flowsCache=a}async loadFlows(){try{if(this.flowsCache)return s.debug("Using cached flows"),this.flowsCache;s.debug("Loading flows from storage"),await v();let a=(await (0,e.av)(t)).map(({item:a,mtimeMs:b})=>{if(null!=a.createdAt&&null!=a.updatedAt)return a;let c=Math.floor(b);return{...a,createdAt:a.createdAt??c,updatedAt:a.updatedAt??c}});return this.flowsCache=a,s.info("Loaded flows from storage",{count:a.length}),a}catch(a){return s.error("Failed to load flows",a),[]}}async getFlow(a){try{s.debug(`Getting flow by ID: ${a}`);let b=this.flowsCache?.find(b=>b.id===a)||null;if(b)return s.debug(`Flow ${a} found in cache`),b;await v();let c=null;try{c=await (0,e.EI)(t,a,null)}catch(b){s.debug(`getFlow: could not load flow ${a}`,b),c=null}if(c&&this.flowsCache){let a=this.flowsCache,b=a.findIndex(a=>a.id===c.id);b>=0?a[b]=c:a.push(c),this.flowsCache=a}return s.debug(`Flow ${a} ${c?"found":"not found"}`),c}catch(b){return s.error(`Failed to get flow ${a}`,b),null}}async invalidateExecutionCache(a){try{let{FlowExecutor:b}=await Promise.all([c.e(3128),c.e(4322),c.e(5067),c.e(6034),c.e(5096),c.e(544),c.e(3629)]).then(c.bind(c,95708));b.clearFlowCache(a),s.debug("Invalidated execution flow cache",{flowId:a??"all"})}catch(a){s.warn("Failed to invalidate execution flow cache",a)}}async saveFlow(a){try{s.debug(`Saving flow: ${a.id}`,{name:a.name}),(0,e.ln)(a.id),await v();let b=null;try{b=await (0,e.EI)(t,a.id,null)}catch(b){s.debug(`saveFlow: could not read previous definition of ${a.id} for versioning`,b)}b&&u(b)!==u(a)&&await n(b);let c=Date.now();a.createdAt=b?.createdAt??a.createdAt??c,a.updatedAt=c,await (0,e.Vt)(t,a.id,a);let d=this.flowsCache;if(d){let b=d.findIndex(b=>b.id===a.id);b>=0?d[b]=a:d.push(a),this.flowsCache=d}return await this.invalidateExecutionCache(a.id),s.info(`Flow ${a.id} saved successfully`),{success:!0}}catch(a){return s.error("Failed to save flow",a),{success:!1,error:a instanceof Error?a.message:"Failed to save flow"}}}async deleteFlow(a){try{s.debug(`Deleting flow: ${a}`),await v(),await (0,e.bB)(t,a);let b=this.flowsCache;return b&&(this.flowsCache=b.filter(b=>b.id!==a)),await this.invalidateExecutionCache(a),await r(a),s.info(`Flow ${a} deleted successfully`),{success:!0}}catch(b){return s.error(`Failed to delete flow: ${a}`,b),{success:!1,error:b instanceof Error?b.message:"Failed to delete flow"}}}async listFlowVersions(a){return p(a)}async getFlowVersion(a,b){return q(a,b)}async revertFlow(a,b){let c=await q(a,b);return c?this.saveFlow({...c.flow,id:a}):{success:!1,error:`No version "${b}" of flow ${a}`}}createNode(a,b){s.debug(`Creating new node of type: ${a}`,{position:b});let c={id:(0,d.A)(),type:a,position:b,data:{label:`${"mcp"===a?"MCP":a.charAt(0).toUpperCase()+a.slice(1)} Node`,type:a,properties:{}}};return s.debug(`Node created with ID: ${c.id}`),c}createNewFlow(a="NewFlow"){s.debug(`Creating new flow: ${a}`);let b={id:(0,d.A)(),type:"start",position:{x:250,y:150},data:{label:"Start Node",type:"start",properties:{promptTemplate:""}}},c=Date.now(),e={id:(0,d.A)(),name:a,createdAt:c,updatedAt:c,nodes:[b],edges:[]};return s.info(`New flow created with ID: ${e.id}`,{name:a}),e}createHistoryEntry(a,b){return s.debug("Creating history entry",{nodeCount:a.length,edgeCount:b.length}),{nodes:[...a],edges:[...b]}}generateSampleFlow(a="Sample Flow"){s.debug(`Generating sample flow: ${a}`);let b={id:(0,d.A)(),name:a,nodes:[{id:"1",type:"start",position:{x:250,y:50},data:{label:"Start Node",type:"start",properties:{prompt:"Enter your query here",systemMessage:"You are a helpful assistant",temperature:0}}},{id:"2",type:"process",position:{x:250,y:200},data:{label:"Process Node",type:"process",properties:{operation:"transform",enabled:!0}}},{id:"3",type:"finish",position:{x:250,y:350},data:{label:"Finish Node",type:"finish",properties:{format:"json",template:'{ "result": {{data}} }'}}},{id:"4",type:"mcp",position:{x:450,y:200},data:{label:"MCP Node",type:"mcp",properties:{channels:2,mode:"parallel"}}}],edges:[{id:"e1-2",source:"1",target:"2",type:"custom"},{id:"e2-3",source:"2",target:"3",type:"custom"}]};return s.info(`Sample flow generated with ID: ${b.id}`,{name:a}),b}async listFlows(){s.debug("listFlows: Entering method");try{let a=await this.loadFlows();return{success:!0,flows:a}}catch(a){return s.warn("listFlows: Failed to list flows:",a),{success:!1,error:a instanceof Error?a.message:"Failed to list flows"}}}}let x=new w}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=793,exports.ids=[793],exports.modules={10793:(a,b,c)=>{c.d(b,{filesystemListResources:()=>g,filesystemReadResource:()=>i,isFilesystemAppUri:()=>h});let d="ui://filesystem/browser",e="ui://devcanvas/diff",f="text/html;profile=mcp-app";function g(){return{resources:[{uri:d,name:"filesystem_browser",mimeType:f,description:"Interactive file browser (navigate, preview, upload, download) for the filesystem server."},{uri:e,name:"devcanvas_diff",mimeType:f,description:"Docked diff canvas that shows file writes/edits live as they happen (pip display mode)."}]}}function h(a){return a===d||a===e}function i(a){if(!h(a))return{success:!1,error:`Not a filesystem app URI: ${a}`,statusCode:404};let b=a===e?k:j;return{success:!0,data:{contents:[{uri:a,mimeType:f,text:b,_meta:{ui:{csp:{},permissions:{}}}}]}}}let j=`<!doctype html>
1
+ "use strict";exports.id=793,exports.ids=[793,7969],exports.modules={7969:(a,b,c)=>{c.d(b,{F:()=>j,loadEffectiveRoots:()=>l});var d=c(33873),e=c.n(d),f=c(79551),g=c(50846),h=c(7658);let i=(0,g.h)("backend/services/mcp/internal/confinement");function j(a,b){let c=e().relative(a,b);return""===c||!c.startsWith("..")&&!e().isAbsolute(c)}async function k(a,b){let{resolveGlobalVars:d}=await Promise.resolve().then(c.bind(c,73456)),g=(await d(a)).trim();if(!g)return null;if(g.startsWith("file://"))try{return e().resolve((0,f.fileURLToPath)(g))}catch(a){return i.warn(`resolveRootToPath: could not parse file URI "${g}"`,a),null}return e().isAbsolute(g)?e().resolve(g):e().resolve(b,g)}async function l(a,b,d){let{getDataDir:f}=await Promise.resolve().then(c.bind(c,43326)),g=f(),l=function(a){for(let b of Array.isArray(a)?a:[a]){let a=process.env[b];if(!a||!a.trim())continue;let c=a.split(e().delimiter).map(a=>a.trim()).filter(Boolean).map(a=>e().resolve(a));if(c.length)return c}return null}(b),m=[];try{for(let b of(await (0,h.AC)(a)))m.push(e().isAbsolute(b)?e().resolve(b):e().resolve(g,b))}catch(a){i.warn("loadEffectiveRoots: could not read persisted roots",a)}try{let{getNodeRoots:b,getNodeRootsForId:e}=await Promise.resolve().then(c.bind(c,62850));for(let c of void 0!==d?(()=>{let c=e(a,d);return c.length>0?c:b(a)})():b(a)){let a=await k(c,g);a&&m.push(a)}}catch(a){i.warn("loadEffectiveRoots: could not read node roots",a)}let n=Array.from(new Set(m));if(!l)return 0===n.length?[g]:n;let o=n.filter(a=>l.some(b=>j(b,a)));return o.length?o:l}},10793:(a,b,c)=>{c.d(b,{Wk:()=>p,filesystemListResources:()=>s,filesystemReadResource:()=>u,isFilesystemAppUri:()=>t,isTouchedFileUri:()=>q,readTouchedFileResource:()=>r});var d=c(33873),e=c.n(d),f=c(29021),g=c(29537),h=c(50846),i=c(7658),j=c(7969);let k=(0,h.h)("backend/services/mcp/internal/filesystemResources"),l="ui://filesystem/browser",m="ui://devcanvas/diff",n="text/html;profile=mcp-app",o=new Map;function p(a,b,c){try{if("string"!=typeof a||!a)return;let d=function(a){let b=a.replace(/\\/g,"/");return b.startsWith("/")?`file://${b}`:`file:///${b}`}(a),e=o.get(d);for(o.delete(d),o.set(d,{uri:d,filePath:a,op:b,size:c??e?.size,at:Date.now()});o.size>200;){let a=o.keys().next().value;if(void 0===a)break;o.delete(a)}}catch(a){k.debug("recordTouchedFile ignored error",a)}}function q(a){return o.has(a)}async function r(a){let b=o.get(a);if(!b)return{success:!1,error:`Not a tracked filesystem resource: ${a}`,statusCode:404};let c=[];try{c=await (0,j.loadEffectiveRoots)(i.K3,"FLUJO_FS_ROOTS")}catch(a){k.warn("readTouchedFileResource: could not load roots",a)}if(0===c.length||!c.some(a=>(0,j.F)(a,b.filePath)))return{success:!1,error:`Path "${b.filePath}" is outside the configured filesystem roots.`,statusCode:403};try{let c=await f.promises.readFile(b.filePath,"utf8");return c.length>2e5&&(c=c.slice(0,2e5)+"\n…[truncated]"),{success:!0,data:{contents:[{uri:a,mimeType:"text/plain",text:c}]}}}catch(a){return{success:!1,error:`Could not read tracked file: ${a instanceof Error?a.message:String(a)}`,statusCode:500}}}function s(){return{resources:[{uri:l,name:"filesystem_browser",mimeType:n,description:"Interactive file browser (navigate, preview, upload, download) for the filesystem server."},{uri:m,name:"devcanvas_diff",mimeType:n,description:"Docked diff canvas that shows file writes/edits live as they happen (pip display mode)."},...[...o.values()].reverse().map(a=>({uri:a.uri,name:e().basename(a.filePath),mimeType:"text/plain",description:`${"write"===a.op?"Written":"Read"} by the filesystem server: ${a.filePath}`,..."number"==typeof a.size?{size:a.size}:{}}))]}}function t(a){return a===l||a===m}function u(a){if(!t(a))return{success:!1,error:`Not a filesystem app URI: ${a}`,statusCode:404};let b=a===m?w:v;return{success:!0,data:{contents:[{uri:a,mimeType:n,text:b,_meta:{ui:{csp:{},permissions:{}}}}]}}}let v=`<!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8" />
@@ -106,7 +106,17 @@
106
106
  setMsg(listEl, "Loading " + path + " ...");
107
107
  try {
108
108
  var res = await rpc("tools/call", { name: "list_dir", arguments: { path: path } });
109
- if (res && res.isError) throw new Error((payloadOf(res) || {}).error || "list_dir failed");
109
+ if (res && res.isError) {
110
+ var errMsg = (payloadOf(res) || {}).error || "list_dir failed";
111
+ // Detect the unconfigured-roots scenario and provide actionable guidance.
112
+ if (errMsg.indexOf("outside the configured filesystem roots") !== -1) {
113
+ errMsg = "No filesystem roots configured. "
114
+ + "To browse files: go to MCP Manager → Filesystem → Roots and add a directory, "
115
+ + "or set the FLUJO_FS_ROOTS environment variable. "
116
+ + "In Docker, also add a host bind-mount to docker-compose.yml.";
117
+ }
118
+ throw new Error(errMsg);
119
+ }
110
120
  var data = payloadOf(res) || {};
111
121
  cwd = data.path || path;
112
122
  pathEl.textContent = cwd;
@@ -242,7 +252,7 @@
242
252
  rpc("ui/initialize", {
243
253
  appInfo: { name: "filesystem-browser", version: "1.0.0" },
244
254
  appCapabilities: { availableDisplayModes: ["inline", "fullscreen"] },
245
- protocolVersion: "2026-01-26"
255
+ protocolVersion: "${g.aE}"
246
256
  }).then(function (result) {
247
257
  applyTheme(result && result.hostContext);
248
258
  notify("ui/notifications/initialized", {});
@@ -254,7 +264,7 @@
254
264
  })();
255
265
  </script>
256
266
  </body>
257
- </html>`,k=`<!doctype html>
267
+ </html>`,w=`<!doctype html>
258
268
  <html>
259
269
  <head>
260
270
  <meta charset="utf-8" />
@@ -381,7 +391,7 @@
381
391
  rpc("ui/initialize", {
382
392
  appInfo: { name: "devcanvas-diff", version: "1.0.0" },
383
393
  appCapabilities: { availableDisplayModes: ["inline", "fullscreen", "pip"] },
384
- protocolVersion: "2026-01-26"
394
+ protocolVersion: "${g.aE}"
385
395
  }).then(function (result) {
386
396
  applyTheme(result && result.hostContext);
387
397
  notify("ui/notifications/initialized", {});
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7969,exports.ids=[7969],exports.modules={7969:(a,b,c)=>{c.d(b,{F:()=>j,loadEffectiveRoots:()=>l});var d=c(33873),e=c.n(d),f=c(79551),g=c(50846),h=c(7658);let i=(0,g.h)("backend/services/mcp/internal/confinement");function j(a,b){let c=e().relative(a,b);return""===c||!c.startsWith("..")&&!e().isAbsolute(c)}async function k(a,b){let{resolveGlobalVars:d}=await Promise.resolve().then(c.bind(c,73456)),g=(await d(a)).trim();if(!g)return null;if(g.startsWith("file://"))try{return e().resolve((0,f.fileURLToPath)(g))}catch(a){return i.warn(`resolveRootToPath: could not parse file URI "${g}"`,a),null}return e().isAbsolute(g)?e().resolve(g):e().resolve(b,g)}async function l(a,b,d){let{getDataDir:f}=await Promise.resolve().then(c.bind(c,43326)),g=f(),l=function(a){for(let b of Array.isArray(a)?a:[a]){let a=process.env[b];if(!a||!a.trim())continue;let c=a.split(e().delimiter).map(a=>a.trim()).filter(Boolean).map(a=>e().resolve(a));if(c.length)return c}return null}(b),m=[];try{for(let b of(await (0,h.AC)(a)))m.push(e().isAbsolute(b)?e().resolve(b):e().resolve(g,b))}catch(a){i.warn("loadEffectiveRoots: could not read persisted roots",a)}try{let{getNodeRoots:b,getNodeRootsForId:e}=await Promise.resolve().then(c.bind(c,62850));for(let c of void 0!==d?(()=>{let c=e(a,d);return c.length>0?c:b(a)})():b(a)){let a=await k(c,g);a&&m.push(a)}}catch(a){i.warn("loadEffectiveRoots: could not read node roots",a)}let n=Array.from(new Set(m));if(!l)return 0===n.length?[g]:n;let o=n.filter(a=>l.some(b=>j(b,a)));return o.length?o:l}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6537,exports.ids=[6537],exports.modules={28001:(a,b,c)=>{c.d(b,{internalListResourceTemplates:()=>k,internalListResources:()=>j,internalReadResource:()=>l});var d=c(50846),e=c(2826),f=c(61539),g=c(14214),h=c(81495);let i=(0,d.h)("backend/services/mcp/internalResources");async function j(){try{return{resources:(await (0,f.yP)(200)).map(a=>({uri:a.uri,name:a.name??`${a.kind}-${a.id.slice(0,8)}`,mimeType:a.mimeType,description:function(a){let b=a.producedBy;switch(b.source){case"tool-result":return`Tool result of ${b.server??"?"}/${b.toolName??"?"}${b.nodeId?` (node ${b.nodeId})`:""}`;case"capture":return`Captured output of node ${b.nodeName??b.nodeId??"?"}`;case"mcp-link":return`Resource link from ${b.server??"?"}/${b.toolName??"?"}`;default:return"Run resource"}}(a),size:a.size}))}}catch(a){return i.error("internalListResources failed",a),{resources:[],error:a instanceof Error?a.message:String(a)}}}function k(){return{resourceTemplates:[{uriTemplate:`${e.j}{conversationId}/{resourceId}`,name:"Run-scoped resource",description:"A data artifact captured during a flow run (tool result, node output). List concrete URIs via resources/list."}]}}async function l(a){let b=(0,f.Ns)(a);if(!b)return{success:!1,error:`Not a run-resource URI: ${a}`,statusCode:400};try{let c=await (0,f.gy)(a,{at:Date.now(),source:"mcp-read"});if(!c)return{success:!1,error:`Run resource not found: ${a}`,statusCode:404};try{g.$.emitterFor(b.conversationId)({type:"resource:read",server:h._,uri:a,name:c.entry.name,mimeType:c.entry.mimeType,size:c.entry.size,source:"mcp-read"})}catch{}return{success:!0,data:c.contents}}catch(b){return i.error(`internalReadResource failed for ${a}`,b),{success:!1,error:b instanceof Error?b.message:String(b),statusCode:500}}}},56793:(a,b,c)=>{c.d(b,{eh:()=>g,ru:()=>e});let d=(0,c(50846).h)("backend/services/scheduler/flowRunEventBus");function e(a){return"signal"===a.kind}class f{publish(a){if(0===this.listeners.size)return;let b=e(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(d.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){d.warn("A flow-run event listener threw:",a)}}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function g(){return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new f),global.__flujo_flow_run_event_bus}}};
1
+ "use strict";exports.id=8001,exports.ids=[8001],exports.modules={28001:(a,b,c)=>{c.d(b,{internalListResourceTemplates:()=>k,internalListResources:()=>j,internalReadResource:()=>l});var d=c(50846),e=c(2826),f=c(61539),g=c(14214),h=c(81495);let i=(0,d.h)("backend/services/mcp/internalResources");async function j(){try{return{resources:(await (0,f.yP)(200)).map(a=>({uri:a.uri,name:a.name??`${a.kind}-${a.id.slice(0,8)}`,mimeType:a.mimeType,description:function(a){let b=a.producedBy;switch(b.source){case"tool-result":return`Tool result of ${b.server??"?"}/${b.toolName??"?"}${b.nodeId?` (node ${b.nodeId})`:""}`;case"capture":return`Captured output of node ${b.nodeName??b.nodeId??"?"}`;case"mcp-link":return`Resource link from ${b.server??"?"}/${b.toolName??"?"}`;default:return"Run resource"}}(a),size:a.size}))}}catch(a){return i.error("internalListResources failed",a),{resources:[],error:a instanceof Error?a.message:String(a)}}}function k(){return{resourceTemplates:[{uriTemplate:`${e.j}{conversationId}/{resourceId}`,name:"Run-scoped resource",description:"A data artifact captured during a flow run (tool result, node output). List concrete URIs via resources/list."}]}}async function l(a){let b=(0,f.Ns)(a);if(!b)return{success:!1,error:`Not a run-resource URI: ${a}`,statusCode:400};try{let c=await (0,f.gy)(a,{at:Date.now(),source:"mcp-read"});if(!c)return{success:!1,error:`Run resource not found: ${a}`,statusCode:404};try{g.$.emitterFor(b.conversationId)({type:"resource:read",server:h._,uri:a,name:c.entry.name,mimeType:c.entry.mimeType,size:c.entry.size,source:"mcp-read"})}catch{}return{success:!0,data:c.contents}}catch(b){return i.error(`internalReadResource failed for ${a}`,b),{success:!1,error:b instanceof Error?b.message:String(b),statusCode:500}}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8034,exports.ids=[8034],exports.modules={1312:(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:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V6h5.17l1.41 1.41.59.59H20zm-7.84-6H8v2h4.16l-1.59 1.59L11.99 17 16 13.01 11.99 9l-1.41 1.41z"}),"DriveFileMoveOutlined")},5748:(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:"M13 13v8h8v-8zM3 21h8v-8H3zM3 3v8h8V3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66z"}),"Widgets")},15059:(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:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language")},21358:(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 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,e.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber")},25750:(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 16.5 4-4h-3v-9h-2v9H8zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2"}),"SystemUpdateAlt")},29320:(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 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39"}),"Public")},30137:(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:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")},30717:(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:"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"Folder")},30873:(a,b,c)=>{c.d(b,{A:()=>I});var d=c(38301),e=c(2783),f=c(74846),g=c(62383),h=c(69979);let i=function(a={}){let{autoHideDuration:b=null,disableWindowBlurListener:c=!1,onClose:e,open:i,resumeHideDuration:j}=a,k=(0,f.A)();d.useEffect(()=>{if(i)return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)};function a(a){a.defaultPrevented||"Escape"!==a.key||e?.(a,"escapeKeyDown")}},[i,e]);let l=(0,g.A)((a,b)=>{e?.(a,b)}),m=(0,g.A)(a=>{e&&null!=a&&k.start(a,()=>{l(null,"timeout")})});d.useEffect(()=>(i&&m(b),k.clear),[i,b,m,k]);let n=k.clear,o=d.useCallback(()=>{null!=b&&m(null!=j?j:.5*b)},[b,j,m]);return d.useEffect(()=>{if(!c&&i)return window.addEventListener("focus",o),window.addEventListener("blur",n),()=>{window.removeEventListener("focus",o),window.removeEventListener("blur",n)}},[c,i,o,n]),{getRootProps:(b={})=>{let c={...(0,h.A)(a),...(0,h.A)(b)};return{role:"presentation",...b,...c,onBlur:a=>{let b=c.onBlur;b?.(a),o()},onFocus:a=>{let b=c.onFocus;b?.(a),n()},onMouseEnter:a=>{let b=c.onMouseEnter;b?.(a),n()},onMouseLeave:a=>{let b=c.onMouseLeave;b?.(a),o()}}},onClickAway:a=>{e?.(a,"clickaway")}}};var j=c(67943),k=c(46757),l=c(51939);function m(a){return a.substring(2).toLowerCase()}function n(a){let{children:b,disableReactTree:c=!1,mouseEvent:e="onClick",onClickAway:f,touchEvent:h="onTouchEnd"}=a,i=d.useRef(!1),n=d.useRef(null),o=d.useRef(!1),p=d.useRef(!1);d.useEffect(()=>(setTimeout(()=>{o.current=!0},0),()=>{o.current=!1}),[]);let q=(0,j.A)((0,l.A)(b),n),r=(0,g.A)(a=>{let b=p.current;p.current=!1;let d=(0,k.A)(n.current);if(!(!o.current||!n.current||"clientX"in a&&(d.documentElement.clientWidth<a.clientX||d.documentElement.clientHeight<a.clientY))){if(i.current){i.current=!1;return}(a.composedPath?a.composedPath().includes(n.current):!d.documentElement.contains(a.target)||n.current.contains(a.target))||!c&&b||f(a)}}),s=a=>c=>{p.current=!0;let d=b.props[a];d&&d(c)},t={ref:q};return!1!==h&&(t[h]=s(h)),d.useEffect(()=>{if(!1!==h){let a=m(h),b=(0,k.A)(n.current),c=()=>{i.current=!0};return b.addEventListener(a,r),b.addEventListener("touchmove",c),()=>{b.removeEventListener(a,r),b.removeEventListener("touchmove",c)}}},[r,h]),!1!==e&&(t[e]=s(e)),d.useEffect(()=>{if(!1!==e){let a=m(e),b=(0,k.A)(n.current);return b.addEventListener(a,r),()=>{b.removeEventListener(a,r)}}},[r,e]),d.cloneElement(b,t)}var o=c(18168),p=c(60839),q=c(68333),r=c(6636),s=c(6638),t=c(4927),u=c(43249),v=c(37489),w=c(54573),x=c(29565),y=c(33105);function z(a){return(0,y.Ay)("MuiSnackbarContent",a)}(0,x.A)("MuiSnackbarContent",["root","message","action"]);var A=c(21124);let B=(0,o.Ay)(w.A,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(a,b)=>b.root})((0,q.A)(({theme:a})=>{let b="light"===a.palette.mode?.8:.98,c=(0,v.tL)(a.palette.background.default,b);return{...a.typography.body2,color:a.vars?a.vars.palette.SnackbarContent.color:a.palette.getContrastText(c),backgroundColor:a.vars?a.vars.palette.SnackbarContent.bg:c,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(a.vars||a).shape.borderRadius,flexGrow:1,[a.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),C=(0,o.Ay)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(a,b)=>b.message})({padding:"8px 0"}),D=(0,o.Ay)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(a,b)=>b.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),E=d.forwardRef(function(a,b){let c=(0,r.b)({props:a,name:"MuiSnackbarContent"}),{action:d,className:f,message:g,role:h="alert",...i}=c,j=(a=>{let{classes:b}=a;return(0,e.A)({root:["root"],action:["action"],message:["message"]},z,b)})(c);return(0,A.jsxs)(B,{role:h,square:!0,elevation:6,className:(0,u.A)(j.root,f),ownerState:c,ref:b,...i,children:[(0,A.jsx)(C,{className:j.message,ownerState:c,children:g}),d?(0,A.jsx)(D,{className:j.action,ownerState:c,children:d}):null]})});function F(a){return(0,y.Ay)("MuiSnackbar",a)}(0,x.A)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var G=c(20385);let H=(0,o.Ay)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`anchorOrigin${(0,s.A)(c.anchorOrigin.vertical)}${(0,s.A)(c.anchorOrigin.horizontal)}`]]}})((0,q.A)(({theme:a})=>({zIndex:(a.vars||a).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:a})=>"top"===a.anchorOrigin.vertical,style:{top:8,[a.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:a})=>"top"!==a.anchorOrigin.vertical,style:{bottom:8,[a.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:a})=>"left"===a.anchorOrigin.horizontal,style:{justifyContent:"flex-start",[a.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:a})=>"right"===a.anchorOrigin.horizontal,style:{justifyContent:"flex-end",[a.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:a})=>"center"===a.anchorOrigin.horizontal,style:{[a.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),I=d.forwardRef(function(a,b){let c=(0,r.b)({props:a,name:"MuiSnackbar"}),f=(0,p.A)(),g={enter:f.transitions.duration.enteringScreen,exit:f.transitions.duration.leavingScreen},{action:h,anchorOrigin:{vertical:j,horizontal:k}={vertical:"bottom",horizontal:"left"},autoHideDuration:l=null,children:m,className:o,ClickAwayListenerProps:q,ContentProps:u,disableWindowBlurListener:v=!1,message:w,onBlur:x,onClose:y,onFocus:z,onMouseEnter:B,onMouseLeave:C,open:D,resumeHideDuration:I,slots:J={},slotProps:K={},TransitionComponent:L,transitionDuration:M=g,TransitionProps:{onEnter:N,onExited:O,...P}={},...Q}=c,R={...c,anchorOrigin:{vertical:j,horizontal:k},autoHideDuration:l,disableWindowBlurListener:v,TransitionComponent:L,transitionDuration:M},S=(a=>{let{classes:b,anchorOrigin:c}=a,d={root:["root",`anchorOrigin${(0,s.A)(c.vertical)}${(0,s.A)(c.horizontal)}`]};return(0,e.A)(d,F,b)})(R),{getRootProps:T,onClickAway:U}=i({...R}),[V,W]=d.useState(!0),X={slots:{transition:L,...J},slotProps:{content:u,clickAwayListener:q,transition:P,...K}},[Y,Z]=(0,G.A)("root",{ref:b,className:[S.root,o],elementType:H,getSlotProps:T,externalForwardedProps:{...X,...Q},ownerState:R}),[$,{ownerState:_,...aa}]=(0,G.A)("clickAwayListener",{elementType:n,externalForwardedProps:X,getSlotProps:a=>({onClickAway:(...b)=>{a.onClickAway?.(...b),U(...b)}}),ownerState:R}),[ab,ac]=(0,G.A)("content",{elementType:E,shouldForwardComponentProp:!0,externalForwardedProps:X,additionalProps:{message:w,action:h},ownerState:R}),[ad,ae]=(0,G.A)("transition",{elementType:t.A,externalForwardedProps:X,getSlotProps:a=>({onEnter:(...b)=>{a.onEnter?.(...b),((a,b)=>{W(!1),N&&N(a,b)})(...b)},onExited:(...b)=>{a.onExited?.(...b),(a=>{W(!0),O&&O(a)})(...b)}}),additionalProps:{appear:!0,in:D,timeout:M,direction:"top"===j?"down":"up"},ownerState:R});return!D&&V?null:(0,A.jsx)($,{...aa,...J.clickAwayListener&&{ownerState:_},children:(0,A.jsx)(Y,{...Z,children:(0,A.jsx)(ad,{...ae,children:m||(0,A.jsx)(ab,{...ac})})})})})},38941:(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:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy")},46410:(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:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")},51694:(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:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject")},52399:(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:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"}),"ArrowUpward")},55641:(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:"M16.91 14.09 17 14l2 2 4-4.04L21 10h-8.17zM3.98 6.81C2.2 7.85 1 9.79 1 12c0 3.31 2.69 6 6 6 2.21 0 4.15-1.2 5.18-2.99l7.59 7.59 1.41-1.41L2.81 2.81 1.39 4.22zm5.93 5.93C9.58 14.03 8.4 15 7 15c-1.65 0-3-1.35-3-3 0-1.4.97-2.58 2.26-2.91z"}),"KeyOff")},56685:(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:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal")},63908:(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 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess")},64956:(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:"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8z"}),"Login")},71756:(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:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi")},72264:(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 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")},83013:(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:"M4.5 11h-2V9H1v6h1.5v-2.5h2V15H6V9H4.5zm2.5-.5h1.5V15H10v-4.5h1.5V9H7zm5.5 0H14V15h1.5v-4.5H17V9h-4.5zm9-1.5H18v6h1.5v-2h2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5m0 2.5h-2v-1h2z"}),"Http")},91314:(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:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home")},91901:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)([(0,e.jsx)("circle",{cx:"20",cy:"12",r:"2"},"0"),(0,e.jsx)("circle",{cx:"4",cy:"12",r:"2"},"1"),(0,e.jsx)("circle",{cx:"12",cy:"20",r:"2"},"2"),(0,e.jsx)("path",{d:"M10.05 8.59 6.03 4.55h-.01l-.31-.32-1.42 1.41 4.02 4.05.01-.01.31.32zm3.893.027 4.405-4.392L19.76 5.64l-4.405 4.393zM10.01 15.36l-1.42-1.41-4.03 4.01-.32.33 1.41 1.41 4.03-4.02zm9.75 2.94-3.99-4.01-.36-.35L14 15.35l3.99 4.01.35.35z"},"3"),(0,e.jsx)("circle",{cx:"12",cy:"4",r:"2"},"4")],"Stream")},95786:(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:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"}),"Lock")},98810:(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:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zM6 20V4h7v5h5v11z"}),"InsertDriveFileOutlined")}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8092,exports.ids=[8092],exports.modules={48092:(a,b,c)=>{c.d(b,{F:()=>j,loadEffectiveRoots:()=>l});var d=c(33873),e=c.n(d),f=c(79551),g=c(18230),h=c(94749);let i=(0,g.h)("backend/services/mcp/internal/confinement");function j(a,b){let c=e().relative(a,b);return""===c||!c.startsWith("..")&&!e().isAbsolute(c)}async function k(a,b){let{resolveGlobalVars:d}=await Promise.resolve().then(c.bind(c,87507)),g=(await d(a)).trim();if(!g)return null;if(g.startsWith("file://"))try{return e().resolve((0,f.fileURLToPath)(g))}catch(a){return i.warn(`resolveRootToPath: could not parse file URI "${g}"`,a),null}return e().isAbsolute(g)?e().resolve(g):e().resolve(b,g)}async function l(a,b,d){let{getDataDir:f}=await Promise.resolve().then(c.bind(c,85510)),g=f(),l=function(a){for(let b of Array.isArray(a)?a:[a]){let a=process.env[b];if(!a||!a.trim())continue;let c=a.split(e().delimiter).map(a=>a.trim()).filter(Boolean).map(a=>e().resolve(a));if(c.length)return c}return null}(b),m=[];try{for(let b of(await (0,h.AC)(a)))m.push(e().isAbsolute(b)?e().resolve(b):e().resolve(g,b))}catch(a){i.warn("loadEffectiveRoots: could not read persisted roots",a)}try{let{getNodeRoots:b,getNodeRootsForId:e}=await Promise.resolve().then(c.bind(c,28181));for(let c of void 0!==d?(()=>{let c=e(a,d);return c.length>0?c:b(a)})():b(a)){let a=await k(c,g);a&&m.push(a)}}catch(a){i.warn("loadEffectiveRoots: could not read node roots",a)}let n=Array.from(new Set(m));if(!l)return 0===n.length?[g]:n;let o=n.filter(a=>l.some(b=>j(b,a)));return o.length?o:l}}};