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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flujo-ai",
3
- "version": "3.28.0",
3
+ "version": "3.30.0",
4
4
  "bin": {
5
5
  "flujo": "bin/flujo.mjs"
6
6
  },
@@ -36,6 +36,7 @@
36
36
  "@modelcontextprotocol/sdk": "^1.29.0",
37
37
  "@mui/icons-material": "^6.4.5",
38
38
  "@mui/material": "^6.4.5",
39
+ "@openai/codex-sdk": "^0.145.0",
39
40
  "@uiw/react-md-editor": "^4.0.5",
40
41
  "@xyflow/react": "^12.4.4",
41
42
  "axios": "^1.8.4",
@@ -1,112 +1,112 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Launches Next.js with TLS settings that let FLUJO connect to MCP servers whose
4
- * certificates are signed by a custom/private (enterprise) CA.
5
- *
6
- * Node.js does NOT trust the operating system's certificate store by default, which is
7
- * why a streamable-HTTP MCP server over HTTPS with a corporate CA fails with
8
- * "unable to verify the first certificate" even though `curl` works. This launcher:
9
- *
10
- * 1. Adds `--use-system-ca` to NODE_OPTIONS (on Node versions that support it) so Node
11
- * trusts the OS certificate store — the same store `curl` uses.
12
- * 2. Maps the friendlier FLUJO_EXTRA_CA_CERTS env var to NODE_EXTRA_CA_CERTS so a
13
- * specific PEM CA bundle can be trusted without touching the OS store.
14
- *
15
- * Both settings propagate to every Node child process Next spawns (including the server),
16
- * because NODE_OPTIONS / NODE_EXTRA_CA_CERTS are read at process startup.
17
- *
18
- * The TLS/CA logic is exported as `buildLaunchEnv()` so the npm-package bin wrapper
19
- * (bin/flujo.mjs, issue #59) reuses it verbatim instead of duplicating it.
20
- */
21
- import { spawn } from 'node:child_process';
22
- import process from 'node:process';
23
- import { pathToFileURL } from 'node:url';
24
- import { createRequire } from 'node:module';
25
-
26
- const require = createRequire(import.meta.url);
27
-
28
- /**
29
- * Return a copy of `baseEnv` with FLUJO's TLS/CA settings applied:
30
- * - NODE_OPTIONS gains `--use-system-ca` on Node versions that support it.
31
- * - FLUJO_EXTRA_CA_CERTS is mirrored to NODE_EXTRA_CA_CERTS.
32
- * Pure apart from a one-time informational log on older Node builds.
33
- */
34
- export function buildLaunchEnv(baseEnv = process.env) {
35
- const env = { ...baseEnv };
36
-
37
- // Detect support empirically instead of sniffing the version number. This Set is the
38
- // authoritative list of flags THIS Node binary accepts inside NODE_OPTIONS, so it is
39
- // correct across versions, platforms, and nightly/RC builds — and it guarantees we never
40
- // inject a flag that Node would then reject at startup with a scary error.
41
- const supportsSystemCa = process.allowedNodeEnvironmentFlags.has('--use-system-ca');
42
-
43
- if (supportsSystemCa && !/--use-system-ca/.test(env.NODE_OPTIONS || '')) {
44
- env.NODE_OPTIONS = `${env.NODE_OPTIONS ? `${env.NODE_OPTIONS} ` : ''}--use-system-ca`;
45
- } else if (!supportsSystemCa && !env.NODE_EXTRA_CA_CERTS && !env.FLUJO_EXTRA_CA_CERTS) {
46
- // Not an error — older Node simply lacks the flag and falls back to Node's bundled CAs.
47
- // Only surface this (as info, not a warning) when no CA bundle is already configured,
48
- // so it never looks alarming on the happy path.
49
- console.log(
50
- `[FLUJO] Node ${process.versions.node} has no --use-system-ca flag; using Node's bundled CAs. ` +
51
- `If an MCP server uses a private/corporate CA, set FLUJO_EXTRA_CA_CERTS (or NODE_EXTRA_CA_CERTS) ` +
52
- `to your CA file before starting FLUJO.`
53
- );
54
- }
55
-
56
- // Convenience alias so users don't have to remember the exact Node env var name.
57
- if (env.FLUJO_EXTRA_CA_CERTS && !env.NODE_EXTRA_CA_CERTS) {
58
- env.NODE_EXTRA_CA_CERTS = env.FLUJO_EXTRA_CA_CERTS;
59
- }
60
-
61
- return env;
62
- }
63
-
64
- /** Spawn `next <passthroughArgs>` with the TLS-configured env and forward its exit. */
65
- function launchNext(passthroughArgs) {
66
- const env = buildLaunchEnv();
67
-
68
- const tlsSummary = [
69
- env.NODE_OPTIONS ? `NODE_OPTIONS="${env.NODE_OPTIONS}"` : null,
70
- env.NODE_EXTRA_CA_CERTS ? `NODE_EXTRA_CA_CERTS="${env.NODE_EXTRA_CA_CERTS}"` : null,
71
- ].filter(Boolean).join(', ');
72
- console.log(`[FLUJO] Starting next ${passthroughArgs.join(' ')}${tlsSummary ? ` (${tlsSummary})` : ''}`);
73
-
74
- // Resolve Next's own CLI from node_modules and run it with the current Node binary.
75
- // Never rely on a `next` on PATH: npm injects node_modules/.bin into PATH for `npm run`
76
- // scripts, but this launcher is also invoked directly (e.g. the Docker CMD), where that
77
- // PATH entry is absent and `spawn('next')` fails with ENOENT. Resolving the JS entry and
78
- // spawning `node <entry>` works identically on every platform and needs no shell.
79
- let nextBin;
80
- try {
81
- nextBin = require.resolve('next/dist/bin/next');
82
- } catch (error) {
83
- console.error('[FLUJO] Could not locate the Next.js binary in node_modules. Run `npm install` first.', error);
84
- process.exit(1);
85
- }
86
-
87
- const child = spawn(process.execPath, [nextBin, ...passthroughArgs], {
88
- stdio: 'inherit',
89
- env,
90
- });
91
-
92
- child.on('error', error => {
93
- console.error('[FLUJO] Failed to launch next:', error);
94
- process.exit(1);
95
- });
96
-
97
- child.on('exit', (code, signal) => {
98
- if (signal) {
99
- process.kill(process.pid, signal);
100
- } else {
101
- process.exit(code ?? 0);
102
- }
103
- });
104
- }
105
-
106
- // Only launch when run directly (`node scripts/launch-next.mjs start -p 4200`), not when
107
- // imported for buildLaunchEnv (bin/flujo.mjs). Everything after the script name is the
108
- // Next.js command, e.g. ["start", "-p", "4200"].
109
- const isMain = import.meta.url === pathToFileURL(process.argv[1] ?? '').href;
110
- if (isMain) {
111
- launchNext(process.argv.slice(2));
112
- }
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Launches Next.js with TLS settings that let FLUJO connect to MCP servers whose
4
+ * certificates are signed by a custom/private (enterprise) CA.
5
+ *
6
+ * Node.js does NOT trust the operating system's certificate store by default, which is
7
+ * why a streamable-HTTP MCP server over HTTPS with a corporate CA fails with
8
+ * "unable to verify the first certificate" even though `curl` works. This launcher:
9
+ *
10
+ * 1. Adds `--use-system-ca` to NODE_OPTIONS (on Node versions that support it) so Node
11
+ * trusts the OS certificate store — the same store `curl` uses.
12
+ * 2. Maps the friendlier FLUJO_EXTRA_CA_CERTS env var to NODE_EXTRA_CA_CERTS so a
13
+ * specific PEM CA bundle can be trusted without touching the OS store.
14
+ *
15
+ * Both settings propagate to every Node child process Next spawns (including the server),
16
+ * because NODE_OPTIONS / NODE_EXTRA_CA_CERTS are read at process startup.
17
+ *
18
+ * The TLS/CA logic is exported as `buildLaunchEnv()` so the npm-package bin wrapper
19
+ * (bin/flujo.mjs, issue #59) reuses it verbatim instead of duplicating it.
20
+ */
21
+ import { spawn } from 'node:child_process';
22
+ import process from 'node:process';
23
+ import { pathToFileURL } from 'node:url';
24
+ import { createRequire } from 'node:module';
25
+
26
+ const require = createRequire(import.meta.url);
27
+
28
+ /**
29
+ * Return a copy of `baseEnv` with FLUJO's TLS/CA settings applied:
30
+ * - NODE_OPTIONS gains `--use-system-ca` on Node versions that support it.
31
+ * - FLUJO_EXTRA_CA_CERTS is mirrored to NODE_EXTRA_CA_CERTS.
32
+ * Pure apart from a one-time informational log on older Node builds.
33
+ */
34
+ export function buildLaunchEnv(baseEnv = process.env) {
35
+ const env = { ...baseEnv };
36
+
37
+ // Detect support empirically instead of sniffing the version number. This Set is the
38
+ // authoritative list of flags THIS Node binary accepts inside NODE_OPTIONS, so it is
39
+ // correct across versions, platforms, and nightly/RC builds — and it guarantees we never
40
+ // inject a flag that Node would then reject at startup with a scary error.
41
+ const supportsSystemCa = process.allowedNodeEnvironmentFlags.has('--use-system-ca');
42
+
43
+ if (supportsSystemCa && !/--use-system-ca/.test(env.NODE_OPTIONS || '')) {
44
+ env.NODE_OPTIONS = `${env.NODE_OPTIONS ? `${env.NODE_OPTIONS} ` : ''}--use-system-ca`;
45
+ } else if (!supportsSystemCa && !env.NODE_EXTRA_CA_CERTS && !env.FLUJO_EXTRA_CA_CERTS) {
46
+ // Not an error — older Node simply lacks the flag and falls back to Node's bundled CAs.
47
+ // Only surface this (as info, not a warning) when no CA bundle is already configured,
48
+ // so it never looks alarming on the happy path.
49
+ console.log(
50
+ `[FLUJO] Node ${process.versions.node} has no --use-system-ca flag; using Node's bundled CAs. ` +
51
+ `If an MCP server uses a private/corporate CA, set FLUJO_EXTRA_CA_CERTS (or NODE_EXTRA_CA_CERTS) ` +
52
+ `to your CA file before starting FLUJO.`
53
+ );
54
+ }
55
+
56
+ // Convenience alias so users don't have to remember the exact Node env var name.
57
+ if (env.FLUJO_EXTRA_CA_CERTS && !env.NODE_EXTRA_CA_CERTS) {
58
+ env.NODE_EXTRA_CA_CERTS = env.FLUJO_EXTRA_CA_CERTS;
59
+ }
60
+
61
+ return env;
62
+ }
63
+
64
+ /** Spawn `next <passthroughArgs>` with the TLS-configured env and forward its exit. */
65
+ function launchNext(passthroughArgs) {
66
+ const env = buildLaunchEnv();
67
+
68
+ const tlsSummary = [
69
+ env.NODE_OPTIONS ? `NODE_OPTIONS="${env.NODE_OPTIONS}"` : null,
70
+ env.NODE_EXTRA_CA_CERTS ? `NODE_EXTRA_CA_CERTS="${env.NODE_EXTRA_CA_CERTS}"` : null,
71
+ ].filter(Boolean).join(', ');
72
+ console.log(`[FLUJO] Starting next ${passthroughArgs.join(' ')}${tlsSummary ? ` (${tlsSummary})` : ''}`);
73
+
74
+ // Resolve Next's own CLI from node_modules and run it with the current Node binary.
75
+ // Never rely on a `next` on PATH: npm injects node_modules/.bin into PATH for `npm run`
76
+ // scripts, but this launcher is also invoked directly (e.g. the Docker CMD), where that
77
+ // PATH entry is absent and `spawn('next')` fails with ENOENT. Resolving the JS entry and
78
+ // spawning `node <entry>` works identically on every platform and needs no shell.
79
+ let nextBin;
80
+ try {
81
+ nextBin = require.resolve('next/dist/bin/next');
82
+ } catch (error) {
83
+ console.error('[FLUJO] Could not locate the Next.js binary in node_modules. Run `npm install` first.', error);
84
+ process.exit(1);
85
+ }
86
+
87
+ const child = spawn(process.execPath, [nextBin, ...passthroughArgs], {
88
+ stdio: 'inherit',
89
+ env,
90
+ });
91
+
92
+ child.on('error', error => {
93
+ console.error('[FLUJO] Failed to launch next:', error);
94
+ process.exit(1);
95
+ });
96
+
97
+ child.on('exit', (code, signal) => {
98
+ if (signal) {
99
+ process.kill(process.pid, signal);
100
+ } else {
101
+ process.exit(code ?? 0);
102
+ }
103
+ });
104
+ }
105
+
106
+ // Only launch when run directly (`node scripts/launch-next.mjs start -p 4200`), not when
107
+ // imported for buildLaunchEnv (bin/flujo.mjs). Everything after the script name is the
108
+ // Next.js command, e.g. ["start", "-p", "4200"].
109
+ const isMain = import.meta.url === pathToFileURL(process.argv[1] ?? '').href;
110
+ if (isMain) {
111
+ launchNext(process.argv.slice(2));
112
+ }
@@ -1,2 +0,0 @@
1
- exports.id=1083,exports.ids=[1083],exports.modules={9718:(a,b,c)=>{"use strict";c.d(b,{Zg:()=>d.Z,Mj:()=>g});var d=c(60418),e=c(38301);let f=(0,c(19815).h)("utils/storage/frontend.ts");function g(a,b){f.verbose("useLocalStorage: Entering method");let[c,d]=(0,e.useState)(b),[g,h]=(0,e.useState)(!0),i=(0,e.useRef)(c);return[c,(0,e.useCallback)(async b=>{f.verbose("setValue: Entering method");try{let c=b instanceof Function?b(i.current):b;if(d(c),!(await fetch("/api/storage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:a,value:c})})).ok)throw Error("Failed to save value")}catch(b){f.warn(`Error setting storage key "${a}":`,b)}},[a]),g]}},11525:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},19815:(a,b,c)=>{"use strict";c.d(b,{h:()=>i});let d={LOG_LEVEL:3},e={VERBOSE:-1,DEBUG:0,INFO:1,WARN:2,ERROR:3},f="number"==typeof d.LOG_LEVEL?d.LOG_LEVEL:e.ERROR;function g(a,b=0){if(b>6)return String(a);if(!(a instanceof Error))return a;let c={name:a.name,message:a.message};for(let d of Object.getOwnPropertyNames(a)){if("name"===d||"message"===d)continue;let e=a[d];"function"!=typeof e&&("stack"===d?c.stack=e:"cause"===d?c.cause=g(e,b+1):"errors"===d&&Array.isArray(e)?c.errors=e.map(a=>g(a,b+1)):c[d]=e)}return c}function h(a,b,c,d,h){if(a>=("number"==typeof h?h:f)){if("function"==typeof d)try{d=d()}catch{d="[lazy log data threw]"}let f=new Date().toISOString(),h=`[${f}] [${b}]`,i=`${h} ${c}`;if(void 0!==d)if(d instanceof Error||"object"==typeof d)try{let a=d instanceof Error?g(d):d,b=JSON.stringify(a,(a,b)=>b instanceof Error?g(b):b,2);i+=`:
2
- ${b}`}catch(a){i+=": [Object cannot be stringified]"}else i+=`: ${d}`;switch(a){case e.VERBOSE:console.debug(`[VERBOSE] ${i}`);break;case e.DEBUG:console.debug(i);break;case e.INFO:console.info(i);break;case e.WARN:console.warn(i);break;case e.ERROR:console.error(i);break;default:console.log(i)}}}function i(a,b){let c,d=((c=a.replace(/^src\//,"")).startsWith("/")&&(c=c.substring(1)),c);return{verbose:(a,c)=>{h(e.VERBOSE,d,a,c,b)},debug:(a,c)=>{h(e.DEBUG,d,a,c,b)},info:(a,c)=>{h(e.INFO,d,a,c,b)},warn:(a,c)=>{h(e.WARN,d,a,c,b)},error:(a,c)=>{h(e.ERROR,d,a,c,b)}}}},24677:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},30301:(a,b,c)=>{Promise.resolve().then(c.bind(c,41306))},41306:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\frontend\\\\components\\\\AppWrapper.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx","default")},41917:(a,b,c)=>{Promise.resolve().then(c.bind(c,49428))},49428:(a,b,c)=>{"use strict";c.d(b,{default:()=>p});var d=c(21124),e=c(38301),f=c.n(e),g=c(13973);let h=(0,c(19815).h)("frontend/components/AppWrapper"),i=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/ThemeContext"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading theme..."})}),j=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/StorageContext"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading storage..."})}),k=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./Navigation"]},ssr:!1,loading:()=>(0,d.jsx)("div",{children:"Loading navigation..."})}),l=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./EncryptionAuthDialog"]},ssr:!1,loading:()=>null}),m=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ../contexts/TourContext"]},ssr:!1,loading:()=>null}),n=(0,g.default)(async()=>{},{loadableGenerated:{modules:["frontend\\components\\AppWrapper.tsx -> ./Tour/TourOverlay"]},ssr:!1,loading:()=>null});class o extends f().Component{constructor(a){super(a),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(a){h.error("AppWrapper error boundary caught an error:",a)}render(){return this.state.hasError?(0,d.jsxs)("div",{style:{padding:"20px",textAlign:"center"},children:[(0,d.jsx)("h2",{children:"Something went wrong loading the application."}),(0,d.jsx)("p",{children:"Please try refreshing the page."}),(0,d.jsx)("button",{onClick:()=>window.location.reload(),style:{padding:"8px 16px",background:"#3498DB",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",marginTop:"10px"},children:"Refresh"})]}):this.props.children}}function p({children:a}){return h.debug("Rendering AppWrapper"),(0,d.jsx)(o,{children:(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)("div",{children:"Loading application..."}),children:(0,d.jsx)(i,{children:(0,d.jsx)(j,{children:(0,d.jsxs)(m,{children:[(0,d.jsxs)(e.Suspense,{fallback:(0,d.jsx)("div",{children:"Loading navigation..."}),children:[(0,d.jsx)(k,{}),(0,d.jsx)(l,{})]}),(0,d.jsx)("main",{children:a}),(0,d.jsx)(n,{})]})})})})})}},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(75338),e=c(94294),f=c.n(e),g=c(81464),h=c.n(g);c(61135);var i=c(50846),j=c(41306);let k=(0,i.h)("app/layout"),l={title:"FLUJO",description:"A browser-based application for managing models, MCP servers, flows and chat interactions"};function m({children:a}){return k.debug("Rendering RootLayout"),(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased`,children:(0,d.jsx)(j.default,{children:a})})})}},60418:(a,b,c)=>{"use strict";c.d(b,{Z:()=>d});var d=function(a){return a.MODELS="models",a.FLOWS="flows",a.CHAT_HISTORY="history",a.THEME="theme",a.ENCRYPTION_KEY="encryption_key",a.MCP_SERVERS="mcp_servers",a.GLOBAL_ENV_VARS="global_env_vars",a.CURRENT_CONVERSATION_ID="current_conversation_id",a.SELECTED_FLOW_ID="selected_flow_id",a.LAST_PICKED_FLOW_ID="last_picked_flow_id",a.SPEECH_SETTINGS="speech_settings",a.SPOTLIGHT_SERVERS="spotlight_servers",a.PLANNED_EXECUTIONS="planned_executions",a.MCP_AUTO_INSTALL_SETTINGS="mcp_auto_install_settings",a.MCP_QUALITY_SETTINGS="mcp_quality_settings",a.RUN_RESOURCE_SETTINGS="run_resource_settings",a.KV_STORE_SETTINGS="kv_store_settings",a.PENDING_APPROVALS="pending_approvals",a.MCP_INTERNAL_OVERRIDES="mcp_internal_overrides",a.PACKAGE_INSTALLS="package_installs",a.EXPERIMENTAL_SETTINGS="experimental_settings",a.REGISTRY_ACCOUNT="registry_account",a.REGISTRY_SETTINGS="registry_settings",a}({})},61135:()=>{}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=1197,exports.ids=[1197],exports.modules={38296:(a,b,c)=>{c.d(b,{A:()=>C});var d=c(21124),e=c(38301),f=c(54573),g=c(81637),h=c(79515),i=c(68730),j=c(53773),k=c(82666),l=c(37674),m=c(67101),n=c(41893),o=c(95587),p=c(77028),q=c(44079),r=c(6537),s=c(19815),t=c(49938),u=c(47902),v=c(11480),w=c(93083),x=c(85557),y=c(91034),z=c(82571),A=c(92173);let B=(0,s.h)("frontend/components/mcp/MCPEnvManager/EnvEditor"),C=({serverName:a,initialEnv:b,onSave:c,onDelete:s,onServerRestart:C})=>{let{globalEnvVars:D}=(0,t.rX)(),[E,F]=(0,e.useState)([]),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!1),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(null);(0,e.useEffect)(()=>{B.debug(`Initializing environment variables for server: ${a}`,{variableCount:Object.keys(b).length}),F(Object.entries(b).map(([a,b])=>{let c="object"==typeof b&&null!==b&&"value"in b?b.value:b,d="object"==typeof b&&null!==b&&"metadata"in b?b.metadata:{isSecret:(0,z.xc)(a)},e=c.match(/\$\{global:([^}]+)\}/);if(e){let b=e[1];return{key:a,value:c,isSecret:d.isSecret,isBound:!0,boundTo:b}}let f="string"==typeof c&&(c.startsWith("encrypted:")||c.startsWith("encrypted_failed:"));return{key:a,value:f?A.gF:c,isSecret:d.isSecret,isEncrypted:f}}))},[b]);let O=async b=>{B.debug(`Removing environment variable at index: ${b}`);let c=E[b];if("Global"===a&&s&&c.key)try{await s(c.key),F(E.filter((a,c)=>c!==b))}catch(a){B.error(`Failed to delete environment variable: ${c.key}`,a)}else F(E.filter((a,c)=>c!==b)),H(!0)},P=(a,b,c)=>{let d=[...E];if("isSecret"===b){let b=d[a];b.isSecret&&!c?d[a]={...b,isSecret:c,value:"",isEncrypted:!1,showWarning:!0}:d[a]={...b,isSecret:c}}else{let e={...d[a],[b]:c,isSecret:"key"===b?(0,z.xc)(c):d[a].isSecret};"key"===b&&(e.isValidKey=""===c||/^[a-zA-Z0-9_]+$/.test(c)),"value"===b&&(d[a].isEncrypted&&(e.isEncrypted=!1),d[a].showWarning&&c&&(e.showWarning=!1)),d[a]=e}F(d),H(!0)},Q=async()=>{if(E.some(a=>""!==a.key&&!1===a.isValidKey))return void B.error("Cannot save: Some variable names contain invalid characters");B.debug(`Saving environment variables for server: ${a}`,{variableCount:E.length}),J(!0);try{let b=E.reduce((a,b)=>{let{key:c,value:d,isBound:e,boundTo:f,isSecret:g,isEncrypted:h}=b;return c&&(e&&f?a[c]={value:`$\{global:${f}}`,metadata:{isSecret:g}}:g&&d===A.gF||(a[c]={value:d,metadata:{isSecret:g}})),a},{});await c(b),H(!1),C&&"Global"!==a&&(B.debug(`Restarting server after env variable changes: ${a}`),await C(a))}catch(a){B.error("Failed to save environment variables:",a)}J(!1)};return(0,d.jsxs)(f.A,{sx:{p:3,borderRadius:2,border:1,borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb"},children:[(0,d.jsxs)(g.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[(0,d.jsxs)(h.default,{variant:"h6",sx:{fontWeight:"semibold"},children:["Environment Variables - ",a]}),(0,d.jsx)(i.A,{variant:"contained",color:"primary",size:"small",startIcon:(0,d.jsx)(u.A,{}),onClick:()=>{B.debug("Adding new environment variable"),F([...E,{key:"",value:"",isSecret:!1}]),H(!0)},children:"Add Variable"})]}),(0,d.jsx)(j.A,{spacing:3,children:E.map((a,b)=>(0,d.jsxs)(k.Ay,{container:!0,spacing:2,alignItems:"flex-start",children:[(0,d.jsx)(k.Ay,{item:!0,xs:12,sm:5,children:(0,d.jsx)(l.A,{fullWidth:!0,placeholder:"Variable name",value:a.key,onChange:a=>P(b,"key",a.target.value),error:!1===a.isValidKey,helperText:!1===a.isValidKey?"Only alphanumeric characters and underscores allowed":"",size:"small"})}),(0,d.jsx)(k.Ay,{item:!0,xs:12,sm:5,children:(0,d.jsx)(l.A,{fullWidth:!0,type:a.isSecret?"password":"text",placeholder:a.showWarning?"Re-enter value":"Value",value:a.value,onChange:a=>P(b,"value",a.target.value),InputProps:{readOnly:a.isBound,startAdornment:a.isEncrypted?(0,d.jsx)(m.A,{position:"start",children:(0,d.jsx)(v.A,{fontSize:"small",titleAccess:"This value is stored encrypted"})}):null,endAdornment:a.isBound?(0,d.jsx)(m.A,{position:"end",children:(0,d.jsx)(n.A,{size:"small",label:`Bound to global: ${a.boundTo}`,color:"primary",variant:"outlined",onDelete:()=>(a=>{B.debug(`Unbinding variable at index: ${a}`);let b=[...E];b[a]={...b[a],isBound:!1,boundTo:void 0},F(b),H(!0)})(b),deleteIcon:(0,d.jsx)(w.A,{fontSize:"small"})})}):null},error:a.showWarning,helperText:a.showWarning?"You must re-enter the value after switching from secret to normal mode":"",size:"small",sx:{bgcolor:b=>a.isBound?"dark"===b.palette.mode?"#1a1a1a":"#f9fafb":b.palette.background.paper}})}),(0,d.jsx)(k.Ay,{item:!0,xs:12,sm:2,children:(0,d.jsxs)(g.default,{sx:{display:"flex",alignItems:"center",mt:.5},children:[(0,d.jsx)(o.A,{control:(0,d.jsx)(p.A,{checked:a.isSecret,onChange:a=>P(b,"isSecret",a.target.checked),size:"small"}),label:"Secret",sx:{mr:1}}),!a.isBound&&(0,d.jsx)(q.A,{size:"small",color:"primary",onClick:()=>(a=>{B.debug(`Opening bind modal for variable at index: ${a}`),N(a),L(!0)})(b),title:"Bind to global variable",sx:{mr:1},children:(0,d.jsx)(x.A,{fontSize:"small"})}),(0,d.jsx)(q.A,{size:"small",color:"error",onClick:()=>O(b),title:"Remove variable",children:(0,d.jsx)(y.A,{fontSize:"small"})})]})})]},b))}),(0,d.jsx)(r.A,{open:K,onClose:()=>{L(!1),N(null)},children:(0,d.jsxs)(g.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,maxWidth:"90%",bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:2},children:[(0,d.jsx)(h.default,{variant:"h6",sx:{mb:2},children:"Bind to Global Variable"}),0===Object.keys(D).length?(0,d.jsx)(h.default,{color:"text.secondary",sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,d.jsx)(g.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.entries(D).map(([a,b])=>(0,d.jsxs)(i.A,{fullWidth:!0,variant:"text",onClick:()=>(a=>{if(null!==M){B.debug(`Binding variable at index ${M} to global variable: ${a}`);let b=[...E];b[M]={...b[M],isBound:!0,boundTo:a,value:`$\{global:${a}}`},F(b),L(!1),N(null),H(!0)}})(a),sx:{justifyContent:"space-between",textAlign:"left",mb:1,p:1,borderRadius:1},children:[(0,d.jsx)(h.default,{variant:"body2",children:a}),(0,d.jsx)(h.default,{variant:"caption",color:"text.secondary",children:b&&"object"==typeof b&&b.metadata&&b.metadata.isSecret?A.gF:b&&"object"==typeof b?b.value:b})]},a))}),(0,d.jsx)(g.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(i.A,{variant:"outlined",onClick:()=>{L(!1),N(null)},children:"Cancel"})})]})}),G&&(0,d.jsx)(g.default,{sx:{display:"flex",justifyContent:"flex-end",mt:3},children:(0,d.jsx)(i.A,{variant:"contained",color:"success",onClick:Q,disabled:I||E.some(a=>""!==a.key&&!1===a.isValidKey),children:I?"Saving...":"Save Changes"})})]})}},44774:(a,b,c)=>{c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>U,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>V});var d=c(91488);c(27806);let e={LOG_LEVEL:3},f={VERBOSE:-1,DEBUG:0,INFO:1,WARN:2,ERROR:3},g="number"==typeof e.LOG_LEVEL?e.LOG_LEVEL:f.ERROR;function h(a,b=0){if(b>6)return String(a);if(!(a instanceof Error))return a;let c={name:a.name,message:a.message};for(let d of Object.getOwnPropertyNames(a)){if("name"===d||"message"===d)continue;let e=a[d];"function"!=typeof e&&("stack"===d?c.stack=e:"cause"===d?c.cause=h(e,b+1):"errors"===d&&Array.isArray(e)?c.errors=e.map(a=>h(a,b+1)):c[d]=e)}return c}function i(a,b,c,d,e){if(a>=("number"==typeof e?e:g)){if("function"==typeof d)try{d=d()}catch{d="[lazy log data threw]"}let e=new Date().toISOString(),g=`[${e}] [${b}]`,i=`${g} ${c}`;if(void 0!==d)if(d instanceof Error||"object"==typeof d)try{let a=d instanceof Error?h(d):d,b=JSON.stringify(a,(a,b)=>b instanceof Error?h(b):b,2);i+=`:
2
- ${b}`}catch(a){i+=": [Object cannot be stringified]"}else i+=`: ${d}`;switch(a){case f.VERBOSE:console.debug(`[VERBOSE] ${i}`);break;case f.DEBUG:console.debug(i);break;case f.INFO:console.info(i);break;case f.WARN:console.warn(i);break;case f.ERROR:console.error(i);break;default:console.log(i)}}}function j(a,b){let c,d=((c=a.replace(/^src\//,"")).startsWith("/")&&(c=c.substring(1)),c);return{verbose:(a,c)=>{i(f.VERBOSE,d,a,c,b)},debug:(a,c)=>{i(f.DEBUG,d,a,c,b)},info:(a,c)=>{i(f.INFO,d,a,c,b)},warn:(a,c)=>{i(f.WARN,d,a,c,b)},error:(a,c)=>{i(f.ERROR,d,a,c,b)}}}var k=c(29021),l=c(33873),m=c.n(l),n=function(a){return a.MODELS="models",a.FLOWS="flows",a.CHAT_HISTORY="history",a.THEME="theme",a.ENCRYPTION_KEY="encryption_key",a.MCP_SERVERS="mcp_servers",a.GLOBAL_ENV_VARS="global_env_vars",a.CURRENT_CONVERSATION_ID="current_conversation_id",a.SELECTED_FLOW_ID="selected_flow_id",a.LAST_PICKED_FLOW_ID="last_picked_flow_id",a.SPEECH_SETTINGS="speech_settings",a.SPOTLIGHT_SERVERS="spotlight_servers",a.PLANNED_EXECUTIONS="planned_executions",a.MCP_AUTO_INSTALL_SETTINGS="mcp_auto_install_settings",a.MCP_QUALITY_SETTINGS="mcp_quality_settings",a.RUN_RESOURCE_SETTINGS="run_resource_settings",a.KV_STORE_SETTINGS="kv_store_settings",a.PENDING_APPROVALS="pending_approvals",a.MCP_INTERNAL_OVERRIDES="mcp_internal_overrides",a.PACKAGE_INSTALLS="package_installs",a.EXPERIMENTAL_SETTINGS="experimental_settings",a.REGISTRY_ACCOUNT="registry_account",a.REGISTRY_SETTINGS="registry_settings",a}({});function o(){let a=process.env.FLUJO_DATA_DIR;return a&&a.trim().length>0?m().resolve(a):process.cwd()}let p=j("utils/storage/backend"),q=m().join(o(),"db"),r=m().join(o(),".next","storage"),s=a=>m().join(q,`${a}.json`);async function t(){try{await k.promises.access(q),p.verbose(`Storage directory exists: ${q}`)}catch{p.debug(`Creating storage directory: ${q}`),await k.promises.mkdir(q,{recursive:!0})}try{await k.promises.access(r),p.warn(`Old storage directory found: ${r}. This may cause data inconsistency issues.`)}catch{}}let u=new Map,v=0;async function w(a,b){let c=m().dirname(a);await k.promises.mkdir(c,{recursive:!0});let d=`${a}.tmp.${process.pid}.${++v}`;try{await k.promises.writeFile(d,b),await k.promises.rename(d,a)}catch(a){try{await k.promises.unlink(d)}catch{}throw a}}async function x(a,b){let c=s(a),d=(u.get(a)??Promise.resolve()).catch(()=>{}).then(()=>w(c,JSON.stringify(b,null,2)));u.set(a,d);try{await d,p.verbose(`Successfully saved item to: ${c}`)}catch(b){throw p.error(`Error saving item with key "${a}" to ${c}:`,b),b}finally{u.get(a)===d&&u.delete(a)}}async function y(a,b){try{await t();let c=s(a),d=await k.promises.readFile(c,"utf-8");if(0===d.trim().length)return p.warn(`Item with key "${a}" at ${c} is empty; treating as missing and returning default.`),b;try{let a=JSON.parse(d);return p.verbose(`Successfully loaded item from: ${c}`),a}catch(b){p.error(`CRITICAL: Failed to parse JSON from ${c}:`,b);let a=`${c}.corrupted.${Date.now()}.bak`;try{await k.promises.writeFile(a,d),p.info(`Created backup of corrupted file at: ${a}`)}catch(a){p.error("Failed to create backup of corrupted file:",a)}throw Error(`Failed to parse JSON from ${c}. A backup has been created at ${a}. Original error: ${b.message}`)}}catch(c){if("ENOENT"===c.code)return p.verbose(`Item with key "${a}" not found at ${s(a)}, returning default.`),b;throw p.error(`CRITICAL: Error loading item with key "${a}" from ${s(a)}:`,c),c}}var z=c(92347),A=c.n(z);let B=j("utils/encryption/session"),C=global.__flujo_encryption_sessions??(global.__flujo_encryption_sessions=new Map),D=j("utils/encryption/secure");class E extends Error{constructor(a="Encryption is locked: user password required to access secrets"){super(a),this.name="EncryptionLockedError",Object.setPrototypeOf(this,E.prototype)}}let F="data_encryption_key",G="data_encryption_iv",H="data_encryption_salt",I="encryption_type";var J=function(a){return a.DEFAULT="default",a.USER="user",a}(J||{});function K(){let a=A().enc.Utf8.parse("flujo_fixed_salt_v1");return A().PBKDF2("FLUJO~",a,{keySize:8,iterations:1e5})}function L(a){let b;try{b=a.toString(A().enc.Utf8)}catch{return null}return RegExp("^[0-9a-f]{16}$").test(b)?b:null}async function M(){D.debug("initializeDefaultEncryption: Entering method");try{if(await R())return!0;let a=K(),b=A().lib.WordArray.random(8),c=A().lib.WordArray.random(16),d=A().AES.encrypt(b.toString(),a,{iv:c,mode:A().mode.CBC,padding:A().pad.Pkcs7}),e=A().enc.Utf8.parse("flujo_fixed_salt_v1"),f={[F]:d.toString(),[G]:c.toString(),[H]:e.toString(),encryption_version:1,[I]:"default"};return await x(n.ENCRYPTION_KEY,f),!0}catch(a){return D.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function N(){D.debug("getDefaultDEK: Entering method");try{let a=await y(n.ENCRYPTION_KEY,null);if(!a){if(!await M())return D.error("getDefaultDEK: Failed to initialize default encryption"),null;return await N()}if("default"!==a[I])return D.error("getDefaultDEK: Not using default encryption"),null;let b=a[F],c=A().enc.Hex.parse(a[G]),d=K(),e=A().AES.decrypt(b,d,{iv:c,mode:A().mode.CBC,padding:A().pad.Pkcs7});if(!L(e))return D.error("getDefaultDEK: Failed to decrypt DEK with default key"),null;return A().enc.Hex.parse(e.toString())}catch(a){return D.error("getDefaultDEK: Failed to get default DEK:",a),null}}async function O(a){D.debug("getUserDEK: Entering method");try{let b=await y(n.ENCRYPTION_KEY,null);if(!b)return D.error("getUserDEK: No encryption metadata found"),null;if("user"!==b[I])return D.error("getUserDEK: Not using user encryption"),null;let c=b[F],d=A().enc.Hex.parse(b[G]),e=A().enc.Hex.parse(b[H]),f=A().PBKDF2(a,e,{keySize:8,iterations:1e5}),g=A().AES.decrypt(c,f,{iv:d,mode:A().mode.CBC,padding:A().pad.Pkcs7});if(!L(g))return D.error("getUserDEK: Failed to decrypt DEK with provided password"),null;return A().enc.Hex.parse(g.toString())}catch(a){return D.error("getUserDEK: Failed to get user DEK:",a),null}}async function P(a,b=!1){D.debug("getDEK: Entering method");try{if(b&&a){D.debug("getDEK: Using session token");let b=function(a){let b=C.get(a);if(!b)return B.warn(`Session not found: ${a}`),null;let c=Date.now();return c-b.createdAt>72e5?(B.warn(`Session expired: ${a}`),C.delete(a),null):(b.lastUsed=c,b.dek)}(a);if(b)return A().enc.Hex.parse(b);D.warn("getDEK: Invalid or expired session token, falling back to default encryption")}let c=await y(n.ENCRYPTION_KEY,null);if(!c){if(D.info("getDEK: No encryption metadata found, initializing default encryption"),!await M())return D.error("getDEK: Failed to initialize default encryption"),null;return await P(a,b)}if("user"!==c[I])return await N();{let c=global.__flujo_server_dek??null;if(c)return D.debug("getDEK: Using server unlock state for user encryption"),A().enc.Hex.parse(c);if(a&&!b){let b=await O(a);if(b)return b;D.warn("getDEK: Provided password did not yield a valid user DEK")}throw D.warn("getDEK: User encryption is locked (no unlock state or valid credential)"),new E}}catch(a){if(a instanceof E)throw a;D.error("getDEK: Failed to get DEK:",a);try{if(D.warn("getDEK: Attempting to initialize default encryption as error recovery"),await M())return await N()}catch(a){D.error("getDEK: Failed to initialize default encryption as error recovery:",a)}return null}}async function Q(a,b,c=!1){D.debug("decryptWithPassword: Entering method");try{let d=await P(b,c);if(!d)return null;let e=a.split(":");if(2!==e.length)return D.error("decryptWithPassword: Invalid ciphertext format"),null;let f=A().enc.Hex.parse(e[0]),g=e[1];return A().AES.decrypt(g,d,{iv:f,mode:A().mode.CBC,padding:A().pad.Pkcs7}).toString(A().enc.Utf8)}catch(a){if(a instanceof E)throw a;return D.error("decryptWithPassword: Failed to decrypt data:",a),null}}async function R(){return D.debug("isEncryptionInitialized: Entering method"),null!==await y(n.ENCRYPTION_KEY,null)}var S=c(40410);let T=j("backend/utils/resolveGlobalVars");async function U(a){T.debug("Entering resolveGlobalVars method");let b=await y(n.GLOBAL_ENV_VARS,{}),c=function(a){if(!a||"object"!=typeof a)return!1;let b=Object.keys(a);if(0===b.length)return!0;let c=a[b[0]];return c&&"object"==typeof c&&"value"in c&&"metadata"in c&&"object"==typeof c.metadata&&"isSecret"in c.metadata}(b);T.debug(`Loaded ${Object.keys(b).length} global environment variables (${c?"new":"old"} format)`);let d={};if(c)for(let[a,c]of Object.entries(b))d[a]=c.value;else d={...b};let e=async a=>{let b=a.match(/\$\{global:([^}]+)\}/g);if(!b)return a;let c=a;for(let a of b){let b=a.substring(9,a.length-1);if(void 0!==d[b]){let e=d[b];if(e.startsWith("encrypted:")){T.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await Q(a);if(c)e=c,T.debug(`Successfully decrypted global variable: ${b}`);else{T.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){T.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){T.warn(`Skipping failed encrypted global variable: ${b}`);continue}T.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else T.warn(`Global variable not found: ${b}`)}return c},f=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>f(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await f(d);return b}return a},g=await f(a);return"object"==typeof a&&null!==a&&T.debug("Resolved global variables result:",JSON.stringify(g,null,2)),T.debug("Completed global variable resolution"),g}async function V(a,b=0){if(T.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return T.warn("Empty value provided"),null;if(b>=10)return T.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){T.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await Q(a);if(!d)return T.warn(`Failed to decrypt value at depth ${b}`),null;T.debug(`Successfully decrypted value at depth ${b}`),T.verbose(d),c=d}catch(a){return T.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(T.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){T.debug(`Resolving global variables at depth ${b}`);try{let a=await U(c);if(T.verbose(a),a!==c)return T.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),V(a,b+1);c=a}catch(a){return T.error(`Error resolving global variables at depth ${b}:`,a),null}}return T.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,S.D)([U,V]),(0,d.A)(U,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(V,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},92173:(a,b,c)=>{c.d(b,{RJ:()=>e,gF:()=>d});let d="masked:********",e="********"}};
@@ -1 +0,0 @@
1
- exports.id=1373,exports.ids=[1373],exports.modules={1858:a=>{a.exports=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d}},1885:(a,b,c)=>{var d=c(58807);a.exports=function(a){return d(this.__data__,a)>-1}},2428:(a,b,c)=>{var d=c(52685);a.exports=function(a){var b=d(this,a).delete(a);return this.size-=!!b,b}},3821:(a,b,c)=>{a.exports=c(25501)(Object.getPrototypeOf,Object)},4133:(a,b,c)=>{var d=c(38819),e=c(94203),f=c(54187),g=c(54958),h=c(27299);a.exports=function(a,b,c){var i=a.constructor;switch(b){case"[object ArrayBuffer]":return d(a);case"[object Boolean]":case"[object Date]":return new i(+a);case"[object DataView]":return e(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return h(a,c);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(a);case"[object RegExp]":return f(a);case"[object Symbol]":return g(a)}}},4229:(a,b,c)=>{var d=c(87978),e=c(3821),f=c(24214),g=c(43431);a.exports=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)d(b,f(a)),a=e(a);return b}:g},4643:(a,b,c)=>{var d=c(41760);a.exports=function(a,b){var c=this.__data__;return this.size+=+!this.has(a),c[a]=d&&void 0===b?"__lodash_hash_undefined__":b,this}},5105:(a,b,c)=>{var d=c(87978),e=c(46923);a.exports=function(a,b,c){var f=b(a);return e(a)?f:d(f,c(a))}},5985:(a,b,c)=>{var d=c(20251),e=c(17931),f=c(69107),g=f&&f.isTypedArray;a.exports=g?e(g):d},6559:(a,b,c)=>{var d=c(52685);a.exports=function(a,b){var c=d(this,a),e=c.size;return c.set(a,b),this.size+=+(c.size!=e),this}},7663:a=>{a.exports=function(a){return this.__data__.get(a)}},9571:a=>{a.exports=function(a){return this.__data__.has(a)}},10032:a=>{a.exports=function(){this.__data__=[],this.size=0}},10580:(a,b,c)=>{var d=c(5105),e=c(24214),f=c(71540);a.exports=function(a){return d(a,f,e)}},10919:(a,b,c)=>{a.exports=c(34555)["__core-js_shared__"]},12041:(a,b,c)=>{var d=c(58807);a.exports=function(a){var b=this.__data__,c=d(b,a);return c<0?void 0:b[c][1]}},12253:(a,b,c)=>{var d=c(98880),e=c(56046),f=c(89387),g=c(87863),h=/^\[object .+?Constructor\]$/,i=Object.prototype,j=Function.prototype.toString,k=i.hasOwnProperty,l=RegExp("^"+j.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");a.exports=function(a){return!(!f(a)||e(a))&&(d(a)?l:h).test(g(a))}},12384:(a,b,c)=>{var d=c(27975),e=c(35264);a.exports=function(a){return e(a)&&"[object Set]"==d(a)}},14082:(a,b,c)=>{var d=c(78023),e=c(14317),f=c(16920),g=d?d.toStringTag:void 0;a.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":g&&g in Object(a)?e(a):f(a)}},14303:a=>{var b=/^(?:0|[1-9]\d*)$/;a.exports=function(a,c){var d=typeof a;return!!(c=null==c?0x1fffffffffffff:c)&&("number"==d||"symbol"!=d&&b.test(a))&&a>-1&&a%1==0&&a<c}},14317:(a,b,c)=>{var d=c(78023),e=Object.prototype,f=e.hasOwnProperty,g=e.toString,h=d?d.toStringTag:void 0;a.exports=function(a){var b=f.call(a,h),c=a[h];try{a[h]=void 0;var d=!0}catch(a){}var e=g.call(a);return d&&(b?a[h]=c:delete a[h]),e}},15623:(a,b,c)=>{var d=c(41760),e=Object.prototype.hasOwnProperty;a.exports=function(a){var b=this.__data__;if(d){var c=b[a];return"__lodash_hash_undefined__"===c?void 0:c}return e.call(b,a)?b[a]:void 0}},15974:(a,b,c)=>{var d=c(53373),e=c(4229);a.exports=function(a,b){return d(a,e(a),b)}},16920:a=>{var b=Object.prototype.toString;a.exports=function(a){return b.call(a)}},17931:a=>{a.exports=function(a){return function(b){return a(b)}}},19520:(a,b,c)=>{var d=c(53373),e=c(26111);a.exports=function(a,b){return a&&d(b,e(b),a)}},20251:(a,b,c)=>{var d=c(14082),e=c(50112),f=c(35264),g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g["[object Arguments]"]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g["[object Function]"]=g["[object Map]"]=g["[object Number]"]=g["[object Object]"]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1,a.exports=function(a){return f(a)&&e(a.length)&&!!g[d(a)]}},24106:(a,b,c)=>{var d=c(70282);a.exports=function(a,b,c){"__proto__"==b&&d?d(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c}},24214:(a,b,c)=>{var d=c(67524),e=c(43431),f=Object.prototype.propertyIsEnumerable,g=Object.getOwnPropertySymbols;a.exports=g?function(a){return null==a?[]:d(g(a=Object(a)),function(b){return f.call(a,b)})}:e},25295:(a,b,c)=>{var d=c(88418),e=c(3821),f=c(84329);a.exports=function(a){return"function"!=typeof a.constructor||f(a)?{}:d(e(a))}},25501:a=>{a.exports=function(a,b){return function(c){return a(b(c))}}},26111:(a,b,c)=>{var d=c(93181),e=c(92761),f=c(85312);a.exports=function(a){return f(a)?d(a,!0):e(a)}},27194:a=>{a.exports=function(a,b){return a===b||a!=a&&b!=b}},27299:(a,b,c)=>{var d=c(38819);a.exports=function(a,b){var c=b?d(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}},27975:(a,b,c)=>{var d=c(67366),e=c(35073),f=c(32078),g=c(92451),h=c(47817),i=c(14082),j=c(87863),k="[object Map]",l="[object Promise]",m="[object Set]",n="[object WeakMap]",o="[object DataView]",p=j(d),q=j(e),r=j(f),s=j(g),t=j(h),u=i;(d&&u(new d(new ArrayBuffer(1)))!=o||e&&u(new e)!=k||f&&u(f.resolve())!=l||g&&u(new g)!=m||h&&u(new h)!=n)&&(u=function(a){var b=i(a),c="[object Object]"==b?a.constructor:void 0,d=c?j(c):"";if(d)switch(d){case p:return o;case q:return k;case r:return l;case s:return m;case t:return n}return b}),a.exports=u},30343:(a,b,c)=>{var d=c(52685);a.exports=function(a){return d(this,a).has(a)}},30979:(a,b,c)=>{var d=c(51805),e=c(42306),f=c(80672),g=c(7663),h=c(9571),i=c(65291);function j(a){var b=this.__data__=new d(a);this.size=b.size}j.prototype.clear=e,j.prototype.delete=f,j.prototype.get=g,j.prototype.has=h,j.prototype.set=i,a.exports=j},31105:(a,b,c)=>{var d=c(53373),e=c(24214);a.exports=function(a,b){return d(a,e(a),b)}},32078:(a,b,c)=>{a.exports=c(65044)(c(34555),"Promise")},34335:(a,b,c)=>{var d=c(47238),e=c(2428),f=c(35611),g=c(30343),h=c(6559);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},34555:(a,b,c)=>{var d=c(86038),e="object"==typeof self&&self&&self.Object===Object&&self;a.exports=d||e||Function("return this")()},35073:(a,b,c)=>{a.exports=c(65044)(c(34555),"Map")},35264:a=>{a.exports=function(a){return null!=a&&"object"==typeof a}},35611:(a,b,c)=>{var d=c(52685);a.exports=function(a){return d(this,a).get(a)}},38819:(a,b,c)=>{var d=c(74258);a.exports=function(a){var b=new a.constructor(a.byteLength);return new d(b).set(new d(a)),b}},39473:a=>{a.exports=function(){return!1}},40056:(a,b,c)=>{a=c.nmd(a);var d=c(34555),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e?d.Buffer:void 0,h=g?g.allocUnsafe:void 0;a.exports=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},41760:(a,b,c)=>{a.exports=c(65044)(Object,"create")},42306:(a,b,c)=>{var d=c(51805);a.exports=function(){this.__data__=new d,this.size=0}},42818:(a,b,c)=>{var d=c(58807),e=Array.prototype.splice;a.exports=function(a){var b=this.__data__,c=d(b,a);return!(c<0)&&(c==b.length-1?b.pop():e.call(b,c,1),--this.size,!0)}},43431:a=>{a.exports=function(){return[]}},45131:(a,b,c)=>{var d=c(60170),e=c(56312),f=c(15623),g=c(52555),h=c(4643);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},46923:a=>{a.exports=Array.isArray},47238:(a,b,c)=>{var d=c(45131),e=c(51805),f=c(35073);a.exports=function(){this.size=0,this.__data__={hash:new d,map:new(f||e),string:new d}}},47817:(a,b,c)=>{a.exports=c(65044)(c(34555),"WeakMap")},48704:a=>{a.exports=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a}},50112:a=>{a.exports=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=0x1fffffffffffff}},50942:(a,b,c)=>{var d=c(27975),e=c(35264);a.exports=function(a){return e(a)&&"[object Map]"==d(a)}},51805:(a,b,c)=>{var d=c(10032),e=c(42818),f=c(12041),g=c(1885),h=c(76773);function i(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}i.prototype.clear=d,i.prototype.delete=e,i.prototype.get=f,i.prototype.has=g,i.prototype.set=h,a.exports=i},52555:(a,b,c)=>{var d=c(41760),e=Object.prototype.hasOwnProperty;a.exports=function(a){var b=this.__data__;return d?void 0!==b[a]:e.call(b,a)}},52685:(a,b,c)=>{var d=c(48704);a.exports=function(a,b){var c=a.__data__;return d(b)?c["string"==typeof b?"string":"hash"]:c.map}},52786:a=>{a.exports=function(a,b){return null==a?void 0:a[b]}},53373:(a,b,c)=>{var d=c(59265),e=c(24106);a.exports=function(a,b,c,f){var g=!c;c||(c={});for(var h=-1,i=b.length;++h<i;){var j=b[h],k=f?f(c[j],a[j],j,c,a):void 0;void 0===k&&(k=a[j]),g?e(c,j,k):d(c,j,k)}return c}},54187:a=>{var b=/\w*$/;a.exports=function(a){var c=new a.constructor(a.source,b.exec(a));return c.lastIndex=a.lastIndex,c}},54958:(a,b,c)=>{var d=c(78023),e=d?d.prototype:void 0,f=e?e.valueOf:void 0;a.exports=function(a){return f?Object(f.call(a)):{}}},56046:(a,b,c)=>{var d=c(10919),e=function(){var a=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();a.exports=function(a){return!!e&&e in a}},56312:a=>{a.exports=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b}},58461:(a,b,c)=>{var d=c(30979),e=c(68331),f=c(59265),g=c(63647),h=c(19520),i=c(40056),j=c(95129),k=c(31105),l=c(15974),m=c(10580),n=c(87903),o=c(27975),p=c(75023),q=c(4133),r=c(25295),s=c(46923),t=c(79038),u=c(75392),v=c(89387),w=c(70878),x=c(71540),y=c(26111),z="[object Arguments]",A="[object Function]",B="[object Object]",C={};C[z]=C["[object Array]"]=C["[object ArrayBuffer]"]=C["[object DataView]"]=C["[object Boolean]"]=C["[object Date]"]=C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Map]"]=C["[object Number]"]=C[B]=C["[object RegExp]"]=C["[object Set]"]=C["[object String]"]=C["[object Symbol]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C["[object Error]"]=C[A]=C["[object WeakMap]"]=!1,a.exports=function a(b,c,D,E,F,G){var H,I=1&c,J=2&c,K=4&c;if(D&&(H=F?D(b,E,F,G):D(b)),void 0!==H)return H;if(!v(b))return b;var L=s(b);if(L){if(H=p(b),!I)return j(b,H)}else{var M=o(b),N=M==A||"[object GeneratorFunction]"==M;if(t(b))return i(b,I);if(M==B||M==z||N&&!F){if(H=J||N?{}:r(b),!I)return J?l(b,h(H,b)):k(b,g(H,b))}else{if(!C[M])return F?b:{};H=q(b,M,I)}}G||(G=new d);var O=G.get(b);if(O)return O;G.set(b,H),w(b)?b.forEach(function(d){H.add(a(d,c,D,d,b,G))}):u(b)&&b.forEach(function(d,e){H.set(e,a(d,c,D,e,b,G))});var P=K?J?n:m:J?y:x,Q=L?void 0:P(b);return e(Q||b,function(d,e){Q&&(d=b[e=d]),f(H,e,a(d,c,D,e,b,G))}),H}},58807:(a,b,c)=>{var d=c(27194);a.exports=function(a,b){for(var c=a.length;c--;)if(d(a[c][0],b))return c;return -1}},59265:(a,b,c)=>{var d=c(24106),e=c(27194),f=Object.prototype.hasOwnProperty;a.exports=function(a,b,c){var g=a[b];f.call(a,b)&&e(g,c)&&(void 0!==c||b in a)||d(a,b,c)}},60170:(a,b,c)=>{var d=c(41760);a.exports=function(){this.__data__=d?d(null):{},this.size=0}},63647:(a,b,c)=>{var d=c(53373),e=c(71540);a.exports=function(a,b){return a&&d(b,e(b),a)}},65044:(a,b,c)=>{var d=c(12253),e=c(52786);a.exports=function(a,b){var c=e(a,b);return d(c)?c:void 0}},65291:(a,b,c)=>{var d=c(51805),e=c(35073),f=c(34335);a.exports=function(a,b){var c=this.__data__;if(c instanceof d){var g=c.__data__;if(!e||g.length<199)return g.push([a,b]),this.size=++c.size,this;c=this.__data__=new f(g)}return c.set(a,b),this.size=c.size,this}},67366:(a,b,c)=>{a.exports=c(65044)(c(34555),"DataView")},67524:a=>{a.exports=function(a,b){for(var c=-1,d=null==a?0:a.length,e=0,f=[];++c<d;){var g=a[c];b(g,c,a)&&(f[e++]=g)}return f}},68331:a=>{a.exports=function(a,b){for(var c=-1,d=null==a?0:a.length;++c<d&&!1!==b(a[c],c,a););return a}},69107:(a,b,c)=>{a=c.nmd(a);var d=c(86038),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e&&d.process,h=function(){try{var a=f&&f.require&&f.require("util").types;if(a)return a;return g&&g.binding&&g.binding("util")}catch(a){}}();a.exports=h},70282:(a,b,c)=>{var d=c(65044);a.exports=function(){try{var a=d(Object,"defineProperty");return a({},"",{}),a}catch(a){}}()},70386:(a,b,c)=>{var d=c(84329),e=c(82584),f=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return e(a);var b=[];for(var c in Object(a))f.call(a,c)&&"constructor"!=c&&b.push(c);return b}},70878:(a,b,c)=>{var d=c(12384),e=c(17931),f=c(69107),g=f&&f.isSet;a.exports=g?e(g):d},71540:(a,b,c)=>{var d=c(93181),e=c(70386),f=c(85312);a.exports=function(a){return f(a)?d(a):e(a)}},71932:(a,b,c)=>{var d=c(14082),e=c(35264);a.exports=function(a){return e(a)&&"[object Arguments]"==d(a)}},74258:(a,b,c)=>{a.exports=c(34555).Uint8Array},75023:a=>{var b=Object.prototype.hasOwnProperty;a.exports=function(a){var c=a.length,d=new a.constructor(c);return c&&"string"==typeof a[0]&&b.call(a,"index")&&(d.index=a.index,d.input=a.input),d}},75392:(a,b,c)=>{var d=c(50942),e=c(17931),f=c(69107),g=f&&f.isMap;a.exports=g?e(g):d},76166:(a,b,c)=>{var d=c(71932),e=c(35264),f=Object.prototype,g=f.hasOwnProperty,h=f.propertyIsEnumerable;a.exports=d(function(){return arguments}())?d:function(a){return e(a)&&g.call(a,"callee")&&!h.call(a,"callee")}},76773:(a,b,c)=>{var d=c(58807);a.exports=function(a,b){var c=this.__data__,e=d(c,a);return e<0?(++this.size,c.push([a,b])):c[e][1]=b,this}},78023:(a,b,c)=>{a.exports=c(34555).Symbol},79038:(a,b,c)=>{a=c.nmd(a);var d=c(34555),e=c(39473),f=b&&!b.nodeType&&b,g=f&&a&&!a.nodeType&&a,h=g&&g.exports===f?d.Buffer:void 0,i=h?h.isBuffer:void 0;a.exports=i||e},80672:a=>{a.exports=function(a){var b=this.__data__,c=b.delete(a);return this.size=b.size,c}},82584:(a,b,c)=>{a.exports=c(25501)(Object.keys,Object)},84329:a=>{var b=Object.prototype;a.exports=function(a){var c=a&&a.constructor;return a===("function"==typeof c&&c.prototype||b)}},85312:(a,b,c)=>{var d=c(98880),e=c(50112);a.exports=function(a){return null!=a&&e(a.length)&&!d(a)}},86038:a=>{a.exports="object"==typeof global&&global&&global.Object===Object&&global},87863:a=>{var b=Function.prototype.toString;a.exports=function(a){if(null!=a){try{return b.call(a)}catch(a){}try{return a+""}catch(a){}}return""}},87903:(a,b,c)=>{var d=c(5105),e=c(4229),f=c(26111);a.exports=function(a){return d(a,f,e)}},87963:a=>{a.exports=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b}},87978:a=>{a.exports=function(a,b){for(var c=-1,d=b.length,e=a.length;++c<d;)a[e+c]=b[c];return a}},88418:(a,b,c)=>{var d=c(89387),e=Object.create;a.exports=function(){function a(){}return function(b){if(!d(b))return{};if(e)return e(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}()},89387:a=>{a.exports=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)}},91373:(a,b,c)=>{var d=c(58461);a.exports=function(a){return d(a,5)}},92451:(a,b,c)=>{a.exports=c(65044)(c(34555),"Set")},92761:(a,b,c)=>{var d=c(89387),e=c(84329),f=c(87963),g=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return f(a);var b=e(a),c=[];for(var h in a)"constructor"==h&&(b||!g.call(a,h))||c.push(h);return c}},93181:(a,b,c)=>{var d=c(1858),e=c(76166),f=c(46923),g=c(79038),h=c(14303),i=c(5985),j=Object.prototype.hasOwnProperty;a.exports=function(a,b){var c=f(a),k=!c&&e(a),l=!c&&!k&&g(a),m=!c&&!k&&!l&&i(a),n=c||k||l||m,o=n?d(a.length,String):[],p=o.length;for(var q in a)(b||j.call(a,q))&&!(n&&("length"==q||l&&("offset"==q||"parent"==q)||m&&("buffer"==q||"byteLength"==q||"byteOffset"==q)||h(q,p)))&&o.push(q);return o}},94203:(a,b,c)=>{var d=c(38819);a.exports=function(a,b){var c=b?d(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)}},95129:a=>{a.exports=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},98880:(a,b,c)=>{var d=c(14082),e=c(89387);a.exports=function(a){if(!e(a))return!1;var b=d(a);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b}}};