flujo-ai 3.29.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 (741) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +457 -450
  3. package/.next/app-path-routes-manifest.json +30 -29
  4. package/.next/build-manifest.json +6 -6
  5. package/.next/prerender-manifest.json +30 -30
  6. package/.next/react-loadable-manifest.json +2 -2
  7. package/.next/required-server-files.json +4 -4
  8. package/.next/server/app/_not-found/page.js +4 -4
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  14. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  15. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/approvals/route.js +2 -2
  17. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  18. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/backup/route.js +1 -1
  20. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  21. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/browse/route.js +1 -1
  23. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  24. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/bugs/enhance/route.js +3 -3
  26. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/cwd/route.js +1 -1
  29. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  30. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js +1 -1
  32. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  33. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/env/route.js +2 -2
  35. package/.next/server/app/api/env/route.js.nft.json +1 -1
  36. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/flow/[id]/route.js +1 -1
  38. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  41. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  44. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  45. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/flow/compile/route.js +1 -1
  47. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/flow/generate/route.js +1 -1
  50. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  51. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/flow/improve/route.js +1 -1
  53. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  56. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  57. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  59. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  60. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/flow/repair/route.js +1 -1
  62. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  63. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/flow/route.js +1 -1
  65. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  66. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/git/route.js +2 -2
  68. package/.next/server/app/api/git/route.js.nft.json +1 -1
  69. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/init/route.js +1 -1
  71. package/.next/server/app/api/init/route.js.nft.json +1 -1
  72. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/local-models/capability/route.js +2 -2
  74. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/local-models/pull/route.js +2 -2
  76. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/local-models/suggest/route.js +2 -2
  78. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  80. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  83. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  84. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  86. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  107. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  108. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  110. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  111. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/mcp/servers/route.js +1 -1
  113. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  114. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  116. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  117. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  119. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  120. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/mcp-registry/route.js +2 -2
  122. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  123. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  125. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  126. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/model/[id]/route.js +1 -1
  128. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  129. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/model/provider/route.js +2 -2
  131. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  132. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/model/route.js +1 -1
  134. package/.next/server/app/api/model/route.js.nft.json +1 -1
  135. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/model/test/route.js +2 -2
  137. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  138. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/oauth/callback/route.js +2 -2
  140. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  141. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  143. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  144. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/oauth/reset/route.js +2 -2
  146. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  147. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/packages/build/route.js +1 -1
  149. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  150. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  152. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  153. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/packages/install/route.js +1 -1
  155. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  156. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/packages/install/status/route.js +1 -1
  158. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  159. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/packages/installed/route.js +1 -1
  161. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  162. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/packages/resolve/route.js +1 -1
  164. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  165. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/packages/scan-targets/route.js +1 -1
  167. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  168. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/packages/search/route.js +1 -0
  170. package/.next/server/app/api/packages/search/route.js.nft.json +1 -0
  171. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  173. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  174. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  176. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  177. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  179. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  180. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  182. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  183. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  185. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  186. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  188. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  189. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/planned-executions/route.js +1 -1
  191. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  192. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  194. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  195. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  197. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  198. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/registry/auth/route.js +1 -1
  200. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  201. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  203. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  204. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  206. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  207. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/registry/publish/route.js +1 -1
  209. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  210. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/registry/settings/route.js +1 -1
  212. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  213. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/restore/route.js +1 -1
  215. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  216. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/runs/active/route.js +2 -2
  218. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  219. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/storage/route.js +1 -1
  221. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  222. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/api/update/route.js +1 -1
  224. package/.next/server/app/api/update/route.js.nft.json +1 -1
  225. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/api/waves/route.js +1 -1
  227. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  228. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  230. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  231. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/chat/page.js +8 -8
  233. package/.next/server/app/chat/page.js.nft.json +1 -1
  234. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  235. package/.next/server/app/chat.html +1 -1
  236. package/.next/server/app/chat.rsc +3 -3
  237. package/.next/server/app/docs/page.js +5 -5
  238. package/.next/server/app/docs/page.js.nft.json +1 -1
  239. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  240. package/.next/server/app/docs.html +1 -1
  241. package/.next/server/app/docs.rsc +3 -3
  242. package/.next/server/app/executions/page.js +2 -2
  243. package/.next/server/app/executions/page.js.nft.json +1 -1
  244. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  245. package/.next/server/app/executions.html +1 -1
  246. package/.next/server/app/executions.rsc +3 -3
  247. package/.next/server/app/flows/page.js +2 -2
  248. package/.next/server/app/flows/page.js.nft.json +1 -1
  249. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/flows.html +1 -1
  251. package/.next/server/app/flows.rsc +3 -3
  252. package/.next/server/app/index.html +1 -1
  253. package/.next/server/app/index.rsc +3 -3
  254. package/.next/server/app/mcp/page.js +4 -4
  255. package/.next/server/app/mcp/page.js.nft.json +1 -1
  256. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  257. package/.next/server/app/mcp-flows/route.js +1 -1
  258. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  259. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  261. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  262. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/mcp.html +1 -1
  264. package/.next/server/app/mcp.rsc +3 -3
  265. package/.next/server/app/models/page.js +2 -2
  266. package/.next/server/app/models/page.js.nft.json +1 -1
  267. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  268. package/.next/server/app/packages/page.js +2 -2
  269. package/.next/server/app/packages/page.js.nft.json +1 -1
  270. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  271. package/.next/server/app/packages.html +1 -1
  272. package/.next/server/app/packages.rsc +3 -3
  273. package/.next/server/app/page.js +3 -3
  274. package/.next/server/app/page.js.nft.json +1 -1
  275. package/.next/server/app/page_client-reference-manifest.js +1 -1
  276. package/.next/server/app/settings/page.js +2 -2
  277. package/.next/server/app/settings/page.js.nft.json +1 -1
  278. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  279. package/.next/server/app/settings.html +1 -1
  280. package/.next/server/app/settings.rsc +3 -3
  281. package/.next/server/app/v1/chat/completions/route.js +1 -1
  282. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  283. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  284. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  285. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +3 -3
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -2
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  308. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  311. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  312. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  313. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  315. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  317. package/.next/server/app/v1/chat/events/route.js +3 -3
  318. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  319. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  320. package/.next/server/app/v1/models/route.js +2 -2
  321. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  322. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  323. package/.next/server/app/waves/page.js +4 -4
  324. package/.next/server/app/waves/page.js.nft.json +1 -1
  325. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  326. package/.next/server/app/waves.html +1 -1
  327. package/.next/server/app/waves.rsc +3 -3
  328. package/.next/server/app-paths-manifest.json +30 -29
  329. package/.next/server/chunks/166.js +2 -2
  330. package/.next/server/chunks/1690.js +1 -0
  331. package/.next/server/chunks/2273.js +2 -0
  332. package/.next/server/chunks/237.js +1 -0
  333. package/.next/server/chunks/2695.js +2 -2
  334. package/.next/server/chunks/2866.js +2 -0
  335. package/.next/server/chunks/{8730.js → 3489.js} +1 -1
  336. package/.next/server/chunks/3570.js +27 -27
  337. package/.next/server/chunks/3912.js +2 -0
  338. package/.next/server/chunks/3984.js +4 -4
  339. package/.next/server/chunks/4566.js +6 -0
  340. package/.next/server/chunks/544.js +10 -10
  341. package/.next/server/chunks/5548.js +62 -0
  342. package/.next/server/chunks/5561.js +1 -1
  343. package/.next/server/chunks/5705.js +1 -0
  344. package/.next/server/chunks/6404.js +2 -0
  345. package/.next/server/chunks/6432.js +1 -1
  346. package/.next/server/chunks/694.js +3 -0
  347. package/.next/server/chunks/7579.js +1 -1
  348. package/.next/server/chunks/7724.js +1 -0
  349. package/.next/server/chunks/8034.js +1 -0
  350. package/.next/server/chunks/8037.js +1 -0
  351. package/.next/server/chunks/8092.js +1 -1
  352. package/.next/server/chunks/{8568.js → 8192.js} +1 -1
  353. package/.next/server/chunks/{6518.js → 826.js} +2 -2
  354. package/.next/server/chunks/8298.js +1 -0
  355. package/.next/server/chunks/8321.js +1 -1
  356. package/.next/server/chunks/8366.js +90 -0
  357. package/.next/server/chunks/8615.js +1 -0
  358. package/.next/server/chunks/8645.js +2 -0
  359. package/.next/server/chunks/8851.js +1 -0
  360. package/.next/server/chunks/9313.js +1 -0
  361. package/.next/server/chunks/94.js +1 -1
  362. package/.next/server/chunks/9406.js +2 -2
  363. package/.next/server/chunks/9509.js +2 -2
  364. package/.next/server/chunks/9576.js +2 -0
  365. package/.next/server/chunks/9724.js +1 -1
  366. package/.next/server/chunks/9957.js +1 -0
  367. package/.next/server/chunks/9983.js +2 -0
  368. package/.next/server/edge-instrumentation.js.map +1 -1
  369. package/.next/server/functions-config-manifest.json +2 -2
  370. package/.next/server/middleware-build-manifest.js +1 -1
  371. package/.next/server/middleware-manifest.json +5 -5
  372. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  373. package/.next/server/pages/404.html +1 -1
  374. package/.next/server/pages/500.html +1 -1
  375. package/.next/server/pages-manifest.json +1 -1
  376. package/.next/server/server-reference-manifest.js +1 -1
  377. package/.next/server/server-reference-manifest.json +1 -1
  378. package/.next/server/src/middleware.js +2 -2
  379. package/.next/server/src/middleware.js.map +1 -1
  380. package/.next/static/A9jP2ydtYbqx-IayWP2Sg/_buildManifest.js +1 -0
  381. package/.next/static/chunks/1496-d478bce7d7c85080.js +1 -0
  382. package/.next/static/chunks/1641-e5ff8f112da0a335.js +1 -0
  383. package/.next/static/chunks/{8345.bc5534ec13abc9ee.js → 2969.eb9ff8cd2a5034b0.js} +1 -1
  384. package/.next/static/chunks/{2005-f9d38c39f10c321f.js → 3189-fa8ec6d719d5e72b.js} +1 -1
  385. package/.next/static/chunks/3452-a639f121f2953f50.js +62 -0
  386. package/.next/static/chunks/3560-5bdceef09b50e1c3.js +1 -0
  387. package/.next/static/chunks/3711-0050bb4d345c2c9c.js +1 -0
  388. package/.next/static/chunks/4147-20897d83b3cd3978.js +39 -0
  389. package/.next/static/chunks/469-1f043fe082d9f475.js +1 -0
  390. package/.next/static/chunks/5441-cb0c31de8bce65c3.js +1 -0
  391. package/.next/static/chunks/{3827-9e9a6e11ef808d90.js → 8041-05830e887c133085.js} +1 -1
  392. package/.next/static/chunks/8678-c6c6be2672f337f6.js +1 -0
  393. package/.next/static/chunks/8855-f802599c4af81cca.js +1 -0
  394. package/.next/static/chunks/app/_not-found/page-26055690a2426e22.js +1 -0
  395. package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  396. package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +1 -0
  397. package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +1 -0
  398. package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +1 -0
  399. package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +1 -0
  400. package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +1 -0
  401. package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +1 -0
  402. package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +1 -0
  403. package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  404. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +1 -0
  405. package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +1 -0
  406. package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +1 -0
  407. package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +1 -0
  408. package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +1 -0
  409. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +1 -0
  410. package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +1 -0
  411. package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +1 -0
  412. package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +1 -0
  413. package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +1 -0
  414. package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +1 -0
  415. package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +1 -0
  416. package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +1 -0
  417. package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +1 -0
  418. package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +1 -0
  419. package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +1 -0
  420. package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +1 -0
  421. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +1 -0
  422. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +1 -0
  423. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +1 -0
  424. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +1 -0
  425. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +1 -0
  426. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +1 -0
  427. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +1 -0
  428. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +1 -0
  429. package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +1 -0
  430. package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +1 -0
  431. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +1 -0
  432. package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +1 -0
  433. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +1 -0
  434. package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  435. package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +1 -0
  436. package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +1 -0
  437. package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +1 -0
  438. package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
  439. package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
  440. package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +1 -0
  441. package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +1 -0
  442. package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +1 -0
  443. package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +1 -0
  444. package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +1 -0
  445. package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +1 -0
  446. package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +1 -0
  447. package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +1 -0
  448. package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +1 -0
  449. package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +1 -0
  450. package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  451. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +1 -0
  452. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +1 -0
  453. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +1 -0
  454. package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +1 -0
  455. package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +1 -0
  456. package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +1 -0
  457. package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +1 -0
  458. package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +1 -0
  459. package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +1 -0
  460. package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +1 -0
  461. package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +1 -0
  462. package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +1 -0
  463. package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +1 -0
  464. package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +1 -0
  465. package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +1 -0
  466. package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +1 -0
  467. package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +1 -0
  468. package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +1 -0
  469. package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +1 -0
  470. package/.next/static/chunks/app/docs/{page-250523af44e96120.js → page-fc30f613607b8a26.js} +1 -1
  471. package/.next/static/chunks/app/executions/{page-1d8557a642114697.js → page-e71689c7256af1e8.js} +1 -1
  472. package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +1 -0
  473. package/.next/static/chunks/app/layout-038b35b382eef11d.js +1 -0
  474. package/.next/static/chunks/app/mcp/page-6041156fc67ef361.js +1 -0
  475. package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +1 -0
  476. package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +1 -0
  477. package/.next/static/chunks/app/models/{error-5732fbb053e182c5.js → error-1718b538d6967e56.js} +1 -1
  478. package/.next/static/chunks/app/models/{loading-57d1c02d0817fc47.js → loading-1687ae86584f5b1b.js} +1 -1
  479. package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +1 -0
  480. package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +1 -0
  481. package/.next/static/chunks/app/page-5c7fccd019942d46.js +1 -0
  482. package/.next/static/chunks/app/settings/page-fb336bb049bab72a.js +1 -0
  483. package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +1 -0
  484. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +1 -0
  485. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +1 -0
  486. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +1 -0
  487. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +1 -0
  488. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +1 -0
  489. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +1 -0
  490. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +1 -0
  491. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +1 -0
  492. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +1 -0
  493. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +1 -0
  494. package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +1 -0
  495. package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +1 -0
  496. package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +1 -0
  497. package/.next/static/chunks/app/waves/page-3cf4b47b12662196.js +1 -0
  498. package/.next/static/chunks/{main-app-faff38c77cb00119.js → main-app-2de821d2899bb841.js} +1 -1
  499. package/.next/static/chunks/{webpack-08eb993682e1fb1a.js → webpack-2d8e0c13c0b865fe.js} +1 -1
  500. package/.next/trace +10 -10
  501. package/.next/types/app/api/approvals/[id]/route.ts +1 -1
  502. package/.next/types/app/api/approvals/route.ts +1 -1
  503. package/.next/types/app/api/backup/route.ts +1 -1
  504. package/.next/types/app/api/browse/route.ts +1 -1
  505. package/.next/types/app/api/bugs/enhance/route.ts +1 -1
  506. package/.next/types/app/api/cwd/route.ts +1 -1
  507. package/.next/types/app/api/encryption/secure/route.ts +1 -1
  508. package/.next/types/app/api/env/route.ts +1 -1
  509. package/.next/types/app/api/flow/[id]/route.ts +1 -1
  510. package/.next/types/app/api/flow/[id]/versions/[versionId]/route.ts +1 -1
  511. package/.next/types/app/api/flow/[id]/versions/route.ts +1 -1
  512. package/.next/types/app/api/flow/compile/route.ts +1 -1
  513. package/.next/types/app/api/flow/generate/route.ts +1 -1
  514. package/.next/types/app/api/flow/improve/route.ts +1 -1
  515. package/.next/types/app/api/flow/prompt-renderer/route.ts +1 -1
  516. package/.next/types/app/api/flow/quick-chat/route.ts +1 -1
  517. package/.next/types/app/api/flow/repair/route.ts +1 -1
  518. package/.next/types/app/api/flow/route.ts +1 -1
  519. package/.next/types/app/api/git/route.ts +1 -1
  520. package/.next/types/app/api/init/route.ts +1 -1
  521. package/.next/types/app/api/local-models/capability/route.ts +1 -1
  522. package/.next/types/app/api/local-models/pull/route.ts +1 -1
  523. package/.next/types/app/api/local-models/suggest/route.ts +1 -1
  524. package/.next/types/app/api/mcp/app-sandbox/route.ts +1 -1
  525. package/.next/types/app/api/mcp/cancel/route.ts +1 -1
  526. package/.next/types/app/api/mcp/oauth-capability/route.ts +1 -1
  527. package/.next/types/app/api/mcp/servers/[name]/prompts/get/route.ts +1 -1
  528. package/.next/types/app/api/mcp/servers/[name]/prompts/route.ts +1 -1
  529. package/.next/types/app/api/mcp/servers/[name]/resources/read/route.ts +1 -1
  530. package/.next/types/app/api/mcp/servers/[name]/resources/route.ts +1 -1
  531. package/.next/types/app/api/mcp/servers/[name]/route.ts +1 -1
  532. package/.next/types/app/api/mcp/servers/[name]/status/route.ts +1 -1
  533. package/.next/types/app/api/mcp/servers/[name]/tools/[toolName]/route.ts +1 -1
  534. package/.next/types/app/api/mcp/servers/[name]/tools/route.ts +1 -1
  535. package/.next/types/app/api/mcp/servers/route.ts +1 -1
  536. package/.next/types/app/api/mcp/test-connection/route.ts +1 -1
  537. package/.next/types/app/api/mcp/test-connection/stream/route.ts +1 -1
  538. package/.next/types/app/api/mcp-registry/route.ts +1 -1
  539. package/.next/types/app/api/mcp-registry/spotlight/route.ts +1 -1
  540. package/.next/types/app/api/model/[id]/route.ts +1 -1
  541. package/.next/types/app/api/model/provider/route.ts +1 -1
  542. package/.next/types/app/api/model/route.ts +1 -1
  543. package/.next/types/app/api/model/test/route.ts +1 -1
  544. package/.next/types/app/api/oauth/callback/route.ts +1 -1
  545. package/.next/types/app/api/oauth/initiate/route.ts +1 -1
  546. package/.next/types/app/api/oauth/reset/route.ts +1 -1
  547. package/.next/types/app/api/packages/build/route.ts +1 -1
  548. package/.next/types/app/api/packages/derive-secrets/route.ts +1 -1
  549. package/.next/types/app/api/packages/install/route.ts +1 -1
  550. package/.next/types/app/api/packages/install/status/route.ts +1 -1
  551. package/.next/types/app/api/packages/installed/route.ts +1 -1
  552. package/.next/types/app/api/packages/resolve/route.ts +1 -1
  553. package/.next/types/app/api/packages/scan-targets/route.ts +1 -1
  554. package/.next/types/app/api/packages/search/route.ts +347 -0
  555. package/.next/types/app/api/packages/uninstall/route.ts +1 -1
  556. package/.next/types/app/api/planned-executions/[id]/route.ts +1 -1
  557. package/.next/types/app/api/planned-executions/[id]/run/route.ts +1 -1
  558. package/.next/types/app/api/planned-executions/[id]/runs/route.ts +1 -1
  559. package/.next/types/app/api/planned-executions/preview-schedule/route.ts +1 -1
  560. package/.next/types/app/api/planned-executions/reconcile/route.ts +1 -1
  561. package/.next/types/app/api/planned-executions/route.ts +1 -1
  562. package/.next/types/app/api/registry/auth/resend/route.ts +1 -1
  563. package/.next/types/app/api/registry/auth/reset/route.ts +1 -1
  564. package/.next/types/app/api/registry/auth/route.ts +1 -1
  565. package/.next/types/app/api/registry/oauth/callback/route.ts +1 -1
  566. package/.next/types/app/api/registry/oauth/initiate/route.ts +1 -1
  567. package/.next/types/app/api/registry/publish/route.ts +1 -1
  568. package/.next/types/app/api/registry/settings/route.ts +1 -1
  569. package/.next/types/app/api/restore/route.ts +1 -1
  570. package/.next/types/app/api/runs/active/route.ts +1 -1
  571. package/.next/types/app/api/storage/route.ts +1 -1
  572. package/.next/types/app/api/update/route.ts +1 -1
  573. package/.next/types/app/api/waves/route.ts +1 -1
  574. package/.next/types/app/api/webhooks/[id]/route.ts +1 -1
  575. package/.next/types/app/chat/page.ts +1 -1
  576. package/.next/types/app/docs/page.ts +1 -1
  577. package/.next/types/app/executions/page.ts +1 -1
  578. package/.next/types/app/flows/page.ts +1 -1
  579. package/.next/types/app/layout.ts +1 -1
  580. package/.next/types/app/mcp/page.ts +1 -1
  581. package/.next/types/app/mcp-flows/route.ts +1 -1
  582. package/.next/types/app/mcp-proxy/[server]/route.ts +1 -1
  583. package/.next/types/app/models/page.ts +1 -1
  584. package/.next/types/app/packages/page.ts +1 -1
  585. package/.next/types/app/page.ts +1 -1
  586. package/.next/types/app/settings/page.ts +1 -1
  587. package/.next/types/app/v1/chat/completions/route.ts +1 -1
  588. package/.next/types/app/v1/chat/conversations/[conversationId]/breakpoints/route.ts +1 -1
  589. package/.next/types/app/v1/chat/conversations/[conversationId]/cancel/route.ts +1 -1
  590. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/continue/route.ts +1 -1
  591. package/.next/types/app/v1/chat/conversations/[conversationId]/debug/step/route.ts +1 -1
  592. package/.next/types/app/v1/chat/conversations/[conversationId]/edit-state/route.ts +1 -1
  593. package/.next/types/app/v1/chat/conversations/[conversationId]/events/route.ts +1 -1
  594. package/.next/types/app/v1/chat/conversations/[conversationId]/inject/route.ts +1 -1
  595. package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +1 -1
  596. package/.next/types/app/v1/chat/conversations/[conversationId]/respond/route.ts +1 -1
  597. package/.next/types/app/v1/chat/conversations/[conversationId]/route.ts +1 -1
  598. package/.next/types/app/v1/chat/conversations/route.ts +1 -1
  599. package/.next/types/app/v1/chat/events/route.ts +1 -1
  600. package/.next/types/app/v1/models/route.ts +1 -1
  601. package/.next/types/app/waves/page.ts +1 -1
  602. package/.next/types/routes.d.ts +2 -1
  603. package/.next/types/validator.ts +9 -0
  604. package/README.md +1 -1
  605. package/bin/flujo.mjs +120 -120
  606. package/next.config.mjs +139 -139
  607. package/package.json +1 -1
  608. package/scripts/launch-next.mjs +112 -112
  609. package/.next/server/chunks/1083.js +0 -2
  610. package/.next/server/chunks/1819.js +0 -2
  611. package/.next/server/chunks/2368.js +0 -2
  612. package/.next/server/chunks/2666.js +0 -1
  613. package/.next/server/chunks/2985.js +0 -1
  614. package/.next/server/chunks/3101.js +0 -1
  615. package/.next/server/chunks/3273.js +0 -1
  616. package/.next/server/chunks/3648.js +0 -1
  617. package/.next/server/chunks/38.js +0 -2
  618. package/.next/server/chunks/3951.js +0 -151
  619. package/.next/server/chunks/4239.js +0 -1
  620. package/.next/server/chunks/4426.js +0 -6
  621. package/.next/server/chunks/4663.js +0 -1
  622. package/.next/server/chunks/5148.js +0 -1
  623. package/.next/server/chunks/5786.js +0 -2
  624. package/.next/server/chunks/6219.js +0 -1
  625. package/.next/server/chunks/6588.js +0 -2
  626. package/.next/server/chunks/8339.js +0 -1
  627. package/.next/server/chunks/8667.js +0 -1
  628. package/.next/server/chunks/9251.js +0 -1
  629. package/.next/server/chunks/9253.js +0 -3
  630. package/.next/server/chunks/991.js +0 -2
  631. package/.next/static/JGMk-MwwdpQ94asqw-mUR/_buildManifest.js +0 -1
  632. package/.next/static/chunks/2233-1139c1d3ef356980.js +0 -1
  633. package/.next/static/chunks/289-98f50bfcf833d661.js +0 -1
  634. package/.next/static/chunks/2988-0b197a9b468a2df9.js +0 -1
  635. package/.next/static/chunks/3418-a2f5d0c4f29ee2fb.js +0 -1
  636. package/.next/static/chunks/3958-5641a828b320f2fe.js +0 -100
  637. package/.next/static/chunks/5661-1b976072cc3d2fed.js +0 -1
  638. package/.next/static/chunks/6947-0ff3545efb53e959.js +0 -1
  639. package/.next/static/chunks/8054-f33d06ecea5d36e4.js +0 -1
  640. package/.next/static/chunks/8855-02889c9ab4bf0bcf.js +0 -1
  641. package/.next/static/chunks/8863-c140a742178a4a87.js +0 -1
  642. package/.next/static/chunks/app/_not-found/page-81dc485d60f94046.js +0 -1
  643. package/.next/static/chunks/app/api/approvals/[id]/route-7d60cffa598f4779.js +0 -1
  644. package/.next/static/chunks/app/api/approvals/route-7d60cffa598f4779.js +0 -1
  645. package/.next/static/chunks/app/api/backup/route-7d60cffa598f4779.js +0 -1
  646. package/.next/static/chunks/app/api/browse/route-7d60cffa598f4779.js +0 -1
  647. package/.next/static/chunks/app/api/bugs/enhance/route-7d60cffa598f4779.js +0 -1
  648. package/.next/static/chunks/app/api/cwd/route-7d60cffa598f4779.js +0 -1
  649. package/.next/static/chunks/app/api/encryption/secure/route-7d60cffa598f4779.js +0 -1
  650. package/.next/static/chunks/app/api/env/route-7d60cffa598f4779.js +0 -1
  651. package/.next/static/chunks/app/api/flow/[id]/route-7d60cffa598f4779.js +0 -1
  652. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-7d60cffa598f4779.js +0 -1
  653. package/.next/static/chunks/app/api/flow/[id]/versions/route-7d60cffa598f4779.js +0 -1
  654. package/.next/static/chunks/app/api/flow/compile/route-7d60cffa598f4779.js +0 -1
  655. package/.next/static/chunks/app/api/flow/generate/route-7d60cffa598f4779.js +0 -1
  656. package/.next/static/chunks/app/api/flow/improve/route-7d60cffa598f4779.js +0 -1
  657. package/.next/static/chunks/app/api/flow/prompt-renderer/route-7d60cffa598f4779.js +0 -1
  658. package/.next/static/chunks/app/api/flow/quick-chat/route-7d60cffa598f4779.js +0 -1
  659. package/.next/static/chunks/app/api/flow/repair/route-7d60cffa598f4779.js +0 -1
  660. package/.next/static/chunks/app/api/flow/route-7d60cffa598f4779.js +0 -1
  661. package/.next/static/chunks/app/api/git/route-7d60cffa598f4779.js +0 -1
  662. package/.next/static/chunks/app/api/init/route-7d60cffa598f4779.js +0 -1
  663. package/.next/static/chunks/app/api/local-models/capability/route-7d60cffa598f4779.js +0 -1
  664. package/.next/static/chunks/app/api/local-models/pull/route-7d60cffa598f4779.js +0 -1
  665. package/.next/static/chunks/app/api/local-models/suggest/route-7d60cffa598f4779.js +0 -1
  666. package/.next/static/chunks/app/api/mcp/app-sandbox/route-7d60cffa598f4779.js +0 -1
  667. package/.next/static/chunks/app/api/mcp/cancel/route-7d60cffa598f4779.js +0 -1
  668. package/.next/static/chunks/app/api/mcp/oauth-capability/route-7d60cffa598f4779.js +0 -1
  669. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7d60cffa598f4779.js +0 -1
  670. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7d60cffa598f4779.js +0 -1
  671. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7d60cffa598f4779.js +0 -1
  672. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7d60cffa598f4779.js +0 -1
  673. package/.next/static/chunks/app/api/mcp/servers/[name]/route-7d60cffa598f4779.js +0 -1
  674. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7d60cffa598f4779.js +0 -1
  675. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7d60cffa598f4779.js +0 -1
  676. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7d60cffa598f4779.js +0 -1
  677. package/.next/static/chunks/app/api/mcp/servers/route-7d60cffa598f4779.js +0 -1
  678. package/.next/static/chunks/app/api/mcp/test-connection/route-7d60cffa598f4779.js +0 -1
  679. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7d60cffa598f4779.js +0 -1
  680. package/.next/static/chunks/app/api/mcp-registry/route-7d60cffa598f4779.js +0 -1
  681. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7d60cffa598f4779.js +0 -1
  682. package/.next/static/chunks/app/api/model/[id]/route-7d60cffa598f4779.js +0 -1
  683. package/.next/static/chunks/app/api/model/provider/route-7d60cffa598f4779.js +0 -1
  684. package/.next/static/chunks/app/api/model/route-7d60cffa598f4779.js +0 -1
  685. package/.next/static/chunks/app/api/model/test/route-7d60cffa598f4779.js +0 -1
  686. package/.next/static/chunks/app/api/oauth/callback/route-7d60cffa598f4779.js +0 -1
  687. package/.next/static/chunks/app/api/oauth/initiate/route-7d60cffa598f4779.js +0 -1
  688. package/.next/static/chunks/app/api/oauth/reset/route-7d60cffa598f4779.js +0 -1
  689. package/.next/static/chunks/app/api/packages/build/route-7d60cffa598f4779.js +0 -1
  690. package/.next/static/chunks/app/api/packages/derive-secrets/route-7d60cffa598f4779.js +0 -1
  691. package/.next/static/chunks/app/api/packages/install/route-7d60cffa598f4779.js +0 -1
  692. package/.next/static/chunks/app/api/packages/install/status/route-7d60cffa598f4779.js +0 -1
  693. package/.next/static/chunks/app/api/packages/installed/route-7d60cffa598f4779.js +0 -1
  694. package/.next/static/chunks/app/api/packages/resolve/route-7d60cffa598f4779.js +0 -1
  695. package/.next/static/chunks/app/api/packages/scan-targets/route-7d60cffa598f4779.js +0 -1
  696. package/.next/static/chunks/app/api/packages/uninstall/route-7d60cffa598f4779.js +0 -1
  697. package/.next/static/chunks/app/api/planned-executions/[id]/route-7d60cffa598f4779.js +0 -1
  698. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7d60cffa598f4779.js +0 -1
  699. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7d60cffa598f4779.js +0 -1
  700. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7d60cffa598f4779.js +0 -1
  701. package/.next/static/chunks/app/api/planned-executions/reconcile/route-7d60cffa598f4779.js +0 -1
  702. package/.next/static/chunks/app/api/planned-executions/route-7d60cffa598f4779.js +0 -1
  703. package/.next/static/chunks/app/api/registry/auth/resend/route-7d60cffa598f4779.js +0 -1
  704. package/.next/static/chunks/app/api/registry/auth/reset/route-7d60cffa598f4779.js +0 -1
  705. package/.next/static/chunks/app/api/registry/auth/route-7d60cffa598f4779.js +0 -1
  706. package/.next/static/chunks/app/api/registry/oauth/callback/route-7d60cffa598f4779.js +0 -1
  707. package/.next/static/chunks/app/api/registry/oauth/initiate/route-7d60cffa598f4779.js +0 -1
  708. package/.next/static/chunks/app/api/registry/publish/route-7d60cffa598f4779.js +0 -1
  709. package/.next/static/chunks/app/api/registry/settings/route-7d60cffa598f4779.js +0 -1
  710. package/.next/static/chunks/app/api/restore/route-7d60cffa598f4779.js +0 -1
  711. package/.next/static/chunks/app/api/runs/active/route-7d60cffa598f4779.js +0 -1
  712. package/.next/static/chunks/app/api/storage/route-7d60cffa598f4779.js +0 -1
  713. package/.next/static/chunks/app/api/update/route-7d60cffa598f4779.js +0 -1
  714. package/.next/static/chunks/app/api/waves/route-7d60cffa598f4779.js +0 -1
  715. package/.next/static/chunks/app/api/webhooks/[id]/route-7d60cffa598f4779.js +0 -1
  716. package/.next/static/chunks/app/chat/page-2b69c5e35164f553.js +0 -1
  717. package/.next/static/chunks/app/flows/page-3f0d7cca2edff792.js +0 -1
  718. package/.next/static/chunks/app/layout-81f91fb3b894951a.js +0 -1
  719. package/.next/static/chunks/app/mcp/page-0e90177062130679.js +0 -1
  720. package/.next/static/chunks/app/mcp-flows/route-7d60cffa598f4779.js +0 -1
  721. package/.next/static/chunks/app/mcp-proxy/[server]/route-7d60cffa598f4779.js +0 -1
  722. package/.next/static/chunks/app/models/page-c69e10b83c06535d.js +0 -1
  723. package/.next/static/chunks/app/packages/page-bf8aad441c664433.js +0 -1
  724. package/.next/static/chunks/app/page-d3ea90b065b95d1e.js +0 -1
  725. package/.next/static/chunks/app/settings/page-4a9952c514f284e0.js +0 -1
  726. package/.next/static/chunks/app/v1/chat/completions/route-7d60cffa598f4779.js +0 -1
  727. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7d60cffa598f4779.js +0 -1
  728. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7d60cffa598f4779.js +0 -1
  729. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7d60cffa598f4779.js +0 -1
  730. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7d60cffa598f4779.js +0 -1
  731. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7d60cffa598f4779.js +0 -1
  732. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7d60cffa598f4779.js +0 -1
  733. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-7d60cffa598f4779.js +0 -1
  734. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-7d60cffa598f4779.js +0 -1
  735. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7d60cffa598f4779.js +0 -1
  736. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7d60cffa598f4779.js +0 -1
  737. package/.next/static/chunks/app/v1/chat/conversations/route-7d60cffa598f4779.js +0 -1
  738. package/.next/static/chunks/app/v1/chat/events/route-7d60cffa598f4779.js +0 -1
  739. package/.next/static/chunks/app/v1/models/route-7d60cffa598f4779.js +0 -1
  740. package/.next/static/chunks/app/waves/page-3ca939f0f7e817b1.js +0 -1
  741. /package/.next/static/{JGMk-MwwdpQ94asqw-mUR → A9jP2ydtYbqx-IayWP2Sg}/_ssgManifest.js +0 -0
@@ -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,55145,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:()=>n,metadata:()=>l,viewport:()=>m});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"},m={width:"device-width",initialScale:1};function n({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=1819,exports.ids=[1819,1925,4306],exports.modules={1925:(a,b,c)=>{c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},43237:(a,b,c)=>{c.d(b,{SA:()=>H,MH:()=>J,M2:()=>E,HV:()=>G,$Z:()=>K,Xd:()=>A});var d=c(50846),e=c(93868),f=c(25113);function g(a,b,c){if("string"!=typeof c)return;let d=c.trim();0!==d.length&&a.push({location:b,text:d})}function h(a){let b=[];for(let c of a.flows??[])b.push(...function(a){let b=[];for(let d of(g(b,`flow:${a.id}.description`,a.description),a.nodes??[])){var c=a.id;let e=d.id,f=`flow:${c}.node:${e}`;g(b,`${f}.description`,d.data?.description),d.data?.properties&&"object"==typeof d.data.properties&&function a(b,c,d,e,f=0){if(!(f>12)&&null!=d){if("string"==typeof d)return void g(b,c,d);if("object"==typeof d&&!e.has(d)){if(e.add(d),Array.isArray(d))return void d.forEach((d,g)=>a(b,`${c}[${g}]`,d,e,f+1));for(let[g,h]of Object.entries(d))a(b,`${c}.${g}`,h,e,f+1)}}}(b,`${f}.properties`,d.data.properties,new WeakSet)}return b}(c));for(let c of a.models??[])b.push(...function(a){let b=[],c=`model:${a.id}`;return g(b,`${c}.baseUrl`,a.baseUrl),g(b,`${c}.promptTemplate`,a.promptTemplate),g(b,`${c}.displayName`,a.displayName),g(b,`${c}.description`,a.description),g(b,`${c}.name`,a.name),b}(c));for(let c of a.plannedExecutions??[])b.push(...function(a){let b=[],c=`plannedExecution:${a.id}`;return g(b,`${c}.name`,a.name),g(b,`${c}.prompt`,a.prompt),b}(c));return b}var i=c(1925),j=c(45879);let k=["/usr/","/bin/","/sbin/","/lib/","/lib64/","/etc/","/var/","/opt/","/proc/","/sys/","/dev/","/tmp/","/run/","/boot/","/mnt/","/srv/","/node_modules/"],l=["c:\\windows","c:\\program files","c:\\programdata"];function m(a){if(!a)return 0;let b=new Map;for(let c of a)b.set(c,(b.get(c)??0)+1);let c=0;for(let d of b.values()){let b=d/a.length;c-=b*Math.log2(b)}return c}let n=[{re:/\bhttps?:\/\/[^/\s:@]+:[^/\s:@]+@[^\s"'<>]+/gi,kind:"url-cred",priority:1,rationale:"URL with embedded credentials",confidence:"high"},{re:/\bBearer\s+([A-Za-z0-9._~+/=-]{16,})/gi,kind:"token",priority:2,rationale:"Bearer token",confidence:"high",group:1},{re:/(?:https?:\/\/)?(?:www\.)?(?:github\.com|gitlab\.com|bitbucket\.org)[/:]([A-Za-z0-9](?:[A-Za-z0-9._-]{0,38})\/[A-Za-z0-9](?:[A-Za-z0-9._-]{0,99}?))(?=(?:\.git)?(?![A-Za-z0-9._/-]))/gi,kind:"repo",priority:3,rationale:"owner/repo slug in a VCS URL",confidence:"high",group:1},{re:/\bgit@[A-Za-z0-9.-]+:([A-Za-z0-9](?:[A-Za-z0-9._-]{0,38})\/[A-Za-z0-9](?:[A-Za-z0-9._-]{0,99}?))(?=(?:\.git)?(?![A-Za-z0-9._/-]))/gi,kind:"repo",priority:3,rationale:"owner/repo slug in a git SSH URL",confidence:"high",group:1},{re:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,kind:"email",priority:4,rationale:"Email address",confidence:"medium"},{re:/\b[A-Za-z]:\\[^\s"'<>|?*]+/g,kind:"path",priority:5,rationale:"Windows absolute file path",confidence:"medium"},{re:/(?<![A-Za-z0-9._~:/])\/[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+/g,kind:"path",priority:6,rationale:"POSIX absolute file path",confidence:"medium"}],o={re:/(?<![A-Za-z0-9._/-])[A-Za-z0-9](?:[A-Za-z0-9._-]{0,38})\/[A-Za-z0-9](?:[A-Za-z0-9._-]{0,99})(?![A-Za-z0-9._/-])/g,kind:"repo",priority:8,rationale:"owner/repo-shaped slug (opt-in, low confidence)",confidence:"low"},p=new Set(["and/or","input/output","read/write","client/server","tcp/ip","files/folders","yes/no","true/false","on/off","src/utils","a/b"]),q=/(?<![A-Za-z0-9_-])([A-Za-z][A-Za-z0-9_-]{1,64})\s*[:=]\s*("[^"]{4,}"|'[^']{4,}'|[^\s"']{6,})/g;function r(a){return new RegExp(e.HQ.source).test(a)}let s={path:"PATH",repo:"REPO",token:"TOKEN",email:"EMAIL","url-cred":"URL",name:"NAME",other:"SECRET"};function t(a,b){let c=b;if("path"===a){let a=b.split(/[\\/]/).filter(Boolean);c=a[a.length-1]||b}else"email"===a?c=b.split("@")[0]||b:"repo"===a?c=b.replace(/\//g,"_"):"url-cred"===a?c=b.replace(/^https?:\/\//i,"").split(/[/:@]/)[0]||b:"token"===a&&(c=b.slice(0,8));return(0,j.bF)(s[a],c)}function u(a,b={}){let c=b.entropyThreshold??4,d=!0===b.enableEntropy,e=!0===b.enableRepoSlug?[...n,o]:n,f=[],g=new Set;for(let b of a)for(let a of function(a){let b=[...a].sort((a,b)=>a.priority-b.priority||b.end-b.start-(a.end-a.start)||a.start-b.start),c=[];for(let a of b)c.some(b=>a.start<b.end&&b.start<a.end)||c.push(a);return c.sort((a,b)=>a.start-b.start)}([...function(a,b){let c=[];for(let d of b){let b,e=new RegExp(d.re.source,d.re.flags);for(;null!==(b=e.exec(a));){let a=d.group??0,f=b[a];if(!f){e.lastIndex===b.index&&e.lastIndex++;continue}let g=b.index+(a>0?b[0].indexOf(f):0);if("path"===d.kind&&function(a){let b=a.toLowerCase();return!!(b.includes("node_modules/")||b.includes("node_modules\\"))||(/^[a-z]:\\/.test(b)?l.some(a=>b.startsWith(a)):k.some(a=>b.startsWith(a)))}(f)||"repo"===d.kind&&"low"===d.confidence&&p.has(f.toLowerCase())){e.lastIndex===b.index&&e.lastIndex++;continue}c.push({start:g,end:g+f.length,value:f,kind:d.kind,priority:d.priority,rationale:d.rationale,confidence:d.confidence}),e.lastIndex===b.index&&e.lastIndex++}}return c}(b.text,e),...function(a){let b,c=[],d=new RegExp(q.source,q.flags);for(;null!==(b=d.exec(a));){let a=b[1],d=b[2];if(!(0,i.xc)(a)||((d.startsWith('"')&&d.endsWith('"')||d.startsWith("'")&&d.endsWith("'"))&&(d=d.slice(1,-1)),!d||r(d)))continue;let e=b.index+b[0].indexOf(d,a.length);c.push({start:e,end:e+d.length,value:d,kind:"token",priority:2,rationale:`Value assigned to secret-like key "${a}"`,confidence:"high"})}return c}(b.text),...d?function(a,b){let c,d=[],e=/[A-Za-z0-9._~+/=-]{20,}/g;for(;null!==(c=e.exec(a));){let a=c[0];(function(a,b){if(a.length<24)return!1;let c=/[A-Za-z]/.test(a),d=/[0-9]/.test(a);return!!c&&!!d&&m(a)>=b})(a,b)&&d.push({start:c.index,end:c.index+a.length,value:a,kind:"token",priority:7,rationale:`High-entropy string (${m(a).toFixed(2)} bits/char)`,confidence:"low"})}return d}(b.text,c):[]].filter(a=>!r(a.value)))){let c=`${b.location}\0${a.value}`;g.has(c)||(g.add(c),f.push({id:(0,j.QG)(b.location,a.value),location:b.location,excerpt:a.value,kind:a.kind,source:"heuristic",confidence:a.confidence,suggestedSecretName:t(a.kind,a.value),rationale:a.rationale}))}return f}async function v(a,b){let c,d=[];if(0===a.length)return{proposals:[],warnings:d};let e=b.maxTargets??200,f=b.maxCharsPerTarget??2e3,g=a.slice(0,e).map(a=>({location:a.location,text:a.text.length>f?a.text.slice(0,f):a.text})),h=new Map(a.map(a=>[a.location,a]));try{c=await b.completion({modelIdentifier:b.modelIdentifier,temperature:0,messages:[{role:"system",content:'You are a security assistant helping to package a workflow for sharing.\nYou are given a JSON array of content slices, each { "location", "text" }.\nIdentify substrings that are SECRETS or INSTANCE-SPECIFIC values that should\nNOT be shared verbatim: absolute file paths, owner/repo slugs, API tokens or\nkeys, credential-bearing URLs, email addresses, and similar.\n\nReturn ONLY a JSON array (no prose, no markdown fences). Each element:\n{ "location": string (echo the slice location exactly),\n "excerpt": string (the EXACT substring, copied verbatim from that slice text),\n "kind": one of "path"|"repo"|"token"|"email"|"url-cred"|"name"|"other",\n "suggestedSecretName": UPPER_SNAKE identifier,\n "suggestedDescription": short human description,\n "rationale": one short sentence }.\nDo NOT invent excerpts that are not present in the given text. If nothing\nqualifies, return [].'},{role:"user",content:JSON.stringify(g)}]})}catch(a){return d.push(`Model-driven pass failed: ${a instanceof Error?a.message:String(a)}`),{proposals:[],warnings:d}}if(!c?.success)return d.push(`Model-driven pass returned an error: ${c?.error?.message??"unknown error"}`),{proposals:[],warnings:d};let i=c.completion?.choices?.[0]?.message?.content??"",k=function(a){if("string"!=typeof a)return null;let b=a.trim(),c=/^```(?:json)?\s*([\s\S]*?)\s*```$/i.exec(b);c&&(b=c[1].trim());let d=a=>{try{let b=JSON.parse(a);return Array.isArray(b)?b:null}catch{return null}},e=d(b);if(e)return e;let f=b.indexOf("["),g=b.lastIndexOf("]");return f>=0&&g>f?d(b.slice(f,g+1)):null}("string"==typeof i?i:"");if(!k)return d.push("Model-driven pass returned no parseable JSON; ignoring its output."),{proposals:[],warnings:d};let l=[],m=new Set;for(let a of k){let b=function(a,b){var c;if(!a||"object"!=typeof a)return null;let d="string"==typeof a.location?a.location:"",e="string"==typeof a.excerpt?a.excerpt.trim():"";if(!d||!e)return null;let f=b.get(d);if(!f||!f.text.includes(e))return null;let g="string"==typeof(c=a.kind)&&j.d2.includes(c)?c:"other",h="string"==typeof a.suggestedSecretName&&a.suggestedSecretName.trim()?(0,j.bF)("SECRET",a.suggestedSecretName):t(g,e);return{id:(0,j.QG)(d,e),location:d,excerpt:e,kind:g,source:"model",suggestedSecretName:h,suggestedDescription:"string"==typeof a.suggestedDescription?a.suggestedDescription.slice(0,200):void 0,rationale:"string"==typeof a.rationale?a.rationale.slice(0,200):void 0}}(a,h);if(!b)continue;let c=`${b.location} ${b.excerpt}`;m.has(c)||(m.add(c),l.push(b))}return{proposals:l,warnings:d}}async function w(a,b={}){let c=h(a),d=[],e=u(c,b),f=[];if(b.model){let a=await v(c,{modelIdentifier:b.model.modelIdentifier,completion:b.model.completion});f=a.proposals,d.push(...a.warnings)}return{proposals:function(a,b){let c=new Map,d=a=>`${a.location}\0${a.excerpt}`;for(let b of a)c.set(d(b),b);for(let a of b){let b=d(a);c.has(b)||c.set(b,a)}return Array.from(c.values())}(e,f),warnings:d}}function x(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>x(a,b));if(a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=x(e,b);return c}return a}let y=(0,d.h)("backend/services/packages/buildPackage");function z(a){return a?Object.entries(a).map(([a,b])=>({name:a,isSecret:"object"==typeof b&&null!==b&&b.metadata?.isSecret===!0})):[]}function A(a,b){let c=new Map(b.map(a=>[a.name,a])),d=[],e=[];for(let b of a){let a=c.get(b);if(!a){e.push(`MCP server "${b}" was not found.`);continue}let f=function(a){let b=a.source;if(!b||"local"===b.type)return null;switch(b.type){case"github":return{sourceType:"github",ref:b.ref?`${b.repositoryUrl}@${b.ref}`:b.repositoryUrl,name:a.name};case"registry":return{sourceType:"registry",ref:b.registryName,name:a.name};case"marketplace":return{sourceType:"marketplace",ref:b.id,name:a.name};case"remote":return{sourceType:"remote",url:a.serverUrl??a.websocketUrl,name:a.name};default:return null}}(a);if(!f){e.push(`MCP server "${b}" is a local server and cannot be packaged. Re-install it from GitHub, the registry, the marketplace, or as a remote server, then try again.`);continue}let g=z(a.headers);d.push({name:a.name,transport:a.transport,...a.disabled?{disabled:!0}:{},...a.autoApprove&&a.autoApprove.length?{autoApprove:a.autoApprove}:{},...a.folder?{folder:a.folder}:{},installOrigin:f,envDeclarations:z(a.env),...g.length?{headerDeclarations:g}:{}})}return{packaged:d,errors:e}}function B(a,b){let c=`${a}_${b}`.toUpperCase().replace(/[^A-Z0-9_.-]+/g,"_").replace(/^_+|_+$/g,"")||`${a}_SECRET`;return e.IE.test(c)?c:`${a}_SECRET`}function C(a){let b=(a.ApiKey??"").trim();if(!b)return{ref:{kind:"none"}};let c=e.mQ.exec(b);if(c)return{ref:{kind:"global",var:c[1]}};let d=B("MODEL",a.displayName||a.name||a.id);return{ref:{kind:"secret",secret:d},secret:{name:d,description:`API key for model "${a.displayName||a.name}"`,required:!0}}}function D(a){let b=[],c=new Set,d=(a,d)=>{for(let e of d??[]){if(!e.isSecret||e.secretRef)continue;let d=B("MCP",`${a}_${e.name}`);e.secretRef=d,c.has(d)||(c.add(d),b.push({name:d,description:`Secret "${e.name}" for MCP server "${a}"`,required:!0}))}};for(let b of a)d(b.name,b.envDeclarations),d(b.name,b.headerDeclarations);return b}function E(a,b){let c=new Map(b.models.map(a=>[a.id,a])),d=[],e=new Set,f=a=>{a&&!e.has(a.name)&&(e.add(a.name),d.push(a))};for(let b of a.modelIds){let a=c.get(b);a&&f(C(a).secret)}for(let c of D(A(a.mcpServerNames,b.mcpServers).packaged))f(c);return d}async function F(){let{flowService:a}=await c.e(7821).then(c.bind(c,87821)),{modelService:b}=await Promise.all([c.e(4322),c.e(5067),c.e(6034),c.e(7821),c.e(5096),c.e(544),c.e(6793)]).then(c.bind(c,20433)),{loadServerConfigs:d}=await Promise.all([c.e(4322),c.e(1805)]).then(c.bind(c,74186)),{getSchedulerService:e}=await Promise.all([c.e(3736),c.e(9794),c.e(4771),c.e(9174)]).then(c.bind(c,4771)),[f,g,h,i]=await Promise.all([a.loadFlows(),b.loadModels(),d(),e().list()]);return{flows:f,models:g,mcpServers:Array.isArray(h)?h:[],plannedExecutions:i.map(a=>a.execution)}}async function G(a){let b=await F();return{resolved:function(a,b){let c=new Map(b.flows.map(a=>[a.id,a])),d=new Map(b.models.map(a=>[a.id,a])),e=new Map(b.mcpServers.map(a=>[a.name,a])),g=new Map(b.plannedExecutions.map(a=>[a.id,a])),h=new Set,i=new Set(a.modelIds??[]),j=new Set(a.mcpServerNames??[]),k=new Set(a.plannedExecutionIds??[]),l=[],m=[],n=new Set(a.flowIds??[]),o=new Set(a.modelIds??[]),p=new Set(a.mcpServerNames??[]);for(let a of k){let b=g.get(a);if(!b){m.push(`Planned execution "${a}" was not found and will be skipped.`);continue}!b.flowId||n.has(b.flowId)||h.has(b.flowId)||l.push({type:"flow",id:b.flowId,reason:`used by planned execution "${b.name}"`}),b.flowId&&n.add(b.flowId)}let q=new Set,r=Array.from(n);for(;r.length>0;){let a=r.shift();if(q.has(a))continue;q.add(a);let b=c.get(a);if(!b){m.push(`Referenced flow "${a}" was not found and will be skipped.`);continue}h.add(a);let g=(0,f.Xw)(b);for(let d of g.flowIds??[])q.has(d)||r.push(d),!n.has(d)&&d!==a&&(c.has(d)?l.some(a=>"flow"===a.type&&a.id===d)||l.push({type:"flow",id:d,reason:`subflow of "${b.name}"`}):m.push(`Flow "${b.name}" references missing subflow "${d}".`));for(let a of g.modelIds??[]){if(!d.has(a)){m.push(`Flow "${b.name}" references missing model "${a}".`);continue}!i.has(a)&&(i.add(a),o.has(a)||l.push({type:"model",id:a,reason:`used by flow "${b.name}"`}))}for(let a of g.mcpServerNames??[]){if(!e.has(a)){m.push(`Flow "${b.name}" references missing MCP server "${a}".`);continue}!j.has(a)&&(j.add(a),p.has(a)||l.push({type:"mcpServer",id:a,reason:`used by flow "${b.name}"`}))}}return{flowIds:Array.from(h),modelIds:Array.from(i),mcpServerNames:Array.from(j),plannedExecutionIds:Array.from(k),autoAdded:l,warnings:m}}(a,b),entities:b}}async function H(a,b,c=[]){y.info(`Building package "${b.name}" v${b.version}`);let{resolved:d,entities:g}=await G(a);return function(a,b,c,d=[]){let g=[],i=[...a.warnings],j=new Map(b.flows.map(a=>[a.id,a])),k=new Map(b.models.map(a=>[a.id,a])),l=new Map(b.plannedExecutions.map(a=>[a.id,a])),m=A(a.mcpServerNames,b.mcpServers);g.push(...m.errors);let n=[],o=new Set,p=a=>{a&&!o.has(a.name)&&(o.add(a.name),n.push(a))},q=a.modelIds.map(a=>k.get(a)).filter(a=>!!a),r=a.flowIds.map(a=>j.get(a)).filter(a=>!!a),s=a.plannedExecutionIds.map(a=>l.get(a)).filter(a=>!!a),t=q,v=r,w=s;if(d.length>0){let a=function(a,b){let c=[],d=b.filter(a=>!!a.excerpt&&(!!e.IE.test(a.secretName)||(c.push(`Skipped substitution with invalid secret name "${a.secretName}".`),!1))).sort((a,b)=>b.excerpt.length-a.excerpt.length),f=a=>{let b=a;for(let a of d)b.includes(a.excerpt)&&(b=b.split(a.excerpt).join(`{{secret.${a.secretName}}}`));return b},g={flows:a.flows.map(a=>x(a,f)),models:a.models.map(a=>x(a,f)),plannedExecutions:a.plannedExecutions.map(a=>x(a,f))},h=[],i=new Set;for(let a of d)i.has(a.secretName)||(i.add(a.secretName),h.push({name:a.secretName,description:a.description?f(a.description):`Derived secret ${a.secretName}`,required:!0}));return{entities:g,secrets:h,warnings:c}}({flows:r,models:q,plannedExecutions:s},d);for(let b of(t=a.entities.models,v=a.entities.flows,w=a.entities.plannedExecutions,i.push(...a.warnings),a.secrets))p(b)}let y=t.map(a=>{let{ref:b,secret:c}=C(a);return p(c),{model:a,apiKeyRef:b}});for(let a of D(m.packaged))p(a);if(g.length>0)return{ok:!1,resolved:a,errors:g,warnings:i};try{let{json:b,package:e}=(0,f.Zp)({id:c.id,name:c.name,version:c.version,description:c.description,author:c.author,publisher:c.publisher,tags:c.tags,secrets:n,models:y,mcpServers:m.packaged,flows:v,plannedExecutions:w}),j=(0,f.$j)(e);return j.warnings?.length&&i.push(...j.warnings),d.length>0&&i.push(...function(a,b={}){return u(h(a),b).map(a=>`Possible secret left in package at ${a.location}: "${a.excerpt}" (${a.kind}).`)}({flows:v,models:t,plannedExecutions:w})),{ok:!0,json:b,package:e,resolved:a,errors:g,warnings:i}}catch(b){return g.push(b instanceof Error?b.message:String(b)),{ok:!1,resolved:a,errors:g,warnings:i}}}(d,g,b,c.filter(a=>a.excerpt&&a.suggestedSecretName).map(a=>({excerpt:a.excerpt,secretName:a.suggestedSecretName,description:a.suggestedDescription})))}function I(a,b){let c=new Set(a.flowIds),d=new Set(a.modelIds),e=new Set(a.plannedExecutionIds);return{flows:b.flows.filter(a=>c.has(a.id)),models:b.models.filter(a=>d.has(a.id)),plannedExecutions:b.plannedExecutions.filter(a=>e.has(a.id))}}async function J(a,b={}){let{resolved:d,entities:e}=await G(a),f=I(d,e),g={entropyThreshold:b.entropyThreshold,enableEntropy:b.enableEntropy,enableRepoSlug:b.enableRepoSlug};if(b.modelIdentifier){let{modelService:a}=await Promise.all([c.e(4322),c.e(5067),c.e(6034),c.e(7821),c.e(5096),c.e(544),c.e(6793)]).then(c.bind(c,20433));g.model={modelIdentifier:b.modelIdentifier,completion:async b=>await a.generateChatCompletion({modelIdentifier:b.modelIdentifier,messages:b.messages,temperature:b.temperature})}}return w(f,g)}async function K(a){let{resolved:b,entities:c}=await G(a),d=h(I(b,c)),e=new Set,f=[];for(let a of d){if(e.has(a.text))continue;e.add(a.text);let b=a.location.split(":")[0]||"other";f.push({source:b,location:a.location,text:a.text})}return f.sort((a,b)=>b.text.length-a.text.length),f}},45879:(a,b,c)=>{c.d(b,{QG:()=>f,bF:()=>g,d2:()=>e});var d=c(93868);let e=["path","repo","token","email","url-cred","name","other"];function f(a,b){return`sp_${function(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b^a.charCodeAt(c);return(b>>>0).toString(16).padStart(8,"0")}(`${a}\0${b}`)}`}function g(a,b){let c=`${a}_${b}`.toUpperCase().replace(/[^A-Z0-9_.-]+/g,"_").replace(/^[_.-]+|[_.-]+$/g,"")||`${a}_SECRET`;return d.IE.test(c)?c:`${a}_SECRET`}},51669:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},68633:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},75879:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)}};
@@ -1,2 +0,0 @@
1
- exports.id=2368,exports.ids=[1925,2368,3629,4306,6793,9174],exports.modules={1925:(a,b,c)=>{"use strict";c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},3676:(a,b,c)=>{"use strict";c.d(b,{Wj:()=>h,ln:()=>g});var d=c(10641),e=c(58739);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.resolveGlobalVars,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},51669:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},56793:(a,b,c)=>{"use strict";c.d(b,{eh:()=>g,ru:()=>e});let d=(0,c(50846).h)("backend/services/scheduler/flowRunEventBus");function e(a){return"signal"===a.kind}class f{publish(a){if(0===this.listeners.size)return;let b=e(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(d.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){d.warn("A flow-run event listener threw:",a)}}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function g(){return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new f),global.__flujo_flow_run_event_bus}},68633:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(77925);let d=c(97954),e=c(27825),f=c(47686),g=c(77533),h=c(63033),i=c(26906),j=function(a){return a&&a.__esModule?a:{default:a}}(c(74515)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.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);j.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:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(l,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},75879:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(97954)},78335:()=>{},96487:()=>{},97020:(a,b,c)=>{"use strict";c.d(b,{Af:()=>g,PK:()=>f,Pq:()=>e});var d=c(60453);function e(a,b=200){return new Response(JSON.stringify(a),{status:b,headers:{"Content-Type":"application/json"}})}function f(a){return"string"!=typeof a||0===a.length?"A non-empty server name is required":a.length>200?"Server name must be 200 characters or fewer":"."===a||".."===a?'Server name cannot be "." or ".."':/[/\\\x00-\x1f]/.test(a)?'Server name cannot contain "/", "\\", or control characters':null}async function g(a){let b=await d.mcpService.loadServerConfigs();return Array.isArray(b)?{config:b.find(b=>b.name===a)}:{error:b.error||"Failed to load server configs"}}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2666,exports.ids=[2666],exports.modules={82666:(a,b,c)=>{c.d(b,{Ay:()=>u});var d=c(38301),e=c(43249),f=c(80751),g=c(69467),h=c(2783),i=c(18168),j=c(6636),k=c(60839);let l=d.createContext();var m=c(29565),n=c(33105);function o(a){return(0,n.Ay)("MuiGrid",a)}let p=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],q=(0,m.A)("MuiGrid",["root","container","item","zeroMinWidth",...[0,1,2,3,4,5,6,7,8,9,10].map(a=>`spacing-xs-${a}`),...["column-reverse","column","row-reverse","row"].map(a=>`direction-xs-${a}`),...["nowrap","wrap-reverse","wrap"].map(a=>`wrap-xs-${a}`),...p.map(a=>`grid-xs-${a}`),...p.map(a=>`grid-sm-${a}`),...p.map(a=>`grid-md-${a}`),...p.map(a=>`grid-lg-${a}`),...p.map(a=>`grid-xl-${a}`)]);var r=c(21124);function s({breakpoints:a,values:b}){let c="";Object.keys(b).forEach(a=>{""===c&&0!==b[a]&&(c=a)});let d=Object.keys(a).sort((b,c)=>a[b]-a[c]);return d.slice(0,d.indexOf(c))}let t=(0,i.Ay)("div",{name:"MuiGrid",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{container:d,direction:e,item:f,spacing:g,wrap:h,zeroMinWidth:i,breakpoints:j}=c,k=[];d&&(k=function(a,b,c={}){if(!a||a<=0)return[];if("string"==typeof a&&!Number.isNaN(Number(a))||"number"==typeof a)return[c[`spacing-xs-${String(a)}`]];let d=[];return b.forEach(b=>{let e=a[b];Number(e)>0&&d.push(c[`spacing-${b}-${String(e)}`])}),d}(g,j,b));let l=[];return j.forEach(a=>{let d=c[a];d&&l.push(b[`grid-${a}-${String(d)}`])}),[b.root,d&&b.container,f&&b.item,i&&b.zeroMinWidth,...k,"row"!==e&&b[`direction-xs-${String(e)}`],"wrap"!==h&&b[`wrap-xs-${String(h)}`],...l]}})(({ownerState:a})=>({boxSizing:"border-box",...a.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...a.item&&{margin:0},...a.zeroMinWidth&&{minWidth:0},..."wrap"!==a.wrap&&{flexWrap:a.wrap}}),function({theme:a,ownerState:b}){let c=(0,f.kW)({values:b.direction,breakpoints:a.breakpoints.values});return(0,f.NI)({theme:a},c,a=>{let b={flexDirection:a};return a.startsWith("column")&&(b[`& > .${q.item}`]={maxWidth:"none"}),b})},function({theme:a,ownerState:b}){let{container:c,rowSpacing:d}=b,e={};if(c&&0!==d){let b,c=(0,f.kW)({values:d,breakpoints:a.breakpoints.values});"object"==typeof c&&(b=s({breakpoints:a.breakpoints.values,values:c})),e=(0,f.NI)({theme:a},c,(c,d)=>{let e=a.spacing(c);return"0px"!==e?{marginTop:`calc(-1 * ${e})`,[`& > .${q.item}`]:{paddingTop:e}}:b?.includes(d)?{}:{marginTop:0,[`& > .${q.item}`]:{paddingTop:0}}})}return e},function({theme:a,ownerState:b}){let{container:c,columnSpacing:d}=b,e={};if(c&&0!==d){let b,c=(0,f.kW)({values:d,breakpoints:a.breakpoints.values});"object"==typeof c&&(b=s({breakpoints:a.breakpoints.values,values:c})),e=(0,f.NI)({theme:a},c,(c,d)=>{let e=a.spacing(c);if("0px"!==e){let a=`calc(-1 * ${e})`;return{width:`calc(100% + ${e})`,marginLeft:a,[`& > .${q.item}`]:{paddingLeft:e}}}return b?.includes(d)?{}:{width:"100%",marginLeft:0,[`& > .${q.item}`]:{paddingLeft:0}}})}return e},function({theme:a,ownerState:b}){let c;return a.breakpoints.keys.reduce((d,e)=>{let g={};if(b[e]&&(c=b[e]),!c)return d;if(!0===c)g={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===c)g={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{let h=(0,f.kW)({values:b.columns,breakpoints:a.breakpoints.values}),i="object"==typeof h?h[e]:h;if(null==i)return d;let j=`${Math.round(c/i*1e8)/1e6}%`,k={};if(b.container&&b.item&&0!==b.columnSpacing){let c=a.spacing(b.columnSpacing);if("0px"!==c){let a=`calc(${j} + ${c})`;k={flexBasis:a,maxWidth:a}}}g={flexBasis:j,flexGrow:0,maxWidth:j,...k}}return 0===a.breakpoints.values[e]?Object.assign(d,g):d[a.breakpoints.up(e)]=g,d},{})}),u=d.forwardRef(function(a,b){let c=(0,j.b)({props:a,name:"MuiGrid"}),{breakpoints:f}=(0,k.A)(),i=(0,g.A)(c),{className:m,columns:n,columnSpacing:p,component:q="div",container:s=!1,direction:u="row",item:v=!1,rowSpacing:w,spacing:x=0,wrap:y="wrap",zeroMinWidth:z=!1,...A}=i,B=d.useContext(l),C=s?n||12:B,D={},E={...A};f.keys.forEach(a=>{null!=A[a]&&(D[a]=A[a],delete E[a])});let F={...i,columns:C,container:s,direction:u,item:v,rowSpacing:w||x,columnSpacing:p||x,wrap:y,zeroMinWidth:z,spacing:x,...D,breakpoints:f.keys},G=(a=>{let{classes:b,container:c,direction:d,item:e,spacing:f,wrap:g,zeroMinWidth:i,breakpoints:j}=a,k=[];c&&(k=function(a,b){if(!a||a<=0)return[];if("string"==typeof a&&!Number.isNaN(Number(a))||"number"==typeof a)return[`spacing-xs-${String(a)}`];let c=[];return b.forEach(b=>{let d=a[b];if(Number(d)>0){let a=`spacing-${b}-${String(d)}`;c.push(a)}}),c}(f,j));let l=[];j.forEach(b=>{let c=a[b];c&&l.push(`grid-${b}-${String(c)}`)});let m={root:["root",c&&"container",e&&"item",i&&"zeroMinWidth",...k,"row"!==d&&`direction-xs-${String(d)}`,"wrap"!==g&&`wrap-xs-${String(g)}`,...l]};return(0,h.A)(m,o,b)})(F);return(0,r.jsx)(l.Provider,{value:C,children:(0,r.jsx)(t,{ownerState:F,className:(0,e.A)(G.root,m),as:q,ref:b,...E})})})}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2985,exports.ids=[2985],exports.modules={2117:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},19427:(a,b,c)=>{c.d(b,{A:()=>aa});var d,e,f=c(38301),g=c(43249),h=c(2783),i=c(37489),j=c(92869),k=c(55973),l=c(66335),m=c(62383),n=c(10005);function o(a){return a.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let p=function(a={}){let{ignoreAccents:b=!0,ignoreCase:c=!0,limit:d,matchFrom:e="any",stringify:f,trim:g=!1}=a;return(a,{inputValue:h,getOptionLabel:i})=>{let j=g?h.trim():h;c&&(j=j.toLowerCase()),b&&(j=o(j));let k=j?a.filter(a=>{let d=(f||i)(a);return c&&(d=d.toLowerCase()),b&&(d=o(d)),"start"===e?d.startsWith(j):d.includes(j)}):a;return"number"==typeof d?k.slice(0,d):k}}(),q=a=>null!==a.current&&a.current.parentElement?.contains(document.activeElement),r=[];function s(a,b,c){if(b||null==a)return"";let d=c(a);return"string"==typeof d?d:""}let t=function(a){let{unstable_isActiveElementInListbox:b=q,unstable_classNamePrefix:c="Mui",autoComplete:d=!1,autoHighlight:e=!1,autoSelect:g=!1,blurOnSelect:h=!1,clearOnBlur:i=!a.freeSolo,clearOnEscape:o=!1,componentName:t="useAutocomplete",defaultValue:u=a.multiple?r:null,disableClearable:v=!1,disableCloseOnSelect:w=!1,disabled:x,disabledItemsFocusable:y=!1,disableListWrap:z=!1,filterOptions:A=p,filterSelectedOptions:B=!1,freeSolo:C=!1,getOptionDisabled:D,getOptionKey:E,getOptionLabel:F=a=>a.label??a,groupBy:G,handleHomeEndKeys:H=!a.freeSolo,id:I,includeInputInList:J=!1,inputValue:K,isOptionEqualToValue:L=(a,b)=>a===b,multiple:M=!1,onChange:N,onClose:O,onHighlightChange:P,onInputChange:Q,onOpen:R,open:S,openOnFocus:T=!1,options:U,readOnly:V=!1,selectOnFocus:W=!a.freeSolo,value:X}=a,Y=(0,j.A)(I),Z=F;Z=a=>{let b=F(a);return"string"!=typeof b?String(b):b};let $=f.useRef(!1),_=f.useRef(!0),aa=f.useRef(null),ab=f.useRef(null),[ac,ad]=f.useState(null),[ae,af]=f.useState(-1),ag=e?0:-1,ah=f.useRef(ag),ai=f.useRef(s(u??X,M,Z)).current,[aj,ak]=(0,k.A)({controlled:X,default:u,name:t}),[al,am]=(0,k.A)({controlled:K,default:ai,name:t,state:"inputValue"}),[an,ao]=f.useState(!1),ap=f.useCallback((a,b,c)=>{if(!(M?aj.length<b.length:null!==b)&&!i)return;let d=s(b,M,Z);al!==d&&(am(d),Q&&Q(a,d,c))},[Z,al,M,Q,am,i,aj]),[aq,ar]=(0,k.A)({controlled:S,default:!1,name:t,state:"open"}),[as,at]=f.useState(!0),au=!M&&null!=aj&&al===Z(aj),av=aq&&!V,aw=av?A(U.filter(a=>!(B&&(M?aj:[aj]).some(b=>null!==b&&L(a,b)))),{inputValue:au&&as?"":al,getOptionLabel:Z}):[],ax=(0,l.A)({filteredOptions:aw,value:aj,inputValue:al});f.useEffect(()=>{let a=aj!==ax.value;(!an||a)&&(!C||a)&&ap(null,aj,"reset")},[aj,ap,an,ax.value,C]);let ay=aq&&aw.length>0&&!V,az=(0,m.A)(a=>{-1===a?aa.current.focus():ac.querySelector(`[data-tag-index="${a}"]`).focus()});f.useEffect(()=>{M&&ae>aj.length-1&&(af(-1),az(-1))},[aj,M,ae,az]);let aA=(0,m.A)(({event:a,index:b,reason:d})=>{if(ah.current=b,-1===b?aa.current.removeAttribute("aria-activedescendant"):aa.current.setAttribute("aria-activedescendant",`${Y}-option-${b}`),P&&["mouse","keyboard","touch"].includes(d)&&P(a,-1===b?null:aw[b],d),!ab.current)return;let e=ab.current.querySelector(`[role="option"].${c}-focused`);e&&(e.classList.remove(`${c}-focused`),e.classList.remove(`${c}-focusVisible`));let f=ab.current;if("listbox"!==ab.current.getAttribute("role")&&(f=ab.current.parentElement.querySelector('[role="listbox"]')),!f)return;if(-1===b){f.scrollTop=0;return}let g=ab.current.querySelector(`[data-option-index="${b}"]`);if(g&&(g.classList.add(`${c}-focused`),"keyboard"===d&&g.classList.add(`${c}-focusVisible`),f.scrollHeight>f.clientHeight&&"mouse"!==d&&"touch"!==d)){let a=f.clientHeight+f.scrollTop,b=g.offsetTop+g.offsetHeight;b>a?f.scrollTop=b-f.clientHeight:g.offsetTop-g.offsetHeight*(1.3*!!G)<f.scrollTop&&(f.scrollTop=g.offsetTop-g.offsetHeight*(1.3*!!G))}}),aB=(0,m.A)(({event:a,diff:b,direction:c="next",reason:e})=>{if(!av)return;let f=function(a,b){if(!ab.current||a<0||a>=aw.length)return -1;let c=a;for(;;){let d=ab.current.querySelector(`[data-option-index="${c}"]`),e=!y&&(!d||d.disabled||"true"===d.getAttribute("aria-disabled"));if(d&&d.hasAttribute("tabindex")&&!e)return c;if((c="next"===b?(c+1)%aw.length:(c-1+aw.length)%aw.length)===a)return -1}}((()=>{let a=aw.length-1;if("reset"===b)return ag;if("start"===b)return 0;if("end"===b)return a;let c=ah.current+b;return c<0?-1===c&&J?-1:z&&-1!==ah.current||Math.abs(b)>1?0:a:c>a?c===a+1&&J?-1:z||Math.abs(b)>1?a:0:c})(),c);if(aA({index:f,reason:e,event:a}),d&&"reset"!==b)if(-1===f)aa.current.value=al;else{let a=Z(aw[f]);aa.current.value=a,0===a.toLowerCase().indexOf(al.toLowerCase())&&al.length>0&&aa.current.setSelectionRange(al.length,a.length)}}),aC=f.useCallback(()=>{if(!av)return;let a=(()=>{var a,b;if(-1!==ah.current&&ax.filteredOptions&&ax.filteredOptions.length!==aw.length&&ax.inputValue===al&&(M?aj.length===ax.value.length&&ax.value.every((a,b)=>Z(aj[b])===Z(a)):(a=ax.value,b=aj,(a?Z(a):"")===(b?Z(b):"")))){let a=ax.filteredOptions[ah.current];if(a)return aw.findIndex(b=>Z(b)===Z(a))}return -1})();if(-1!==a){ah.current=a;return}let b=M?aj[0]:aj;if(0===aw.length||null==b)return void aB({diff:"reset"});if(ab.current){if(null!=b){let a=aw[ah.current];if(M&&a&&-1!==aj.findIndex(b=>L(a,b)))return;let c=aw.findIndex(a=>L(a,b));-1===c?aB({diff:"reset"}):aA({index:c});return}if(ah.current>=aw.length-1)return void aA({index:aw.length-1});aA({index:ah.current})}},[aw.length,!M&&aj,B,aB,aA,av,al,M]),aD=(0,m.A)(a=>{(0,n.A)(ab,a),a&&aC()});f.useEffect(()=>{aC()},[aC]);let aE=a=>{!aq&&(ar(!0),at(!0),R&&R(a))},aF=(a,b)=>{aq&&(ar(!1),O&&O(a,b))},aG=(a,b,c,d)=>{if(M){if(aj.length===b.length&&aj.every((a,c)=>a===b[c]))return}else if(aj===b)return;N&&N(a,b,c,d),ak(b)},aH=f.useRef(!1),aI=(a,b,c="selectOption",d="options")=>{let e=c,f=b;if(M){let a=(f=Array.isArray(aj)?aj.slice():[]).findIndex(a=>L(b,a));-1===a?f.push(b):"freeSolo"!==d&&(f.splice(a,1),e="removeOption")}ap(a,f,e),aG(a,f,e,{option:b}),w||a&&(a.ctrlKey||a.metaKey)||aF(a,e),(!0===h||"touch"===h&&aH.current||"mouse"===h&&!aH.current)&&aa.current.blur()},aJ=(a,b)=>{if(!M)return;""===al&&aF(a,"toggleInput");let c=ae;-1===ae?""===al&&"previous"===b&&(c=aj.length-1):((c+="next"===b?1:-1)<0&&(c=0),c===aj.length&&(c=-1)),af(c=function(a,b){if(-1===a)return -1;let c=a;for(;;){if("next"===b&&c===aj.length||"previous"===b&&-1===c)return -1;let a=ac.querySelector(`[data-tag-index="${c}"]`);if(a&&a.hasAttribute("tabindex")&&!a.disabled&&"true"!==a.getAttribute("aria-disabled"))return c;c+="next"===b?1:-1}}(c,b)),az(c)},aK=a=>{$.current=!0,am(""),Q&&Q(a,"","clear"),aG(a,M?[]:null,"clear")},aL=a=>{ao(!0),T&&!$.current&&aE(a)},aM=a=>{if(b(ab))return void aa.current.focus();ao(!1),_.current=!0,$.current=!1,g&&-1!==ah.current&&av?aI(a,aw[ah.current],"blur"):g&&C&&""!==al?aI(a,al,"blur","freeSolo"):i&&ap(a,aj,"blur"),aF(a,"blur")},aN=a=>{let b=a.target.value;al!==b&&(am(b),at(!1),Q&&Q(a,b,"input")),""===b?v||M||aG(a,null,"clear"):aE(a)},aO=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));ah.current!==b&&aA({event:a,index:b,reason:"mouse"})},aP=a=>{aA({event:a,index:Number(a.currentTarget.getAttribute("data-option-index")),reason:"touch"}),aH.current=!0},aQ=a=>{let b=Number(a.currentTarget.getAttribute("data-option-index"));aI(a,aw[b],"selectOption"),aH.current=!1},aR=a=>{aq?aF(a,"toggleInput"):aE(a)},aS=a=>{a.currentTarget.contains(a.target)&&a.target.getAttribute("id")!==Y&&a.preventDefault()},aT=a=>{a.currentTarget.contains(a.target)&&(aa.current.focus(),W&&_.current&&aa.current.selectionEnd-aa.current.selectionStart==0&&aa.current.select(),_.current=!1)},aU=a=>{x||""!==al&&aq||aR(a)},aV=C&&al.length>0;aV=aV||(M?aj.length>0:null!==aj);let aW=aw;return G&&(aW=aw.reduce((a,b,c)=>{let d=G(b);return a.length>0&&a[a.length-1].group===d?a[a.length-1].options.push(b):a.push({key:c,index:c,group:d,options:[b]}),a},[])),x&&an&&aM(),{getRootProps:(a={})=>({...a,onKeyDown:b=>{if(a.onKeyDown&&a.onKeyDown(b),!b.defaultMuiPrevented&&(-1===ae||["ArrowLeft","ArrowRight"].includes(b.key)||(af(-1),az(-1)),229!==b.which))switch(b.key){case"Home":av&&H&&(b.preventDefault(),aB({diff:"start",direction:"next",reason:"keyboard",event:b}));break;case"End":av&&H&&(b.preventDefault(),aB({diff:"end",direction:"previous",reason:"keyboard",event:b}));break;case"PageUp":b.preventDefault(),aB({diff:-5,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"PageDown":b.preventDefault(),aB({diff:5,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowDown":b.preventDefault(),aB({diff:1,direction:"next",reason:"keyboard",event:b}),aE(b);break;case"ArrowUp":b.preventDefault(),aB({diff:-1,direction:"previous",reason:"keyboard",event:b}),aE(b);break;case"ArrowLeft":aJ(b,"previous");break;case"ArrowRight":aJ(b,"next");break;case"Enter":if(-1!==ah.current&&av){let a=aw[ah.current],c=!!D&&D(a);if(b.preventDefault(),c)return;aI(b,a,"selectOption"),d&&aa.current.setSelectionRange(aa.current.value.length,aa.current.value.length)}else C&&""!==al&&!1===au&&(M&&b.preventDefault(),aI(b,al,"createOption","freeSolo"));break;case"Escape":av?(b.preventDefault(),b.stopPropagation(),aF(b,"escape")):o&&(""!==al||M&&aj.length>0)&&(b.preventDefault(),b.stopPropagation(),aK(b));break;case"Backspace":if(M&&!V&&""===al&&aj.length>0){let a=-1===ae?aj.length-1:ae,c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}break;case"Delete":if(M&&!V&&""===al&&aj.length>0&&-1!==ae){let a=aj.slice();a.splice(ae,1),aG(b,a,"removeOption",{option:aj[ae]})}}},onMouseDown:aS,onClick:aT}),getInputLabelProps:()=>({id:`${Y}-label`,htmlFor:Y}),getInputProps:()=>({id:Y,value:al,onBlur:aM,onFocus:aL,onChange:aN,onMouseDown:aU,"aria-activedescendant":av?"":null,"aria-autocomplete":d?"both":"list","aria-controls":ay?`${Y}-listbox`:void 0,"aria-expanded":ay,autoComplete:"off",ref:aa,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:x}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:aK}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:aR}),getTagProps:({index:a})=>({key:a,"data-tag-index":a,tabIndex:-1,...!V&&{onDelete:b=>{let c=aj.slice();c.splice(a,1),aG(b,c,"removeOption",{option:aj[a]})}}}),getListboxProps:()=>({role:"listbox",id:`${Y}-listbox`,"aria-labelledby":`${Y}-label`,ref:aD,onMouseDown:a=>{a.preventDefault()}}),getOptionProps:({index:a,option:b})=>{let c=(M?aj:[aj]).some(a=>null!=a&&L(b,a)),d=!!D&&D(b);return{key:E?.(b)??Z(b),tabIndex:-1,role:"option",id:`${Y}-option-${a}`,onMouseMove:aO,onClick:aQ,onTouchStart:aP,"data-option-index":a,"aria-disabled":d,"aria-selected":c}},id:Y,inputValue:al,value:aj,dirty:aV,expanded:av&&ac,popupOpen:av,focused:an||-1!==ae,anchorEl:ac,setAnchorEl:ad,focusedTag:ae,groupedOptions:aW}};var u=c(31605),v=c(18168),w=c(68333),x=c(6636),y=c(6638),z=c(29565),A=c(33105);function B(a){return(0,A.Ay)("MuiListSubheader",a)}(0,z.A)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);var C=c(21124);let D=(0,v.Ay)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,"default"!==c.color&&b[`color${(0,y.A)(c.color)}`],!c.disableGutters&&b.gutters,c.inset&&b.inset,!c.disableSticky&&b.sticky]}})((0,w.A)(({theme:a})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(a.vars||a).palette.text.secondary,fontFamily:a.typography.fontFamily,fontWeight:a.typography.fontWeightMedium,fontSize:a.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(a.vars||a).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:a})=>!a.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:a})=>a.inset,style:{paddingLeft:72}},{props:({ownerState:a})=>!a.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(a.vars||a).palette.background.paper}}]}))),E=f.forwardRef(function(a,b){let c=(0,x.b)({props:a,name:"MuiListSubheader"}),{className:d,color:e="default",component:f="li",disableGutters:i=!1,disableSticky:j=!1,inset:k=!1,...l}=c,m={...c,color:e,component:f,disableGutters:i,disableSticky:j,inset:k},n=(a=>{let{classes:b,color:c,disableGutters:d,inset:e,disableSticky:f}=a,g={root:["root","default"!==c&&`color${(0,y.A)(c)}`,!d&&"gutters",e&&"inset",!f&&"sticky"]};return(0,h.A)(g,B,b)})(m);return(0,C.jsx)(D,{as:f,className:(0,g.A)(n.root,d),ref:b,ownerState:m,...l})});E&&(E.muiSkipListHighlight=!0);var F=c(54573),G=c(44079),H=c(41893),I=c(88679),J=c(13763),K=c(91003),L=c(37659),M=c(88570),N=c(41606);function O(a){return(0,A.Ay)("MuiAutocomplete",a)}let P=(0,z.A)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var Q=c(20385);let R=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a,{fullWidth:d,hasClearIcon:e,hasPopupIcon:f,inputFocused:g,size:h}=c;return[{[`& .${P.tag}`]:b.tag},{[`& .${P.tag}`]:b[`tagSize${(0,y.A)(h)}`]},{[`& .${P.inputRoot}`]:b.inputRoot},{[`& .${P.input}`]:b.input},{[`& .${P.input}`]:g&&b.inputFocused},b.root,d&&b.fullWidth,f&&b.hasPopupIcon,e&&b.hasClearIcon]}})({[`&.${P.focused} .${P.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${P.clearIndicator}`]:{visibility:"visible"}},[`& .${P.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${P.inputRoot}`]:{[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:30},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:56},[`& .${P.input}`]:{width:0,minWidth:30}},[`& .${I.A.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${I.A.root}.${J.A.sizeSmall}`]:{[`& .${I.A.input}`]:{padding:"2px 4px 3px 0"}},[`& .${K.A.root}`]:{padding:9,[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:39},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:65},[`& .${P.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${P.endAdornment}`]:{right:9}},[`& .${K.A.root}.${J.A.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${P.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${L.A.root}`]:{paddingTop:19,paddingLeft:8,[`.${P.hasPopupIcon}&, .${P.hasClearIcon}&`]:{paddingRight:39},[`.${P.hasPopupIcon}.${P.hasClearIcon}&`]:{paddingRight:65},[`& .${L.A.input}`]:{padding:"7px 4px"},[`& .${P.endAdornment}`]:{right:9}},[`& .${L.A.root}.${J.A.sizeSmall}`]:{paddingBottom:1,[`& .${L.A.input}`]:{padding:"2.5px 4px"}},[`& .${J.A.hiddenLabel}`]:{paddingTop:8},[`& .${L.A.root}.${J.A.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${P.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${L.A.root}.${J.A.hiddenLabel}.${J.A.sizeSmall}`]:{[`& .${P.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${P.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${P.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${P.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${P.inputRoot}`]:{flexWrap:"wrap"}}}]}),S=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(a,b)=>b.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),T=(0,v.Ay)(G.A,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(a,b)=>b.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),U=(0,v.Ay)(G.A,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.popupIndicator,c.popupOpen&&b.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),V=(0,v.Ay)(u.A,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${P.option}`]:b.option},b.popper,c.disablePortal&&b.popperDisablePortal]}})((0,w.A)(({theme:a})=>({zIndex:(a.vars||a).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),W=(0,v.Ay)(F.A,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(a,b)=>b.paper})((0,w.A)(({theme:a})=>({...a.typography.body1,overflow:"auto"}))),X=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(a,b)=>b.loading})((0,w.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),Y=(0,v.Ay)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(a,b)=>b.noOptions})((0,w.A)(({theme:a})=>({color:(a.vars||a).palette.text.secondary,padding:"14px 16px"}))),Z=(0,v.Ay)("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(a,b)=>b.listbox})((0,w.A)(({theme:a})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${P.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[a.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${P.focused}`]:{backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${P.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / ${a.vars.palette.action.selectedOpacity})`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity),[`&.${P.focused}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(a.vars||a).palette.action.selected}},[`&.${P.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.primary.mainChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:(0,i.X4)(a.palette.primary.main,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}}}}))),$=(0,v.Ay)(E,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(a,b)=>b.groupLabel})((0,w.A)(({theme:a})=>({backgroundColor:(a.vars||a).palette.background.paper,top:-8}))),_=(0,v.Ay)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(a,b)=>b.groupUl})({padding:0,[`& .${P.option}`]:{paddingLeft:24}}),aa=f.forwardRef(function(a,b){let c,i=(0,x.b)({props:a,name:"MuiAutocomplete"}),{autoComplete:j=!1,autoHighlight:k=!1,autoSelect:l=!1,blurOnSelect:m=!1,ChipProps:n,className:o,clearIcon:p=d||(d=(0,C.jsx)(M.A,{fontSize:"small"})),clearOnBlur:q=!i.freeSolo,clearOnEscape:r=!1,clearText:s="Clear",closeText:v="Close",componentsProps:w,defaultValue:z=i.multiple?[]:null,disableClearable:A=!1,disableCloseOnSelect:B=!1,disabled:D=!1,disabledItemsFocusable:E=!1,disableListWrap:G=!1,disablePortal:I=!1,filterOptions:J,filterSelectedOptions:K=!1,forcePopupIcon:L="auto",freeSolo:P=!1,fullWidth:aa=!1,getLimitTagsText:ab=a=>`+${a}`,getOptionDisabled:ac,getOptionKey:ad,getOptionLabel:ae,isOptionEqualToValue:af,groupBy:ag,handleHomeEndKeys:ah=!i.freeSolo,id:ai,includeInputInList:aj=!1,inputValue:ak,limitTags:al=-1,ListboxComponent:am,ListboxProps:an,loading:ao=!1,loadingText:ap="Loading…",multiple:aq=!1,noOptionsText:ar="No options",onChange:as,onClose:at,onHighlightChange:au,onInputChange:av,onOpen:aw,open:ax,openOnFocus:ay=!1,openText:az="Open",options:aA,PaperComponent:aB,PopperComponent:aC,popupIcon:aD=e||(e=(0,C.jsx)(N.A,{})),readOnly:aE=!1,renderGroup:aF,renderInput:aG,renderOption:aH,renderTags:aI,selectOnFocus:aJ=!i.freeSolo,size:aK="medium",slots:aL={},slotProps:aM={},value:aN,...aO}=i,{getRootProps:aP,getInputProps:aQ,getInputLabelProps:aR,getPopupIndicatorProps:aS,getClearProps:aT,getTagProps:aU,getListboxProps:aV,getOptionProps:aW,value:aX,dirty:aY,expanded:aZ,id:a$,popupOpen:a_,focused:a0,focusedTag:a1,anchorEl:a2,setAnchorEl:a3,inputValue:a4,groupedOptions:a5}=t({...i,componentName:"Autocomplete"}),a6=!A&&!D&&aY&&!aE,a7=(!P||!0===L)&&!1!==L,{onMouseDown:a8}=aQ(),{ref:a9,...ba}=aV(),bb=ae||(a=>a.label??a),bc={...i,disablePortal:I,expanded:aZ,focused:a0,fullWidth:aa,getOptionLabel:bb,hasClearIcon:a6,hasPopupIcon:a7,inputFocused:-1===a1,popupOpen:a_,size:aK},bd=(a=>{let{classes:b,disablePortal:c,expanded:d,focused:e,fullWidth:f,hasClearIcon:g,hasPopupIcon:i,inputFocused:j,popupOpen:k,size:l}=a,m={root:["root",d&&"expanded",e&&"focused",f&&"fullWidth",g&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",j&&"inputFocused"],tag:["tag",`tagSize${(0,y.A)(l)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",k&&"popupIndicatorOpen"],popper:["popper",c&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,h.A)(m,O,b)})(bc),be={slots:{paper:aB,popper:aC,...aL},slotProps:{chip:n,listbox:an,...w,...aM}},[bf,bg]=(0,Q.A)("listbox",{elementType:Z,externalForwardedProps:be,ownerState:bc,className:bd.listbox,additionalProps:ba,ref:a9}),[bh,bi]=(0,Q.A)("paper",{elementType:F.A,externalForwardedProps:be,ownerState:bc,className:bd.paper}),[bj,bk]=(0,Q.A)("popper",{elementType:u.A,externalForwardedProps:be,ownerState:bc,className:bd.popper,additionalProps:{disablePortal:I,style:{width:a2?a2.clientWidth:null},role:"presentation",anchorEl:a2,open:a_}});if(aq&&aX.length>0){let a=a=>({className:bd.tag,disabled:D,...aU(a)});c=aI?aI(aX,a,bc):aX.map((b,c)=>{let{key:d,...e}=a({index:c});return(0,C.jsx)(H.A,{label:bb(b),size:aK,...e,...be.slotProps.chip},d)})}if(al>-1&&Array.isArray(c)){let a=c.length-al;!a0&&a>0&&(c=c.splice(0,al)).push((0,C.jsx)("span",{className:bd.tag,children:ab(a)},c.length))}let bl=aF||(a=>(0,C.jsxs)("li",{children:[(0,C.jsx)($,{className:bd.groupLabel,ownerState:bc,component:"div",children:a.group}),(0,C.jsx)(_,{className:bd.groupUl,ownerState:bc,children:a.children})]},a.key)),bm=aH||((a,b)=>{let{key:c,...d}=a;return(0,C.jsx)("li",{...d,children:bb(b)},c)}),bn=(a,b)=>{let c=aW({option:a,index:b});return bm({...c,className:bd.option},a,{selected:c["aria-selected"],index:b,inputValue:a4},bc)},bo=be.slotProps.clearIndicator,bp=be.slotProps.popupIndicator;return(0,C.jsxs)(f.Fragment,{children:[(0,C.jsx)(R,{ref:b,className:(0,g.A)(bd.root,o),ownerState:bc,...aP(aO),children:aG({id:a$,disabled:D,fullWidth:!0,size:"small"===aK?"small":void 0,InputLabelProps:aR(),InputProps:{ref:a3,className:bd.inputRoot,startAdornment:c,onMouseDown:a=>{a.target===a.currentTarget&&a8(a)},...(a6||a7)&&{endAdornment:(0,C.jsxs)(S,{className:bd.endAdornment,ownerState:bc,children:[a6?(0,C.jsx)(T,{...aT(),"aria-label":s,title:s,ownerState:bc,...bo,className:(0,g.A)(bd.clearIndicator,bo?.className),children:p}):null,a7?(0,C.jsx)(U,{...aS(),disabled:D,"aria-label":a_?v:az,title:a_?v:az,ownerState:bc,...bp,className:(0,g.A)(bd.popupIndicator,bp?.className),children:aD}):null]})}},inputProps:{className:bd.input,disabled:D,readOnly:aE,...aQ()}})}),a2?(0,C.jsx)(V,{as:bj,...bk,children:(0,C.jsxs)(W,{as:bh,...bi,children:[ao&&0===a5.length?(0,C.jsx)(X,{className:bd.loading,ownerState:bc,children:ap}):null,0!==a5.length||P||ao?null:(0,C.jsx)(Y,{className:bd.noOptions,ownerState:bc,role:"presentation",onMouseDown:a=>{a.preventDefault()},children:ar}),a5.length>0?(0,C.jsx)(bf,{as:am,...bg,children:a5.map((a,b)=>ag?bl({key:a.key,group:a.group,children:a.options.map((b,c)=>bn(b,a.index+c))}):bn(a,b))}):null]})}):null]})})},65343:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(11801),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},66335:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(38301);let e=a=>{let b=d.useRef({});return d.useEffect(()=>{b.current=a}),b.current}}};
@@ -1 +0,0 @@
1
- exports.id=3101,exports.ids=[1925,3101,3629,4306,6793,9174],exports.modules={1925:(a,b,c)=>{"use strict";c.d(b,{Hm:()=>f,xc:()=>e});let d=["key","secret","token","password"],e=a=>d.some(b=>a.toLowerCase().includes(b)),f=a=>e(a)||"authorization"===a.trim().toLowerCase()},3676:(a,b,c)=>{"use strict";c.d(b,{Wj:()=>h,ln:()=>g});var d=c(10641),e=c(58739);let f="encryption_locked";async function g(){return(0,e.isEncryptionLocked)()}async function h(a){return await g()?a?.openai?d.NextResponse.json({error:{message:"Encryption is locked. Unlock FLUJO to continue.",type:f,code:f,param:null}},{status:423}):d.NextResponse.json({error:f},{status:423}):null}},37426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"40ec842092ea232b6d4aa599a380d422184da5e1ca":()=>d.resolveGlobalVars,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb":()=>d.G});var d=c(73456)},41115:(a,b,c)=>{"use strict";c.d(b,{$:()=>h,v5:()=>g});var d=c(10641);let e=new Set(["localhost","127.0.0.1","::1"]);function f(a){let b=a.toLowerCase();return!!e.has(b)||(function(){let a=process.env.FLUJO_EXTRA_LOCAL_HOSTS;return a?a.split(",").map(a=>a.trim().toLowerCase()).filter(a=>a.length>0&&"."!==a):[]})().some(a=>a.startsWith(".")?b.endsWith(a):b===a)}function g(a,b){let c=function(a){if(!a)return null;let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return a>0?b.slice(1,a):null}return b.split(":")[0]||null}(a);if(!c||!f(c))return!1;if(b)try{if(!f(new URL(b).hostname))return!1}catch{return!1}return!0}function h(a){return g(a.headers.get("host"),a.headers.get("origin"))?null:d.NextResponse.json({error:"Forbidden: this endpoint only accepts local requests."},{status:403})}},42398:(a,b,c)=>{"use strict";c.d(b,{QE:()=>l,_u:()=>n,aZ:()=>k,qf:()=>o,v5:()=>h.v5,xK:()=>m,xV:()=>p});var d=c(50846),e=c(60453),f=c(3676),g=c(68780),h=c(41115);let i=(0,d.h)("backend/services/mcp/proxyForward"),j="FLUJO encryption is locked (encryption_locked). Unlock FLUJO to continue.";async function k(a){let b=await e.mcpService.loadServerConfigs();if(!Array.isArray(b))return i.warn("isServerExposed: failed to load server configs",{error:b.error}),!1;let c=b.find(b=>b.name===a);return!!c&&!c.disabled&&!0===c.exposeAsMcpServer}async function l(a){if(await (0,f.ln)())throw Error(j);let b=await e.mcpService.connectServer(a);if(!b.success)throw Error(`Failed to connect to MCP server '${a}': ${b.error}`);let c=await e.mcpService.listServerTools(a);if(c.error)throw Error(`Failed to list tools for '${a}': ${c.error}`);return{tools:c.tools??[]}}async function m(a,b,c){if(await (0,f.ln)())return{content:[{type:"text",text:j}],isError:!0};let d=await e.mcpService.connectServer(a);if(!d.success)return{content:[{type:"text",text:`Error connecting to '${a}': ${d.error}`}],isError:!0};let g=await e.mcpService.callTool(a,b,c);return g.success?g.data:{content:[{type:"text",text:`Error: ${g.error??"Unknown error"}`}],isError:!0}}async function n(a){if(await (0,f.ln)())throw Error(j);let b=await e.mcpService.connectServer(a);if(!b.success)throw Error(`Failed to connect to MCP server '${a}': ${b.error}`);let c=await e.mcpService.listServerResources(a);if(c.error)throw Error(`Failed to list resources for '${a}': ${c.error}`);return{resources:c.resources??[]}}async function o(a){if(await (0,f.ln)())throw Error(j);let b=await e.mcpService.connectServer(a);if(!b.success)throw Error(`Failed to connect to MCP server '${a}': ${b.error}`);let c=await e.mcpService.listServerResourceTemplates(a);if(c.error)throw Error(`Failed to list resource templates for '${a}': ${c.error}`);return{resourceTemplates:c.resourceTemplates??[]}}async function p(a,b){if(await (0,f.ln)())throw Error(j);let c=await e.mcpService.connectServer(a);if(!c.success)throw Error(`Failed to connect to MCP server '${a}': ${c.error}`);let d=await e.mcpService.readResource(a,b);if(!d.success||!d.data)throw new g.Nh(g.O4.InvalidParams,`Resource not found: '${b}' on server '${a}': ${d.error??"unknown error"}`);return d.data}},56793:(a,b,c)=>{"use strict";c.d(b,{eh:()=>g,ru:()=>e});let d=(0,c(50846).h)("backend/services/scheduler/flowRunEventBus");function e(a){return"signal"===a.kind}class f{publish(a){if(0===this.listeners.size)return;let b=e(a)?`signal topic=${a.topic} emitter=${a.emitterFlowId}`:`flow=${a.flowId} status=${a.status}`;for(let c of(d.debug(`Publishing flow event: ${b} firedBy=${a.firedBy} depth=${a.chainDepth} listeners=${this.listeners.size}`),[...this.listeners]))try{c(a)}catch(a){d.warn("A flow-run event listener threw:",a)}}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}get listenerCount(){return this.listeners.size}constructor(){this.listeners=new Set}}function g(){return global.__flujo_flow_run_event_bus||(global.__flujo_flow_run_event_bus=new f),global.__flujo_flow_run_event_bus}},73456:(a,b,c)=>{"use strict";c.d(b,{G:()=>l,resolveGlobalVars:()=>k});var d=c(75879);c(68633);var e=c(50846),f=c(92372),g=c(38844),h=c(58739),i=c(51669);let j=(0,e.h)("backend/utils/resolveGlobalVars");async function k(a){j.debug("Entering resolveGlobalVars method");let b=await (0,f.YM)(g.Z.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);j.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:")){j.debug(`Decrypting encrypted global variable: ${b}`);try{let a=e.substring(10),c=await (0,h.decryptWithPassword)(a);if(c)e=c,j.debug(`Successfully decrypted global variable: ${b}`);else{j.warn(`Failed to decrypt global variable: ${b}`);continue}}catch(a){j.error(`Error decrypting global variable: ${b}`,a);continue}}else if(e.startsWith("encrypted_failed:")){j.warn(`Skipping failed encrypted global variable: ${b}`);continue}j.debug(`Resolved global variable: ${b}`),c=c.replace(a,e)}else j.warn(`Global variable not found: ${b}`)}return c},i=async a=>{if("string"==typeof a)return await e(a);if(Array.isArray(a))return await Promise.all(a.map(a=>i(a)));if(null!==a&&"object"==typeof a){let b={};for(let[c,d]of Object.entries(a))b[c]=await i(d);return b}return a},k=await i(a);return"object"==typeof a&&null!==a&&j.debug("Resolved global variables result:",JSON.stringify(k,null,2)),j.debug("Completed global variable resolution"),k}async function l(a,b=0){if(j.debug(`Entering resolveAndDecryptApiKey method (depth: ${b})`),!a)return j.warn("Empty value provided"),null;if(b>=10)return j.warn(`Maximum resolution depth reached (10) for value: ${a}`),a;let c=a;if(c.startsWith("encrypted:")){j.debug(`Decrypting encrypted value at depth ${b}`);try{let a=c.substring(10),d=await (0,h.decryptWithPassword)(a);if(!d)return j.warn(`Failed to decrypt value at depth ${b}`),null;j.debug(`Successfully decrypted value at depth ${b}`),j.verbose(d),c=d}catch(a){return j.error(`Error decrypting value at depth ${b}:`,a),null}}else c.startsWith("encrypted_failed:")&&(j.warn(`Skipping failed encrypted value at depth ${b}`),c=c.substring(17));if(c.includes("${global:")){j.debug(`Resolving global variables at depth ${b}`);try{let a=await k(c);if(j.verbose(a),a!==c)return j.debug(`Value changed after resolving globals at depth ${b}, processing recursively`),l(a,b+1);c=a}catch(a){return j.error(`Error resolving global variables at depth ${b}:`,a),null}}return j.debug(`Completed resolveAndDecryptApiKey at depth ${b}`),c}(0,i.D)([k,l]),(0,d.A)(k,"40ec842092ea232b6d4aa599a380d422184da5e1ca",null),(0,d.A)(l,"602ea7ca289a8eaa1000fb321a71e292e6c766b6bb",null)},78335:()=>{},96487:()=>{}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3273,exports.ids=[3273],exports.modules={7503:(a,b,c)=>{c.d(b,{A:()=>p});var d=c(38301),e=c(43249),f=c(2783),g=c(41126),h=c(18168),i=c(6636),j=c(79515),k=c(29565),l=c(33105);function m(a){return(0,l.Ay)("MuiDialogContentText",a)}(0,k.A)("MuiDialogContentText",["root"]);var n=c(21124);let o=(0,h.Ay)(j.default,{shouldForwardProp:a=>(0,g.A)(a)||"classes"===a,name:"MuiDialogContentText",slot:"Root",overridesResolver:(a,b)=>b.root})({}),p=d.forwardRef(function(a,b){let c=(0,i.b)({props:a,name:"MuiDialogContentText"}),{children:d,className:g,...h}=c,j=(a=>{let{classes:b}=a,c=(0,f.A)({root:["root"]},m,b);return{...b,...c}})(h);return(0,n.jsx)(o,{component:"p",variant:"body1",color:"textSecondary",ref:b,ownerState:h,className:(0,e.A)(j.root,g),...c,classes:j})})},22042:(a,b,c)=>{c.d(b,{A:()=>Q});var d=c(38301),e=c(43249),f=c(2783),g=c(38404),h=c(94633),i=c(18168),j=c(60839),k=c(68333),l=c(6636),m=c(74907);function n(a){return(1+Math.sin(Math.PI*a-Math.PI/2))/2}var o=c(14758),p=c(5141),q=c(21124);let r={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};var s=c(11801);let t=(0,s.A)((0,q.jsx)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),u=(0,s.A)((0,q.jsx)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");var v=c(14328),w=c(29565),x=c(33105);function y(a){return(0,x.Ay)("MuiTabScrollButton",a)}let z=(0,w.A)("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),A=(0,i.Ay)(v.A,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.orientation&&b[c.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${z.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),B=d.forwardRef(function(a,b){let c=(0,l.b)({props:a,name:"MuiTabScrollButton"}),{className:d,slots:i={},slotProps:j={},direction:k,orientation:m,disabled:n,...o}=c,p=(0,g.I)(),r={isRtl:p,...c},s=(a=>{let{classes:b,orientation:c,disabled:d}=a;return(0,f.A)({root:["root",c,d&&"disabled"]},y,b)})(r),v=i.StartScrollButtonIcon??t,w=i.EndScrollButtonIcon??u,x=(0,h.A)({elementType:v,externalSlotProps:j.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:r}),z=(0,h.A)({elementType:w,externalSlotProps:j.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:r});return(0,q.jsx)(A,{component:"div",className:(0,e.A)(s.root,d),ref:b,role:null,ownerState:r,tabIndex:null,...o,style:{...o.style,..."vertical"===m&&{"--TabScrollButton-svgRotate":`rotate(${p?-90:90}deg)`}},children:"left"===k?(0,q.jsx)(v,{...x}):(0,q.jsx)(w,{...z})})});var C=c(87974);function D(a){return(0,x.Ay)("MuiTabs",a)}let E=(0,w.A)("MuiTabs",["root","vertical","list","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]);var F=c(97896),G=c(20385);let H=(a,b)=>a===b?a.firstChild:b&&b.nextElementSibling?b.nextElementSibling:a.firstChild,I=(a,b)=>a===b?a.lastChild:b&&b.previousElementSibling?b.previousElementSibling:a.lastChild,J=(a,b,c)=>{let d=!1,e=c(a,b);for(;e;){if(e===a.firstChild){if(d)return;d=!0}let b=e.disabled||"true"===e.getAttribute("aria-disabled");if(e.hasAttribute("tabindex")&&!b)return void e.focus();e=c(a,e)}},K=(0,i.Ay)("div",{name:"MuiTabs",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[{[`& .${E.scrollButtons}`]:b.scrollButtons},{[`& .${E.scrollButtons}`]:c.scrollButtonsHideMobile&&b.scrollButtonsHideMobile},b.root,c.vertical&&b.vertical]}})((0,k.A)(({theme:a})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:a})=>a.vertical,style:{flexDirection:"column"}},{props:({ownerState:a})=>a.scrollButtonsHideMobile,style:{[`& .${E.scrollButtons}`]:{[a.breakpoints.down("sm")]:{display:"none"}}}}]}))),L=(0,i.Ay)("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.scroller,c.fixed&&b.fixed,c.hideScrollbar&&b.hideScrollbar,c.scrollableX&&b.scrollableX,c.scrollableY&&b.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:a})=>a.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:a})=>a.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:a})=>a.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:a})=>a.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),M=(0,i.Ay)("div",{name:"MuiTabs",slot:"List",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.list,b.flexContainer,c.vertical&&b.flexContainerVertical,c.centered&&b.centered]}})({display:"flex",variants:[{props:({ownerState:a})=>a.vertical,style:{flexDirection:"column"}},{props:({ownerState:a})=>a.centered,style:{justifyContent:"center"}}]}),N=(0,i.Ay)("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(a,b)=>b.indicator})((0,k.A)(({theme:a})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:a.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(a.vars||a).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(a.vars||a).palette.secondary.main}},{props:({ownerState:a})=>a.vertical,style:{height:"100%",width:2,right:0}}]}))),O=(0,i.Ay)(function(a){let{onChange:b,...c}=a,e=d.useRef(),f=d.useRef(null),g=()=>{e.current=f.current.offsetHeight-f.current.clientHeight};return(0,o.A)(()=>{let a=(0,m.A)(()=>{let a=e.current;g(),a!==e.current&&b(e.current)}),c=(0,p.A)(f.current);return c.addEventListener("resize",a),()=>{a.clear(),c.removeEventListener("resize",a)}},[b]),d.useEffect(()=>{g(),b(e.current)},[b]),(0,q.jsx)("div",{style:r,...c,ref:f})})({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),P={},Q=d.forwardRef(function(a,b){let c=(0,l.b)({props:a,name:"MuiTabs"}),i=(0,j.A)(),k=(0,g.I)(),{"aria-label":o,"aria-labelledby":r,action:s,centered:t=!1,children:u,className:v,component:w="div",allowScrollButtonsMobile:x=!1,indicatorColor:y="primary",onChange:z,orientation:A="horizontal",ScrollButtonComponent:E,scrollButtons:Q="auto",selectionFollowsFocus:R,slots:S={},slotProps:T={},TabIndicatorProps:U={},TabScrollButtonProps:V={},textColor:W="primary",value:X,variant:Y="standard",visibleScrollbar:Z=!1,...$}=c,_="scrollable"===Y,aa="vertical"===A,ab=aa?"scrollTop":"scrollLeft",ac=aa?"top":"left",ad=aa?"bottom":"right",ae=aa?"clientHeight":"clientWidth",af=aa?"height":"width",ag={...c,component:w,allowScrollButtonsMobile:x,indicatorColor:y,orientation:A,vertical:aa,scrollButtons:Q,textColor:W,variant:Y,visibleScrollbar:Z,fixed:!_,hideScrollbar:_&&!Z,scrollableX:_&&!aa,scrollableY:_&&aa,centered:t&&!_,scrollButtonsHideMobile:!x},ah=(a=>{let{vertical:b,fixed:c,hideScrollbar:d,scrollableX:e,scrollableY:g,centered:h,scrollButtonsHideMobile:i,classes:j}=a;return(0,f.A)({root:["root",b&&"vertical"],scroller:["scroller",c&&"fixed",d&&"hideScrollbar",e&&"scrollableX",g&&"scrollableY"],list:["list","flexContainer",b&&"flexContainerVertical",b&&"vertical",h&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[e&&"scrollableX"],hideScrollbar:[d&&"hideScrollbar"]},D,j)})(ag),ai=(0,h.A)({elementType:S.StartScrollButtonIcon,externalSlotProps:T.startScrollButtonIcon,ownerState:ag}),aj=(0,h.A)({elementType:S.EndScrollButtonIcon,externalSlotProps:T.endScrollButtonIcon,ownerState:ag}),[ak,al]=d.useState(!1),[am,an]=d.useState(P),[ao,ap]=d.useState(!1),[aq,ar]=d.useState(!1),[as,at]=d.useState(!1),[au,av]=d.useState({overflow:"hidden",scrollbarWidth:0}),aw=new Map,ax=d.useRef(null),ay=d.useRef(null),az={slots:S,slotProps:{indicator:U,scrollButton:V,...T}},aA=()=>{let a,b,c=ax.current;if(c){let b=c.getBoundingClientRect();a={clientWidth:c.clientWidth,scrollLeft:c.scrollLeft,scrollTop:c.scrollTop,scrollWidth:c.scrollWidth,top:b.top,bottom:b.bottom,left:b.left,right:b.right}}if(c&&!1!==X){let a=ay.current.children;if(a.length>0){let c=a[aw.get(X)];b=c?c.getBoundingClientRect():null}}return{tabsMeta:a,tabMeta:b}},aB=(0,C.A)(()=>{let a,{tabsMeta:b,tabMeta:c}=aA(),d=0;aa?(a="top",c&&b&&(d=c.top-b.top+b.scrollTop)):(a=k?"right":"left",c&&b&&(d=(k?-1:1)*(c[a]-b[a]+b.scrollLeft)));let e={[a]:d,[af]:c?c[af]:0};if("number"!=typeof am[a]||"number"!=typeof am[af])an(e);else{let b=Math.abs(am[a]-e[a]),c=Math.abs(am[af]-e[af]);(b>=1||c>=1)&&an(e)}}),aC=(a,{animation:b=!0}={})=>{b?function(a,b,c,d={},e=()=>{}){let{ease:f=n,duration:g=300}=d,h=null,i=b[a],j=!1,k=d=>{if(j)return void e(Error("Animation cancelled"));null===h&&(h=d);let l=Math.min(1,(d-h)/g);if(b[a]=f(l)*(c-i)+i,l>=1)return void requestAnimationFrame(()=>{e(null)});requestAnimationFrame(k)};i===c?e(Error("Element already at target position")):requestAnimationFrame(k)}(ab,ax.current,a,{duration:i.transitions.duration.standard}):ax.current[ab]=a},aD=a=>{let b=ax.current[ab];aa?b+=a:b+=a*(k?-1:1),aC(b)},aE=()=>{let a=ax.current[ae],b=0,c=Array.from(ay.current.children);for(let d=0;d<c.length;d+=1){let e=c[d];if(b+e[ae]>a){0===d&&(b=a);break}b+=e[ae]}return b},aF=()=>{aD(-1*aE())},aG=()=>{aD(aE())},[aH,{onChange:aI,...aJ}]=(0,G.A)("scrollbar",{className:(0,e.A)(ah.scrollableX,ah.hideScrollbar),elementType:O,shouldForwardComponentProp:!0,externalForwardedProps:az,ownerState:ag}),aK=d.useCallback(a=>{aI?.(a),av({overflow:null,scrollbarWidth:a})},[aI]),[aL,aM]=(0,G.A)("scrollButtons",{className:(0,e.A)(ah.scrollButtons,V.className),elementType:B,externalForwardedProps:az,ownerState:ag,additionalProps:{orientation:A,slots:{StartScrollButtonIcon:S.startScrollButtonIcon||S.StartScrollButtonIcon,EndScrollButtonIcon:S.endScrollButtonIcon||S.EndScrollButtonIcon},slotProps:{startScrollButtonIcon:ai,endScrollButtonIcon:aj}}}),aN=(0,C.A)(a=>{let{tabsMeta:b,tabMeta:c}=aA();c&&b&&(c[ac]<b[ac]?aC(b[ab]+(c[ac]-b[ac]),{animation:a}):c[ad]>b[ad]&&aC(b[ab]+(c[ad]-b[ad]),{animation:a}))}),aO=(0,C.A)(()=>{_&&!1!==Q&&at(!as)});d.useEffect(()=>{let a,b,c=(0,m.A)(()=>{ax.current&&aB()}),d=(0,p.A)(ax.current);return d.addEventListener("resize",c),"undefined"!=typeof ResizeObserver&&(a=new ResizeObserver(c),Array.from(ay.current.children).forEach(b=>{a.observe(b)})),"undefined"!=typeof MutationObserver&&(b=new MutationObserver(b=>{b.forEach(b=>{b.removedNodes.forEach(b=>{a?.unobserve(b)}),b.addedNodes.forEach(b=>{a?.observe(b)})}),c(),aO()})).observe(ay.current,{childList:!0}),()=>{c.clear(),d.removeEventListener("resize",c),b?.disconnect(),a?.disconnect()}},[aB,aO]),d.useEffect(()=>{let a=Array.from(ay.current.children),b=a.length;if("undefined"!=typeof IntersectionObserver&&b>0&&_&&!1!==Q){let c=a[0],d=a[b-1],e={root:ax.current,threshold:.99},f=new IntersectionObserver(a=>{ap(!a[0].isIntersecting)},e);f.observe(c);let g=new IntersectionObserver(a=>{ar(!a[0].isIntersecting)},e);return g.observe(d),()=>{f.disconnect(),g.disconnect()}}},[_,Q,as,u?.length]),d.useEffect(()=>{al(!0)},[]),d.useEffect(()=>{aB()}),d.useEffect(()=>{aN(P!==am)},[aN,am]),d.useImperativeHandle(s,()=>({updateIndicator:aB,updateScrollButtons:aO}),[aB,aO]);let[aP,aQ]=(0,G.A)("indicator",{className:(0,e.A)(ah.indicator,U.className),elementType:N,externalForwardedProps:az,ownerState:ag,additionalProps:{style:am}}),aR=(0,q.jsx)(aP,{...aQ}),aS=0,aT=d.Children.map(u,a=>{if(!d.isValidElement(a))return null;let b=void 0===a.props.value?aS:a.props.value;aw.set(b,aS);let c=b===X;return aS+=1,d.cloneElement(a,{fullWidth:"fullWidth"===Y,indicator:c&&!ak&&aR,selected:c,selectionFollowsFocus:R,onChange:z,textColor:W,value:b,...1===aS&&!1===X&&!a.props.tabIndex?{tabIndex:0}:{}})}),aU=(()=>{let a={};a.scrollbarSizeListener=_?(0,q.jsx)(aH,{...aJ,onChange:aK}):null;let b=_&&("auto"===Q&&(ao||aq)||!0===Q);return a.scrollButtonStart=b?(0,q.jsx)(aL,{direction:k?"right":"left",onClick:aF,disabled:!ao,...aM}):null,a.scrollButtonEnd=b?(0,q.jsx)(aL,{direction:k?"left":"right",onClick:aG,disabled:!aq,...aM}):null,a})(),[aV,aW]=(0,G.A)("root",{ref:b,className:(0,e.A)(ah.root,v),elementType:K,externalForwardedProps:{...az,...$,component:w},ownerState:ag}),[aX,aY]=(0,G.A)("scroller",{ref:ax,className:ah.scroller,elementType:L,externalForwardedProps:az,ownerState:ag,additionalProps:{style:{overflow:au.overflow,[aa?`margin${k?"Left":"Right"}`:"marginBottom"]:Z?void 0:-au.scrollbarWidth}}}),[aZ,a$]=(0,G.A)("list",{ref:ay,className:(0,e.A)(ah.list,ah.flexContainer),elementType:M,externalForwardedProps:az,ownerState:ag,getSlotProps:a=>({...a,onKeyDown:b=>{(a=>{if(a.altKey||a.shiftKey||a.ctrlKey||a.metaKey)return;let b=ay.current,c=(0,F.A)(b).activeElement;if("tab"!==c.getAttribute("role"))return;let d="horizontal"===A?"ArrowLeft":"ArrowUp",e="horizontal"===A?"ArrowRight":"ArrowDown";switch("horizontal"===A&&k&&(d="ArrowRight",e="ArrowLeft"),a.key){case d:a.preventDefault(),J(b,c,I);break;case e:a.preventDefault(),J(b,c,H);break;case"Home":a.preventDefault(),J(b,null,H);break;case"End":a.preventDefault(),J(b,null,I)}})(b),a.onKeyDown?.(b)}})});return(0,q.jsxs)(aV,{...aW,children:[aU.scrollButtonStart,aU.scrollbarSizeListener,(0,q.jsxs)(aX,{...aY,children:[(0,q.jsx)(aZ,{"aria-label":o,"aria-labelledby":r,"aria-orientation":"vertical"===A?"vertical":null,role:"tablist",...a$,children:aT}),ak&&aR]}),aU.scrollButtonEnd]})})},30583:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(44548),e=c(22845);function f({props:a,name:b,defaultTheme:c,themeId:f}){let g=(0,e.A)(c);return f&&(g=g[f]||g),(0,d.A)({theme:g,name:b,props:a})}},34304:(a,b,c)=>{c.d(b,{A:()=>r});var d=c(38301),e=c(43249),f=c(2783),g=c(14328),h=c(6638),i=c(18168),j=c(68333),k=c(6636),l=c(29565),m=c(33105);function n(a){return(0,m.Ay)("MuiTab",a)}let o=(0,l.A)("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]);var p=c(21124);let q=(0,i.Ay)(g.A,{name:"MuiTab",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,c.label&&c.icon&&b.labelIcon,b[`textColor${(0,h.A)(c.textColor)}`],c.fullWidth&&b.fullWidth,c.wrapped&&b.wrapped,{[`& .${o.iconWrapper}`]:b.iconWrapper},{[`& .${o.icon}`]:b.icon}]}})((0,j.A)(({theme:a})=>({...a.typography.button,maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center",lineHeight:1.25,variants:[{props:({ownerState:a})=>a.label&&("top"===a.iconPosition||"bottom"===a.iconPosition),style:{flexDirection:"column"}},{props:({ownerState:a})=>a.label&&"top"!==a.iconPosition&&"bottom"!==a.iconPosition,style:{flexDirection:"row"}},{props:({ownerState:a})=>a.icon&&a.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:a,iconPosition:b})=>a.icon&&a.label&&"top"===b,style:{[`& > .${o.icon}`]:{marginBottom:6}}},{props:({ownerState:a,iconPosition:b})=>a.icon&&a.label&&"bottom"===b,style:{[`& > .${o.icon}`]:{marginTop:6}}},{props:({ownerState:a,iconPosition:b})=>a.icon&&a.label&&"start"===b,style:{[`& > .${o.icon}`]:{marginRight:a.spacing(1)}}},{props:({ownerState:a,iconPosition:b})=>a.icon&&a.label&&"end"===b,style:{[`& > .${o.icon}`]:{marginLeft:a.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${o.selected}`]:{opacity:1},[`&.${o.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(a.vars||a).palette.text.secondary,[`&.${o.selected}`]:{color:(a.vars||a).palette.primary.main},[`&.${o.disabled}`]:{color:(a.vars||a).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(a.vars||a).palette.text.secondary,[`&.${o.selected}`]:{color:(a.vars||a).palette.secondary.main},[`&.${o.disabled}`]:{color:(a.vars||a).palette.text.disabled}}},{props:({ownerState:a})=>a.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:a})=>a.wrapped,style:{fontSize:a.typography.pxToRem(12)}}]}))),r=d.forwardRef(function(a,b){let c=(0,k.b)({props:a,name:"MuiTab"}),{className:g,disabled:i=!1,disableFocusRipple:j=!1,fullWidth:l,icon:m,iconPosition:o="top",indicator:r,label:s,onChange:t,onClick:u,onFocus:v,selected:w,selectionFollowsFocus:x,textColor:y="inherit",value:z,wrapped:A=!1,...B}=c,C={...c,disabled:i,disableFocusRipple:j,selected:w,icon:!!m,iconPosition:o,label:!!s,fullWidth:l,textColor:y,wrapped:A},D=(a=>{let{classes:b,textColor:c,fullWidth:d,wrapped:e,icon:g,label:i,selected:j,disabled:k}=a,l={root:["root",g&&i&&"labelIcon",`textColor${(0,h.A)(c)}`,d&&"fullWidth",e&&"wrapped",j&&"selected",k&&"disabled"],icon:["iconWrapper","icon"]};return(0,f.A)(l,n,b)})(C),E=m&&s&&d.isValidElement(m)?d.cloneElement(m,{className:(0,e.A)(D.icon,m.props.className)}):m;return(0,p.jsxs)(q,{focusRipple:!j,className:(0,e.A)(D.root,g),ref:b,role:"tab","aria-selected":w,disabled:i,onClick:a=>{!w&&t&&t(a,z),u&&u(a)},onFocus:a=>{x&&!w&&t&&t(a,z),v&&v(a)},ownerState:C,tabIndex:w?0:-1,...B,children:["top"===o||"start"===o?(0,p.jsxs)(d.Fragment,{children:[E,s]}):(0,p.jsxs)(d.Fragment,{children:[s,E]}),r]})})},38435:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(57931).Ay)()},44548:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(75575);function e(a){let{theme:b,name:c,props:e}=a;return b&&b.components&&b.components[c]&&b.components[c].defaultProps?(0,d.A)(b.components[c].defaultProps,e):e}},53773:(a,b,c)=>{c.d(b,{A:()=>v});var d=c(38301),e=c(43249),f=c(3253),g=c(33105),h=c(2783),i=c(38435),j=c(30583),k=c(69467),l=c(49103),m=c(80751),n=c(49939),o=c(21124);let p=(0,l.A)(),q=(0,i.A)("div",{name:"MuiStack",slot:"Root",overridesResolver:(a,b)=>b.root});function r(a){return(0,j.A)({props:a,name:"MuiStack",defaultTheme:p})}let s=({ownerState:a,theme:b})=>{let c={display:"flex",flexDirection:"column",...(0,m.NI)({theme:b},(0,m.kW)({values:a.direction,breakpoints:b.breakpoints.values}),a=>({flexDirection:a}))};if(a.spacing){let d=(0,n.LX)(b),e=Object.keys(b.breakpoints.values).reduce((b,c)=>(("object"==typeof a.spacing&&null!=a.spacing[c]||"object"==typeof a.direction&&null!=a.direction[c])&&(b[c]=!0),b),{}),g=(0,m.kW)({values:a.direction,base:e}),h=(0,m.kW)({values:a.spacing,base:e});"object"==typeof g&&Object.keys(g).forEach((a,b,c)=>{if(!g[a]){let d=b>0?g[c[b-1]]:"column";g[a]=d}}),c=(0,f.A)(c,(0,m.NI)({theme:b},h,(b,c)=>a.useFlexGap?{gap:(0,n._W)(d,b)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[c?g[c]:a.direction]}`]:(0,n._W)(d,b)}}))}return(0,m.iZ)(b.breakpoints,c)};var t=c(18168),u=c(6636);let v=function(a={}){let{createStyledComponent:b=q,useThemeProps:c=r,componentName:f="MuiStack"}=a,i=b(s);return d.forwardRef(function(a,b){let j=c(a),{component:l="div",direction:m="column",spacing:n=0,divider:p,children:q,className:r,useFlexGap:s=!1,...t}=(0,k.A)(j),u=(0,h.A)({root:["root"]},a=>(0,g.Ay)(f,a),{});return(0,o.jsx)(i,{as:l,ownerState:{direction:m,spacing:n,useFlexGap:s},ref:b,className:(0,e.A)(u.root,r),...t,children:p?function(a,b){let c=d.Children.toArray(a).filter(Boolean);return c.reduce((a,e,f)=>(a.push(e),f<c.length-1&&a.push(d.cloneElement(b,{key:`separator-${f}`})),a),[])}(q,p):q})})}({createStyledComponent:(0,t.Ay)("div",{name:"MuiStack",slot:"Root",overridesResolver:(a,b)=>b.root}),useThemeProps:a=>(0,u.b)({props:a,name:"MuiStack"})})}};
@@ -1 +0,0 @@
1
- exports.id=3648,exports.ids=[3648],exports.modules={22682:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactDOM},27825:(a,b,c)=>{"use strict";a.exports=c(33030)},31716:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isRequestAPICallableInsideAfter:function(){return i},throwForSearchParamsAccessInUseCache:function(){return h},throwWithStaticGenerationBailoutError:function(){return f},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return g}});let d=c(11938),e=c(3295);function f(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E576",enumerable:!1,configurable:!0})}function g(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function h(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used "searchParams" inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await "searchParams" outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E779",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function i(){let a=e.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},33030:(a,b,c)=>{"use strict";var d=c(28354),e=c(22682),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},48723:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(51506),e=c(96896);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},51506:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:"/"+a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},77533:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(49290),f=c(48723),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},77925:()=>{},84226:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{describeHasCheckingStringProperty:function(){return e},describeStringPropertyAccess:function(){return d},wellKnownProperties:function(){return f}});let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?"`"+a+"."+b+"`":"`"+a+"["+JSON.stringify(b)+"]`"}function e(a,b){let c=JSON.stringify(b);return"`Reflect.has("+a+", "+c+")`, `"+c+" in "+a+"`, or similar"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},96896:(a,b)=>{"use strict";function c(a){return"("===a[0]&&a.endsWith(")")}function d(a){return a.startsWith("@")&&"@children"!==a}function e(a,b){if(a.includes(f)){let a=JSON.stringify(b);return"{}"!==a?f+"?"+a:f}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DEFAULT_SEGMENT_KEY:function(){return g},PAGE_SEGMENT_KEY:function(){return f},addSearchParamsIfPageSegment:function(){return e},isGroupSegment:function(){return c},isParallelRouteSegment:function(){return d}});let f="__PAGE__",g="__DEFAULT__"},97954:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactServerDOMWebpackServer}};