flujo-ai 3.31.0 → 3.34.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 (707) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +384 -342
  3. package/.next/app-path-routes-manifest.json +23 -19
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +24 -24
  6. package/.next/react-loadable-manifest.json +29 -14
  7. package/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +2 -2
  11. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  12. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  13. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/approvals/route.js +2 -2
  15. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  16. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/backup/route.js +1 -1
  18. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  19. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/browse/route.js +1 -1
  21. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  22. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/bugs/enhance/route.js +3 -3
  24. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/cwd/route.js +1 -1
  27. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  28. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/encryption/secure/route.js +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  31. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/env/route.js +2 -2
  33. package/.next/server/app/api/env/route.js.nft.json +1 -1
  34. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/flow/[id]/route.js +1 -1
  36. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  39. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  42. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  43. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/flow/compile/route.js +1 -1
  45. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/flow/generate/route.js +1 -1
  48. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  49. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/flow/generator/route.js +28 -0
  51. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -0
  52. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/flow/improve/route.js +1 -1
  54. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  57. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  58. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  60. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  61. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/flow/repair/route.js +1 -1
  63. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  64. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/flow/route.js +1 -1
  66. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  67. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/git/route.js +1 -1
  69. package/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/init/route.js +1 -1
  72. package/.next/server/app/api/init/route.js.nft.json +1 -1
  73. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  78. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  81. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  82. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  84. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  105. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  106. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  108. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/mcp/servers/route.js +1 -1
  111. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  112. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  114. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  115. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  117. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  118. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/mcp-registry/route.js +2 -2
  120. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  121. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  123. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  124. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/model/[id]/route.js +1 -1
  126. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  127. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/model/provider/route.js +2 -2
  129. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  130. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/model/route.js +1 -1
  132. package/.next/server/app/api/model/route.js.nft.json +1 -1
  133. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/model/test/route.js +2 -2
  135. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  136. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/oauth/callback/route.js +2 -2
  138. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  139. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  141. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  142. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/oauth/reset/route.js +2 -2
  144. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  145. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/packages/build/route.js +1 -1
  147. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  148. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  150. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  151. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/packages/install/route.js +1 -1
  153. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  154. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/packages/install/status/route.js +1 -1
  156. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  157. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/packages/installed/route.js +1 -1
  159. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  160. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/packages/resolve/route.js +1 -1
  162. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  163. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/packages/scan-targets/route.js +1 -1
  165. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  166. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/packages/search/route.js +1 -1
  168. package/.next/server/app/api/packages/search/route.js.nft.json +1 -1
  169. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  171. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  172. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  174. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  177. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  178. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  180. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  181. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  183. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  184. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  186. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  187. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/planned-executions/route.js +1 -1
  189. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  190. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  192. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  193. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  195. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  196. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/registry/auth/route.js +1 -1
  198. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  199. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/registry/feedback/route.js +1 -0
  201. package/.next/server/app/api/registry/feedback/route.js.nft.json +1 -0
  202. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  204. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  205. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  207. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  208. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/registry/packages/route.js +1 -0
  210. package/.next/server/app/api/registry/packages/route.js.nft.json +1 -0
  211. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/registry/publish/route.js +1 -1
  213. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  214. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/registry/settings/route.js +1 -1
  216. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  217. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/restore/route.js +1 -1
  219. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  220. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/runs/active/route.js +2 -2
  222. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  223. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/storage/route.js +1 -1
  225. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  226. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/telemetry/daily-active/route.js +1 -0
  228. package/.next/server/app/api/telemetry/daily-active/route.js.nft.json +1 -0
  229. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -0
  230. package/.next/server/app/api/update/route.js +1 -1
  231. package/.next/server/app/api/update/route.js.nft.json +1 -1
  232. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/waves/route.js +1 -1
  234. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  235. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  237. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  238. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/chat/page.js +58 -10
  240. package/.next/server/app/chat/page.js.nft.json +1 -1
  241. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/chat.html +1 -1
  243. package/.next/server/app/chat.rsc +3 -3
  244. package/.next/server/app/docs/page.js +4 -5
  245. package/.next/server/app/docs/page.js.nft.json +1 -1
  246. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  247. package/.next/server/app/docs.html +1 -1
  248. package/.next/server/app/docs.rsc +3 -3
  249. package/.next/server/app/executions/page.js +3 -2
  250. package/.next/server/app/executions/page.js.nft.json +1 -1
  251. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  252. package/.next/server/app/executions.html +1 -1
  253. package/.next/server/app/executions.rsc +3 -3
  254. package/.next/server/app/flows/page.js +3 -3
  255. package/.next/server/app/flows/page.js.nft.json +1 -1
  256. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  257. package/.next/server/app/flows.html +1 -1
  258. package/.next/server/app/flows.rsc +3 -3
  259. package/.next/server/app/index.html +1 -1
  260. package/.next/server/app/index.rsc +3 -3
  261. package/.next/server/app/mcp/page.js +56 -5
  262. package/.next/server/app/mcp/page.js.nft.json +1 -1
  263. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  264. package/.next/server/app/mcp-flows/route.js +1 -1
  265. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  266. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  268. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  269. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/mcp.html +1 -1
  271. package/.next/server/app/mcp.rsc +3 -3
  272. package/.next/server/app/models/page.js +2 -2
  273. package/.next/server/app/models/page.js.nft.json +1 -1
  274. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  275. package/.next/server/app/packages/page.js +2 -2
  276. package/.next/server/app/packages/page.js.nft.json +1 -1
  277. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  278. package/.next/server/app/packages.html +1 -1
  279. package/.next/server/app/packages.rsc +3 -3
  280. package/.next/server/app/page.js +5 -3
  281. package/.next/server/app/page.js.nft.json +1 -1
  282. package/.next/server/app/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/settings/page.js +2 -2
  284. package/.next/server/app/settings/page.js.nft.json +1 -1
  285. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app/settings.html +1 -1
  287. package/.next/server/app/settings.rsc +3 -3
  288. package/.next/server/app/v1/chat/completions/route.js +1 -1
  289. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +2 -2
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -2
  310. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  311. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  313. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  316. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  317. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  319. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  322. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  323. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/v1/chat/events/route.js +3 -3
  325. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  326. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/v1/models/route.js +2 -2
  328. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  329. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/waves/page.js +3 -3
  331. package/.next/server/app/waves/page.js.nft.json +1 -1
  332. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/waves.html +1 -1
  334. package/.next/server/app/waves.rsc +3 -3
  335. package/.next/server/app-paths-manifest.json +23 -19
  336. package/.next/server/chunks/1114.js +1 -1
  337. package/.next/server/chunks/1226.js +1 -1
  338. package/.next/server/chunks/1227.js +1 -0
  339. package/.next/server/chunks/1314.js +1 -1
  340. package/.next/server/chunks/1439.js +1 -0
  341. package/.next/server/chunks/1578.js +1 -1
  342. package/.next/server/chunks/1634.js +1 -1
  343. package/.next/server/chunks/166.js +5 -5
  344. package/.next/server/chunks/1664.js +2 -0
  345. package/.next/server/chunks/180.js +12 -0
  346. package/.next/server/chunks/227.js +1 -5
  347. package/.next/server/chunks/2273.js +2 -2
  348. package/.next/server/chunks/2372.js +2 -0
  349. package/.next/server/chunks/2859.js +1 -1
  350. package/.next/server/chunks/3128.js +4 -4
  351. package/.next/server/chunks/3653.js +2 -0
  352. package/.next/server/chunks/3717.js +1 -0
  353. package/.next/server/chunks/3855.js +1 -0
  354. package/.next/server/chunks/4013.js +1 -0
  355. package/.next/server/chunks/4308.js +4 -0
  356. package/.next/server/chunks/{4685.js → 4466.js} +1 -1
  357. package/.next/server/chunks/4551.js +1 -1
  358. package/.next/server/chunks/4663.js +1 -0
  359. package/.next/server/chunks/4771.js +1 -1
  360. package/.next/server/chunks/4822.js +1 -0
  361. package/.next/server/chunks/5067.js +1 -1
  362. package/.next/server/chunks/519.js +2 -0
  363. package/.next/server/chunks/5285.js +1 -0
  364. package/.next/server/chunks/5309.js +78 -0
  365. package/.next/server/chunks/544.js +28 -27
  366. package/.next/server/chunks/5463.js +1 -1
  367. package/.next/server/chunks/5544.js +5 -5
  368. package/.next/server/chunks/5703.js +2 -0
  369. package/.next/server/chunks/6034.js +1 -1
  370. package/.next/server/chunks/{5708.js → 6041.js} +3 -4
  371. package/.next/server/chunks/6226.js +1 -1
  372. package/.next/server/chunks/6747.js +435 -0
  373. package/.next/server/chunks/6967.js +82 -0
  374. package/.next/server/chunks/{5548.js → 7058.js} +2 -2
  375. package/.next/server/chunks/{4566.js → 7069.js} +3 -3
  376. package/.next/server/chunks/{2388.js → 7104.js} +1 -1
  377. package/.next/server/chunks/7519.js +1 -0
  378. package/.next/server/chunks/7628.js +1 -0
  379. package/.next/server/chunks/7630.js +11 -0
  380. package/.next/server/chunks/{3030.js → 7674.js} +1 -1
  381. package/.next/server/chunks/{2866.js → 7891.js} +2 -2
  382. package/.next/server/chunks/793.js +3 -3
  383. package/.next/server/chunks/7965.js +39 -0
  384. package/.next/server/chunks/{6404.js → 7993.js} +2 -2
  385. package/.next/server/chunks/8284.js +42 -0
  386. package/.next/server/chunks/8645.js +1 -1
  387. package/.next/server/chunks/87.js +1 -0
  388. package/.next/server/chunks/8739.js +1 -2
  389. package/.next/server/chunks/{3912.js → 9085.js} +2 -2
  390. package/.next/server/chunks/9235.js +29 -0
  391. package/.next/server/chunks/9724.js +3 -3
  392. package/.next/server/chunks/9983.js +1 -1
  393. package/.next/server/functions-config-manifest.json +1 -1
  394. package/.next/server/instrumentation.js +1 -1
  395. package/.next/server/instrumentation.js.nft.json +1 -1
  396. package/.next/server/middleware-build-manifest.js +1 -1
  397. package/.next/server/middleware-manifest.json +5 -5
  398. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  399. package/.next/server/pages/404.html +1 -1
  400. package/.next/server/pages/500.html +1 -1
  401. package/.next/server/server-reference-manifest.js +1 -1
  402. package/.next/server/server-reference-manifest.json +1 -1
  403. package/.next/static/Zz_Vh59XdtLIPcf-PxCpo/_buildManifest.js +1 -0
  404. package/.next/static/chunks/1675-773454288de4309d.js +1 -0
  405. package/.next/static/chunks/2005.4eea65c00d9a29cd.js +1 -0
  406. package/.next/static/chunks/2318-13ef0d3048e97834.js +1 -0
  407. package/.next/static/chunks/3429-34fb1a84aed96703.js +1 -0
  408. package/.next/static/chunks/361.bb75b03b740930cd.js +1 -0
  409. package/.next/static/chunks/3772-20197853c04a6993.js +1 -0
  410. package/.next/static/chunks/422-61b173ba64cf0c94.js +1 -0
  411. package/.next/static/chunks/{3189-fa8ec6d719d5e72b.js → 4386-e9621d3c94969a68.js} +1 -1
  412. package/.next/static/chunks/4555-c9070f8c79bccfad.js +39 -0
  413. package/.next/static/chunks/4919-6c8a48e3cc642349.js +1 -0
  414. package/.next/static/chunks/4929-150b03595474c9d8.js +1 -0
  415. package/.next/static/chunks/5733-1419095a28c1ddc3.js +1 -0
  416. package/.next/static/chunks/639-90ed75d402dc872b.js +1 -0
  417. package/.next/static/chunks/{3452-a639f121f2953f50.js → 6428-951188daa6f74b86.js} +3 -3
  418. package/.next/static/chunks/6430-8c6dac4a758119f2.js +1 -0
  419. package/.next/static/chunks/6539-118a0084e0bfae34.js +1 -0
  420. package/.next/static/chunks/6733-c9029143901e62e9.js +1 -0
  421. package/.next/static/chunks/7264-91d1fa99abcd91ad.js +1 -0
  422. package/.next/static/chunks/7328-c8a51bb8c7470d77.js +1 -0
  423. package/.next/static/chunks/7391-5a0abd837ba241f5.js +1 -0
  424. package/.next/static/chunks/7561-2b366ddcbc3cc0ec.js +1 -0
  425. package/.next/static/chunks/8124-4a80e3201b8e51b0.js +1 -0
  426. package/.next/static/chunks/{2969.eb9ff8cd2a5034b0.js → 8345.bc5534ec13abc9ee.js} +1 -1
  427. package/.next/static/chunks/8404-5aa8ea49197b98b8.js +1 -0
  428. package/.next/static/chunks/{8405.73e8be2c8e5b55c5.js → 8405.a425f94b6b13d2be.js} +1 -1
  429. package/.next/static/chunks/8551-a28272acfda62ac9.js +1 -0
  430. package/.next/static/chunks/8650-5294c6ed1173b014.js +1 -0
  431. package/.next/static/chunks/{9164-840f056a0e11d979.js → 9164-de1d167d87614a6d.js} +1 -1
  432. package/.next/static/chunks/9203-786f457ecf60b49c.js +1 -0
  433. package/.next/static/chunks/9345-11d6e48d892b1862.js +8 -0
  434. package/.next/static/chunks/9562-f8371be653010627.js +1 -0
  435. package/.next/static/chunks/981-dd289e60d81da0d1.js +1 -0
  436. package/.next/static/chunks/9951-566fc6b05c12209e.js +1 -0
  437. package/.next/static/chunks/app/api/approvals/[id]/route-9ea2990be4b67136.js +1 -0
  438. package/.next/static/chunks/app/api/approvals/route-9ea2990be4b67136.js +1 -0
  439. package/.next/static/chunks/app/api/backup/route-9ea2990be4b67136.js +1 -0
  440. package/.next/static/chunks/app/api/browse/route-9ea2990be4b67136.js +1 -0
  441. package/.next/static/chunks/app/api/bugs/enhance/route-9ea2990be4b67136.js +1 -0
  442. package/.next/static/chunks/app/api/cwd/route-9ea2990be4b67136.js +1 -0
  443. package/.next/static/chunks/app/api/encryption/secure/route-9ea2990be4b67136.js +1 -0
  444. package/.next/static/chunks/app/api/env/route-9ea2990be4b67136.js +1 -0
  445. package/.next/static/chunks/app/api/flow/[id]/route-9ea2990be4b67136.js +1 -0
  446. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-9ea2990be4b67136.js +1 -0
  447. package/.next/static/chunks/app/api/flow/[id]/versions/route-9ea2990be4b67136.js +1 -0
  448. package/.next/static/chunks/app/api/flow/compile/route-9ea2990be4b67136.js +1 -0
  449. package/.next/static/chunks/app/api/flow/generate/route-9ea2990be4b67136.js +1 -0
  450. package/.next/static/chunks/app/api/flow/generator/route-9ea2990be4b67136.js +1 -0
  451. package/.next/static/chunks/app/api/flow/improve/route-9ea2990be4b67136.js +1 -0
  452. package/.next/static/chunks/app/api/flow/prompt-renderer/route-9ea2990be4b67136.js +1 -0
  453. package/.next/static/chunks/app/api/flow/quick-chat/route-9ea2990be4b67136.js +1 -0
  454. package/.next/static/chunks/app/api/flow/repair/route-9ea2990be4b67136.js +1 -0
  455. package/.next/static/chunks/app/api/flow/route-9ea2990be4b67136.js +1 -0
  456. package/.next/static/chunks/app/api/git/route-9ea2990be4b67136.js +1 -0
  457. package/.next/static/chunks/app/api/init/route-9ea2990be4b67136.js +1 -0
  458. package/.next/static/chunks/app/api/local-models/capability/route-9ea2990be4b67136.js +1 -0
  459. package/.next/static/chunks/app/api/local-models/pull/route-9ea2990be4b67136.js +1 -0
  460. package/.next/static/chunks/app/api/local-models/suggest/route-9ea2990be4b67136.js +1 -0
  461. package/.next/static/chunks/app/api/mcp/app-sandbox/route-9ea2990be4b67136.js +1 -0
  462. package/.next/static/chunks/app/api/mcp/cancel/route-9ea2990be4b67136.js +1 -0
  463. package/.next/static/chunks/app/api/mcp/oauth-capability/route-9ea2990be4b67136.js +1 -0
  464. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-9ea2990be4b67136.js +1 -0
  465. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-9ea2990be4b67136.js +1 -0
  466. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-9ea2990be4b67136.js +1 -0
  467. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-9ea2990be4b67136.js +1 -0
  468. package/.next/static/chunks/app/api/mcp/servers/[name]/route-9ea2990be4b67136.js +1 -0
  469. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-9ea2990be4b67136.js +1 -0
  470. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-9ea2990be4b67136.js +1 -0
  471. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-9ea2990be4b67136.js +1 -0
  472. package/.next/static/chunks/app/api/mcp/servers/route-9ea2990be4b67136.js +1 -0
  473. package/.next/static/chunks/app/api/mcp/test-connection/route-9ea2990be4b67136.js +1 -0
  474. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-9ea2990be4b67136.js +1 -0
  475. package/.next/static/chunks/app/api/mcp-registry/route-9ea2990be4b67136.js +1 -0
  476. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-9ea2990be4b67136.js +1 -0
  477. package/.next/static/chunks/app/api/model/[id]/route-9ea2990be4b67136.js +1 -0
  478. package/.next/static/chunks/app/api/model/provider/route-9ea2990be4b67136.js +1 -0
  479. package/.next/static/chunks/app/api/model/route-9ea2990be4b67136.js +1 -0
  480. package/.next/static/chunks/app/api/model/test/route-9ea2990be4b67136.js +1 -0
  481. package/.next/static/chunks/app/api/oauth/callback/route-9ea2990be4b67136.js +1 -0
  482. package/.next/static/chunks/app/api/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  483. package/.next/static/chunks/app/api/oauth/reset/route-9ea2990be4b67136.js +1 -0
  484. package/.next/static/chunks/app/api/packages/build/route-9ea2990be4b67136.js +1 -0
  485. package/.next/static/chunks/app/api/packages/derive-secrets/route-9ea2990be4b67136.js +1 -0
  486. package/.next/static/chunks/app/api/packages/install/route-9ea2990be4b67136.js +1 -0
  487. package/.next/static/chunks/app/api/packages/install/status/route-9ea2990be4b67136.js +1 -0
  488. package/.next/static/chunks/app/api/packages/installed/route-9ea2990be4b67136.js +1 -0
  489. package/.next/static/chunks/app/api/packages/resolve/route-9ea2990be4b67136.js +1 -0
  490. package/.next/static/chunks/app/api/packages/scan-targets/route-9ea2990be4b67136.js +1 -0
  491. package/.next/static/chunks/app/api/packages/search/route-9ea2990be4b67136.js +1 -0
  492. package/.next/static/chunks/app/api/packages/uninstall/route-9ea2990be4b67136.js +1 -0
  493. package/.next/static/chunks/app/api/planned-executions/[id]/route-9ea2990be4b67136.js +1 -0
  494. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-9ea2990be4b67136.js +1 -0
  495. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-9ea2990be4b67136.js +1 -0
  496. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-9ea2990be4b67136.js +1 -0
  497. package/.next/static/chunks/app/api/planned-executions/reconcile/route-9ea2990be4b67136.js +1 -0
  498. package/.next/static/chunks/app/api/planned-executions/route-9ea2990be4b67136.js +1 -0
  499. package/.next/static/chunks/app/api/registry/auth/resend/route-9ea2990be4b67136.js +1 -0
  500. package/.next/static/chunks/app/api/registry/auth/reset/route-9ea2990be4b67136.js +1 -0
  501. package/.next/static/chunks/app/api/registry/auth/route-9ea2990be4b67136.js +1 -0
  502. package/.next/static/chunks/app/api/registry/feedback/route-9ea2990be4b67136.js +1 -0
  503. package/.next/static/chunks/app/api/registry/oauth/callback/route-9ea2990be4b67136.js +1 -0
  504. package/.next/static/chunks/app/api/registry/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  505. package/.next/static/chunks/app/api/registry/packages/route-9ea2990be4b67136.js +1 -0
  506. package/.next/static/chunks/app/api/registry/publish/route-9ea2990be4b67136.js +1 -0
  507. package/.next/static/chunks/app/api/registry/settings/route-9ea2990be4b67136.js +1 -0
  508. package/.next/static/chunks/app/api/restore/route-9ea2990be4b67136.js +1 -0
  509. package/.next/static/chunks/app/api/runs/active/route-9ea2990be4b67136.js +1 -0
  510. package/.next/static/chunks/app/api/storage/route-9ea2990be4b67136.js +1 -0
  511. package/.next/static/chunks/app/api/telemetry/daily-active/route-9ea2990be4b67136.js +1 -0
  512. package/.next/static/chunks/app/api/update/route-9ea2990be4b67136.js +1 -0
  513. package/.next/static/chunks/app/api/waves/route-9ea2990be4b67136.js +1 -0
  514. package/.next/static/chunks/app/api/webhooks/[id]/route-9ea2990be4b67136.js +1 -0
  515. package/.next/static/chunks/app/chat/page-bc7807593b8b7394.js +1 -0
  516. package/.next/static/chunks/app/docs/page-3b9ce48854b2147d.js +1 -0
  517. package/.next/static/chunks/app/executions/page-8296fd69c439ccee.js +1 -0
  518. package/.next/static/chunks/app/flows/page-87fb466e491fc068.js +1 -0
  519. package/.next/static/chunks/app/layout-abed1f211e03152f.js +1 -0
  520. package/.next/static/chunks/app/mcp/page-1648e6fde0c41461.js +1 -0
  521. package/.next/static/chunks/app/mcp-flows/route-9ea2990be4b67136.js +1 -0
  522. package/.next/static/chunks/app/mcp-proxy/[server]/route-9ea2990be4b67136.js +1 -0
  523. package/.next/static/chunks/app/models/page-a5e2437356b06db8.js +1 -0
  524. package/.next/static/chunks/app/packages/page-fba5696f33d9cdfb.js +1 -0
  525. package/.next/static/chunks/app/page-2f9da78a4891731a.js +1 -0
  526. package/.next/static/chunks/app/settings/page-2fc3a70bfd25c48b.js +1 -0
  527. package/.next/static/chunks/app/v1/chat/completions/route-9ea2990be4b67136.js +1 -0
  528. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-9ea2990be4b67136.js +1 -0
  529. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-9ea2990be4b67136.js +1 -0
  530. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-9ea2990be4b67136.js +1 -0
  531. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-9ea2990be4b67136.js +1 -0
  532. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-9ea2990be4b67136.js +1 -0
  533. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-9ea2990be4b67136.js +1 -0
  534. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-9ea2990be4b67136.js +1 -0
  535. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-9ea2990be4b67136.js +1 -0
  536. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-9ea2990be4b67136.js +1 -0
  537. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-9ea2990be4b67136.js +1 -0
  538. package/.next/static/chunks/app/v1/chat/conversations/route-9ea2990be4b67136.js +1 -0
  539. package/.next/static/chunks/app/v1/chat/events/route-9ea2990be4b67136.js +1 -0
  540. package/.next/static/chunks/app/v1/models/route-9ea2990be4b67136.js +1 -0
  541. package/.next/static/chunks/app/waves/{page-3cf4b47b12662196.js → page-dc99a16141dd902b.js} +1 -1
  542. package/.next/static/chunks/webpack-d5d737ff6a86674f.js +1 -0
  543. package/.next/trace +10 -10
  544. package/.next/types/app/api/flow/generator/route.ts +347 -0
  545. package/.next/types/app/api/registry/feedback/route.ts +347 -0
  546. package/.next/types/app/api/registry/packages/route.ts +347 -0
  547. package/.next/types/app/api/telemetry/daily-active/route.ts +347 -0
  548. package/.next/types/routes.d.ts +5 -1
  549. package/.next/types/validator.ts +36 -0
  550. package/README.md +58 -18
  551. package/next.config.mjs +2 -2
  552. package/package.json +3 -2
  553. package/.next/server/chunks/2180.js +0 -1
  554. package/.next/server/chunks/237.js +0 -1
  555. package/.next/server/chunks/3392.js +0 -82
  556. package/.next/server/chunks/3570.js +0 -372
  557. package/.next/server/chunks/4366.js +0 -2
  558. package/.next/server/chunks/4961.js +0 -2
  559. package/.next/server/chunks/5040.js +0 -53
  560. package/.next/server/chunks/510.js +0 -1
  561. package/.next/server/chunks/5150.js +0 -1
  562. package/.next/server/chunks/5561.js +0 -1
  563. package/.next/server/chunks/5705.js +0 -1
  564. package/.next/server/chunks/5829.js +0 -1
  565. package/.next/server/chunks/694.js +0 -3
  566. package/.next/server/chunks/7579.js +0 -83
  567. package/.next/server/chunks/7724.js +0 -1
  568. package/.next/server/chunks/8034.js +0 -1
  569. package/.next/server/chunks/8037.js +0 -1
  570. package/.next/server/chunks/8192.js +0 -12
  571. package/.next/server/chunks/826.js +0 -2
  572. package/.next/server/chunks/8366.js +0 -90
  573. package/.next/server/chunks/848.js +0 -39
  574. package/.next/server/chunks/8615.js +0 -1
  575. package/.next/server/chunks/8851.js +0 -1
  576. package/.next/server/chunks/9313.js +0 -1
  577. package/.next/server/chunks/9537.js +0 -39
  578. package/.next/server/chunks/9576.js +0 -2
  579. package/.next/server/chunks/9632.js +0 -1
  580. package/.next/server/chunks/9671.js +0 -1
  581. package/.next/server/chunks/9857.js +0 -1
  582. package/.next/static/chunks/1496-d478bce7d7c85080.js +0 -1
  583. package/.next/static/chunks/1572-b663a83bba28a0a1.js +0 -8
  584. package/.next/static/chunks/1641-e5ff8f112da0a335.js +0 -1
  585. package/.next/static/chunks/1988-bd73f26184e930c1.js +0 -1
  586. package/.next/static/chunks/2266-d812473724cc6643.js +0 -1
  587. package/.next/static/chunks/3089.a0856f8093b90939.js +0 -1
  588. package/.next/static/chunks/3560-5bdceef09b50e1c3.js +0 -1
  589. package/.next/static/chunks/3672-cd86ace43288da79.js +0 -1
  590. package/.next/static/chunks/3711-0050bb4d345c2c9c.js +0 -1
  591. package/.next/static/chunks/4147-20897d83b3cd3978.js +0 -39
  592. package/.next/static/chunks/435-17c79f3b9f8dd38d.js +0 -1
  593. package/.next/static/chunks/469-1f043fe082d9f475.js +0 -1
  594. package/.next/static/chunks/4740-62814d07b2b7f760.js +0 -1
  595. package/.next/static/chunks/5441-cb0c31de8bce65c3.js +0 -1
  596. package/.next/static/chunks/7111-44538f8a64241b74.js +0 -1
  597. package/.next/static/chunks/8041-05830e887c133085.js +0 -1
  598. package/.next/static/chunks/812-dfe7ba07ddb7a565.js +0 -1
  599. package/.next/static/chunks/8401-0f39d91810180a88.js +0 -1
  600. package/.next/static/chunks/8404-14ef0345dc401ac5.js +0 -1
  601. package/.next/static/chunks/8678-c6c6be2672f337f6.js +0 -1
  602. package/.next/static/chunks/8834-faf121e257b517d5.js +0 -1
  603. package/.next/static/chunks/8855-f802599c4af81cca.js +0 -1
  604. package/.next/static/chunks/9562-5494feecd8c6f7a3.js +0 -1
  605. package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  606. package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +0 -1
  607. package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +0 -1
  608. package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +0 -1
  609. package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +0 -1
  610. package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +0 -1
  611. package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +0 -1
  612. package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +0 -1
  613. package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  614. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +0 -1
  615. package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +0 -1
  616. package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +0 -1
  617. package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +0 -1
  618. package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +0 -1
  619. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +0 -1
  620. package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +0 -1
  621. package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +0 -1
  622. package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +0 -1
  623. package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +0 -1
  624. package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +0 -1
  625. package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +0 -1
  626. package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +0 -1
  627. package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +0 -1
  628. package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +0 -1
  629. package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  630. package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +0 -1
  631. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +0 -1
  632. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +0 -1
  633. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +0 -1
  634. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  635. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +0 -1
  636. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +0 -1
  637. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +0 -1
  638. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +0 -1
  639. package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +0 -1
  640. package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +0 -1
  641. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +0 -1
  642. package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +0 -1
  643. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +0 -1
  644. package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  645. package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +0 -1
  646. package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +0 -1
  647. package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +0 -1
  648. package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  649. package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  650. package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  651. package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +0 -1
  652. package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +0 -1
  653. package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +0 -1
  654. package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +0 -1
  655. package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +0 -1
  656. package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +0 -1
  657. package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +0 -1
  658. package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +0 -1
  659. package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +0 -1
  660. package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  661. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +0 -1
  662. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +0 -1
  663. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +0 -1
  664. package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +0 -1
  665. package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +0 -1
  666. package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +0 -1
  667. package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  668. package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +0 -1
  669. package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  670. package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  671. package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +0 -1
  672. package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +0 -1
  673. package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +0 -1
  674. package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +0 -1
  675. package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +0 -1
  676. package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +0 -1
  677. package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +0 -1
  678. package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  679. package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +0 -1
  680. package/.next/static/chunks/app/docs/page-fc30f613607b8a26.js +0 -1
  681. package/.next/static/chunks/app/executions/page-e71689c7256af1e8.js +0 -1
  682. package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +0 -1
  683. package/.next/static/chunks/app/layout-038b35b382eef11d.js +0 -1
  684. package/.next/static/chunks/app/mcp/page-6041156fc67ef361.js +0 -1
  685. package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +0 -1
  686. package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +0 -1
  687. package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +0 -1
  688. package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +0 -1
  689. package/.next/static/chunks/app/page-5c7fccd019942d46.js +0 -1
  690. package/.next/static/chunks/app/settings/page-e3d9ffd69d16873a.js +0 -1
  691. package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +0 -1
  692. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +0 -1
  693. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  694. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +0 -1
  695. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +0 -1
  696. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +0 -1
  697. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +0 -1
  698. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +0 -1
  699. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  700. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +0 -1
  701. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +0 -1
  702. package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +0 -1
  703. package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +0 -1
  704. package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +0 -1
  705. package/.next/static/chunks/webpack-2d8e0c13c0b865fe.js +0 -1
  706. package/.next/static/eaxwKaaFHlA1_FLDIyFGi/_buildManifest.js +0 -1
  707. /package/.next/static/{eaxwKaaFHlA1_FLDIyFGi → Zz_Vh59XdtLIPcf-PxCpo}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[603],{12818:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>J});var l=n(95155),i=n(94049),o=n(12115),r=n(2300),a=n(25635),s=n(80777),c=n(28548),u=n(4474),d=n(22003),f=n(21067),h=n(2975),x=n(26922),p=n(87021);let g=(0,p.h)("frontend/services/waves");class m{async list(){try{let e=await fetch("/api/waves");if(!e.ok)throw Error("HTTP ".concat(e.status));return await e.json()}catch(e){return g.warn("Failed to list waves",e),{paused:!1,generatedAt:new Date().toISOString(),waves:[],orphans:[]}}}}let b=new m;var w=n(64598),v=n(97104),y=n(23201),j=n(76122),k=n(22539);n(8301);var E=n(14913),I=n(57883),S=n(78470),A=n(11096),R=n(28874),N=n(64410);let O={schedule:{label:"Periodic",color:"#1976d2",timeline:!0},"mcp-poll":{label:"MCP Poll",color:"#7b1fa2",timeline:!0},"url-watch":{label:"URL Watch",color:"#0288d1",timeline:!0},webhook:{label:"Webhook",color:"#2e7d32",timeline:!1},"file-watch":{label:"File Watcher",color:"#ed6c02",timeline:!1},"flow-event":{label:"Event",color:"#616161",timeline:!1}};var z=n(14976);let W={"1h":36e5,"6h":216e5,"1d":864e5},C=["1h","6h","1d"];function M(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:24,i=arguments.length>4?arguments[4]:void 0;if(!e||"string"!=typeof e||!e.trim()||!Number.isFinite(t)||!Number.isFinite(n)||n<=0)return[];let o=t+n,r=[];try{let n=i?new z.l4(e.trim(),{timezone:i}):new z.l4(e.trim()),a=new Date(t-1);for(let e=0;e<l;e++){let e=n.nextRun(a);if(!e)break;let t=e.getTime();if(t>o)break;r.push(t),a=e}}catch(e){return[]}return r}function T(e,t){if(null==e||!Number.isFinite(e))return"no scheduled run";let n=e-t;if(n<=0)return"due now";let l=Math.floor(n/6e4),i=Math.floor(l/1440),o=Math.floor(l%1440/60),r=l%60;return i>0?"in ".concat(i,"d ").concat(o,"h"):o>0?"in ".concat(o,"h ").concat(String(r).padStart(2,"0"),"m"):"in ".concat(r,"m")}var D=n(55930);function F(e){let{subflows:t,depth:n=0}=e;return t&&0!==t.length?(0,l.jsx)(i.default,{sx:{pl:1.5*(0!==n),mt:.25},children:t.map((e,t)=>{var o;return(0,l.jsxs)(i.default,{sx:{borderLeft:n>0?"1px dashed rgba(0,0,0,0.2)":"none",pl:+(n>0)},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,l.jsx)(D.A,{sx:{fontSize:12,opacity:.6}}),(0,l.jsxs)(a.default,{variant:"caption",sx:{opacity:e.missing?.6:.85,fontStyle:e.missing?"italic":"normal"},children:[null!=(o=e.flowName)?o:e.flowId,e.missing?" (missing)":"",e.truncated?" …":""]})]}),e.children.length>0&&(0,l.jsx)(F,{subflows:e.children,depth:n+1})]},"".concat(e.flowId,"-").concat(t))})}):null}var L=n(67404);function _(e,t){return"".concat(e,"#").concat(t)}let H={trigger:function(e){var t,n,o,r,u,d;let{data:f}=e,{chainNode:h,now:x,runAt:p,isRoot:g,hasSuccessors:m,expanded:b,pinned:w}=f,v=null!=(d=O[u=h.triggerKind])?d:{label:u,color:"#616161",timeline:!1},y="";"timeline"===h.timing.mode?y=g?T(p,x):"on schedule":"fixed"===h.timing.mode?y="fires when it happens":"event"===h.timing.mode&&(y="signal"===h.timing.via?'on signal "'.concat(null!=(t=h.timing.topic)?t:"",'"'):"when its upstream runs");let E=null!=(n=h.emittedSignals)?n:[];return(0,l.jsxs)(i.default,{sx:{minWidth:220,maxWidth:260,borderRadius:1,border:"1px solid rgba(0,0,0,0.15)",borderTop:"4px solid ".concat(v.color),outline:w||b?"2px solid ".concat(v.color):"none",outlineOffset:2*!!w,bgcolor:"background.paper",boxShadow:w?6:b?4:2,p:1,opacity:h.enabled?1:.55,transition:"box-shadow 120ms ease, outline-color 120ms ease"},children:[(0,l.jsx)(k.h7,{type:"target",position:j.yX.Left,style:{background:v.color}}),(0,l.jsx)(k.h7,{type:"target",position:j.yX.Top,id:"up",style:{background:v.color}}),(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:.5},children:[(0,l.jsx)(c.A,{label:v.label,size:"small",sx:{bgcolor:v.color,color:"#fff",height:18,fontSize:10}}),g&&(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.6},children:"root"})]}),(0,l.jsx)(a.default,{variant:"subtitle2",sx:{mt:.5,fontWeight:600,lineHeight:1.2},noWrap:!0,title:h.name,children:h.name}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",opacity:.75},noWrap:!0,title:null!=(o=h.flowName)?o:h.flowId,children:null!=(r=h.flowName)?r:h.flowId}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",mt:.25,color:v.color,fontWeight:500},children:y}),E.length>0&&(0,l.jsxs)(i.default,{sx:{mt:.5},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.25},children:[(0,l.jsx)(A.A,{sx:{fontSize:13,color:"#7b1fa2"}}),(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.7},children:"Signals"})]}),(0,l.jsx)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,children:E.map(e=>(0,l.jsx)(S.A,{title:e.direct?"Emitted by this flow":"Emitted via a subflow",arrow:!0,children:(0,l.jsx)(c.A,{label:e.topic,size:"small",variant:e.direct?"filled":"outlined",sx:{height:18,fontSize:10,bgcolor:e.direct?"rgba(123,31,162,0.12)":"transparent",borderColor:"rgba(123,31,162,0.4)",color:"#7b1fa2"}})},e.topic))})]}),(0,l.jsx)(F,{subflows:h.subflows}),w&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.25,mt:.5,color:v.color},children:[(0,l.jsx)(N.A,{sx:{fontSize:13}}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10,fontWeight:600},children:"pinned"})]}),m&&!b&&!w&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.25,mt:.5,opacity:.55},children:[(0,l.jsx)(R.A,{sx:{fontSize:13,transform:"rotate(90deg)"}}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10},children:"hover to follow chain"})]}),(0,l.jsx)(k.h7,{type:"source",position:j.yX.Right,style:{background:v.color}}),(0,l.jsx)(k.h7,{type:"source",position:j.yX.Bottom,id:"down",style:{background:v.color}})]})},clock:function(){return(0,l.jsxs)(i.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:.25,width:84},children:[(0,l.jsx)(i.default,{sx:{width:56,height:56,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",boxShadow:3},children:(0,l.jsx)(L.A,{})}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontWeight:600},children:"now"}),(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.6,fontSize:10,textAlign:"center"},children:"time →"})]})},tick:function(e){let{data:t}=e,{label:n}=t;return(0,l.jsxs)(i.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",transform:"translateX(-50%)",pointerEvents:"none",userSelect:"none"},children:[(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10,opacity:.55,whiteSpace:"nowrap"},children:n}),(0,l.jsx)(i.default,{sx:{width:"1px",height:14,bgcolor:"rgba(0,0,0,0.25)",mt:.25}})]})}};function G(e){let{wave:t,height:n=460}=e,[r,s]=(0,o.useState)(()=>Date.now()),[c,u]=(0,o.useState)(()=>(function(e,t){let n=1/0;for(let l of e.nodes){if("timeline"!==l.timing.mode)continue;let e=l.timing.cron;if(!e)continue;let i=M(e,t,864e5,3);if(i.length>=2){let e=i[1]-i[0];e<n&&(n=e)}}if(!Number.isFinite(n))return"6h";let l=6*n;return l<=W["1h"]?"1h":l<=W["6h"]?"6h":"1d"})(t,Date.now())),[d,f]=(0,o.useState)(null),[h,x]=(0,o.useState)(null),p=(0,o.useRef)(null),g=null!=h?h:d,m=(0,o.useMemo)(()=>t.nodes.some(e=>"timeline"===e.timing.mode),[t]);(0,o.useEffect)(()=>{if(!m)return;let e=setInterval(()=>s(Date.now()),3e4);return()=>clearInterval(e)},[m]),(0,o.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]);let b=W[c],w=(0,o.useMemo)(()=>{let e=new Map;for(let n of t.nodes)e.set(n.executionId,n.name);return e},[t]),v=(0,o.useMemo)(()=>(function(e){let{wave:t,now:n,windowMs:l,hoveredKey:i,timezone:o}=e,{nodeById:r,succ:a,edgeByPair:s,rootIds:c,parentOf:u}=function(e){let t=new Map;for(let n of e.nodes)t.set(n.executionId,n);let n=new Map,l=new Map;for(let t of e.nodes)n.set(t.executionId,[]),l.set(t.executionId,[]);let i=new Map;for(let o of e.edges)t.has(o.fromExecutionId)&&t.has(o.toExecutionId)&&(n.get(o.fromExecutionId).push(o.toExecutionId),l.get(o.toExecutionId).push(o.fromExecutionId),i.set("".concat(o.fromExecutionId,"->").concat(o.toExecutionId),o));for(let[,e]of n)e.sort();let o=e.rootExecutionIds.filter(e=>t.has(e));0===o.length&&(o=e.nodes.filter(e=>{var t,n;return(null!=(n=null==(t=l.get(e.executionId))?void 0:t.length)?n:0)===0}).map(e=>e.executionId)),o=[...o].sort();let r=new Map;{let e=new Set(o),t=[...o];for(;t.length>0;){var a;let l=t.shift();for(let i of null!=(a=n.get(l))?a:[])e.has(i)||(e.add(i),r.set(i,l),t.push(i))}}return{nodeById:t,succ:n,preds:l,edgeByPair:i,rootIds:o,parentOf:r}}(t),d=[];for(let e of c){let t=r.get(e);if("timeline"===t.timing.mode){let i=M(t.timing.cron,n,l,void 0,o);if(i.length>0)i.forEach((t,n)=>d.push({baseId:e,occ:n,runAt:t}));else{let n=t.timing.nextRun?Date.parse(t.timing.nextRun):NaN;d.push({baseId:e,occ:0,runAt:Number.isFinite(n)?n:null})}}else d.push({baseId:e,occ:0,runAt:null})}let f=i?function(e){let t=e.lastIndexOf("#");return t>=0?e.slice(0,t):e}(i):null,h=i?function(e){let t=e.lastIndexOf("#");return t>=0?Number(e.slice(t+1)):0}(i):null,x=new Set,p=null;if(f){let e=f,t=new Set;for(;e&&!t.has(e);){t.add(e),x.add(e);let n=u.get(e);if(!n){p=e;break}e=n}}let g=new Map,m=e=>{if("timeline"!==r.get(e.baseId).timing.mode)return 0;if(null==e.runAt)return 1;var t=e.runAt;if(null==t||!Number.isFinite(t)||l<=0)return 0;let i=t-n;return i<=0?0:Math.min(1,i/l)},b=(e,t,n,l,i,o)=>{var s,c;let u=_(e,t);if(g.has(u))return;let d=r.get(e);g.set(u,{key:u,baseId:e,occ:t,chainNode:d,isRoot:o,runAt:i,level:n,x:l,y:24+220*n,hasSuccessors:(null!=(c=null==(s=a.get(e))?void 0:s.length)?c:0)>0,expanded:x.has(e)&&t===h})},w=(e,t,n,l)=>{var i;if(!(x.has(e)&&t===h))return;let o=(null!=(i=a.get(e))?i:[]).filter(e=>!g.has(_(e,t)));if(0===o.length)return;let r=(o.length-1)*320;o.forEach((e,i)=>{let o=l-r/2+320*i;b(e,t,n+1,o,null,!1),w(e,t,n+1,o)})};for(let e of d){if(i&&(e.baseId!==p||e.occ!==h))continue;let t=160+620*m(e);b(e.baseId,e.occ,0,t,e.runAt,!0),w(e.baseId,e.occ,0,t)}let v=[];for(let[e,t]of g){var y;let n=t.occ;for(let l of null!=(y=a.get(t.baseId))?y:[]){let i=_(l,n),o=g.get(i);if(!o)continue;let r=s.get("".concat(t.baseId,"->").concat(l));r&&v.push({id:"".concat(e,"->").concat(i),source:e,target:i,chainEdge:r,recursive:o.level<=t.level})}}return{nodes:[...g.values()],edges:v}})({wave:t,now:r,windowMs:b,hoveredKey:g}),[t,r,b,g]),y=(0,o.useMemo)(()=>{let e=v.nodes.map(e=>({id:e.key,type:"trigger",position:{x:e.x,y:e.y},data:{chainNode:e.chainNode,now:r,runAt:e.runAt,isRoot:e.isRoot,hasSuccessors:e.hasSuccessors,expanded:e.expanded,pinned:e.key===h},draggable:!1,connectable:!1}));return[{id:"__clock__",type:"clock",position:{x:16,y:24},data:{},draggable:!1,selectable:!1,connectable:!1},...m?(function(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t)||t<=0)return[];let l=t<=W["1h"]?6e5:t<=W["6h"]?36e5:t<=W["1d"]?144e5:Math.max(6e4,Math.round(t/6)),i=[];for(let n=0;n<=t+1&&i.length<200;n+=l)i.push({atMs:e+n,fraction:Math.min(1,n/t),label:function(e){if(e<=0)return"now";let t=Math.round(e/6e4),n=Math.floor(t/60),l=t%60;return 0===n?"".concat(l,"m"):0===l?"".concat(n,"h"):"".concat(n,"h ").concat(l,"m")}(n)});return i})(r,b).map((e,t)=>({id:"__tick_".concat(t,"__"),type:"tick",position:{x:160+620*e.fraction,y:-24},data:{label:e.label},draggable:!1,selectable:!1,connectable:!1})):[],...e]},[v,r,h,m,b]),S=(0,o.useMemo)(()=>v.edges.map(e=>{let t=e.recursive?"#ed6c02":"signal"===e.chainEdge.via?"#7b1fa2":"#616161",n="".concat(e.recursive?"↻ ":"").concat(function(e,t){var n;if("signal"===e.via)return"⚡ ".concat(null!=(n=e.topic)?n:"signal");let l=e.on&&e.on.length>0?e.on.join(" / "):"completes";return"when ".concat(t?"".concat(t," "):"").concat(l)}(e.chainEdge,w.get(e.chainEdge.fromExecutionId)));return{id:e.id,source:e.source,target:e.target,sourceHandle:"down",targetHandle:"up",label:n,animated:!e.recursive,markerEnd:{type:j.TG.ArrowClosed,color:t},style:{stroke:t,strokeDasharray:e.recursive?"6 4":void 0},labelStyle:{fontSize:10,fill:t},labelBgStyle:{fill:"#fff",fillOpacity:.85}}}),[v,w]);return(0,l.jsx)(i.default,{sx:{height:n,width:"100%",border:"1px solid rgba(0,0,0,0.1)",borderRadius:1},children:(0,l.jsxs)(k.Gc,{nodes:y,edges:S,nodeTypes:H,fitView:!0,fitViewOptions:{padding:.15},minZoom:.2,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,preventScrolling:!0,panOnDrag:!0,onNodeMouseEnter:(e,t)=>{if(p.current&&clearTimeout(p.current),"clock"===t.type||"tick"===t.type)return void f(null);f(t.id)},onNodeMouseLeave:()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>f(null),800)},onNodeClick:(e,t)=>{"clock"!==t.type&&"tick"!==t.type&&x(e=>e===t.id?null:t.id)},onPaneClick:()=>x(null),proOptions:{hideAttribution:!0},children:[(0,l.jsx)(k.VS,{}),(0,l.jsx)(k.H2,{showInteractive:!1}),m&&(0,l.jsx)(k.Zk,{position:"top-right",children:(0,l.jsx)(E.A,{size:"small",exclusive:!0,value:c,onChange:(e,t)=>t&&u(t),sx:{bgcolor:"background.paper",boxShadow:1},children:C.map(e=>(0,l.jsx)(I.A,{value:e,sx:{px:1,py:.25},children:e},e))})}),(0,l.jsx)(k.Zk,{position:"bottom-right",children:(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.55,bgcolor:"background.paper",px:.5,borderRadius:.5},children:h?"chain pinned — click the background to release":"hover a card to follow its chain \xb7 click to pin"})})]})})}function P(e){return(0,l.jsx)(k.Ln,{children:(0,l.jsx)(G,{...e})})}let B=(0,p.h)("frontend/components/Waves");function V(e){let t=e.nodes.filter(t=>e.rootExecutionIds.includes(t.executionId)).map(e=>e.name);return t.length>0?t.join(", "):"Wave"}function X(e){let{wave:t,selected:n,now:o,onSelect:u}=e,d=t.nodes.some(e=>"timeline"===e.timing.mode),f=d?function(e){let t=null;for(let n of e.nodes)if("timeline"===n.timing.mode&&n.timing.nextRun){let e=Date.parse(n.timing.nextRun);Number.isFinite(e)&&(null===t||e<t)&&(t=e)}return t}(t):null;return(0,l.jsxs)(r.A,{variant:"outlined",onClick:u,sx:{p:1.25,cursor:"pointer",borderColor:n?"primary.main":void 0,borderWidth:n?2:1,bgcolor:n?"action.selected":"background.paper",transition:"border-color 120ms ease, background-color 120ms ease","&:hover":{borderColor:"primary.light"}},children:[(0,l.jsx)(a.default,{variant:"subtitle2",sx:{fontWeight:600,lineHeight:1.25},noWrap:!0,title:V(t),children:V(t)}),(0,l.jsxs)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,sx:{mt:.75},children:[(0,l.jsx)(c.A,{label:"".concat(t.nodes.length," execution(s)"),size:"small",variant:"outlined"}),d&&(0,l.jsx)(c.A,{label:"time-based",size:"small",color:"info",variant:"outlined"}),t.hasCycle&&(0,l.jsx)(c.A,{label:"recursive",color:"warning",size:"small"})]}),d&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.75,opacity:.75},children:[(0,l.jsx)(x.A,{sx:{fontSize:14}}),(0,l.jsxs)(a.default,{variant:"caption",children:["next run ",f?T(f,o):"not scheduled"]})]})]})}function U(){var e;let[t,n]=(0,o.useState)(null),[x,p]=(0,o.useState)(!0),[g,m]=(0,o.useState)(()=>Date.now()),[j,k]=(0,v.Xk)("flujo-ui:waves:selected",null),{ref:E,showBackToTop:I,scrollToTop:S}=(0,w.R)("flujo-ui:scroll:waves",{deps:[t]}),A=(0,o.useCallback)(async()=>{n(await b.list()),p(!1)},[]);(0,o.useEffect)(()=>{A().catch(e=>{B.warn("Initial waves load failed",e),p(!1)});let e=setInterval(()=>{A().catch(e=>B.warn("Waves refresh failed",e))},3e4);return()=>clearInterval(e)},[A]),(0,o.useEffect)(()=>{let e=setInterval(()=>m(Date.now()),3e4);return()=>clearInterval(e)},[]);let R=(0,o.useMemo)(()=>{var e;return null!=(e=null==t?void 0:t.waves)?e:[]},[t]),N=null!=(e=null==t?void 0:t.orphans)?e:[],O=(0,o.useMemo)(()=>{var e;return 0===R.length?null:null!=(e=R.find(e=>e.id===j))?e:R[0]},[R,j]);return x?(0,l.jsx)(i.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,l.jsx)(u.default,{})}):(0,l.jsxs)(i.default,{sx:{p:3,height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,l.jsx)(h.A,{color:"primary"}),(0,l.jsx)(a.default,{variant:"h5",sx:{fontWeight:600},children:"Waves"}),(0,l.jsx)(c.A,{label:"experimental",size:"small",color:"warning",variant:"outlined"}),(null==t?void 0:t.paused)&&(0,l.jsx)(c.A,{label:"Scheduler paused",color:"warning",size:"small"})]}),(0,l.jsx)(a.default,{variant:"body2",sx:{opacity:.75,mb:2},children:"A read-only picture of how your Planned Executions chain together via signals and completion events. Pick a wave on the left to open it on the canvas — the clock on the left is “now”, and scheduled runs approach from the right. Hover a card to follow its chain, or click it to pin the chain open (click the background to release); use the window control to zoom the timeline out. Nothing here arms or fires anything."}),0===R.length&&0===N.length&&(0,l.jsx)(d.A,{severity:"info",children:"No planned executions to visualize yet. Create some executions (and link them with flow-event triggers or signal nodes) to see waves here."}),(R.length>0||N.length>0)&&(0,l.jsxs)(i.default,{sx:{flex:1,minHeight:0,display:"flex",gap:2},children:[(0,l.jsxs)(i.default,{ref:E,sx:{width:320,flexShrink:0,overflow:"auto",pr:.5},children:[(0,l.jsx)(s.A,{spacing:1,children:R.map(e=>(0,l.jsx)(X,{wave:e,now:g,selected:(null==O?void 0:O.id)===e.id,onSelect:()=>k(e.id)},e.id))}),N.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.A,{sx:{my:2}}),(0,l.jsx)(a.default,{variant:"subtitle2",sx:{fontWeight:600,mb:.5},children:"Unlinked event triggers"}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",opacity:.75,mb:1},children:"These flow-event triggers reference a source that matches no known producer, so they never start from an organic trigger."}),(0,l.jsx)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,children:N.map(e=>{var t;return(0,l.jsx)(c.A,{label:"".concat(e.name," → ").concat(null!=(t=e.flowName)?t:e.flowId),size:"small"},e.executionId)})})]}),(0,l.jsx)(y.A,{show:I,onClick:S})]}),(0,l.jsx)(i.default,{sx:{flex:1,minHeight:0},children:O?(0,l.jsxs)(r.A,{variant:"outlined",sx:{p:1.5,height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,l.jsx)(a.default,{variant:"subtitle1",sx:{fontWeight:600},noWrap:!0,title:V(O),children:V(O)}),(0,l.jsx)(c.A,{label:"".concat(O.nodes.length," execution(s)"),size:"small",variant:"outlined"}),O.hasCycle&&(0,l.jsx)(c.A,{label:"recursive",color:"warning",size:"small"})]}),(0,l.jsx)(i.default,{sx:{flex:1,minHeight:0},children:(0,l.jsx)(P,{wave:O,height:"100%"},O.id)})]}):(0,l.jsx)(i.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",opacity:.6},children:(0,l.jsx)(a.default,{variant:"body2",children:"Select a wave to open it."})})})]})]})}let q=(0,p.h)("app/waves/page");function J(){return q.debug("Rendering WavesPage"),(0,l.jsx)(i.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,l.jsx)(U,{})})}},23201:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var l=n(95155);n(12115);var i=n(5421),o=n(67895),r=n(97430);function a(e){let{show:t,onClick:n,sx:a}=e;return(0,l.jsx)(i.A,{in:t,unmountOnExit:!0,children:(0,l.jsx)(o.A,{size:"small",color:"primary","aria-label":"Back to top",onClick:n,sx:{position:"fixed",bottom:24,right:24,zIndex:1200,...a},children:(0,l.jsx)(r.A,{})})})}},31087:(e,t,n)=>{Promise.resolve().then(n.bind(n,12818))},64598:(e,t,n)=>{"use strict";n.d(t,{R:()=>o});var l=n(12115),i=n(97104);function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{threshold:n=200,deps:o=[]}=t,r=(0,l.useRef)(null),[a,s]=(0,l.useState)(!1),c=(0,l.useRef)(!1),u=(0,l.useCallback)(()=>{let e=r.current;return e&&e.scrollHeight>e.clientHeight+1?e:null},[]),d=(0,l.useCallback)(()=>{let e=u();return e?e.scrollTop:window.scrollY||document.documentElement.scrollTop||0},[u]),f=(0,l.useCallback)(e=>{let t=u();t?t.scrollTop=e:window.scrollTo(0,e)},[u]);return(0,l.useEffect)(()=>{let t=r.current,l=0,o="function"==typeof window.requestAnimationFrame?window.requestAnimationFrame.bind(window):e=>window.setTimeout(()=>e(0),16),a="function"==typeof window.cancelAnimationFrame?window.cancelAnimationFrame.bind(window):e=>window.clearTimeout(e),c=()=>{let t=d();s(t>n),l&&a(l),l=o(()=>(0,i.vi)(e,t))};return null==t||t.addEventListener("scroll",c,{passive:!0}),window.addEventListener("scroll",c,{passive:!0}),()=>{l&&a(l),null==t||t.removeEventListener("scroll",c),window.removeEventListener("scroll",c)}},[e,n,d]),(0,l.useEffect)(()=>{if(c.current)return;let t=(0,i.Aq)(e,0);if(t<=0){c.current=!0;return}f(t);let l=d();l>0&&(c.current=!0,s(l>n))},o),{ref:r,showBackToTop:a,scrollToTop:(0,l.useCallback)(()=>{let e=u();e?e.scrollTo({top:0,behavior:"smooth"}):window.scrollTo({top:0,behavior:"smooth"}),s(!1)},[u])}}},87021:(e,t,n)=>{"use strict";n.d(t,{h:()=>s});let l={LOG_LEVEL:3},i={VERBOSE:-1,DEBUG:0,INFO:1,WARN:2,ERROR:3},o="number"==typeof l.LOG_LEVEL?l.LOG_LEVEL:i.ERROR;function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>6)return String(e);if(!(e instanceof Error))return e;let n={name:e.name,message:e.message};for(let l of Object.getOwnPropertyNames(e)){if("name"===l||"message"===l)continue;let i=e[l];"function"!=typeof i&&("stack"===l?n.stack=i:"cause"===l?n.cause=r(i,t+1):"errors"===l&&Array.isArray(i)?n.errors=i.map(e=>r(e,t+1)):n[l]=i)}return n}function a(e,t,n,l,a){if(e>=("number"==typeof a?a:o)){if("function"==typeof l)try{l=l()}catch(e){l="[lazy log data threw]"}let o=new Date().toISOString(),a="[".concat(o,"] [").concat(t,"]"),s="".concat(a," ").concat(n);if(void 0!==l)if(l instanceof Error||"object"==typeof l)try{let e=l instanceof Error?r(l):l,t=JSON.stringify(e,(e,t)=>t instanceof Error?r(t):t,2);s+=":\n".concat(t)}catch(e){s+=": [Object cannot be stringified]"}else s+=": ".concat(l);switch(e){case i.VERBOSE:console.debug("[VERBOSE] ".concat(s));break;case i.DEBUG:console.debug(s);break;case i.INFO:console.info(s);break;case i.WARN:console.warn(s);break;case i.ERROR:console.error(s);break;default:console.log(s)}}}function s(e,t){let n,l=((n=e.replace(/^src\//,"")).startsWith("/")&&(n=n.substring(1)),n);return{verbose:(e,n)=>{a(i.VERBOSE,l,e,n,t)},debug:(e,n)=>{a(i.DEBUG,l,e,n,t)},info:(e,n)=>{a(i.INFO,l,e,n,t)},warn:(e,n)=>{a(i.WARN,l,e,n,t)},error:(e,n)=>{a(i.ERROR,l,e,n,t)}}}},97104:(e,t,n)=>{"use strict";n.d(t,{Aq:()=>i,Xk:()=>r,vi:()=>o});var l=n(12115);function i(e,t){try{let n=window.localStorage.getItem(e);if(null===n)return t;return JSON.parse(n)}catch(e){return t}}function o(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}}function r(e,t){let[n,r]=(0,l.useState)(()=>i(e,t));return[n,(0,l.useCallback)(t=>{r(n=>{let l="function"==typeof t?t(n):t;return o(e,l),l})},[e])]}}},e=>{e.O(0,[6714,3862,2678,4754,9244,3392,7111,2003,488,8470,5418,8401,2266,8441,1255,7358],()=>e(e.s=31087)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[603],{12818:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>J});var l=n(95155),i=n(94049),o=n(12115),r=n(2300),a=n(25635),s=n(80777),c=n(28548),u=n(4474),d=n(22003),f=n(21067),h=n(2975),x=n(26922),p=n(87021);let g=(0,p.h)("frontend/services/waves");class m{async list(){try{let e=await fetch("/api/waves");if(!e.ok)throw Error("HTTP ".concat(e.status));return await e.json()}catch(e){return g.warn("Failed to list waves",e),{paused:!1,generatedAt:new Date().toISOString(),waves:[],orphans:[]}}}}let b=new m;var w=n(64598),v=n(97104),y=n(23201),j=n(76122),k=n(22539);n(8301);var E=n(14913),I=n(57883),S=n(78470),A=n(11096),R=n(28874),N=n(64410);let O={schedule:{label:"Periodic",color:"#1976d2",timeline:!0},"mcp-poll":{label:"MCP Poll",color:"#7b1fa2",timeline:!0},"url-watch":{label:"URL Watch",color:"#0288d1",timeline:!0},webhook:{label:"Webhook",color:"#2e7d32",timeline:!1},"file-watch":{label:"File Watcher",color:"#ed6c02",timeline:!1},"flow-event":{label:"Event",color:"#616161",timeline:!1}};var z=n(14976);let W={"1h":36e5,"6h":216e5,"1d":864e5},C=["1h","6h","1d"];function M(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:24,i=arguments.length>4?arguments[4]:void 0;if(!e||"string"!=typeof e||!e.trim()||!Number.isFinite(t)||!Number.isFinite(n)||n<=0)return[];let o=t+n,r=[];try{let n=i?new z.l4(e.trim(),{timezone:i}):new z.l4(e.trim()),a=new Date(t-1);for(let e=0;e<l;e++){let e=n.nextRun(a);if(!e)break;let t=e.getTime();if(t>o)break;r.push(t),a=e}}catch(e){return[]}return r}function T(e,t){if(null==e||!Number.isFinite(e))return"no scheduled run";let n=e-t;if(n<=0)return"due now";let l=Math.floor(n/6e4),i=Math.floor(l/1440),o=Math.floor(l%1440/60),r=l%60;return i>0?"in ".concat(i,"d ").concat(o,"h"):o>0?"in ".concat(o,"h ").concat(String(r).padStart(2,"0"),"m"):"in ".concat(r,"m")}var D=n(55930);function F(e){let{subflows:t,depth:n=0}=e;return t&&0!==t.length?(0,l.jsx)(i.default,{sx:{pl:1.5*(0!==n),mt:.25},children:t.map((e,t)=>{var o;return(0,l.jsxs)(i.default,{sx:{borderLeft:n>0?"1px dashed rgba(0,0,0,0.2)":"none",pl:+(n>0)},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,l.jsx)(D.A,{sx:{fontSize:12,opacity:.6}}),(0,l.jsxs)(a.default,{variant:"caption",sx:{opacity:e.missing?.6:.85,fontStyle:e.missing?"italic":"normal"},children:[null!=(o=e.flowName)?o:e.flowId,e.missing?" (missing)":"",e.truncated?" …":""]})]}),e.children.length>0&&(0,l.jsx)(F,{subflows:e.children,depth:n+1})]},"".concat(e.flowId,"-").concat(t))})}):null}var L=n(67404);function _(e,t){return"".concat(e,"#").concat(t)}let H={trigger:function(e){var t,n,o,r,u,d;let{data:f}=e,{chainNode:h,now:x,runAt:p,isRoot:g,hasSuccessors:m,expanded:b,pinned:w}=f,v=null!=(d=O[u=h.triggerKind])?d:{label:u,color:"#616161",timeline:!1},y="";"timeline"===h.timing.mode?y=g?T(p,x):"on schedule":"fixed"===h.timing.mode?y="fires when it happens":"event"===h.timing.mode&&(y="signal"===h.timing.via?'on signal "'.concat(null!=(t=h.timing.topic)?t:"",'"'):"when its upstream runs");let E=null!=(n=h.emittedSignals)?n:[];return(0,l.jsxs)(i.default,{sx:{minWidth:220,maxWidth:260,borderRadius:1,border:"1px solid rgba(0,0,0,0.15)",borderTop:"4px solid ".concat(v.color),outline:w||b?"2px solid ".concat(v.color):"none",outlineOffset:2*!!w,bgcolor:"background.paper",boxShadow:w?6:b?4:2,p:1,opacity:h.enabled?1:.55,transition:"box-shadow 120ms ease, outline-color 120ms ease"},children:[(0,l.jsx)(k.h7,{type:"target",position:j.yX.Left,style:{background:v.color}}),(0,l.jsx)(k.h7,{type:"target",position:j.yX.Top,id:"up",style:{background:v.color}}),(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:.5},children:[(0,l.jsx)(c.A,{label:v.label,size:"small",sx:{bgcolor:v.color,color:"#fff",height:18,fontSize:10}}),g&&(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.6},children:"root"})]}),(0,l.jsx)(a.default,{variant:"subtitle2",sx:{mt:.5,fontWeight:600,lineHeight:1.2},noWrap:!0,title:h.name,children:h.name}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",opacity:.75},noWrap:!0,title:null!=(o=h.flowName)?o:h.flowId,children:null!=(r=h.flowName)?r:h.flowId}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",mt:.25,color:v.color,fontWeight:500},children:y}),E.length>0&&(0,l.jsxs)(i.default,{sx:{mt:.5},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.25},children:[(0,l.jsx)(A.A,{sx:{fontSize:13,color:"#7b1fa2"}}),(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.7},children:"Signals"})]}),(0,l.jsx)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,children:E.map(e=>(0,l.jsx)(S.A,{title:e.direct?"Emitted by this flow":"Emitted via a subflow",arrow:!0,children:(0,l.jsx)(c.A,{label:e.topic,size:"small",variant:e.direct?"filled":"outlined",sx:{height:18,fontSize:10,bgcolor:e.direct?"rgba(123,31,162,0.12)":"transparent",borderColor:"rgba(123,31,162,0.4)",color:"#7b1fa2"}})},e.topic))})]}),(0,l.jsx)(F,{subflows:h.subflows}),w&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.25,mt:.5,color:v.color},children:[(0,l.jsx)(N.A,{sx:{fontSize:13}}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10,fontWeight:600},children:"pinned"})]}),m&&!b&&!w&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.25,mt:.5,opacity:.55},children:[(0,l.jsx)(R.A,{sx:{fontSize:13,transform:"rotate(90deg)"}}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10},children:"hover to follow chain"})]}),(0,l.jsx)(k.h7,{type:"source",position:j.yX.Right,style:{background:v.color}}),(0,l.jsx)(k.h7,{type:"source",position:j.yX.Bottom,id:"down",style:{background:v.color}})]})},clock:function(){return(0,l.jsxs)(i.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:.25,width:84},children:[(0,l.jsx)(i.default,{sx:{width:56,height:56,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"primary.main",color:"primary.contrastText",boxShadow:3},children:(0,l.jsx)(L.A,{})}),(0,l.jsx)(a.default,{variant:"caption",sx:{fontWeight:600},children:"now"}),(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.6,fontSize:10,textAlign:"center"},children:"time →"})]})},tick:function(e){let{data:t}=e,{label:n}=t;return(0,l.jsxs)(i.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",transform:"translateX(-50%)",pointerEvents:"none",userSelect:"none"},children:[(0,l.jsx)(a.default,{variant:"caption",sx:{fontSize:10,opacity:.55,whiteSpace:"nowrap"},children:n}),(0,l.jsx)(i.default,{sx:{width:"1px",height:14,bgcolor:"rgba(0,0,0,0.25)",mt:.25}})]})}};function G(e){let{wave:t,height:n=460}=e,[r,s]=(0,o.useState)(()=>Date.now()),[c,u]=(0,o.useState)(()=>(function(e,t){let n=1/0;for(let l of e.nodes){if("timeline"!==l.timing.mode)continue;let e=l.timing.cron;if(!e)continue;let i=M(e,t,864e5,3);if(i.length>=2){let e=i[1]-i[0];e<n&&(n=e)}}if(!Number.isFinite(n))return"6h";let l=6*n;return l<=W["1h"]?"1h":l<=W["6h"]?"6h":"1d"})(t,Date.now())),[d,f]=(0,o.useState)(null),[h,x]=(0,o.useState)(null),p=(0,o.useRef)(null),g=null!=h?h:d,m=(0,o.useMemo)(()=>t.nodes.some(e=>"timeline"===e.timing.mode),[t]);(0,o.useEffect)(()=>{if(!m)return;let e=setInterval(()=>s(Date.now()),3e4);return()=>clearInterval(e)},[m]),(0,o.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]);let b=W[c],w=(0,o.useMemo)(()=>{let e=new Map;for(let n of t.nodes)e.set(n.executionId,n.name);return e},[t]),v=(0,o.useMemo)(()=>(function(e){let{wave:t,now:n,windowMs:l,hoveredKey:i,timezone:o}=e,{nodeById:r,succ:a,edgeByPair:s,rootIds:c,parentOf:u}=function(e){let t=new Map;for(let n of e.nodes)t.set(n.executionId,n);let n=new Map,l=new Map;for(let t of e.nodes)n.set(t.executionId,[]),l.set(t.executionId,[]);let i=new Map;for(let o of e.edges)t.has(o.fromExecutionId)&&t.has(o.toExecutionId)&&(n.get(o.fromExecutionId).push(o.toExecutionId),l.get(o.toExecutionId).push(o.fromExecutionId),i.set("".concat(o.fromExecutionId,"->").concat(o.toExecutionId),o));for(let[,e]of n)e.sort();let o=e.rootExecutionIds.filter(e=>t.has(e));0===o.length&&(o=e.nodes.filter(e=>{var t,n;return(null!=(n=null==(t=l.get(e.executionId))?void 0:t.length)?n:0)===0}).map(e=>e.executionId)),o=[...o].sort();let r=new Map;{let e=new Set(o),t=[...o];for(;t.length>0;){var a;let l=t.shift();for(let i of null!=(a=n.get(l))?a:[])e.has(i)||(e.add(i),r.set(i,l),t.push(i))}}return{nodeById:t,succ:n,preds:l,edgeByPair:i,rootIds:o,parentOf:r}}(t),d=[];for(let e of c){let t=r.get(e);if("timeline"===t.timing.mode){let i=M(t.timing.cron,n,l,void 0,o);if(i.length>0)i.forEach((t,n)=>d.push({baseId:e,occ:n,runAt:t}));else{let n=t.timing.nextRun?Date.parse(t.timing.nextRun):NaN;d.push({baseId:e,occ:0,runAt:Number.isFinite(n)?n:null})}}else d.push({baseId:e,occ:0,runAt:null})}let f=i?function(e){let t=e.lastIndexOf("#");return t>=0?e.slice(0,t):e}(i):null,h=i?function(e){let t=e.lastIndexOf("#");return t>=0?Number(e.slice(t+1)):0}(i):null,x=new Set,p=null;if(f){let e=f,t=new Set;for(;e&&!t.has(e);){t.add(e),x.add(e);let n=u.get(e);if(!n){p=e;break}e=n}}let g=new Map,m=e=>{if("timeline"!==r.get(e.baseId).timing.mode)return 0;if(null==e.runAt)return 1;var t=e.runAt;if(null==t||!Number.isFinite(t)||l<=0)return 0;let i=t-n;return i<=0?0:Math.min(1,i/l)},b=(e,t,n,l,i,o)=>{var s,c;let u=_(e,t);if(g.has(u))return;let d=r.get(e);g.set(u,{key:u,baseId:e,occ:t,chainNode:d,isRoot:o,runAt:i,level:n,x:l,y:24+220*n,hasSuccessors:(null!=(c=null==(s=a.get(e))?void 0:s.length)?c:0)>0,expanded:x.has(e)&&t===h})},w=(e,t,n,l)=>{var i;if(!(x.has(e)&&t===h))return;let o=(null!=(i=a.get(e))?i:[]).filter(e=>!g.has(_(e,t)));if(0===o.length)return;let r=(o.length-1)*320;o.forEach((e,i)=>{let o=l-r/2+320*i;b(e,t,n+1,o,null,!1),w(e,t,n+1,o)})};for(let e of d){if(i&&(e.baseId!==p||e.occ!==h))continue;let t=160+620*m(e);b(e.baseId,e.occ,0,t,e.runAt,!0),w(e.baseId,e.occ,0,t)}let v=[];for(let[e,t]of g){var y;let n=t.occ;for(let l of null!=(y=a.get(t.baseId))?y:[]){let i=_(l,n),o=g.get(i);if(!o)continue;let r=s.get("".concat(t.baseId,"->").concat(l));r&&v.push({id:"".concat(e,"->").concat(i),source:e,target:i,chainEdge:r,recursive:o.level<=t.level})}}return{nodes:[...g.values()],edges:v}})({wave:t,now:r,windowMs:b,hoveredKey:g}),[t,r,b,g]),y=(0,o.useMemo)(()=>{let e=v.nodes.map(e=>({id:e.key,type:"trigger",position:{x:e.x,y:e.y},data:{chainNode:e.chainNode,now:r,runAt:e.runAt,isRoot:e.isRoot,hasSuccessors:e.hasSuccessors,expanded:e.expanded,pinned:e.key===h},draggable:!1,connectable:!1}));return[{id:"__clock__",type:"clock",position:{x:16,y:24},data:{},draggable:!1,selectable:!1,connectable:!1},...m?(function(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t)||t<=0)return[];let l=t<=W["1h"]?6e5:t<=W["6h"]?36e5:t<=W["1d"]?144e5:Math.max(6e4,Math.round(t/6)),i=[];for(let n=0;n<=t+1&&i.length<200;n+=l)i.push({atMs:e+n,fraction:Math.min(1,n/t),label:function(e){if(e<=0)return"now";let t=Math.round(e/6e4),n=Math.floor(t/60),l=t%60;return 0===n?"".concat(l,"m"):0===l?"".concat(n,"h"):"".concat(n,"h ").concat(l,"m")}(n)});return i})(r,b).map((e,t)=>({id:"__tick_".concat(t,"__"),type:"tick",position:{x:160+620*e.fraction,y:-24},data:{label:e.label},draggable:!1,selectable:!1,connectable:!1})):[],...e]},[v,r,h,m,b]),S=(0,o.useMemo)(()=>v.edges.map(e=>{let t=e.recursive?"#ed6c02":"signal"===e.chainEdge.via?"#7b1fa2":"#616161",n="".concat(e.recursive?"↻ ":"").concat(function(e,t){var n;if("signal"===e.via)return"⚡ ".concat(null!=(n=e.topic)?n:"signal");let l=e.on&&e.on.length>0?e.on.join(" / "):"completes";return"when ".concat(t?"".concat(t," "):"").concat(l)}(e.chainEdge,w.get(e.chainEdge.fromExecutionId)));return{id:e.id,source:e.source,target:e.target,sourceHandle:"down",targetHandle:"up",label:n,animated:!e.recursive,markerEnd:{type:j.TG.ArrowClosed,color:t},style:{stroke:t,strokeDasharray:e.recursive?"6 4":void 0},labelStyle:{fontSize:10,fill:t},labelBgStyle:{fill:"#fff",fillOpacity:.85}}}),[v,w]);return(0,l.jsx)(i.default,{sx:{height:n,width:"100%",border:"1px solid rgba(0,0,0,0.1)",borderRadius:1},children:(0,l.jsxs)(k.Gc,{nodes:y,edges:S,nodeTypes:H,fitView:!0,fitViewOptions:{padding:.15},minZoom:.2,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,preventScrolling:!0,panOnDrag:!0,onNodeMouseEnter:(e,t)=>{if(p.current&&clearTimeout(p.current),"clock"===t.type||"tick"===t.type)return void f(null);f(t.id)},onNodeMouseLeave:()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>f(null),800)},onNodeClick:(e,t)=>{"clock"!==t.type&&"tick"!==t.type&&x(e=>e===t.id?null:t.id)},onPaneClick:()=>x(null),proOptions:{hideAttribution:!0},children:[(0,l.jsx)(k.VS,{}),(0,l.jsx)(k.H2,{showInteractive:!1}),m&&(0,l.jsx)(k.Zk,{position:"top-right",children:(0,l.jsx)(E.A,{size:"small",exclusive:!0,value:c,onChange:(e,t)=>t&&u(t),sx:{bgcolor:"background.paper",boxShadow:1},children:C.map(e=>(0,l.jsx)(I.A,{value:e,sx:{px:1,py:.25},children:e},e))})}),(0,l.jsx)(k.Zk,{position:"bottom-right",children:(0,l.jsx)(a.default,{variant:"caption",sx:{opacity:.55,bgcolor:"background.paper",px:.5,borderRadius:.5},children:h?"chain pinned — click the background to release":"hover a card to follow its chain \xb7 click to pin"})})]})})}function P(e){return(0,l.jsx)(k.Ln,{children:(0,l.jsx)(G,{...e})})}let B=(0,p.h)("frontend/components/Waves");function V(e){let t=e.nodes.filter(t=>e.rootExecutionIds.includes(t.executionId)).map(e=>e.name);return t.length>0?t.join(", "):"Wave"}function X(e){let{wave:t,selected:n,now:o,onSelect:u}=e,d=t.nodes.some(e=>"timeline"===e.timing.mode),f=d?function(e){let t=null;for(let n of e.nodes)if("timeline"===n.timing.mode&&n.timing.nextRun){let e=Date.parse(n.timing.nextRun);Number.isFinite(e)&&(null===t||e<t)&&(t=e)}return t}(t):null;return(0,l.jsxs)(r.A,{variant:"outlined",onClick:u,sx:{p:1.25,cursor:"pointer",borderColor:n?"primary.main":void 0,borderWidth:n?2:1,bgcolor:n?"action.selected":"background.paper",transition:"border-color 120ms ease, background-color 120ms ease","&:hover":{borderColor:"primary.light"}},children:[(0,l.jsx)(a.default,{variant:"subtitle2",sx:{fontWeight:600,lineHeight:1.25},noWrap:!0,title:V(t),children:V(t)}),(0,l.jsxs)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,sx:{mt:.75},children:[(0,l.jsx)(c.A,{label:"".concat(t.nodes.length," execution(s)"),size:"small",variant:"outlined"}),d&&(0,l.jsx)(c.A,{label:"time-based",size:"small",color:"info",variant:"outlined"}),t.hasCycle&&(0,l.jsx)(c.A,{label:"recursive",color:"warning",size:"small"})]}),d&&(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.75,opacity:.75},children:[(0,l.jsx)(x.A,{sx:{fontSize:14}}),(0,l.jsxs)(a.default,{variant:"caption",children:["next run ",f?T(f,o):"not scheduled"]})]})]})}function U(){var e;let[t,n]=(0,o.useState)(null),[x,p]=(0,o.useState)(!0),[g,m]=(0,o.useState)(()=>Date.now()),[j,k]=(0,v.Xk)("flujo-ui:waves:selected",null),{ref:E,showBackToTop:I,scrollToTop:S}=(0,w.R)("flujo-ui:scroll:waves",{deps:[t]}),A=(0,o.useCallback)(async()=>{n(await b.list()),p(!1)},[]);(0,o.useEffect)(()=>{A().catch(e=>{B.warn("Initial waves load failed",e),p(!1)});let e=setInterval(()=>{A().catch(e=>B.warn("Waves refresh failed",e))},3e4);return()=>clearInterval(e)},[A]),(0,o.useEffect)(()=>{let e=setInterval(()=>m(Date.now()),3e4);return()=>clearInterval(e)},[]);let R=(0,o.useMemo)(()=>{var e;return null!=(e=null==t?void 0:t.waves)?e:[]},[t]),N=null!=(e=null==t?void 0:t.orphans)?e:[],O=(0,o.useMemo)(()=>{var e;return 0===R.length?null:null!=(e=R.find(e=>e.id===j))?e:R[0]},[R,j]);return x?(0,l.jsx)(i.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,l.jsx)(u.default,{})}):(0,l.jsxs)(i.default,{sx:{p:3,height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,l.jsx)(h.A,{color:"primary"}),(0,l.jsx)(a.default,{variant:"h5",sx:{fontWeight:600},children:"Waves"}),(0,l.jsx)(c.A,{label:"experimental",size:"small",color:"warning",variant:"outlined"}),(null==t?void 0:t.paused)&&(0,l.jsx)(c.A,{label:"Scheduler paused",color:"warning",size:"small"})]}),(0,l.jsx)(a.default,{variant:"body2",sx:{opacity:.75,mb:2},children:"A read-only picture of how your Planned Executions chain together via signals and completion events. Pick a wave on the left to open it on the canvas — the clock on the left is “now”, and scheduled runs approach from the right. Hover a card to follow its chain, or click it to pin the chain open (click the background to release); use the window control to zoom the timeline out. Nothing here arms or fires anything."}),0===R.length&&0===N.length&&(0,l.jsx)(d.A,{severity:"info",children:"No planned executions to visualize yet. Create some executions (and link them with flow-event triggers or signal nodes) to see waves here."}),(R.length>0||N.length>0)&&(0,l.jsxs)(i.default,{sx:{flex:1,minHeight:0,display:"flex",gap:2},children:[(0,l.jsxs)(i.default,{ref:E,sx:{width:320,flexShrink:0,overflow:"auto",pr:.5},children:[(0,l.jsx)(s.A,{spacing:1,children:R.map(e=>(0,l.jsx)(X,{wave:e,now:g,selected:(null==O?void 0:O.id)===e.id,onSelect:()=>k(e.id)},e.id))}),N.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.A,{sx:{my:2}}),(0,l.jsx)(a.default,{variant:"subtitle2",sx:{fontWeight:600,mb:.5},children:"Unlinked event triggers"}),(0,l.jsx)(a.default,{variant:"caption",sx:{display:"block",opacity:.75,mb:1},children:"These flow-event triggers reference a source that matches no known producer, so they never start from an organic trigger."}),(0,l.jsx)(s.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,children:N.map(e=>{var t;return(0,l.jsx)(c.A,{label:"".concat(e.name," → ").concat(null!=(t=e.flowName)?t:e.flowId),size:"small"},e.executionId)})})]}),(0,l.jsx)(y.A,{show:I,onClick:S})]}),(0,l.jsx)(i.default,{sx:{flex:1,minHeight:0},children:O?(0,l.jsxs)(r.A,{variant:"outlined",sx:{p:1.5,height:"100%",display:"flex",flexDirection:"column",minHeight:0},children:[(0,l.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,l.jsx)(a.default,{variant:"subtitle1",sx:{fontWeight:600},noWrap:!0,title:V(O),children:V(O)}),(0,l.jsx)(c.A,{label:"".concat(O.nodes.length," execution(s)"),size:"small",variant:"outlined"}),O.hasCycle&&(0,l.jsx)(c.A,{label:"recursive",color:"warning",size:"small"})]}),(0,l.jsx)(i.default,{sx:{flex:1,minHeight:0},children:(0,l.jsx)(P,{wave:O,height:"100%"},O.id)})]}):(0,l.jsx)(i.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",opacity:.6},children:(0,l.jsx)(a.default,{variant:"body2",children:"Select a wave to open it."})})})]})]})}let q=(0,p.h)("app/waves/page");function J(){return q.debug("Rendering WavesPage"),(0,l.jsx)(i.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,l.jsx)(U,{})})}},23201:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var l=n(95155);n(12115);var i=n(5421),o=n(67895),r=n(97430);function a(e){let{show:t,onClick:n,sx:a}=e;return(0,l.jsx)(i.A,{in:t,unmountOnExit:!0,children:(0,l.jsx)(o.A,{size:"small",color:"primary","aria-label":"Back to top",onClick:n,sx:{position:"fixed",bottom:24,right:24,zIndex:1200,...a},children:(0,l.jsx)(r.A,{})})})}},31087:(e,t,n)=>{Promise.resolve().then(n.bind(n,12818))},64598:(e,t,n)=>{"use strict";n.d(t,{R:()=>o});var l=n(12115),i=n(97104);function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{threshold:n=200,deps:o=[]}=t,r=(0,l.useRef)(null),[a,s]=(0,l.useState)(!1),c=(0,l.useRef)(!1),u=(0,l.useCallback)(()=>{let e=r.current;return e&&e.scrollHeight>e.clientHeight+1?e:null},[]),d=(0,l.useCallback)(()=>{let e=u();return e?e.scrollTop:window.scrollY||document.documentElement.scrollTop||0},[u]),f=(0,l.useCallback)(e=>{let t=u();t?t.scrollTop=e:window.scrollTo(0,e)},[u]);return(0,l.useEffect)(()=>{let t=r.current,l=0,o="function"==typeof window.requestAnimationFrame?window.requestAnimationFrame.bind(window):e=>window.setTimeout(()=>e(0),16),a="function"==typeof window.cancelAnimationFrame?window.cancelAnimationFrame.bind(window):e=>window.clearTimeout(e),c=()=>{let t=d();s(t>n),l&&a(l),l=o(()=>(0,i.vi)(e,t))};return null==t||t.addEventListener("scroll",c,{passive:!0}),window.addEventListener("scroll",c,{passive:!0}),()=>{l&&a(l),null==t||t.removeEventListener("scroll",c),window.removeEventListener("scroll",c)}},[e,n,d]),(0,l.useEffect)(()=>{if(c.current)return;let t=(0,i.Aq)(e,0);if(t<=0){c.current=!0;return}f(t);let l=d();l>0&&(c.current=!0,s(l>n))},o),{ref:r,showBackToTop:a,scrollToTop:(0,l.useCallback)(()=>{let e=u();e?e.scrollTo({top:0,behavior:"smooth"}):window.scrollTo({top:0,behavior:"smooth"}),s(!1)},[u])}}},87021:(e,t,n)=>{"use strict";n.d(t,{h:()=>s});let l={LOG_LEVEL:3},i={VERBOSE:-1,DEBUG:0,INFO:1,WARN:2,ERROR:3},o="number"==typeof l.LOG_LEVEL?l.LOG_LEVEL:i.ERROR;function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>6)return String(e);if(!(e instanceof Error))return e;let n={name:e.name,message:e.message};for(let l of Object.getOwnPropertyNames(e)){if("name"===l||"message"===l)continue;let i=e[l];"function"!=typeof i&&("stack"===l?n.stack=i:"cause"===l?n.cause=r(i,t+1):"errors"===l&&Array.isArray(i)?n.errors=i.map(e=>r(e,t+1)):n[l]=i)}return n}function a(e,t,n,l,a){if(e>=("number"==typeof a?a:o)){if("function"==typeof l)try{l=l()}catch(e){l="[lazy log data threw]"}let o=new Date().toISOString(),a="[".concat(o,"] [").concat(t,"]"),s="".concat(a," ").concat(n);if(void 0!==l)if(l instanceof Error||"object"==typeof l)try{let e=l instanceof Error?r(l):l,t=JSON.stringify(e,(e,t)=>t instanceof Error?r(t):t,2);s+=":\n".concat(t)}catch(e){s+=": [Object cannot be stringified]"}else s+=": ".concat(l);switch(e){case i.VERBOSE:console.debug("[VERBOSE] ".concat(s));break;case i.DEBUG:console.debug(s);break;case i.INFO:console.info(s);break;case i.WARN:console.warn(s);break;case i.ERROR:console.error(s);break;default:console.log(s)}}}function s(e,t){let n,l=((n=e.replace(/^src\//,"")).startsWith("/")&&(n=n.substring(1)),n);return{verbose:(e,n)=>{a(i.VERBOSE,l,e,n,t)},debug:(e,n)=>{a(i.DEBUG,l,e,n,t)},info:(e,n)=>{a(i.INFO,l,e,n,t)},warn:(e,n)=>{a(i.WARN,l,e,n,t)},error:(e,n)=>{a(i.ERROR,l,e,n,t)}}}},97104:(e,t,n)=>{"use strict";n.d(t,{Aq:()=>i,Xk:()=>r,vi:()=>o});var l=n(12115);function i(e,t){try{let n=window.localStorage.getItem(e);if(null===n)return t;return JSON.parse(n)}catch(e){return t}}function o(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}}function r(e,t){let[n,r]=(0,l.useState)(()=>i(e,t));return[n,(0,l.useCallback)(t=>{r(n=>{let l="function"==typeof t?t(n):t;return o(e,l),l})},[e])]}}},e=>{e.O(0,[6714,3862,2678,4754,9244,3392,981,2003,488,8470,1675,5418,7391,8441,1255,7358],()=>e(e.s=31087)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={},t={};function r(a){var c=t[a];if(void 0!==c)return c.exports;var n=t[a]={exports:{}},o=!0;try{e[a].call(n.exports,n,n.exports,r),o=!1}finally{o&&delete t[a]}return n.exports}r.m=e,(()=>{var e=[];r.O=(t,a,c,n)=>{if(a){n=n||0;for(var o=e.length;o>0&&e[o-1][2]>n;o--)e[o]=e[o-1];e[o]=[a,c,n];return}for(var s=1/0,o=0;o<e.length;o++){for(var[a,c,n]=e[o],i=!0,d=0;d<a.length;d++)(!1&n||s>=n)&&Object.keys(r.O).every(e=>r.O[e](a[d]))?a.splice(d--,1):(i=!1,n<s&&(s=n));if(i){e.splice(o--,1);var u=c();void 0!==u&&(t=u)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(a,c){if(1&c&&(a=this(a)),8&c||"object"==typeof a&&a&&(4&c&&a.__esModule||16&c&&"function"==typeof a.then))return a;var n=Object.create(null);r.r(n);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&c&&a;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>o[e]=()=>a[e]);return o.default=()=>a,r.d(n,o),n}})(),r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,a)=>(r.f[a](e,t),t),[])),r.u=e=>1646===e?"static/chunks/1646.a93085a0445ba909.js":5139===e?"static/chunks/5139.e4ff9cc3669129ed.js":8405===e?"static/chunks/8405.a425f94b6b13d2be.js":454===e?"static/chunks/454.5fc2f8eef98483e3.js":2005===e?"static/chunks/2005.4eea65c00d9a29cd.js":3217===e?"static/chunks/3217.260785c2198d1e9d.js":9195===e?"static/chunks/9195.294887f083b1a11b.js":8345===e?"static/chunks/8345.bc5534ec13abc9ee.js":3545===e?"static/chunks/3545.353a62a68d3b7fd1.js":361===e?"static/chunks/361.bb75b03b740930cd.js":8198===e?"static/chunks/8198.cd0d3f8429c02862.js":3910===e?"static/chunks/3910.5c6885d7a5bd753e.js":"static/chunks/"+e+"-"+({422:"61b173ba64cf0c94",981:"dd289e60d81da0d1",1871:"14c3e63ca865d85e",2003:"f826c607d609d1fa",2678:"c88052addfb0478a",3272:"fd8d59523f61da96",3392:"6dd9ad3be66a7ce9",4386:"e9621d3c94969a68",4523:"a540747aa2ed34e8",4754:"5c62bb61142f82d1",8470:"72cf748472d4d501",8598:"1b627b3d682b364a",9164:"de1d167d87614a6d",9244:"3281f7fd02003a2c",9562:"f8371be653010627",9581:"6d2523fd68a5e3c4"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(a,c,n,o)=>{if(e[a])return void e[a].push(c);if(void 0!==n)for(var s,i,d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var f=d[u];if(f.getAttribute("src")==a||f.getAttribute("data-webpack")==t+n){s=f;break}}s||(i=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,r.nc&&s.setAttribute("nonce",r.nc),s.setAttribute("data-webpack",t+n),s.src=r.tu(a)),e[a]=[c];var l=(t,r)=>{s.onerror=s.onload=null,clearTimeout(b);var c=e[a];if(delete e[a],s.parentNode&&s.parentNode.removeChild(s),c&&c.forEach(e=>e(r)),t)return t(r)},b=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),i&&document.head.appendChild(s)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={5687:0,6317:0,6714:0,2978:0,1137:0};r.f.j=(t,a)=>{var c=r.o(e,t)?e[t]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^((113|568|631)7|2978|6714)$/.test(t))e[t]=0;else{var n=new Promise((r,a)=>c=e[t]=[r,a]);a.push(c[2]=n);var o=r.p+r.u(t),s=Error();r.l(o,a=>{if(r.o(e,t)&&(0!==(c=e[t])&&(e[t]=void 0),c)){var n=a&&("load"===a.type?"missing":a.type),o=a&&a.target&&a.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,c[1](s)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,a)=>{var c,n,[o,s,i]=a,d=0;if(o.some(t=>0!==e[t])){for(c in s)r.o(s,c)&&(r.m[c]=s[c]);if(i)var u=i(r)}for(t&&t(a);d<o.length;d++)n=o[d],r.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return r.O(u)},a=self.webpackChunk_N_E=self.webpackChunk_N_E||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})()})();