flujo-ai 3.40.0 → 3.41.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 (278) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +400 -384
  3. package/.next/app-path-routes-manifest.json +53 -53
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +33 -33
  6. package/.next/react-loadable-manifest.json +9 -9
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_not-found.html +1 -1
  9. package/.next/server/app/_not-found.rsc +3 -3
  10. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/flow/assist/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/mcp/flujo/authoring/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/mcp/flujo/automation/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/mcp/flujo/flows/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/mcp/flujo/resources/read/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/mcp/flujo/resources/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/mcp/flujo/servers/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/mcp/flujo/state/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/mcp/flujo/tools/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/setup/ai-cli/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/statistics/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  97. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/automation/triggers/page.js +1 -1
  102. package/.next/server/app/automation/triggers/page.js.nft.json +1 -1
  103. package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/automation/triggers.html +1 -1
  105. package/.next/server/app/automation/triggers.rsc +4 -4
  106. package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/automation/waves.html +1 -1
  108. package/.next/server/app/automation/waves.rsc +4 -4
  109. package/.next/server/app/chat/page.js +2 -2
  110. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/chat.html +1 -1
  112. package/.next/server/app/chat.rsc +4 -4
  113. package/.next/server/app/docs/page.js +3 -3
  114. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/docs.html +1 -1
  116. package/.next/server/app/docs.rsc +4 -4
  117. package/.next/server/app/executions/page.js +1 -1
  118. package/.next/server/app/executions/page.js.nft.json +1 -1
  119. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  120. package/.next/server/app/executions.html +1 -1
  121. package/.next/server/app/executions.rsc +4 -4
  122. package/.next/server/app/flows/page.js +5 -3
  123. package/.next/server/app/flows/page.js.nft.json +1 -1
  124. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  125. package/.next/server/app/flows.html +1 -1
  126. package/.next/server/app/flows.rsc +4 -4
  127. package/.next/server/app/index.html +1 -1
  128. package/.next/server/app/index.rsc +4 -4
  129. package/.next/server/app/mcp/page.js +73 -44
  130. package/.next/server/app/mcp/page.js.nft.json +1 -1
  131. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  132. package/.next/server/app/mcp-flows/route.js +1 -1
  133. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  135. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/mcp.html +1 -1
  137. package/.next/server/app/mcp.rsc +4 -4
  138. package/.next/server/app/models/page.js +7 -7
  139. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  140. package/.next/server/app/packages/page.js +1 -1
  141. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/packages.html +1 -1
  143. package/.next/server/app/packages.rsc +4 -4
  144. package/.next/server/app/page.js +2 -2
  145. package/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/settings/page.js +2 -2
  147. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  148. package/.next/server/app/settings.html +1 -1
  149. package/.next/server/app/settings.rsc +4 -4
  150. package/.next/server/app/statistics/page.js +2 -2
  151. package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/statistics.html +1 -1
  153. package/.next/server/app/statistics.rsc +4 -4
  154. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  171. package/.next/server/app/waves.html +1 -1
  172. package/.next/server/app/waves.rsc +4 -4
  173. package/.next/server/app-paths-manifest.json +53 -53
  174. package/.next/server/chunks/1227.js +1 -1
  175. package/.next/server/chunks/1403.js +2 -2
  176. package/.next/server/chunks/1539.js +1 -1
  177. package/.next/server/chunks/2069.js +1 -1
  178. package/.next/server/chunks/2372.js +1 -1
  179. package/.next/server/chunks/2828.js +2 -2
  180. package/.next/server/chunks/3422.js +1 -0
  181. package/.next/server/chunks/3945.js +3 -3
  182. package/.next/server/chunks/519.js +2 -2
  183. package/.next/server/chunks/5444.js +2 -2
  184. package/.next/server/chunks/5750.js +1 -1
  185. package/.next/server/chunks/5918.js +10 -10
  186. package/.next/server/chunks/6226.js +2 -2
  187. package/.next/server/chunks/9088.js +2 -2
  188. package/.next/server/chunks/9490.js +5 -0
  189. package/.next/server/chunks/9543.js +3 -3
  190. package/.next/server/chunks/9624.js +8 -8
  191. package/.next/server/middleware-build-manifest.js +1 -1
  192. package/.next/server/middleware-manifest.json +1 -1
  193. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  194. package/.next/server/pages/404.html +1 -1
  195. package/.next/server/pages/500.html +1 -1
  196. package/.next/server/server-reference-manifest.js +1 -1
  197. package/.next/server/server-reference-manifest.json +1 -1
  198. package/.next/static/chunks/{1161-19176c3e7c655121.js → 1161-563a8028f59f00de.js} +1 -1
  199. package/.next/static/chunks/1521-9ad145dcb8e3abfc.js +1 -0
  200. package/.next/static/chunks/1576.06797b29a19fa26c.js +1 -0
  201. package/.next/static/chunks/{4386-e9621d3c94969a68.js → 2005-f9d38c39f10c321f.js} +1 -1
  202. package/.next/static/chunks/2493-da85c47ef972c066.js +1 -0
  203. package/.next/static/chunks/361.c88d43436e974006.js +1 -0
  204. package/.next/static/chunks/3731-c18f48522b159d7f.js +1 -0
  205. package/.next/static/chunks/3781.5086bce03aa281f7.js +1 -0
  206. package/.next/static/chunks/3969-15a32253b112652c.js +1 -0
  207. package/.next/static/chunks/4167.2ce97ca450815df1.js +1 -0
  208. package/.next/static/chunks/4814-52b7254ab573a455.js +1 -0
  209. package/.next/static/chunks/4965.d401547984d71b7a.js +1 -0
  210. package/.next/static/chunks/5148-9174ba300221fd1b.js +1 -0
  211. package/.next/static/chunks/5417-fb7d3760cc288ab1.js +1 -0
  212. package/.next/static/chunks/5967-34735763d1b03ccc.js +1 -0
  213. package/.next/static/chunks/7260-743e4b0cc4211dcb.js +1 -0
  214. package/.next/static/chunks/7711-7323dabe7dc02311.js +1 -0
  215. package/.next/static/chunks/8124-f99060fe1dfc119e.js +1 -0
  216. package/.next/static/chunks/8135-7fe07a34a8c49967.js +1 -0
  217. package/.next/static/chunks/8529.6187e01de8e9a692.js +1 -0
  218. package/.next/static/chunks/9136-e9ee57cc581ddd50.js +1 -0
  219. package/.next/static/chunks/9140.9180b569c4b26168.js +1 -0
  220. package/.next/static/chunks/9195-6a18a5867bb76c64.js +1 -0
  221. package/.next/static/chunks/app/automation/triggers/{page-594a6294c58344bf.js → page-34b9a8a2e6f28c2f.js} +1 -1
  222. package/.next/static/chunks/app/automation/waves/{page-ce2fef4996cad8e6.js → page-fd4929ea308183b2.js} +1 -1
  223. package/.next/static/chunks/app/chat/page-fb8a33db7628ecd0.js +1 -0
  224. package/.next/static/chunks/app/docs/page-3e21583b1cd5d7ca.js +1 -0
  225. package/.next/static/chunks/app/executions/{page-fcc848de86714386.js → page-56ecca56c17c05d7.js} +1 -1
  226. package/.next/static/chunks/app/flows/page-8c1a656197b15894.js +1 -0
  227. package/.next/static/chunks/app/layout-6e2756704ddc9f39.js +1 -0
  228. package/.next/static/chunks/app/mcp/page-4c4390354fdd94c8.js +1 -0
  229. package/.next/static/chunks/app/models/error-ea477f0ad52f4dcb.js +1 -0
  230. package/.next/static/chunks/app/models/page-e237ac64a0f62c3d.js +1 -0
  231. package/.next/static/chunks/app/packages/page-8680e4bea6b7ea45.js +1 -0
  232. package/.next/static/chunks/app/page-6dca06b6b7667181.js +1 -0
  233. package/.next/static/chunks/app/settings/page-a5f7fedcbf9e3a7f.js +1 -0
  234. package/.next/static/chunks/app/statistics/page-f9f9627d1c1ff963.js +1 -0
  235. package/.next/static/chunks/app/waves/{page-5b53af3eb9409414.js → page-7529febc48eb473d.js} +1 -1
  236. package/.next/static/chunks/{webpack-9fbd3587b9ef4dca.js → webpack-f3df493faa0bd612.js} +1 -1
  237. package/.next/static/css/{400b1b927c3ffaf6.css → 9f9b7f1374ac2d01.css} +1 -1
  238. package/.next/trace +11 -11
  239. package/README.md +1 -1
  240. package/mcp-servers/bash/package.json +1 -1
  241. package/mcp-servers/browser/package.json +1 -1
  242. package/mcp-servers/filesystem/package.json +1 -1
  243. package/mcp-servers/flujo/package.json +1 -1
  244. package/package.json +5 -5
  245. package/.next/server/chunks/7508.js +0 -5
  246. package/.next/server/chunks/8598.js +0 -1
  247. package/.next/static/chunks/1521-1c98c9a56726e053.js +0 -1
  248. package/.next/static/chunks/1576.bc6ae6c9e6d939d8.js +0 -1
  249. package/.next/static/chunks/2005.300528b5119c2d38.js +0 -1
  250. package/.next/static/chunks/2499-92cd97ce4993999f.js +0 -1
  251. package/.next/static/chunks/361.51d642c530c84295.js +0 -1
  252. package/.next/static/chunks/3731-64070760ae44448f.js +0 -1
  253. package/.next/static/chunks/4814-31eb5f3b10c651c1.js +0 -1
  254. package/.next/static/chunks/4965.39e24b54c3c6ca58.js +0 -1
  255. package/.next/static/chunks/5967-59fde8c214c9ca9f.js +0 -1
  256. package/.next/static/chunks/6417.70056fe81ca21682.js +0 -1
  257. package/.next/static/chunks/7711-4b017720ec49c96d.js +0 -1
  258. package/.next/static/chunks/8124-94140ee1dd8ed87c.js +0 -1
  259. package/.next/static/chunks/8135-5b975b9014f8920b.js +0 -1
  260. package/.next/static/chunks/8529.b5a43e728bb5bb8a.js +0 -1
  261. package/.next/static/chunks/9001-4c27a608feddb878.js +0 -1
  262. package/.next/static/chunks/9136-9c415453ec02519c.js +0 -1
  263. package/.next/static/chunks/9140.6502327a2c098d33.js +0 -1
  264. package/.next/static/chunks/9195-3c9c4300e7505d9e.js +0 -1
  265. package/.next/static/chunks/9524-b9d2c7e4426edd07.js +0 -1
  266. package/.next/static/chunks/app/chat/page-203cb7bf21638ada.js +0 -1
  267. package/.next/static/chunks/app/docs/page-c466a58caf5e3336.js +0 -1
  268. package/.next/static/chunks/app/flows/page-172c759ca81ba02f.js +0 -1
  269. package/.next/static/chunks/app/layout-a6ca531683a518a7.js +0 -1
  270. package/.next/static/chunks/app/mcp/page-0a96e6b30e45b1e6.js +0 -1
  271. package/.next/static/chunks/app/models/error-1964203c5c6e7d0e.js +0 -1
  272. package/.next/static/chunks/app/models/page-ad1cbea6d3324966.js +0 -1
  273. package/.next/static/chunks/app/packages/page-dda48425be9fc137.js +0 -1
  274. package/.next/static/chunks/app/page-04189aa1b1318c2d.js +0 -1
  275. package/.next/static/chunks/app/settings/page-906c229c87011ead.js +0 -1
  276. package/.next/static/chunks/app/statistics/page-9b13a95549f438c0.js +0 -1
  277. /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_buildManifest.js +0 -0
  278. /package/.next/static/{b1aMk0634gkkiunttd1SQ → utOrEUSzguWncIosxgCeR}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5417],{9898:(e,r,t)=>{t.d(r,{v:()=>s});var n=t(12115),a=t(17897);let o=(0,t(73288).h)("frontend/hooks/useServerStatus");function l(e){return"stdio"===e.transport?e.args&&e.args.length>0?e.args[0]:"Unknown path":"websocket"===e.transport?e.websocketUrl||"Unknown URL":e.serverUrl||"Unknown URL"}function s(){let[e,r]=(0,n.useState)([]),[t,s]=(0,n.useState)(!0),[i,c]=(0,n.useState)(null),[u,d]=(0,n.useState)(new Set),p=(0,n.useCallback)(async()=>{o.debug("Loading servers"),s(!0),c(null);try{let e=await a.S.loadServerConfigs();if(!e||"error"in e){o.warn("Failed to load server configurations:",null==e?void 0:e.error),c((null==e?void 0:e.error)||"Failed to load server configurations"),s(!1);return}let t=await Promise.all(e.map(async e=>{o.debug("Getting status for server: ".concat(e.name));let r=await a.S.getServerStatus(e.name),t="string"==typeof r?r:r.status,n="object"==typeof r&&r.message?r.message:void 0,s="object"==typeof r&&r.stderrOutput?r.stderrOutput:void 0,i=l(e);return{...e,path:i,status:t,error:n,stderrOutput:s}}));o.debug("Final server states:",t),r(t),s(!1)}catch(e){o.warn("Failed to load servers:",e),c("Failed to load servers"),s(!1)}},[]),f=(0,n.useCallback)(async(t,n)=>{o.debug("Toggling server ".concat(t," to ").concat(n?"enabled":"disabled"));try{let l=e.find(e=>e.name===t);if(!l)return o.warn("Server not found: ".concat(t)),!1;o.debug("Found server ".concat(t,", current disabled state: ").concat(l.disabled));let s=await a.S.updateServerConfig(t,{disabled:!n});if(s.error)return o.warn("Failed to update server config:",[s.error,t]),!1;o.debug("Updating server ".concat(t," state in UI, new disabled state: ").concat(!n)),r(e=>e.map(e=>e.name===t?{...e,disabled:!n}:e)),o.info("Successfully toggled server ".concat(t," to ").concat(n?"enabled":"disabled"));try{let e=await a.S.getServerStatus(t),n="string"==typeof e?e:e.status,o="object"==typeof e&&e.message?e.message:void 0,l="object"==typeof e&&e.stderrOutput?e.stderrOutput:void 0;r(e=>e.map(e=>e.name===t?{...e,status:n,error:o,stderrOutput:l}:e))}catch(e){o.warn("Failed to get status for server ".concat(t," after toggle:"),e)}return!0}catch(e){return o.warn("Failed to toggle server:",e),!1}},[e]),m=(0,n.useCallback)(async t=>{o.debug("Deleting server: ".concat(t));try{if(!e.find(e=>e.name===t))return o.warn("Server not found:",t),!1;let n=await a.S.deleteServerConfig(t);if(n.error)return o.warn("Failed to delete server config:",n.error),!1;return r(e=>e.filter(e=>e.name!==t)),!0}catch(e){return o.warn("Failed to delete server:",e),!1}},[e]),v=(0,n.useCallback)(async e=>{o.debug("Adding server:",e);try{let t=l(e),n={...e,path:t,status:"connecting",tools:[],env:e.env||{}};r(e=>[...e,n]),d(r=>new Set(r).add(e.name));let s=await a.S.updateServerConfig(e.name,e);if(s.error)return o.warn("Failed to update server config:",s.error),r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:s.error}:r)),d(r=>{let t=new Set(r);return t.delete(e.name),t}),!1;o.info("Successfully added server ".concat(e.name));try{let t=await a.S.getServerStatus(e.name),n="string"==typeof t?t:t.status,o="object"==typeof t&&t.message?t.message:void 0,l="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;r(r=>r.map(r=>r.name===e.name?{...r,status:n,error:o,stderrOutput:l}:r))}catch(r){o.warn("Failed to get status for server ".concat(e.name," after adding:"),r)}return d(r=>{let t=new Set(r);return t.delete(e.name),t}),!0}catch(t){return o.warn("Failed to add server:",t),r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t instanceof Error?t.message:"Unknown error during server addition"}:r)),d(r=>{let t=new Set(r);return t.delete(e.name),t}),!1}},[]),g=(0,n.useCallback)(async(e,t)=>{let n=null!=t?t:e.name,s=n!==e.name;o.debug("Updating server:",e);try{r(r=>r.map(r=>r.name===n?{...e,path:l(e),status:r.status,error:r.error,stderrOutput:r.stderrOutput}:r));let t=await a.S.updateServerConfig(n,e);if(t.error){if(o.warn("Failed to update server config:",t.error),s)return await p(),!1;return r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t.error}:r)),!1}o.info("Successfully updated config for server ".concat(e.name));try{let t=await a.S.getServerStatus(e.name),n="string"==typeof t?t:t.status,o="object"==typeof t&&t.message?t.message:void 0,l="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;r(r=>r.map(r=>r.name===e.name?{...r,status:n,error:o,stderrOutput:l}:r))}catch(r){o.warn("Failed to get status for server ".concat(e.name," after config update:"),r)}return!0}catch(n){if(o.warn("Failed to update server:",n),s)return await p(),!1;let t=n instanceof Error?n.message:"Unknown error during update";return r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t}:r)),!1}},[p]),b=(0,n.useCallback)(async(e,t)=>{let n=t&&t.trim()?t.trim():"";o.debug("Setting folder for server ".concat(e," to ").concat(n||"(none)"));try{let t=await a.S.updateServerConfig(e,{folder:n});if("error"in t&&t.error)return o.warn("Failed to update server folder:",t.error),!1;return r(r=>r.map(r=>r.name===e?{...r,folder:n||void 0}:r)),!0}catch(e){return o.warn("Failed to set server folder:",e),!1}},[]),w=(0,n.useCallback)(async(e,t)=>{o.debug("Setting favorite for server ".concat(e," to ").concat(t));try{let n=await a.S.updateServerConfig(e,{favorite:t});if("error"in n&&n.error)return o.warn("Failed to update server favorite:",n.error),!1;return r(r=>r.map(r=>r.name===e?{...r,favorite:t}:r)),!0}catch(e){return o.warn("Failed to set server favorite:",e),!1}},[]),y=(0,n.useCallback)(async(t,n)=>{o.debug("Saving environment variables for server: ".concat(t),n);try{if(!e.find(e=>e.name===t))return o.warn("Server not found: ".concat(t)),!1;let l=await a.S.updateServerConfig(t,{env:n});if(l.error)return o.warn("Failed to update server config:",l.error),!1;return o.debug("Updating environment variables in UI for server: ".concat(t)),r(e=>e.map(e=>e.name===t?{...e,env:n}:e)),o.info("Successfully saved environment variables for server: ".concat(t)),!0}catch(e){return o.warn("Failed to save environment variables:",e),!1}},[e]);return(0,n.useEffect)(()=>{p()},[p]),{servers:e,isLoading:t,loadError:i,connectingServers:u,loadServers:p,toggleServer:f,retryServer:(0,n.useCallback)(async e=>{o.debug("Retrying server status for: ".concat(e));try{let t=await a.S.getServerStatus(e),n="string"==typeof t?t:t.status,o="object"==typeof t&&t.message?t.message:void 0,l="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;return r(r=>r.map(r=>r.name===e?{...r,status:n,error:o,stderrOutput:l}:r)),!0}catch(e){return o.warn("Failed to retry server status:",e),!1}},[]),deleteServer:m,addServer:v,updateServer:g,setServerFolder:b,setServerFavorite:w,saveEnv:y}}},23201:(e,r,t)=>{t.d(r,{A:()=>i});var n=t(95155);t(12115);var a=t(5421),o=t(67895),l=t(97430),s=t(36773);function i(e){let{show:r,onClick:t,sx:i}=e,{t:c}=(0,s.s9)();return(0,n.jsx)(a.A,{in:r,unmountOnExit:!0,children:(0,n.jsx)(o.A,{size:"small",color:"primary","aria-label":c("backToTop.action"),onClick:t,sx:{position:"fixed",bottom:24,right:24,zIndex:1200,...i},children:(0,n.jsx)(l.A,{})})})}},32683:(e,r,t)=>{t.d(r,{A:()=>A});var n=t(12115),a=t(2821),o=t(8532),l=t(57001),s=t(24809),i=t(81852),c=t(48116),u=t(33567),d=t(66964),p=t(74798),f=t(16625),m=t(25635),v=t(85795),g=t(95195);function b(e){return(0,g.Ay)("MuiLink",e)}let w=(0,v.A)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]);var y=t(3067),h=t(95155);let S={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},x=(0,c.Ay)(m.A,{name:"MuiLink",slot:"Root",overridesResolver:(e,r)=>{let{ownerState:t}=e;return[r.root,r["underline".concat((0,i.A)(t.underline))],"button"===t.component&&r.button]}})((0,d.A)(e=>{let{theme:r}=e;return{variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:e=>{let{underline:r,ownerState:t}=e;return"always"===r&&"inherit"!==t.color},style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(r.palette).filter((0,p.A)()).map(e=>{let[t]=e;return{props:{underline:"always",color:t},style:{"--Link-underlineColor":r.vars?"rgba(".concat(r.vars.palette[t].mainChannel," / 0.4)"):(0,o.X4)(r.palette[t].main,.4)}}}),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":r.vars?"rgba(".concat(r.vars.palette.text.primaryChannel," / 0.4)"):(0,o.X4)(r.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":r.vars?"rgba(".concat(r.vars.palette.text.secondaryChannel," / 0.4)"):(0,o.X4)(r.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(r.vars||r).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},["&.".concat(w.focusVisible)]:{outline:"auto"}}}]}})),A=n.forwardRef(function(e,r){let t=(0,f.b)({props:e,name:"MuiLink"}),c=(0,u.A)(),{className:d,color:p="primary",component:m="a",onBlur:v,onFocus:g,TypographyClasses:w,underline:A="always",variant:k="inherit",sx:C,...j}=t,[F,T]=n.useState(!1),E={...t,color:p,component:m,focusVisible:F,underline:A,variant:k},L=(e=>{let{classes:r,component:t,focusVisible:n,underline:a}=e,o={root:["root","underline".concat((0,i.A)(a)),"button"===t&&"button",n&&"focusVisible"]};return(0,l.A)(o,b,r)})(E);return(0,h.jsx)(x,{color:p,className:(0,a.A)(L.root,d),classes:w,component:m,onBlur:e=>{(0,s.A)(e.target)||T(!1),v&&v(e)},onFocus:e=>{(0,s.A)(e.target)&&T(!0),g&&g(e)},ref:r,ownerState:E,variant:k,...j,sx:[...void 0===S[p]?[{color:p}]:[],...Array.isArray(C)?C:[C]],style:{...j.style,..."always"===A&&"inherit"!==p&&!S[p]&&{"--Link-underlineColor":(e=>{let{theme:r,ownerState:t}=e,n=t.color,a=(0,y.Yn)(r,"palette.".concat(n,".main"),!1)||(0,y.Yn)(r,"palette.".concat(n),!1)||t.color,l=(0,y.Yn)(r,"palette.".concat(n,".mainChannel"))||(0,y.Yn)(r,"palette.".concat(n,"Channel"));return"vars"in r&&l?"rgba(".concat(l," / 0.4)"):(0,o.X4)(a,.4)})({theme:c,ownerState:E})}}})})},42063:(e,r,t)=>{t.d(r,{A:()=>o});var n=t(15485),a=t(95155);let o=(0,n.A)((0,a.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")},64598:(e,r,t)=>{t.d(r,{R:()=>o});var n=t(12115),a=t(97104);function o(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{threshold:t=200,deps:o=[]}=r,l=(0,n.useRef)(null),[s,i]=(0,n.useState)(!1),c=(0,n.useRef)(!1),u=(0,n.useCallback)(()=>{let e=l.current;return e&&e.scrollHeight>e.clientHeight+1?e:null},[]),d=(0,n.useCallback)(()=>{let e=u();return e?e.scrollTop:window.scrollY||document.documentElement.scrollTop||0},[u]),p=(0,n.useCallback)(e=>{let r=u();r?r.scrollTop=e:window.scrollTo(0,e)},[u]);return(0,n.useEffect)(()=>{let r=l.current,n=0,o="function"==typeof window.requestAnimationFrame?window.requestAnimationFrame.bind(window):e=>window.setTimeout(()=>e(0),16),s="function"==typeof window.cancelAnimationFrame?window.cancelAnimationFrame.bind(window):e=>window.clearTimeout(e),c=()=>{let r=d();i(r>t),n&&s(n),n=o(()=>(0,a.vi)(e,r))};return null==r||r.addEventListener("scroll",c,{passive:!0}),window.addEventListener("scroll",c,{passive:!0}),()=>{n&&s(n),null==r||r.removeEventListener("scroll",c),window.removeEventListener("scroll",c)}},[e,t,d]),(0,n.useEffect)(()=>{if(c.current)return;let r=(0,a.Aq)(e,0);if(r<=0){c.current=!0;return}p(r);let n=d();n>0&&(c.current=!0,i(n>t))},o),{ref:l,showBackToTop:s,scrollToTop:(0,n.useCallback)(()=>{let e=u();e?e.scrollTo({top:0,behavior:"smooth"}):window.scrollTo({top:0,behavior:"smooth"}),i(!1)},[u])}}},71651:(e,r,t)=>{t.d(r,{A:()=>y});var n=t(95155),a=t(12115),o=t(94049),l=t(25635),s=t(80777),i=t(9562),c=t(78470),u=t(41983),d=t(91871),p=t(86946),f=t(4484),m=t(80007),v=t(79299),g=t(62640),b=t(36773),w=t(8964);let y=e=>{let{roots:r,onChange:t}=e,{t:y}=(0,b.s9)(),h=Array.isArray(r)?r:[],[S,x]=(0,a.useState)(null),A=(e,r)=>{t(h.map((t,n)=>n===e?r:t))};return(0,n.jsxs)(o.default,{children:[(0,n.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,n.jsx)(m.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,n.jsx)(l.A,{variant:"subtitle1",children:y("mcp.local.roots.title")})]}),(0,n.jsx)(l.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:1.5},children:(0,n.jsx)(w.A,{message:"mcp.local.roots.help",values:{binding:(0,n.jsx)("code",{children:"${global:VAR}"})}})}),(0,n.jsx)(s.A,{spacing:1,children:h.map((e,r)=>(0,n.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(i.A,{size:"small",fullWidth:!0,placeholder:"/path/to/folder or file:///path",value:e,onChange:e=>A(r,e.target.value)}),(0,n.jsx)(c.A,{title:y("mcp.local.roots.browse"),children:(0,n.jsx)(u.A,{size:"small",onClick:()=>x(r),"aria-label":y("mcp.local.roots.browse"),children:(0,n.jsx)(v.A,{fontSize:"small"})})}),(0,n.jsx)(c.A,{title:y("mcp.local.roots.remove"),children:(0,n.jsx)(u.A,{size:"small",onClick:()=>t(h.filter((e,t)=>t!==r)),"aria-label":y("mcp.local.roots.remove"),children:(0,n.jsx)(f.A,{fontSize:"small"})})})]},r))}),(0,n.jsx)(d.A,{size:"small",startIcon:(0,n.jsx)(p.A,{}),onClick:()=>t([...h,""]),sx:{mt:1},children:y("mcp.local.roots.add")}),(0,n.jsx)(g.A,{open:null!==S,title:y("mcp.local.roots.choose"),initialPath:null!==S&&h[S]||void 0,onClose:()=>x(null),onSelect:e=>{null!==S&&A(S,e)}})]})}},91287:(e,r,t)=>{t.d(r,{A:()=>o});var n=t(15485),a=t(95155);let o=(0,n.A)((0,a.jsx)("path",{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77c-.92-1.03-1.29-2.39-1.09-3.69l-2.03-.68c-.54.83-1.46 1.38-2.52 1.38-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68c.64-1.21 1.82-2.09 3.22-2.32V5.91C9.96 5.57 9 4.4 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68c.2 1.29-.16 2.65-1.09 3.69l1.41 1.77Q17.34 17 18 17c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0z"}),"HubRounded")},94035:(e,r,t)=>{t.d(r,{O:()=>l});var n=t(12115),a=t(17897);let o=(0,t(73288).h)("frontend/hooks/useServerTools");function l(e){let[r,t]=(0,n.useState)([]),[l,s]=(0,n.useState)(!1),[i,c]=(0,n.useState)(null),[u,d]=(0,n.useState)(null),[p,f]=(0,n.useState)(null),[m,v]=(0,n.useState)(0),[g,b]=(0,n.useState)(!1),w=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{w.current&&clearTimeout(w.current)},[]);let y=(0,n.useCallback)(async function(){let n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!e){t([]),c(null);return}if(f(e),!n&&u&&new Date().getTime()-u.getTime()<200&&r.length>0&&e===p)return void o.debug("Rate limiting tool refresh for server: ".concat(e));o.debug("Loading tools for server: ".concat(e)),s(!0),c(null);try{let r=await a.S.listServerTools(e);if(e!==p)return void o.debug("Server changed during tool loading from ".concat(e," to ").concat(p));if(r.error)o.warn("Error loading tools for ".concat(e,":"),r.error),c(r.error),t([]);else{let n=r.tools||[];o.debug("Loaded ".concat(n.length," tools for ").concat(e)),t(n),d(new Date),v(0)}}catch(r){if(e!==p)return void o.debug("Server changed during tool loading from ".concat(e," to ").concat(p));o.warn("Failed to load tools for server ".concat(e,":"),r),c("Failed to load tools: ".concat(r instanceof Error?r.message:"Unknown error")),t([])}finally{e===p&&s(!1)}},[e,u,r.length,p]),h=(0,n.useCallback)(()=>{if(!e)return;w.current&&(clearTimeout(w.current),w.current=null),b(!0);let r=Math.min(1e3*Math.pow(2,m),1e4);return o.debug("Retrying tool load for ".concat(e," in ").concat(r,"ms (attempt ").concat(m+1,")")),w.current=setTimeout(()=>{v(e=>e+1),y(!0),b(!1)},r),()=>{w.current&&clearTimeout(w.current)}},[e,m,y]),S=(0,n.useCallback)(async(r,t,n)=>{if(!e)return{success:!1,output:"",error:"No server selected"};o.debug("Testing tool ".concat(r," on server ").concat(e," with params:"),t);try{let l=await a.S.callTool(e,r,t,n);if(l.error)return o.warn("Error calling tool ".concat(r,":"),l.error),{success:!1,output:"",error:l.error};return o.debug("Tool ".concat(r," executed successfully:"),l),{success:!0,output:JSON.stringify(l,null,2)}}catch(e){return o.error("Exception calling tool ".concat(r,":"),e),{success:!1,output:"",error:e instanceof Error?e.message:"Unknown error occurred"}}},[e]);return(0,n.useEffect)(()=>{o.debug("Server name changed to: ".concat(e||"null")),w.current&&(clearTimeout(w.current),w.current=null),v(0),b(!1),e?(f(e),y()):(o.debug("Clearing tools as no server is selected"),t([]),c(null),f(null))},[e,y]),{tools:r,isLoading:l||g,error:i,loadTools:y,retryLoadTools:h,isRetrying:g,retryCount:m,testTool:S}}},97430:(e,r,t)=>{t.d(r,{A:()=>o});var n=t(15485),a=t(95155);let o=(0,n.A)((0,a.jsx)("path",{d:"M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"}),"KeyboardArrowUp")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5967],{10915:(e,t,n)=>{n.d(t,{A:()=>Y});var o=n(95155),r=n(12115),a=n(73288),l=n(84869);let i=(0,a.h)("frontend/services/transcription");async function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{onProgress:n,onStatusChange:o,language:r}=t;try{if(i.debug("Starting transcription service"),o&&o("Initializing transcription..."),!(0,l.G)().supported)throw Error("Web Speech API is not supported in this browser");o&&o("Using browser speech recognition...");let t=await (0,l.S)(e,{language:r,onInterimResult:e=>{o&&o("Transcribing: ".concat(e)),n&&n(50)}});return o&&o("Transcription completed"),i.debug("Web Speech API transcription completed successfully",{textLength:t.length}),{text:t,success:!0,engine:"webspeech"}}catch(e){return i.error("Transcription failed",{error:e}),o&&o("Transcription failed"),{text:"Transcription failed. Please check if your browser supports speech recognition.",success:!1,error:e instanceof Error?e.message:String(e)}}}var d=n(9164),c=n(33567),u=n(2300),p=n(8532),h=n(94049),m=n(25635),g=n(41983),x=n(28548),f=n(78470),y=n(99944),v=n(22822),b=n(2778),j=n(52363),w=n(65036),A=n(4474),C=n(9562),S=n(75912),k=n(91871),I=n(35205),T=n(53612),E=n(3014),R=n(77073),N=n(55930),z=n(9693),M=n(14915),P=n(4823),D=n(76122),O=n(22539),W=n(38700),_=n(36773);let F=new Set(["start","process","subflow"]),L=e=>{var t,n;return null!=(n=e.type)?n:null==(t=e.data)?void 0:t.type},H=e=>{let{flow:t,selectedNodeId:n,onSelect:a,onClose:l}=e,i=(0,c.A)(),s=(0,r.useMemo)(()=>((null==t?void 0:t.nodes)||[]).map(e=>{let t=F.has(L(e)||""),o=e.id===n;return{...e,draggable:!1,selectable:!1,style:{...e.style||{},opacity:t?1:.35,cursor:t?"pointer":"default",borderRadius:8,boxShadow:o?"0 0 0 3px ".concat(i.palette.primary.main):void 0,transition:"box-shadow 120ms ease"}}}),[null==t?void 0:t.nodes,n,i.palette.primary.main]),d=(0,r.useMemo)(()=>((null==t?void 0:t.edges)||[]).filter(e=>e.source&&e.target&&e.sourceHandle&&e.targetHandle),[null==t?void 0:t.edges]),u=(0,r.useMemo)(()=>({type:"custom",animated:!1,style:{stroke:i.palette.text.secondary,strokeWidth:2},markerEnd:{type:D.TG.ArrowClosed,width:20,height:20,color:i.palette.text.secondary}}),[i.palette.text.secondary]);return(0,o.jsx)(O.Gc,{nodes:s,edges:d,nodeTypes:W.c_,edgeTypes:W.nd,defaultEdgeOptions:u,connectionLineType:D.Do.SmoothStep,fitView:!0,minZoom:.1,maxZoom:2,onNodeClick:(e,t)=>{F.has(L(t)||"")&&(a(t.id),l())},nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,deleteKeyCode:null,proOptions:{hideAttribution:!0},children:(0,o.jsx)(O.VS,{})})},U=e=>{var t,n;let{open:r,flow:a,selectedNodeId:l,allowAutomatic:i,onSelect:s,onClose:d}=e,{t:c}=(0,_.s9)(),u=!!(a&&(null!=(n=null==(t=a.nodes)?void 0:t.length)?n:0)>0);return(0,o.jsxs)(b.A,{open:r,onClose:d,maxWidth:"lg",fullWidth:!0,children:[(0,o.jsx)(j.A,{children:c("chat.nodePicker.title")}),(0,o.jsxs)(w.A,{dividers:!0,sx:{p:0},children:[(0,o.jsx)(h.default,{sx:{px:2,pt:1.5},children:(0,o.jsx)(m.A,{variant:"caption",color:"text.secondary",children:c("chat.nodePicker.help")})}),(0,o.jsx)(h.default,{sx:{height:"62vh",width:"100%"},children:u?(0,o.jsx)(O.Ln,{children:(0,o.jsx)(H,{flow:a,selectedNodeId:l,onSelect:s,onClose:d})}):(0,o.jsx)(h.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(m.A,{variant:"body2",color:"text.secondary",children:c("chat.nodePicker.empty")})})})]}),(0,o.jsxs)(S.A,{children:[i&&(0,o.jsx)(k.A,{startIcon:(0,o.jsx)(P.A,{}),onClick:()=>{s(null),d()},children:c("chat.nodePicker.automatic")}),(0,o.jsx)(h.default,{sx:{flex:1}}),(0,o.jsx)(k.A,{onClick:d,children:c("common.cancel")})]})]})};var J=n(74879),X=n(11433),B=n(17897),G=n(90880);let q=(0,a.h)("frontend/components/Chat/ChatInput"),Y=e=>{var t,n;let{onSendMessage:a,disabled:l=!1,placeholder:i,requireApproval:P=!1,onRequireApprovalChange:D,executeInDebugger:O=!1,onExecuteInDebuggerChange:W,availableNodes:F=[],flow:L=null,currentNodeId:H=null,nodeOverrideActive:Y=!1,onSelectNode:V,editing:K=null,onEditingContentChange:Z,onEditingNodeChange:$,onSaveEdit:Q,onCancelEdit:ee}=e,{t:et}=(0,_.s9)(),en=(0,c.A)(),{settings:eo,globalEnvVars:er}=(0,d.useStorage)(),ea=(0,r.useMemo)(()=>Object.entries(er).filter(e=>{var t;let[,n]=e;return!(null==(t=n.metadata)?void 0:t.isSecret)}).map(e=>{let[t]=e;return t}).sort((e,t)=>e.localeCompare(t)),[er]),[el,ei]=(0,r.useState)(""),[es,ed]=(0,r.useState)([]),[ec,eu]=(0,r.useState)(!1),[ep,eh]=(0,r.useState)(0),[em,eg]=(0,r.useState)(null),ex=(0,r.useRef)(null),ef=(0,r.useRef)(null),ey=(0,r.useRef)([]),[ev,eb]=(0,r.useState)(!1),ej=!!K,ew=ej?null!=(t=null==K?void 0:K.nodeId)?t:null:H,eA=(e=>{var t;return(null==(t=F.find(t=>t.id===e))?void 0:t.label)||(e?"".concat(e.substring(0,6),"..."):et("chat.input.startNode"))})(ew),[eC,eS]=(0,r.useState)([]);(0,r.useEffect)(()=>{var e,t,n;let o=!1;if(!L)return eS([]),()=>{o=!0};let r=L.nodes.find(e=>{var t,n;return(null!=(n=null==(t=e.data)?void 0:t.type)?n:e.type)==="start"}),a=r?null==(e=L.edges.find(e=>{var t;return e.source===r.id&&(null==(t=e.data)?void 0:t.edgeType)!=="mcp"}))?void 0:e.target:void 0,l=null!=(n=null!=ew?ew:a)?n:null==(t=L.nodes.find(e=>{var t,n;return(null!=(n=null==(t=e.data)?void 0:t.type)?n:e.type)==="process"}))?void 0:t.id;if(!l)return eS([]),()=>{o=!0};let i=new Set(L.edges.filter(e=>{var t;return(null==(t=e.data)?void 0:t.edgeType)==="mcp"&&(e.source===l||e.target===l)}).map(e=>e.source===l?e.target:e.source)),s=L.nodes.filter(e=>{var t,n;return(null!=(n=null==(t=e.data)?void 0:t.type)?n:e.type)==="mcp"&&i.has(e.id)}).map(e=>{var t,n,o,r;return{server:null==(t=e.data.properties)?void 0:t.boundServer,enabledTools:new Set(null!=(r=null==(n=e.data.properties)?void 0:n.enabledTools)?r:[]),enabledResources:null==(o=e.data.properties)?void 0:o.enabledResources}}).filter(e=>!!e.server);return 0===s.length?(eS([]),()=>{o=!0}):(Promise.all(s.map(async e=>{var t,n,o;let{server:r,enabledTools:a,enabledResources:l}=e,i=[];try{for(let e of null!=(t=(await B.S.listServerTools(r)).tools)?t:[])(null==e?void 0:e.name)&&a.has(e.name)&&i.push((0,G.Ub)({kind:"tool",server:r,name:e.name},e.name,e.description||r))}catch(e){q.warn("Failed to load chat @ tool suggestions for ".concat(r),e)}try{let e=await B.S.listServerResources(r),t=e=>void 0===l||"all"===l||l.includes(e);for(let o of null!=(n=e.resources)?n:[])t(o.uri)&&i.push((0,G.Ub)({kind:"resource",server:r,name:o.uri},o.name||o.uri,o.description||"".concat(r," \xb7 ").concat(o.uri)));for(let n of null!=(o=e.resourceTemplates)?o:[])t(n.uriTemplate)&&i.push((0,G.Ub)({kind:"resource",server:r,name:n.uriTemplate},n.name||n.uriTemplate,n.description||"".concat(r," \xb7 ").concat(n.uriTemplate)))}catch(e){q.warn("Failed to load chat @ resource suggestions for ".concat(r),e)}return i})).then(e=>{o||eS(e.flat())}),()=>{o=!0})},[L,ew]);let[ek,eI]=(0,r.useState)(!1),[eT,eE]=(0,r.useState)(""),[eR,eN]=(0,r.useState)(""),[ez,eM]=(0,r.useState)("document"),[eP,eD]=(0,r.useState)(null),[eO,eW]=(0,r.useState)(),[e_,eF]=(0,r.useState)(!1),[eL,eH]=(0,r.useState)(0),[eU,eJ]=(0,r.useState)(""),eX=()=>{K&&K.content.trim()&&(null==Q||Q())},eB=()=>{(el.trim()||es.length>0)&&(q.debug("Sending message",{messageLength:el.length,attachmentsCount:es.length}),a(el,es),ei(""),ed([]))},eG=async e=>{let t=e.target.files;if(!t||0===t.length)return;let n=t[0];q.debug("File selected",{fileName:n.name,fileSize:n.size,fileType:n.type});try{let e=n.type||"application/octet-stream";if(e.startsWith("text/")||/\.(txt|md|json|csv|html?|xml|js|ts|jsx|tsx|css|scss)$/i.test(n.name)){eN(et("chat.input.processingFile",{file:n.name})),eM("document"),eE(""),eF(!0),eI(!0);let e=await eq(n);q.debug("File read successfully",{contentLength:e.length}),eE(e),eF(!1)}else{let t=await eY(n),o=e.startsWith("image/")?"image":e.startsWith("audio/")?"audio":e.startsWith("video/")?"video":"document";ed(r=>[...r,{id:(0,J.A)(),type:o,content:t,originalName:n.name,mimeType:e}])}}catch(e){q.error("Error reading file:",e),eE(et("chat.input.readFailed")),eF(!1)}ex.current&&(ex.current.value="")},eq=e=>new Promise((t,n)=>{let o=new FileReader;o.onload=e=>{var o;(null==(o=e.target)?void 0:o.result)?t(e.target.result):n(Error("Failed to read file"))},o.onerror=()=>{n(Error("Error reading file"))},o.readAsText(e)}),eY=e=>new Promise((t,n)=>{let o=new FileReader;o.onload=()=>"string"==typeof o.result?t(o.result):n(Error("Failed to encode file")),o.onerror=()=>n(Error("Error reading file")),o.readAsDataURL(e)}),eV=async()=>{q.debug("Starting audio recording");try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});q.debug("Audio stream obtained successfully"),ey.current=[];let t=new MediaRecorder(e);ef.current=t,t.ondataavailable=e=>{e.data.size>0&&ey.current.push(e.data)},t.onstop=async()=>{var n;let o=t.mimeType||(null==(n=ey.current[0])?void 0:n.type)||"audio/webm",r=new Blob(ey.current,{type:o});eN(et("chat.input.audioRecording")),eM("audio"),eD(await eY(r)),eW(o),eE(""),eF(!0),eI(!0);try{if(((null==eo?void 0:eo.speech)||{enabled:!0,modelSize:"base",autoDownload:!1}).enabled){eJ(et("chat.input.initializingTranscription")),eH(0);let e=await s(r,{onProgress:eH,onStatusChange:eJ,language:navigator.language});if(e.success){let t=e.text;eE(t),q.debug("Transcription successful",{textLength:e.text.length,engine:e.engine})}else eE(et("chat.input.transcriptionFailed",{error:e.error||et("common.unknownError")})),q.error("Transcription failed",{error:e.error})}else eE(et("chat.input.speechDisabled"))}catch(e){q.error("Error handling audio recording",{error:e}),eE(et("chat.input.audioFailed",{error:String(e)}))}finally{eF(!1),e.getTracks().forEach(e=>e.stop())}},t.start(),eu(!0);let n=setInterval(()=>{eh(e=>e+1)},1e3);eg(n)}catch(e){q.error("Error starting recording:",e),alert(et("chat.input.microphoneFailed"))}};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(u.A,{elevation:0,sx:{width:"100%",maxWidth:"none",mx:0,p:{xs:1,sm:1.25},display:"flex",flexDirection:"column",border:"1px solid ".concat((0,p.X4)(en.palette.primary.main,.24)),borderRadius:0,bgcolor:(0,p.X4)(en.palette.background.paper,"dark"===en.palette.mode?.82:.92),boxShadow:"0 22px 70px ".concat((0,p.X4)(en.palette.common.black,"dark"===en.palette.mode?.34:.12),", 0 0 0 1px ").concat((0,p.X4)(en.palette.common.white,.03)," inset"),backdropFilter:"blur(24px) saturate(145%)"},children:[es.length>0&&(0,o.jsx)(h.default,{sx:{mb:2,display:"flex",flexWrap:"wrap",gap:1},children:es.map(e=>(0,o.jsxs)(u.A,{variant:"outlined",sx:{p:1,display:"flex",alignItems:"center",borderRadius:1,bgcolor:"background.default"},children:["image"===e.type?(0,o.jsx)(h.default,{component:"img",src:e.content,alt:e.originalName||et("chat.input.pastedImage"),sx:{width:40,height:40,objectFit:"cover",borderRadius:1,mr:1}}):"video"===e.type?(0,o.jsx)(h.default,{component:"video",src:e.content,sx:{width:40,height:40,objectFit:"cover",borderRadius:1,mr:1}}):"document"===e.type?(0,o.jsx)(T.A,{fontSize:"small",sx:{mr:1}}):(0,o.jsx)(E.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(m.A,{variant:"body2",noWrap:!0,sx:{maxWidth:150},children:e.originalName||et("chat.input.attachment",{type:e.type})}),(0,o.jsx)(g.A,{size:"small",onClick:()=>(e=>{q.debug("Removing attachment",{id:e}),ed(es.filter(t=>t.id!==e))})(e.id),sx:{ml:1},children:(0,o.jsx)(R.A,{fontSize:"small"})})]},e.id))}),ej&&(0,o.jsxs)(h.default,{sx:{mb:1,display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(x.A,{icon:(0,o.jsx)(M.A,{}),label:et("chat.input.editing"),size:"small",color:"warning",variant:"outlined"}),(0,o.jsx)(m.A,{variant:"caption",color:"text.secondary",children:et("chat.input.editKeys")})]}),(0,o.jsxs)(h.default,{sx:{display:"flex",alignItems:"flex-end",gap:.35},children:[(0,o.jsx)(X.Ay,{value:ej?null!=(n=null==K?void 0:K.content)?n:"":el,onChange:e=>{ej?null==Z||Z(e):ei(e)},globalNames:ea,suggestions:eC,multiline:!0,minRows:1,maxRows:ej?12:4,dataTour:"chat-input",ariaLabel:ej?et("chat.input.editMessage"):et("chat.input.message"),placeholder:ej?et("chat.input.editPlaceholder"):i||et("chat.input.placeholder"),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&ej&&(e.preventDefault(),null==ee||ee()):(e.preventDefault(),ej?eX():(q.debug("Enter key pressed, sending message"),eB()))},onPaste:e=>{var t;let n=null==(t=e.clipboardData)?void 0:t.items;if(!n)return;let o=[];for(let e=0;e<n.length;e++){let t=n[e];if("file"===t.kind&&t.type.startsWith("image/")){let e=t.getAsFile();e&&o.push(e)}}0!==o.length&&(e.preventDefault(),q.debug("Pasting image attachment(s)",{count:o.length}),o.forEach(e=>{let t=new FileReader;t.onload=t=>{var n;let o=null==(n=t.target)?void 0:n.result;if("string"!=typeof o)return;let r=(e.type.split("/")[1]||"png").split("+")[0];ed(t=>[...t,{id:(0,J.A)(),type:"image",content:o,originalName:e.name&&!/^image\.\w+$/i.test(e.name)?e.name:"Pasted image.".concat(r)}])},t.onerror=()=>q.error("Failed to read pasted image"),t.readAsDataURL(e)}))},disabled:!ej&&l,autoFocus:ej,containerSx:{flex:1}}),!ej&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.A,{title:et("chat.input.attach"),children:(0,o.jsx)(g.A,{color:"primary",onClick:()=>{var e;q.debug("File selection triggered"),null==(e=ex.current)||e.click()},disabled:l||ec,children:(0,o.jsx)(T.A,{})})}),(0,o.jsx)("input",{type:"file",ref:ex,onChange:eG,style:{display:"none"},accept:"image/*,audio/*,video/*,.pdf,.txt,.md,.json,.csv,.html,.xml,.js,.ts,.jsx,.tsx,.css,.scss"}),(0,o.jsx)(f.A,{title:ec?et("chat.input.stopRecording"):et("chat.input.recordAudio"),children:(0,o.jsxs)(g.A,{color:ec?"error":"primary",onClick:ec?()=>{q.debug("Stopping audio recording"),ef.current&&"inactive"!==ef.current.state&&(ef.current.stop(),eu(!1),em&&(clearInterval(em),eg(null)),eh(0))}:eV,disabled:l,children:[(0,o.jsx)(E.A,{}),ec&&(0,o.jsx)(m.A,{variant:"caption",sx:{position:"absolute",bottom:-15,fontSize:"0.7rem",color:"error.main"},children:(e=>{let t=Math.floor(e/60);return"".concat(t.toString().padStart(2,"0"),":").concat((e%60).toString().padStart(2,"0"))})(ep)})]})})]}),ej?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.A,{title:et("chat.input.saveEdit"),children:(0,o.jsx)("span",{children:(0,o.jsx)(g.A,{color:"primary","aria-label":et("chat.input.saveEdit"),onClick:eX,disabled:!(null==K?void 0:K.content.trim()),children:(0,o.jsx)(z.A,{})})})}),(0,o.jsx)(f.A,{title:et("chat.input.cancelEdit"),children:(0,o.jsx)(g.A,{color:"default","aria-label":et("chat.input.cancelEdit"),onClick:()=>null==ee?void 0:ee(),children:(0,o.jsx)(R.A,{})})})]}):(0,o.jsx)(f.A,{title:et("chat.input.send"),children:(0,o.jsx)("span",{children:(0,o.jsx)(g.A,{color:"primary",onClick:eB,disabled:l||!el.trim()&&0===es.length,"aria-label":et("chat.input.send"),sx:{width:44,height:44,color:"#fff",background:"linear-gradient(135deg, ".concat(en.palette.primary.light,", ").concat(en.palette.primary.main," 58%, ").concat(en.palette.secondary.main,")"),boxShadow:"0 10px 24px ".concat((0,p.X4)(en.palette.primary.main,.28)),"&:hover":{background:"linear-gradient(135deg, ".concat(en.palette.primary.light,", ").concat(en.palette.primary.main," 48%, ").concat(en.palette.secondary.main,")"),boxShadow:"0 14px 30px ".concat((0,p.X4)(en.palette.primary.main,.38))},"&.Mui-disabled":{color:"text.disabled",background:(0,p.X4)(en.palette.text.disabled,.12),boxShadow:"none"}},children:(0,o.jsx)(I.A,{})})})})]})," ",(D||(V||ej)&&F.length>0)&&(0,o.jsxs)(h.default,{sx:{mt:1,pt:1,display:"flex",justifyContent:"flex-start",alignItems:"center",flexWrap:"wrap",gap:1,borderTop:1,borderColor:"divider"},children:[(V||ej)&&F.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.A,{title:ej?et("chat.input.nodeEditing"):Y?et("chat.input.nodeOverride"):et("chat.input.nodeAutomatic"),children:(0,o.jsx)(x.A,{icon:(0,o.jsx)(N.A,{}),label:eA,size:"small",color:ej||Y?"primary":"default",variant:ej||Y?"filled":"outlined",onClick:()=>eb(!0),disabled:!ej&&l})}),(0,o.jsx)(U,{open:ev,flow:L,selectedNodeId:ew,allowAutomatic:!ej,onSelect:e=>{ej?null==$||$(e):null==V||V(e)},onClose:()=>eb(!1)})]}),D&&(0,o.jsx)(y.A,{control:(0,o.jsx)(v.A,{checked:P,onChange:e=>D(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(m.A,{variant:"caption",children:et("chat.input.requireApprovals")}),sx:{mr:"auto"}}),W&&(0,o.jsx)(y.A,{control:(0,o.jsx)(v.A,{checked:O,onChange:e=>W(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(m.A,{variant:"caption",children:et("chat.input.debugger")}),sx:{ml:2}})]})," "]})," ",(0,o.jsxs)(b.A,{open:ek,onClose:()=>!e_&&eI(!1),maxWidth:"md",fullWidth:!0,children:[(0,o.jsxs)(j.A,{children:[eR,!e_&&(0,o.jsx)(g.A,{"aria-label":et("common.close"),onClick:()=>eI(!1),sx:{position:"absolute",right:8,top:8},children:(0,o.jsx)(R.A,{})})]}),(0,o.jsx)(w.A,{dividers:!0,children:e_?(0,o.jsxs)(h.default,{sx:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center",p:4},children:[(0,o.jsx)(A.default,{value:"audio"===ez&&eL?eL:void 0,variant:"audio"===ez&&eL>0?"determinate":"indeterminate"}),"audio"===ez&&(0,o.jsxs)(h.default,{sx:{mt:2,textAlign:"center"},children:[(0,o.jsx)(m.A,{variant:"body2",children:eU||et("chat.input.processingAudio")}),eL>0&&(0,o.jsxs)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[Math.round(eL),"%"]})]})]}):(0,o.jsx)(C.A,{multiline:!0,fullWidth:!0,minRows:10,maxRows:20,value:eT,onChange:e=>eE(e.target.value),variant:"outlined",placeholder:"document"===ez?et("chat.input.documentContent"):et("chat.input.audioTranscription")})}),(0,o.jsxs)(S.A,{children:[(0,o.jsx)(k.A,{onClick:()=>eI(!1),disabled:e_,children:et("common.cancel")}),(0,o.jsx)(k.A,{onClick:()=>{q.debug("Adding attachment",{type:ez,titleLength:eR.length}),ed([...es,{id:(0,J.A)(),type:ez,content:"audio"===ez&&eP?eP:eT,originalName:eR,..."audio"===ez&&eO?{mimeType:eO,transcript:eT}:{}}]),eD(null),eW(void 0),eI(!1)},variant:"contained",disabled:e_||!eT.trim(),children:et("chat.input.addToMessage")})]})]})]})}},18037:(e,t,n)=>{n.d(t,{MG:()=>r,Ud:()=>a});var o=n(76122);o.TG.ArrowClosed;let r={type:"resourceEdge",animated:!1,style:{stroke:"#009688",strokeWidth:2},markerEnd:{type:o.TG.ArrowClosed,width:20,height:20,color:"#009688"}},a={type:"mcpEdge",animated:!1,style:{stroke:"#1976d2",strokeWidth:2},markerEnd:{type:o.TG.ArrowClosed,width:20,height:20,color:"#1976d2"},markerStart:{type:o.TG.ArrowClosed,width:20,height:20,color:"#1976d2"}}},18466:(e,t,n)=>{n.d(t,{E9:()=>a,RN:()=>r,n9:()=>o});let o="handoff_to_";function r(e,t){let n=(e&&e.trim()||t&&t.trim()||"node").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return n.length>48&&(n=n.slice(0,48).replace(/_+$/g,"")),n||(n=t&&t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")||"node"),n||"node"}function a(e){let t=new Set,n=new Map;for(let a of e){if(n.has(a.id))continue;let e=r(a.label,a.type),l="".concat(o).concat(e);if(t.has(l)){let n=2;for(;t.has("".concat(o).concat(e,"_").concat(n));)n++;l="".concat(o).concat(e,"_").concat(n)}t.add(l),n.set(a.id,l)}return n}},19875:(e,t,n)=>{n.d(t,{C:()=>a,L2:()=>r,P2:()=>i,w4:()=>o,wM:()=>l});let o=["contains","regex","equals","always"],r=["last-assistant","last-message"];function a(e){return"string"==typeof e&&o.includes(e)}function l(e){try{return new RegExp(e),!0}catch(e){return!1}}function i(e,t){var n;if(!e||!a(e.kind))return"";let o=e.negate?"!":"",r=null!=(n=null==t?void 0:t[e.kind])?n:e.kind;if("always"===e.kind)return"".concat(o).concat(r);let l=e.ignoreCase?" i":"",i="string"==typeof e.value?e.value:"",s=i.length>8?"".concat(i.slice(0,8),"…"):i,d="regex"===e.kind?"/".concat(s,"/"):'"'.concat(s,'"');return"".concat(o).concat(r,":").concat(d).concat(l)}},38700:(e,t,n)=>{n.d(t,{Ay:()=>Q,nd:()=>V,c_:()=>Y});var o=n(95155),r=n(12115),a=n(26281),l=n(8279),i=n(2300),s=n(25635),d=n(9562),c=n(56422),u=n(94049),p=n(15712),h=n(22539),m=n(76122),g=n(33567),x=n(8532),f=n(48116),y=n(74879),v=n(90057),b=n(93632),j=n(41603),w=n(86973),A=n(49501),C=n(17681),S=n(21067),k=n(36314),I=n(4484),T=n(52277),E=n(78095),R=n(14915),N=n(74110),z=n(55930),M=n(36773);let P=e=>{let{open:t,position:n,onClose:r,onDelete:a,onEditProperties:l,onConvertToSubflow:i,onToggleBidirectional:s,onCopy:d,onPaste:c,canPaste:u,canCopy:p,nodeId:h,selection:m,edgeId:g}=e,{t:x}=(0,M.s9)(),f=()=>{l&&l(),r()},y=[];return h&&!m&&(y.push((0,o.jsxs)(w.A,{onClick:f,children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(R.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.editProperties")})]},"edit")),i&&y.push((0,o.jsxs)(w.A,{onClick:()=>{i&&i(),r()},children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(z.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.convertSubflow")})]},"convert-to-subflow"))),g&&!h&&!m&&(l&&y.push((0,o.jsxs)(w.A,{onClick:f,children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(R.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.editProperties")})]},"edge-edit")),s&&y.push((0,o.jsxs)(w.A,{onClick:()=>{s&&s(),r()},children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(N.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.toggleBidirectional")})]},"edge-bidirectional"))),d&&(h||m)&&y.push((0,o.jsxs)(w.A,{onClick:()=>{d&&d(),r()},disabled:!p,children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(T.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.copy")})]},"copy")),c&&y.push((0,o.jsxs)(w.A,{onClick:()=>{c&&c(),r()},disabled:!u,children:[(0,o.jsx)(A.A,{children:(0,o.jsx)(E.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.paste")})]},"paste")),(h||g||m)&&y.push((0,o.jsx)(S.A,{},"delete-divider"),(0,o.jsxs)(w.A,{onClick:()=>{a(),r()},sx:{color:"error.main"},children:[(0,o.jsx)(A.A,{sx:{color:"error.main"},children:(0,o.jsx)(I.A,{fontSize:"small"})}),(0,o.jsx)(C.A,{children:x("flows.context.delete")})]},"delete")),(0,o.jsx)(k.A,{open:t,onClose:r,anchorReference:"anchorPosition",anchorPosition:null!==n.y&&null!==n.x?{top:n.y,left:n.x}:void 0,children:y})};var D=n(53911),O=n(71738);function W(e,t){return t.find(t=>t.id===e)}var _=n(73288);let F=(0,_.h)("components/flow/FlowBuilder/Canvas/hooks/useCanvasEvents.ts");var L=n(93764),H=n(57563);let U=e=>{let{showMiniMap:t=!0,showControls:n=!0,showBackground:r=!0}=e,a=(0,g.A)(),l="dark"===a.palette.mode;return(0,o.jsxs)(o.Fragment,{children:[r&&(0,o.jsx)(h.VS,{color:l?a.palette.text.disabled:a.palette.divider,gap:20,size:1}),n&&(0,o.jsx)(h.H2,{}),t&&(0,o.jsx)(h.of,{nodeColor:l?a.palette.primary.dark:a.palette.primary.light,maskColor:l?"rgba(0, 0, 0, 0.4)":"rgba(255, 255, 255, 0.6)"})]})};var J=n(98008);let X=(0,_.h)("components/flow/FlowBuilder/Canvas/Canvas.tsx"),B="flujo:flowClipboard",G=null;function q(e){G=e;try{localStorage.setItem(B,JSON.stringify(e))}catch(e){X.warn("Could not persist flow clipboard to localStorage",e)}}let Y={start:j.vm,process:j.Uw,finish:j.IK,mcp:j.v2,subflow:j.lA,resource:j.z9,signal:j.z3,trigger:j.pF},V={custom:D.jY,mcpEdge:D.oY,resourceEdge:D.sZ},K=e=>{let{open:t,position:n,anchorPosition:p,onClose:h,onSelectNodeType:m,sourceNodeType:f,sourceHandleId:y}=e,v=(0,g.A)(),{t:b}=(0,M.s9)(),[w,A]=(0,r.useState)("");(0,r.useEffect)(()=>{t&&A("")},[t]);let C=(0,H._w)(f,y);X.debug("NodeSelectionModal: Source node type: ".concat(f,", Source handle ID: ").concat(y)),X.debug("NodeSelectionModal: Valid node types: ".concat(C.join(", ")));let S=[{type:"process",label:b("flows.canvas.processNode"),description:b("flows.canvas.processDescription")},{type:"finish",label:b("flows.canvas.finishNode"),description:b("flows.canvas.finishDescription")},{type:"mcp",label:b("flows.canvas.mcpNode"),description:b("flows.canvas.mcpDescription")},{type:"subflow",label:b("flows.canvas.subflowNode"),description:b("flows.canvas.subflowDescription")},{type:"resource",label:b("flows.canvas.resourceNode"),description:b("flows.canvas.resourceDescription")},{type:"signal",label:b("flows.canvas.signalNode"),description:b("flows.canvas.signalDescription")},{type:"trigger",label:b("flows.canvas.triggerNode"),description:b("flows.canvas.triggerDescription")}].filter(e=>C.includes(e.type)).filter(e=>{let t=w.trim().toLowerCase();return!t||"".concat(e.label," ").concat(e.description).toLowerCase().includes(t)});return t&&n?(0,o.jsx)(a.A,{children:(0,o.jsx)(l.x,{onClickAway:h,children:(0,o.jsxs)(i.A,{role:"dialog","aria-modal":"false","aria-labelledby":"node-selection-title",elevation:16,onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),h())},sx:{position:"fixed",top:{xs:"auto",sm:p?"clamp(12px, ".concat(p.y+10,"px, calc(100dvh - 460px))"):"50%"},bottom:{xs:12,sm:"auto"},left:{xs:12,sm:p?"clamp(12px, ".concat(p.x+10,"px, calc(100vw - 392px))"):"50%"},right:{xs:12,sm:"auto"},transform:{xs:"none",sm:p?"none":"translate(-50%, -50%)"},zIndex:e=>e.zIndex.modal+1,width:{xs:"auto",sm:380},maxHeight:"min(70dvh, 520px)",overflow:"hidden",border:1,borderColor:"divider",borderRadius:3.5,bgcolor:"background.paper",boxShadow:"dark"===v.palette.mode?"0 28px 80px rgba(0,0,0,.55)":"0 28px 80px rgba(31,27,74,.22)",p:1.5},children:[(0,o.jsx)(s.A,{id:"node-selection-title",variant:"subtitle1",fontWeight:800,children:b("flows.canvas.addNext")}),(0,o.jsx)(s.A,{variant:"caption",color:"text.secondary",children:b("flows.canvas.autoConnect")}),(0,o.jsx)(d.A,{autoFocus:!0,fullWidth:!0,size:"small",value:w,onChange:e=>A(e.target.value),placeholder:b("flows.canvas.searchTypes"),inputProps:{"aria-label":b("flows.canvas.searchTypes")},sx:{my:1.25},InputProps:{startAdornment:(0,o.jsx)(c.A,{position:"start",children:(0,o.jsx)(J.A,{fontSize:"small"})})}}),(0,o.jsxs)(u.default,{display:"flex",flexDirection:"column",gap:.75,sx:{overflowY:"auto",maxHeight:360},children:[S.map(e=>(0,o.jsx)(i.A,{component:"button",type:"button",onClick:()=>m(e.type,n),sx:{appearance:"none",width:"100%",p:1.1,textAlign:"left",color:"text.primary",bgcolor:"transparent",borderRadius:2.5,border:1,borderColor:"divider",cursor:"pointer",transition:"border-color 160ms ease, background-color 160ms ease, transform 160ms ease","&:hover, &:focus-visible":{outline:"none",borderColor:"finish"===e.type?v.palette.success.main:"subflow"===e.type?v.palette.warning.main:"resource"===e.type?j.nH:v.palette.primary.main,bgcolor:(0,x.X4)(v.palette.primary.main,.06),transform:"translateX(2px)"}},children:(0,o.jsxs)(u.default,{display:"flex",alignItems:"center",gap:1.25,children:[(e=>{switch(e){case"process":default:return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:v.palette.primary.main,borderRadius:"50%"}});case"finish":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:v.palette.success.main,borderRadius:"50%"}});case"mcp":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:v.palette.info.main,borderRadius:"50%"}});case"subflow":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:v.palette.warning.main,borderRadius:"50%"}});case"resource":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:j.nH,borderRadius:"50%"}});case"signal":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:j.vp,borderRadius:"50%"}});case"trigger":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:j.$Q,borderRadius:"50%"}})}})(e.type),(0,o.jsxs)(u.default,{children:[(0,o.jsx)(s.A,{variant:"subtitle2",fontWeight:800,children:e.label}),(0,o.jsx)(s.A,{variant:"caption",color:"text.secondary",children:e.description})]})]})},e.type)),0===S.length&&(0,o.jsx)(s.A,{variant:"body2",color:"text.secondary",sx:{p:1},children:b("flows.canvas.noTypes")})]})]})})}):null},Z=(0,f.Ay)("div")(e=>{let{theme:t}=e;return{flex:"1 1 0",height:"100%",minHeight:0,width:"100%",border:"1px solid ".concat(t.palette.divider),borderRadius:"18px",overflow:"hidden",backgroundColor:t.palette.background.paper,backgroundImage:"\n linear-gradient(".concat(t.palette.divider," 1px, transparent 1px),\n linear-gradient(90deg, ").concat(t.palette.divider," 1px, transparent 1px),\n radial-gradient(circle at 22% 0%, ").concat((0,x.X4)(t.palette.primary.main,.1),", transparent 38%)\n "),backgroundSize:"28px 28px, 28px 28px, auto",boxShadow:"dark"===t.palette.mode?"inset 0 1px 0 rgba(255,255,255,.035), 0 22px 65px rgba(0,0,0,.24)":"inset 0 1px 0 rgba(255,255,255,.7), 0 22px 65px rgba(53,48,105,.1)",position:"relative",[t.breakpoints.down("sm")]:{flex:"none",height:440,minHeight:440,maxWidth:"100%"}}}),$=(0,r.forwardRef)((e,t)=>{var n;let a=(0,g.A)(),l=(0,p.A)(a.breakpoints.down("sm"),{noSsr:!0}),{nodes:i,edges:s,onNodesChange:d,onEdgesChange:c,onDrop:u,onDragOver:x,onInit:f,reactFlowWrapper:j,onEditNode:w,onCreateNode:A,onSelectNode:C,onConvertProcessToSubflow:S,onEditEdge:k}=e,{contextMenu:I,selectedElements:T,closeContextMenu:E,handleDelete:R,onNodeContextMenu:N,onEdgeContextMenu:z,onPaneContextMenu:D,onSelectionContextMenu:_}=function(e){let{deleteElements:t}=(0,h.VH)(),{t:n}=(0,M.s9)(),[o,a]=(0,r.useState)({open:!1,position:{x:0,y:0}}),[l,i]=(0,r.useState)({nodes:[],edges:[]});(0,h.p4)({onChange:e=>{let{nodes:t,edges:n}=e,o=t.map(e=>e.id),r=n.map(e=>e.id);F.debug("Selection changed: ".concat(o.length," nodes, ").concat(r.length," edges selected")),i({nodes:o,edges:r})}});let s=(0,r.useCallback)((e,t,n,o)=>{e.preventDefault(),t?F.debug("Context menu opened for node: ".concat(t)):n?F.debug("Context menu opened for edge: ".concat(n)):o?F.debug("Context menu opened for the current selection"):F.debug("Context menu opened on canvas at (".concat(e.clientX,", ").concat(e.clientY,")")),a({open:!0,position:{x:e.clientX,y:e.clientY},nodeId:t,edgeId:n,selection:o})},[]),d=(0,r.useCallback)(()=>{F.debug("Context menu closed"),a(e=>({...e,open:!1}))},[]),c=(0,r.useCallback)(()=>{if(o.selection)F.debug("handleDelete: Deleting the current selection"),t({nodes:l.nodes.map(e=>({id:e})),edges:l.edges.map(e=>({id:e}))});else if(o.nodeId){if(F.debug("handleDelete: Attempting to delete node ".concat(o.nodeId)),!function(e,t){let n=W(e,t);return!!n&&"start"!==n.type}(o.nodeId,e)){F.warn("Cannot delete Start node: ".concat(o.nodeId)),alert(n("flows.canvas.startProtected"));return}t({nodes:[{id:o.nodeId}]})}else o.edgeId&&(F.debug("handleDelete: Deleting edge ".concat(o.edgeId)),t({edges:[{id:o.edgeId}]}))},[o,t,e,l,n]),u=(0,r.useCallback)((e,t)=>{s(e,t.id)},[s]),p=(0,r.useCallback)((e,t)=>{s(e,void 0,t.id)},[s]),m=(0,r.useCallback)(e=>{s(e)},[s]),g=(0,r.useCallback)(e=>{s(e,void 0,void 0,!0)},[s]);return{contextMenu:o,selectedElements:l,onContextMenu:s,closeContextMenu:d,handleDelete:c,onNodeContextMenu:u,onEdgeContextMenu:p,onPaneContextMenu:m,onSelectionContextMenu:g}}(i),{deleteElements:J}=(0,h.VH)(),$=(0,h.PI)(),Q=(0,r.useRef)(null),[ee,et]=(0,r.useState)(null),[en,eo]=(0,r.useState)({open:!1,position:null}),er=(0,r.useCallback)(e=>[...i.filter(e=>e.selected).map(e=>({type:"select",id:e.id,selected:!1})),{type:"add",item:{...e,selected:!0}}],[i]);(0,r.useEffect)(()=>{if(!w)return;let e=e=>{if(e.detail&&e.detail.nodeId){let t=W(e.detail.nodeId,i);t&&w(t)}};return document.addEventListener("editNode",e),()=>{document.removeEventListener("editNode",e)}},[i,w]),(0,r.useEffect)(()=>{let e=e=>{var t;let n=null==(t=e.detail)?void 0:t.nodeId;if(!n)return;let o=W(n,i);o&&(d([...i.filter(e=>e.selected&&e.id!==n).map(e=>({type:"select",id:e.id,selected:!1})),{type:"select",id:n,selected:!0}]),null==C||C(o))};return document.addEventListener("selectNode",e),()=>document.removeEventListener("selectNode",e)},[i,d,C]);let ea=(0,r.useCallback)(e=>{var t,n;if(!e.sourceHandle||!e.targetHandle)return void X.error("Invalid connection: Missing source or target handle",e);let o=(null==(t=$.getState().connection.fromHandle)?void 0:t.type)==="target";if(!(0,L.JL)(e,i,s))return;let r=(0,L.wn)(e,i);if((null==(n=r.data)?void 0:n.edgeType)==="standard"){let t=e=>{var t;return(null==(t=e.data)?void 0:t.edgeType)!=="mcp"},n=e=>{var t;return!!(null==(t=e.data)?void 0:t.bidirectional)},r=s.find(n=>t(n)&&n.source===e.source&&n.target===e.target),l=s.find(n=>t(n)&&n.source===e.target&&n.target===e.source),d=e=>{X.info("Merging reverse connection into bidirectional edge ".concat(e.id)),c([{type:"replace",id:e.id,item:{...e,data:{...e.data,bidirectional:!0},markerStart:{type:m.TG.ArrowClosed,width:20,height:20,color:a.palette.text.secondary}}}])};if(o){let e=null!=r?r:l;return e?void(!n(e)&&(0,L.y2)(e,i,s)&&d(e)):void X.info("Connection drawn from a top handle is only allowed to convert an existing edge to bidirectional")}if(r&&n(r))return;if(l){!n(l)&&(0,L.y2)(l,i,s)&&d(l);return}}c([...(0,L.Cm)(r,s).map(e=>({type:"remove",id:e})),{type:"add",item:r}])},[i,s,c,$,a.palette.text.secondary]),el=(0,r.useCallback)(e=>(0,L.p9)(e,i,s),[i,s]);(0,r.useEffect)(()=>{let e=e=>{var t;let{edgeId:n,waypoints:o}=e.detail,r=s.find(e=>e.id===n);if(!r)return;let{waypoint:a,...l}=null!=(t=r.data)?t:{};c([{type:"replace",id:n,item:{...r,data:{...l,waypoints:null!=o?o:void 0}}}])};return document.addEventListener(O.R,e),()=>document.removeEventListener(O.R,e)},[s,c]);let ei=(0,r.useCallback)(async e=>{let{nodes:t,edges:n}=e,o=t.filter(e=>"start"!==e.type),r=new Set(o.map(e=>e.id)),a=new Set(t.map(e=>e.id)),l=n.filter(e=>!!(e.selected||r.has(e.source)||r.has(e.target))||!(a.has(e.source)||a.has(e.target))),i=o.filter(e=>"trigger"===e.type);return i.length>0&&await Promise.all(i.map(async e=>{var t,n;let o=null==(n=e.data)||null==(t=n.properties)?void 0:t.executionId;if("string"==typeof o&&o)try{await b.P.update(o,{enabled:!1})}catch(e){console.warn("TriggerNode: failed to disarm PlannedExecution",o,e)}})),(0!==o.length||0!==l.length)&&{nodes:o,edges:l}},[]),es=(0,r.useCallback)(e=>{et(e),f&&f(e)},[f]),ed=(0,r.useCallback)(()=>{if(I.nodeId&&w){let e=W(I.nodeId,i);e&&w(e)}else if(I.edgeId&&k){let e=s.find(e=>e.id===I.edgeId);e&&k(e)}},[I.nodeId,I.edgeId,i,s,w,k]),ec=(0,r.useCallback)(()=>{var e;if(!I.nodeId||!S)return;let t=W(I.nodeId,i);((null==t?void 0:t.type)==="process"||(null==t||null==(e=t.data)?void 0:e.type)==="process")&&S(t)},[I.nodeId,i,S]),eu=(0,r.useCallback)(()=>{var e,t,n;let o;if(!I.edgeId)return;let r=s.find(e=>e.id===I.edgeId);if(!r)return;if((null==(e=r.data)?void 0:e.edgeType)!=="standard")return void X.debug("Toggle bidirectional ignored for non-standard edge ".concat(r.id));let l=!!(null==(t=r.data)?void 0:t.bidirectional);if(!l&&!(0,L.y2)(r,i,s))return void X.info("Edge ".concat(r.id," cannot be made bidirectional (reverse direction is not a legal connection)"));let d={...null!=(n=r.data)?n:{},bidirectional:!l};if(l){let{markerStart:e,...t}=r;o={...t,data:d}}else o={...r,data:d,markerStart:{type:m.TG.ArrowClosed,width:20,height:20,color:a.palette.text.secondary}};c([{type:"replace",id:r.id,item:o}])},[I.edgeId,s,i,c,a.palette.text.secondary]),ep=(0,r.useCallback)((e,t)=>{e.preventDefault(),w&&w(t)},[w]),eh=(0,r.useCallback)((e,t)=>{var n,o;let{fromNode:r,fromHandle:a,toHandle:l}=t;if(!r||!(null==a?void 0:a.id)||!ee)return void X.debug("onConnectEnd: No valid connection start data");X.debug("onConnectEnd: Connection ended from node ".concat(r.id,", handle ").concat(a.id));let i="subflow"===r.type&&s.some(e=>{let t=e.data;return(null==t?void 0:t.edgeType)!=="mcp"&&(null==t?void 0:t.edgeType)!=="resource"&&(e.source===r.id||e.target===r.id&&!!(null==t?void 0:t.bidirectional))}),d=!!(null==(o=e.target)||null==(n=o.closest)?void 0:n.call(o,".react-flow__pane"));if(!function(e){let{fromNodeType:t,fromHandleType:n,fromHandleId:o,landedOnHandle:r,droppedOnPane:a,subflowHasOutgoing:l}=e;return!r&&!!a&&!!o&&("target"!==n||!!(0,H.z5)(o))&&("subflow"!==t||"source"!==n||!l)}({fromNodeType:r.type,fromHandleType:a.type,fromHandleId:a.id,landedOnHandle:!!l,droppedOnPane:d,subflowHasOutgoing:i}))return;let c=e instanceof MouseEvent?e:e.changedTouches[0],u=ee.screenToFlowPosition({x:c.clientX,y:c.clientY});X.debug("onConnectEnd: Connection dropped on pane at position (".concat(u.x,", ").concat(u.y,")")),eo({open:!0,position:u,screenPosition:{x:c.clientX,y:c.clientY},sourceNodeId:r.id,sourceNodeType:r.type,sourceHandleId:a.id})},[ee,s]),em=(0,r.useCallback)((e,t)=>{if(X.debug("handleNodeTypeSelection: Selected node type ".concat(e," at position (").concat(t.x,", ").concat(t.y,")")),"trigger"===e&&i.some(e=>"trigger"===e.type))return void eo({open:!1,position:null});let n=v.g.createNode(e,t),{sourceNodeId:o,sourceHandleId:r}=en,a=o?W(o,i):void 0,l=null;if(a&&r&&(l={source:a.id,sourceHandle:r,target:n.id,targetHandle:(0,H.CW)(e,r)},!(0,L.JL)(l,[...i,n],s)))return void eo({open:!1,position:null});let u=A?A(e,t,n):n;if(!u)return void eo({open:!1,position:null});if(A||d(er(u)),l){X.debug("handleNodeTypeSelection: Creating connection from ".concat(l.source," to ").concat(l.target));let e=(0,L.wn)(l,[...i,u]);c([...(0,L.Cm)(e,s).map(e=>({type:"remove",id:e})),{type:"add",item:e}]),X.debug("handleNodeTypeSelection: Edge created with id ".concat(e.id))}eo({open:!1,position:null}),null==C||C(u)},[en,i,s,er,d,c,A,C]),eg=(0,r.useCallback)(()=>{X.debug("handleCloseNodeSelectionModal: Closing node selection modal"),eo({open:!1,position:null})},[]),ex=(0,r.useCallback)(()=>{let e=new Set(T.nodes),t=i.filter(t=>e.has(t.id)&&"start"!==t.type);if(0===t.length)return!1;let n=new Set(t.map(e=>e.id)),o=s.filter(e=>n.has(e.source)&&n.has(e.target));return q({nodes:JSON.parse(JSON.stringify(t)),edges:JSON.parse(JSON.stringify(o))}),X.debug("Copied ".concat(t.length," node(s) and ").concat(o.length," edge(s)")),!0},[T,i,s]),ef=(0,r.useCallback)(()=>{let e=G;if(!e)try{let t=localStorage.getItem(B);t&&(e=JSON.parse(t))}catch(e){X.warn("Could not read flow clipboard from localStorage",e)}if(!e||!e.nodes||0===e.nodes.length)return void X.debug("Paste requested but clipboard is empty");let t=new Map;e.nodes.forEach(e=>t.set(e.id,(0,y.A)()));let n=e.nodes.map(e=>{var n,o,r,a;return{...e,id:t.get(e.id),position:{x:(null!=(r=null==(n=e.position)?void 0:n.x)?r:0)+40,y:(null!=(a=null==(o=e.position)?void 0:o.y)?a:0)+40},selected:!0,data:{...e.data}}}),o=(e.edges||[]).filter(e=>t.has(e.source)&&t.has(e.target)).map(e=>({...e,id:(0,y.A)(),source:t.get(e.source),target:t.get(e.target),selected:!1}));d([...i.filter(e=>e.selected).map(e=>({type:"select",id:e.id,selected:!1})),...n.map(e=>({type:"add",item:e}))]),o.length>0&&c(o.map(e=>({type:"add",item:e}))),X.info("Pasted ".concat(n.length," node(s) and ").concat(o.length," edge(s)"))},[i,d,c]),ey=(0,r.useCallback)(e=>{let t=e.ctrlKey||e.metaKey,n=e.key.toLowerCase();if(t&&"c"===n){ex()&&e.preventDefault();return}if(t&&"x"===n){ex()&&(e.preventDefault(),J({nodes:T.nodes.map(e=>({id:e})),edges:T.edges.map(e=>({id:e}))}));return}if(t&&"v"===n){e.preventDefault(),ef();return}},[ex,ef,J,T]),ev=(0,r.useCallback)(()=>{if(I.nodeId&&!T.nodes.includes(I.nodeId)){let e=i.find(e=>e.id===I.nodeId);e&&"start"!==e.type&&(q({nodes:JSON.parse(JSON.stringify([e])),edges:[]}),X.debug("Copied right-clicked node to clipboard"));return}ex()},[I.nodeId,T,i,ex]),eb=(0,r.useMemo)(()=>{if(G)return!0;try{return!!localStorage.getItem(B)}catch(e){return!1}},[I.open]),ej=(0,r.useMemo)(()=>{if(I.selection){let e=new Set(T.nodes);return i.some(t=>e.has(t.id)&&"start"!==t.type)}if(I.nodeId){let e=i.find(e=>e.id===I.nodeId);return!!e&&"start"!==e.type}return!1},[I.selection,I.nodeId,T,i]);return(0,o.jsxs)(Z,{style:l?{flex:"none",width:"100%",maxWidth:"100%",height:440,minHeight:440}:void 0,ref:e=>{t&&("function"==typeof t?t(e):t.current=e),j&&(j.current=e),Q.current=e},children:[(0,o.jsx)(h.Gc,{nodes:i,edges:s,nodeTypes:Y,edgeTypes:V,defaultEdgeOptions:(0,r.useMemo)(()=>({type:"custom",animated:!1,style:{stroke:a.palette.text.secondary,strokeWidth:2},markerEnd:{type:m.TG.ArrowClosed,width:20,height:20,color:a.palette.text.secondary}}),[a.palette.text.secondary]),connectionLineType:m.Do.SmoothStep,connectionMode:m.WZ.Loose,isValidConnection:el,onNodesChange:d,onEdgesChange:c,onConnect:ea,onBeforeDelete:ei,deleteKeyCode:["Backspace","Delete"],onDrop:u,onDragOver:x,onInit:es,onNodeContextMenu:N,onEdgeContextMenu:z,onPaneContextMenu:D,onSelectionContextMenu:_,onKeyDown:ey,onNodeDoubleClick:ep,onNodeClick:(e,t)=>null==C?void 0:C(t),onConnectEnd:eh,tabIndex:0,fitView:!0,attributionPosition:"bottom-right",minZoom:.1,maxZoom:2,snapToGrid:!0,snapGrid:[15,15],connectOnClick:!1,children:(0,o.jsx)(U,{})}),(0,o.jsx)(P,{open:I.open,position:I.position,onClose:E,onDelete:R,onEditProperties:ed,onConvertToSubflow:S&&I.nodeId&&(null==(n=i.find(e=>e.id===I.nodeId))?void 0:n.type)==="process"?ec:void 0,onToggleBidirectional:eu,onCopy:ev,onPaste:ef,canPaste:eb,canCopy:ej,nodeId:I.nodeId,selection:I.selection,edgeId:I.edgeId}),(0,o.jsx)(K,{open:en.open,position:en.position,anchorPosition:en.screenPosition,onClose:eg,onSelectNodeType:em,sourceNodeType:en.sourceNodeType,sourceHandleId:en.sourceHandleId})]})});$.displayName="Canvas";let Q=$},49479:(e,t,n)=>{n.d(t,{O:()=>s,b:()=>r});let o=(0,n(73288).h)("frontend/services/chat/index");class r extends Error{constructor(e,t,n){super(e),this.name="ChatApiError",this.status=t,this.body=n}}let a="/v1/chat/conversations";async function l(e){let t;if(204===e.status)return;let n=await e.text();if(n)try{t=JSON.parse(n)}catch(e){t=n}if(!e.ok)throw new r(t&&"object"==typeof t&&(t.error||t.message)||"Request failed with status ".concat(e.status),e.status,t);return t}class i{async listConversations(){return o.debug("listConversations: Entering method"),l(await fetch(a))}async getConversation(e){return o.debug("getConversation: Entering method",{conversationId:e}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e))))}async createConversation(e){return o.debug("createConversation: Entering method",{conversationId:e.id}),l(await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}))}async updateConversationFlow(e,t){return o.debug("updateConversationFlow: Entering method",{conversationId:e,flowId:t}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:t})}))}async updateConversationTitle(e,t){return o.debug("updateConversationTitle: Entering method",{conversationId:e}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t})}))}async updateConversationApproval(e,t){return o.debug("updateConversationApproval: Entering method",{conversationId:e,requireApproval:t}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApproval:t})}))}async deleteConversation(e){o.debug("deleteConversation: Entering method",{conversationId:e});let t=await fetch("".concat(a,"/").concat(encodeURIComponent(e)),{method:"DELETE"});await l(t)}async deleteConversations(e){return o.debug("deleteConversations: Entering method",{count:e.length}),l(await fetch(a,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:e})}))}async respondToToolCall(e,t,n,r,i){return o.debug("respondToToolCall: Entering method",{conversationId:e,action:t,toolCallId:n,always:r}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/respond"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,toolCallId:n,...r?{always:!0}:{},...i?{feedback:i}:{}})}))}async debugStep(e){return o.debug("debugStep: Entering method",{conversationId:e}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/debug/step"),{method:"POST"}))}async debugContinue(e){return o.debug("debugContinue: Entering method",{conversationId:e}),l(await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/debug/continue"),{method:"POST"}))}async setBreakpoints(e,t){o.debug("setBreakpoints: Entering method",{conversationId:e,count:t.length});let n=await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/breakpoints"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({breakpoints:t})});await l(n)}async synthesizeQuickChat(e){return o.debug("synthesizeQuickChat: Entering method",{conversationId:e.conversationId}),l(await fetch("/api/flow/quick-chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}))}async synthesizeFlowGenerator(e){return l(await fetch("/api/flow/generator",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}))}async completeFlowGeneratorTurn(e){return l(await fetch("/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:"flow-Flow Generator Session",messages:e.messages,stream:!1,metadata:{flujo:"true",conversationId:e.conversationId}})}))}async restoreFlowGenerator(){return l(await fetch("/api/flow/generator",{method:"PUT"}))}async cancel(e){o.debug("cancel: Entering method",{conversationId:e});let t=await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/cancel"),{method:"POST"});await l(t)}async injectMessage(e,t,n){o.debug("injectMessage: Entering method",{conversationId:e,messageId:n});try{let r=await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/inject"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,id:n})});if(r.ok)return{delivered:!0};if(409===r.status)return o.debug("injectMessage: run is not live; caller should send normally",{conversationId:e}),{delivered:!1};return o.warn("injectMessage: unexpected response; falling back to a normal send",{conversationId:e,status:r.status}),{delivered:!1}}catch(t){return o.warn("injectMessage: request failed; falling back to a normal send",{conversationId:e,err:t}),{delivered:!1}}}async previewRevert(e,t){return l(await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/revert?messageId=").concat(encodeURIComponent(t))))}async revertToMessage(e,t,n){return l(await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/revert"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:t,previewId:n})}))}async undoRevert(e,t){let n=await fetch("".concat(a,"/").concat(encodeURIComponent(e),"/revert"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operationId:t,action:"undo"})});await l(n)}subscribeToEvents(e,t,n){let r=new EventSource(void 0!==n?"".concat(a,"/").concat(encodeURIComponent(e),"/events?fromSeq=").concat(n):"".concat(a,"/").concat(encodeURIComponent(e),"/events"));return r.onopen=()=>{var n;o.debug("Execution event stream open",{conversationId:e}),null==(n=t.onOpen)||n.call(t)},r.onmessage=e=>{try{t.onEvent(JSON.parse(e.data))}catch(e){o.warn("Failed to parse SSE event",{err:e})}},r.onerror=e=>{var n;o.debug("SSE stream error (browser will retry if still open)"),null==(n=t.onError)||n.call(t,e)},r}subscribeToSidebarEvents(e){let t=new EventSource("/v1/chat/events?scope=sidebar");return t.onopen=()=>{var t;o.debug("Sidebar lifecycle event stream open"),null==(t=e.onOpen)||t.call(e)},t.onmessage=t=>{try{e.onEvent(JSON.parse(t.data))}catch(e){o.warn("Failed to parse sidebar lifecycle event",{err:e})}},t.onerror=t=>{var n;o.debug("Sidebar lifecycle stream error (browser will retry if still open)"),null==(n=e.onError)||n.call(e,t)},t}}let s=new i},53911:(e,t,n)=>{n.d(t,{jY:()=>a,oY:()=>l,sZ:()=>i});var o=n(95155);n(12115);var r=n(71738);let a=e=>(0,o.jsx)(r.A,{...e,variant:"standard"}),l=e=>(0,o.jsx)(r.A,{...e,variant:"mcp"}),i=e=>(0,o.jsx)(r.A,{...e,variant:"resource"})},71738:(e,t,n)=>{n.d(t,{R:()=>p,A:()=>y});var o=n(95155),r=n(12115),a=n(22539),l=n(76122),i=n(48116),s=n(33567);function d(e){return e===l.yX.Left||e===l.yX.Right?"h":"v"}var c=n(19875),u=n(36773);let p="flowEdgeWaypoint",h={x:16,y:-16},m=(0,i.Ay)("button")(e=>{let{theme:t}=e;return{background:t.palette.background.paper,border:"1px solid ".concat(t.palette.divider),cursor:"pointer",borderRadius:"50%",fontSize:"10px",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",color:t.palette.text.secondary,boxShadow:"dark"===t.palette.mode?"0 2px 4px rgba(0,0,0,0.3)":"0 2px 4px rgba(0,0,0,0.1)","&:hover":{background:t.palette.error.main,borderColor:t.palette.error.main,color:t.palette.error.contrastText}}}),g=(0,i.Ay)(a.tE)({"&&.animated":{strokeDasharray:5,animation:"flowPathAnimation ".concat(500,"ms infinite linear")},"&&.animated-both":{strokeDasharray:5,animation:"flowPathAnimation ".concat(750,"ms infinite linear alternate")},"@keyframes flowPathAnimation":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}}),x="#009688",f="#4DB6AC",y=e=>{var t,n,i;let y,v,{variant:b,id:j,source:w,target:A,sourceHandleId:C,targetHandleId:S,sourceX:k,sourceY:I,targetX:T,targetY:E,sourcePosition:R,targetPosition:N,style:z={},markerEnd:M,markerStart:P,data:D,selected:O}=e,W=(0,s.A)(),{t:_}=(0,u.s9)(),{deleteElements:F,screenToFlowPosition:L,getNode:H}=(0,a.VH)(),[U,J]=(0,r.useState)(!1),[X,B]=(0,r.useState)(null),G=(0,r.useRef)(null),q=(0,r.useRef)(!1),Y="standard"===b&&(null==D?void 0:D.condition)?(0,c.P2)(D.condition,{contains:_("flows.edge.condition.contains"),regex:_("flows.edge.condition.regex"),equals:_("flows.edge.condition.equals"),always:_("flows.edge.condition.always")}):"",V=e=>!!e&&e.includes("process")&&e.includes("resource"),K="";if("resource"===b){let e=null==(t=H(w))?void 0:t.type,o=null==(n=H(A))?void 0:n.type;"resource"===e&&"process"===o?K="consume":"process"===e&&"resource"===o||V(C)?K="produce":V(S)&&(K="consume")}let Z=null!=(i=null==D?void 0:D.waypoints)?i:(null==D?void 0:D.waypoint)?[D.waypoint]:[],$=null!=X?X:Z,Q="standard"===b&&!!(null==D?void 0:D.bidirectional),ee="mcp"===b||"resource"===b,et=R||(ee?l.yX.Left:l.yX.Bottom),en=N||(ee?l.yX.Right:l.yX.Top),eo=null;if($.length>0)y=(eo=function(e,t,n,o,r){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:8,l=[e,...r,n],i=[e],s=[],d=t,c=(e,t)=>{let n;n=i[i.length-1],.01>Math.abs(n.x-e.x)&&.01>Math.abs(n.y-e.y)||(i.push(e),s.push(t))};for(let e=1;e<l.length;e++){let t=i[i.length-1],n=l[e],r=e-1;if(e===l.length-1){if("v"===o)if("h"===d)c({x:n.x,y:t.y},r);else{let e=(t.y+n.y)/2;c({x:t.x,y:e},r),c({x:n.x,y:e},r)}else if("v"===d)c({x:t.x,y:n.y},r);else{let e=(t.x+n.x)/2;c({x:e,y:t.y},r),c({x:e,y:n.y},r)}c(n,r)}else c("v"===d?{x:t.x,y:n.y}:{x:n.x,y:t.y},r),c(n,r),d="v"===d?"h":"v"}!function(e,t){for(let l=1;l<e.length-1;l++){var n,o,r,a;let i=e[l-1],s=e[l],d=e[l+1],c=.01>Math.abs(i.x-s.x)&&.01>Math.abs(d.x-s.x)&&(s.y-i.y)*(d.y-s.y)<0,u=.01>Math.abs(i.y-s.y)&&.01>Math.abs(d.y-s.y)&&(s.x-i.x)*(d.x-s.x)<0;if(c||u){if(c){let r=(null!=(o=null==(n=e[l-2])?void 0:n.x)?o:s.x-1)<=s.x,a=r?s.x-12:s.x+12,c=r?s.x+12:s.x-12,u=t[l-1];e.splice(l-1,3,{x:a,y:i.y},{x:a,y:s.y},{x:c,y:s.y},{x:c,y:d.y}),t.splice(l-1,2,u,u,u)}else{let n=(null!=(a=null==(r=e[l-2])?void 0:r.y)?a:s.y-1)<=s.y,o=n?s.y-12:s.y+12,c=n?s.y+12:s.y-12,u=t[l-1];e.splice(l-1,3,{x:i.x,y:o},{x:s.x,y:o},{x:s.x,y:c},{x:d.x,y:c}),t.splice(l-1,2,u,u,u)}l++}}}(i,s);let u=[];for(let e=0;e<i.length-1;e++)u.push({a:i[e],b:i[e+1],gap:s[e]});return{d:function(e,t){if(0===e.length)return"";let n="M ".concat(e[0].x,",").concat(e[0].y);for(let o=1;o<e.length-1;o++){let r=e[o-1],a=e[o],l=e[o+1],i=Math.hypot(a.x-r.x,a.y-r.y),s=Math.hypot(l.x-a.x,l.y-a.y),d=Math.min(t,i/2,s/2);if(d<.5){n+=" L ".concat(a.x,",").concat(a.y);continue}let c={x:a.x-(a.x-r.x)/i*d,y:a.y-(a.y-r.y)/i*d},u={x:a.x+(l.x-a.x)/s*d,y:a.y+(l.y-a.y)/s*d};n+=" L ".concat(c.x,",").concat(c.y," Q ").concat(a.x,",").concat(a.y," ").concat(u.x,",").concat(u.y)}let o=e[e.length-1];return n+" L ".concat(o.x,",").concat(o.y)}(i,a),points:i,segments:u,midpoint:function(e,t){let n=0;for(let t=0;t<e.length-1;t++)n+=Math.hypot(e[t+1].x-e[t].x,e[t+1].y-e[t].y);if(0===n)return e[0];let o=.5*n;for(let t=0;t<e.length-1;t++){let n=Math.hypot(e[t+1].x-e[t].x,e[t+1].y-e[t].y);if(o<=n){let r=0===n?0:o/n;return{x:e[t].x+(e[t+1].x-e[t].x)*r,y:e[t].y+(e[t+1].y-e[t].y)*r}}o-=n}return e[e.length-1]}(i,.5)}}({x:k,y:I},d(et),{x:T,y:E},d(en),$,16)).d,v=eo.midpoint;else{let[e,t,n]=(0,l.oN)({sourceX:k,sourceY:I,sourcePosition:et,targetX:T,targetY:E,targetPosition:en,borderRadius:16});y=e,v={x:t,y:n}}let er=ee?"":Q?"animated-both":(null==D?void 0:D.animated)!==!1?"animated":"",ea={...z,strokeWidth:O?3:2,stroke:"mcp"===b?O?W.palette.info.light:W.palette.info.main:"resource"===b?O?f:x:O?W.palette.primary.main:W.palette.text.secondary,..."resource"===b?{strokeDasharray:"6 4"}:{},...er?{animationDuration:"".concat(Math.round((Q?750:500)*(e=>{let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return .9+Math.abs(t)%1e3/1e3*.2})(j)),"ms")}:{}},el=e=>{document.dispatchEvent(new CustomEvent(p,{detail:{edgeId:j,waypoints:e&&e.length>0?e:null}}))},ei=e=>{if(0!==e.button)return;let t=L({x:e.clientX,y:e.clientY}),n=eo?function(e,t){let n=0,o=1/0;for(let r of t){let t=function(e,t,n){let o=n.x-t.x,r=n.y-t.y,a=o*o+r*r,l=0===a?0:Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/a));return Math.hypot(e.x-(t.x+o*l),e.y-(t.y+r*l))}(e,r.a,r.b);t<o&&(o=t,n=r.gap)}return n}(t,eo.segments):0,o=[...$];o.splice(n,0,t),G.current={index:n,pointerId:e.pointerId,startClient:{x:e.clientX,y:e.clientY},base:o,active:!1,fromPath:!0},e.target.setPointerCapture(e.pointerId)},es=e=>{let t=G.current;if(!t||e.pointerId!==t.pointerId)return;if(!t.active){if(4>Math.hypot(e.clientX-t.startClient.x,e.clientY-t.startClient.y))return;t.active=!0}let n=[...t.base];n[t.index]=L({x:e.clientX,y:e.clientY}),B(n)},ed=e=>{let t=G.current;if(!t||e.pointerId!==t.pointerId||(G.current=null,e.target.releasePointerCapture(e.pointerId),q.current=t.active,!t.active))return;let n=[...t.base];n[t.index]=L({x:e.clientX,y:e.clientY}),el(n),B(null)},ec=null!==X,eu=O||U||ec;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g,{path:y,markerEnd:M,markerStart:P,style:ea,id:j,className:er}),(0,o.jsx)("path",{d:y,fill:"none",stroke:"transparent",strokeWidth:20,style:{cursor:ec?"grabbing":"grab"},onMouseEnter:()=>J(!0),onMouseLeave:()=>J(!1),onPointerDown:ei,onPointerMove:es,onPointerUp:ed}),(0,o.jsxs)(a.rV,{children:[Y&&(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(v.x,"px,").concat(v.y-18,"px)"),pointerEvents:"none",background:W.palette.info.main,color:W.palette.info.contrastText,borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:W.shadows[1],zIndex:1002},className:"nodrag nopan",title:_("flows.edge.routingCondition",{condition:Y}),children:Y}),K&&(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(v.x,"px,").concat(v.y-18,"px)"),pointerEvents:"none",background:O?f:x,color:"#ffffff",borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:W.shadows[1],zIndex:1002},className:"nodrag nopan",title:"consume"===K?_("flows.edge.consumeHelp"):_("flows.edge.produceHelp"),children:"consume"===K?_("flows.edge.consume"):_("flows.edge.produce")}),eu&&$.map((e,t)=>(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(e.x,"px,").concat(e.y,"px)"),width:12,height:12,borderRadius:"50%",background:W.palette.primary.main,border:"2px solid ".concat(W.palette.background.paper),boxShadow:W.shadows[1],cursor:"move",pointerEvents:"all",touchAction:"none",zIndex:1001},className:"nodrag nopan",title:_("flows.edge.bendHelp"),onMouseEnter:()=>J(!0),onMouseLeave:()=>J(!1),onPointerDown:e=>{0===e.button&&(e.stopPropagation(),G.current={index:t,pointerId:e.pointerId,startClient:{x:e.clientX,y:e.clientY},base:[...$],active:!1,fromPath:!1},e.target.setPointerCapture(e.pointerId))},onPointerMove:es,onPointerUp:ed,onDoubleClick:e=>{e.stopPropagation(),(e=>{let t=$.filter((t,n)=>n!==e);B(null),el(t)})(t)}},t)),(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(v.x+h.x,"px,").concat(v.y+h.y,"px)"),pointerEvents:eu&&!ec?"all":"none",opacity:eu&&!ec?1:0,transition:"opacity 120ms ease",zIndex:1e3},className:"nodrag nopan",onMouseEnter:()=>J(!0),onMouseLeave:()=>J(!1),children:(0,o.jsx)(m,{title:_("flows.edge.deleteHelp"),style:{touchAction:"none"},onPointerDown:ei,onPointerMove:es,onPointerUp:ed,onClick:e=>{if(e.stopPropagation(),q.current){q.current=!1;return}F({edges:[{id:j}]})},children:"\xd7"})})]})]})}},76750:(e,t,n)=>{n.d(t,{A:()=>eC});var o=n(95155),r=n(12115),a=n(25635),l=n(94049),i=n(91871),s=n(4474),d=n(78470),c=n(28548),u=n(50430),p=n(99944),h=n(9957),m=n(41983),g=n(2300),x=n(98267),f=n(20537),y=n(37960),v=n(22822),b=n(52641),j=n(95436),w=n(55606),A=n(86973),C=n(18369),S=n(9562),k=n(9839),I=n(43861),T=n(75656),E=n(36314),R=n(49501),N=n(17681),z=n(6504),M=n(22133),P=n(11665),D=n(97516),O=n(91861),W=n(53612),_=n(3014),F=n(63186),L=n(70863),H=n(67891),U=n(12121),J=n(60691),X=n(14915),B=n(63992),G=n(59637),q=n(30949),Y=n(50291),V=n(55406),K=n(2778),Z=n(52363),$=n(65036),Q=n(52005),ee=n(22003),et=n(41602),en=n(23820),eo=n(75912),er=n(49479),ea=n(36773);function el(e){let{open:t,conversationId:n,messageId:s,onClose:d,onReverted:c}=e,{t:u}=(0,ea.s9)(),[p,h]=(0,r.useState)(null),[m,g]=(0,r.useState)(null),[x,f]=(0,r.useState)(!1),[y,v]=(0,r.useState)(!1),[b,j]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!t||!s)return;let e=!1;return h(null),g(null),j(null),f(!0),er.O.previewRevert(n,s).then(t=>{e||h(t)}).catch(t=>{e||g(t instanceof Error?t.message:u("chat.revert.previewFailed"))}).finally(()=>{e||f(!1)}),()=>{e=!0}},[n,s,t,u]);let w=async()=>{if(s&&p){v(!0),g(null);try{let e=await er.O.revertToMessage(n,s,p.previewId);j(e.operationId),null==c||c(s)}catch(e){g(e instanceof Error?e.message:u("chat.revert.failed"))}finally{v(!1)}}},A=async()=>{if(b){v(!0),g(null);try{await er.O.undoRevert(n,b),j(null),d()}catch(e){g(e instanceof Error?e.message:u("chat.revert.undoFailed"))}finally{v(!1)}}};return(0,o.jsxs)(K.A,{open:t,onClose:y?void 0:d,fullWidth:!0,maxWidth:"md",children:[(0,o.jsx)(Z.A,{children:u("chat.revert.title")}),(0,o.jsxs)($.A,{children:[(x||y)&&(0,o.jsx)(Q.A,{sx:{mb:2}}),m&&(0,o.jsx)(ee.A,{severity:"error",sx:{mb:2},children:m}),b?(0,o.jsx)(ee.A,{severity:"success",children:u("chat.revert.success")}):p&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.A,{variant:"body2",children:u("chat.revert.review")}),(0,o.jsx)(et.A,{dense:!0,children:p.files.map(e=>(0,o.jsx)(en.Ay,{disableGutters:!0,children:(0,o.jsx)(N.A,{primary:e.path,secondary:e.status})},"".concat(e.status,":").concat(e.path)))}),(0,o.jsx)(l.default,{component:"pre",sx:{maxHeight:360,overflow:"auto",p:1.5,bgcolor:"action.hover",borderRadius:1,fontFamily:"monospace",fontSize:12,whiteSpace:"pre-wrap"},children:p.diff||u("chat.revert.noDiff")}),p.truncated&&(0,o.jsx)(a.A,{variant:"caption",children:u("chat.revert.truncated")})]})]}),(0,o.jsxs)(eo.A,{children:[(0,o.jsx)(i.A,{onClick:d,disabled:y,children:u("common.cancel")}),b?(0,o.jsx)(i.A,{onClick:A,disabled:y,children:u("chat.revert.undo")}):(0,o.jsx)(i.A,{color:"error",variant:"contained",onClick:w,disabled:!p||x||y,children:u("chat.revert.confirm")})]})]})}var ei=n(53228),es=n(1877),ed=n(18466);function ec(e){return!!e&&(e.startsWith(ed.n9)||"handoff"===e)}var eu=n(23731);function ep(e){var t;return e.url?e.url:e.data?"data:".concat(null!=(t=e.mimeType)?t:"application/octet-stream",";base64,").concat(e.data):void 0}let eh=(0,n(73288).h)("frontend/components/Chat/ChatMessages");function em(e){return"assistant"===e.role&&"tool_calls"in e&&Array.isArray(e.tool_calls)}function eg(e){if("tool"!==e.role||"string"!=typeof e.content)return!1;try{var t;return(null==(t=JSON.parse(e.content))?void 0:t.handoff)===!0}catch(e){return!1}}let ex={p:e=>(0,o.jsx)(a.A,{variant:"body1",sx:{mb:.5,whiteSpace:"pre-line"},children:e.children}),h1:e=>(0,o.jsx)(a.A,{variant:"h5",sx:{mt:2,mb:.5},children:e.children}),h2:e=>(0,o.jsx)(a.A,{variant:"h6",sx:{mt:2,mb:.5},children:e.children}),h3:e=>(0,o.jsx)(a.A,{variant:"subtitle1",sx:{mt:1.5,mb:.5},children:e.children}),h4:e=>(0,o.jsx)(a.A,{variant:"subtitle2",sx:{mt:1.5,mb:.5},children:e.children}),h5:e=>(0,o.jsx)(a.A,{variant:"body1",sx:{mt:1,mb:.5,fontWeight:"bold"},children:e.children}),h6:e=>(0,o.jsx)(a.A,{variant:"body2",sx:{mt:1,mb:.5,fontWeight:"bold"},children:e.children}),ul:e=>(0,o.jsx)(l.default,{component:"ul",sx:{pl:2,mb:1},children:e.children}),ol:e=>(0,o.jsx)(l.default,{component:"ol",sx:{pl:2,mb:1},children:e.children}),li:e=>(0,o.jsx)(l.default,{component:"li",sx:{mb:.5,whiteSpace:"pre-line"},children:e.children}),a:e=>(0,o.jsx)(a.A,{component:"a",sx:{color:"primary.main"},href:e.href,children:e.children}),blockquote:e=>(0,o.jsx)(l.default,{component:"blockquote",sx:{borderLeft:"4px solid",borderColor:"divider",pl:2,py:.5,my:1,bgcolor:"action.hover",borderRadius:"4px"},children:e.children}),code:e=>{let{node:t,className:n,children:r,...i}=e;return/language-(\w+)/.exec(n||"")||n?(0,o.jsx)(l.default,{component:"pre",sx:{bgcolor:"action.hover",p:1.5,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.875rem",my:1,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:r}):(0,o.jsx)(a.A,{component:"code",sx:{bgcolor:"action.hover",px:.5,py:.25,borderRadius:"4px",fontFamily:"monospace",wordBreak:"break-all"},children:r})}},ef=e=>{let{media:t}=e,{t:n}=(0,ea.s9)();return(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:1,mt:1},children:t.map((e,t)=>{var r,s,d,c;let u=ep(e),p=null!=(s=null!=(r=e.resourceUri)?r:e.url)?s:"".concat(e.type,"-").concat(t);return u?"image"===e.type?(0,o.jsx)(l.default,{component:"img",src:u,alt:null!=(d=e.name)?d:n("chat.messages.generatedImage",{number:t+1}),sx:{maxWidth:"100%",height:"auto",borderRadius:1}},p):"audio"===e.type?(0,o.jsxs)(l.default,{children:[(0,o.jsx)(l.default,{component:"audio",controls:!0,src:u,sx:{width:"100%"}}),e.transcript&&(0,o.jsx)(a.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:.5},children:e.transcript})]},p):"video"===e.type?(0,o.jsx)(l.default,{component:"video",controls:!0,src:u,sx:{maxWidth:"100%",maxHeight:560,borderRadius:1}},p):(0,o.jsx)(i.A,{component:"a",href:u,download:e.name||!0,target:"_blank",rel:"noopener noreferrer",variant:"outlined",size:"small",startIcon:(0,o.jsx)(W.A,{}),sx:{alignSelf:"flex-start"},children:null!=(c=e.name)?c:n("chat.messages.downloadFile")},p):null})})},ey=e=>{let{content:t,showRaw:n}=e;return n?(0,o.jsx)(l.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:e=>e.palette.divider,bgcolor:"action.hover",color:e=>e.palette.text.primary,overflow:"auto",maxHeight:"300px"},children:"string"==typeof t?t:"[Invalid tool content]"}):"string"!=typeof t?(0,o.jsx)(a.A,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[Invalid tool content]"}):(0,o.jsx)(l.default,{sx:{width:"100%",minWidth:0},children:(()=>{try{let e=JSON.parse(t);if(e&&Array.isArray(e.content))return(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:e.content.map((e,t)=>"text"===e.type?(0,o.jsx)(z.oz,{remarkPlugins:[M.A],children:e.text},t):"image"===e.type&&e.data&&e.mimeType?(0,o.jsx)("img",{src:"data:".concat(e.mimeType,";base64,").concat(e.data),alt:"Tool Result Image ".concat(t+1),style:{maxWidth:"100%",height:"auto",borderRadius:"4px",marginTop:"8px"}},t):"audio"===e.type&&e.data&&e.mimeType?(0,o.jsx)("audio",{controls:!0,src:"data:".concat(e.mimeType,";base64,").concat(e.data),style:{width:"100%",marginTop:"8px"},children:"Your browser does not support the audio element."},t):"video"===e.type&&e.data&&e.mimeType?(0,o.jsx)("video",{controls:!0,src:"data:".concat(e.mimeType,";base64,").concat(e.data),style:{maxWidth:"100%",maxHeight:"560px",marginTop:"8px"},children:"Your browser does not support the video element."},t):(0,o.jsx)(l.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:e=>e.palette.divider,bgcolor:"action.hover",color:e=>e.palette.text.primary,overflow:"auto",mt:1},children:"Unsupported content type: ".concat(e.type,"\n").concat(JSON.stringify(e,null,2))},t))});return(0,o.jsx)(z.oz,{remarkPlugins:[M.A],children:"```json\n".concat(JSON.stringify(e,null,2),"\n```")})}catch(e){return(0,o.jsx)(z.oz,{remarkPlugins:[M.A],children:t})}})()})},ev=e=>{let{pairs:t,messageId:n,conversationId:m,onAppMessage:g,onUpdateModelContext:x,onRegisterAppTeardown:f,onOpenInCanvas:y}=e,{t:v,tp:b}=(0,ea.s9)(),[j,w]=(0,r.useState)(null),[A,C]=(0,r.useState)({}),S=(e,t)=>e.toolCall.id||"tc-".concat(n,"-").concat(t);return(0,o.jsxs)(l.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",color:"primary.main",mb:1},children:[(0,o.jsx)(L.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(a.A,{variant:"body2",children:b("chat.messages.toolUsed",t.length)})]}),(0,o.jsx)(l.default,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:.5},children:t.map((e,t)=>{let n=S(e,t),a=function(e){if(!e)return"pending";if("string"==typeof e.content)try{let t=JSON.parse(e.content);if(t&&(!0===t.isError||null!=t.error))return"error"}catch(e){}return"done"}(e.result),i=j===n;return(0,o.jsxs)(r.Fragment,{children:[t>0&&(0,o.jsx)(l.default,{sx:{width:14,height:"2px",bgcolor:"divider",flexShrink:0}}),(0,o.jsx)(d.A,{title:i?v("chat.messages.hideTool"):v("chat.messages.showTool"),children:(0,o.jsx)(c.A,{icon:function(e){return"pending"===e?(0,o.jsx)(s.default,{size:14,thickness:6}):"error"===e?(0,o.jsx)(J.A,{fontSize:"small"}):(0,o.jsx)(U.A,{fontSize:"small"})}(a),label:(0,es.yo)(e.toolCall.function.name),size:"small",clickable:!0,variant:i?"filled":"outlined",color:"error"===a?"error":"pending"===a?"default":"primary",onClick:()=>w(i?null:n),sx:{maxWidth:"100%"}})})]},n)})}),t.map((e,t)=>{var n,r,d;let b=S(e,t),w=e.toolCall.function.arguments;try{w=JSON.stringify(JSON.parse(e.toolCall.function.arguments),null,2)}catch(e){}let k=!!A[b],I=e.mcpDestination?()=>{let t={};try{let n=JSON.parse(e.toolCall.function.arguments);n&&"object"==typeof n&&!Array.isArray(n)&&(t=n)}catch(e){}let n=new URLSearchParams({server:e.mcpDestination.serverName,tool:e.mcpDestination.toolName,args:JSON.stringify(t)});window.location.assign("/mcp?".concat(n.toString()))}:void 0;return(0,o.jsx)(u.A,{in:j===b,children:(0,o.jsxs)(l.default,{sx:{mt:1,p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.03)"},children:[(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,o.jsx)(L.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,o.jsx)(a.A,{variant:"caption",sx:{fontWeight:"bold"},children:v("chat.messages.parameters")}),(0,o.jsx)(c.A,{label:"ID: ".concat(e.toolCall.id?e.toolCall.id.substring(0,8):"N/A","..."),size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]}),(0,o.jsx)(l.default,{component:"pre",sx:{bgcolor:"action.hover",p:1,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.75rem",my:.5,maxHeight:"150px",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:w}),I&&(0,o.jsx)(i.A,{size:"small",variant:"outlined",startIcon:(0,o.jsx)(V.A,{}),onClick:I,sx:{mt:.5},children:v("chat.messages.toolTester")}),(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",mt:1,mb:.5},children:[(0,o.jsx)(H.A,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),(0,o.jsx)(a.A,{variant:"caption",sx:{fontWeight:"bold"},children:v("chat.messages.result")}),e.result&&(0,o.jsx)(p.A,{control:(0,o.jsx)(h.A,{size:"small",checked:k,onChange:e=>C(t=>({...t,[b]:e.target.checked}))}),label:v("chat.messages.raw"),sx:{ml:"auto",mr:0,"& .MuiTypography-root":{fontSize:"0.75rem"}}})]}),e.result?(0,o.jsx)(ey,{content:e.result.content,showRaw:k}):(0,o.jsxs)(a.A,{variant:"body2",fontStyle:"italic",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(s.default,{size:14,thickness:6})," ",v("chat.messages.waitingTool")]}),(null==(r=e.result)||null==(n=r.ui)?void 0:n.uri)&&e.result.ui.serverName&&(0,o.jsx)(eu.Ay,{conversationId:m,serverName:e.result.ui.serverName,uri:e.result.ui.uri,toolName:null!=(d=e.result.ui.toolName)?d:e.toolCall.function.name,toolArgs:e.toolCall.function.arguments,toolResultContent:"string"==typeof e.result.content?e.result.content:void 0,toolCancelledReason:e.result.ui.cancelledReason,toolIsError:e.result.ui.isError,onAppMessage:g,onUpdateModelContext:x,onRegisterTeardown:f,teardownRegistrationKey:"".concat(e.result.ui.serverName,"::").concat(e.result.ui.uri,"::").concat(b),onRequestDock:y?()=>{var t;return y({serverName:e.result.ui.serverName,uri:e.result.ui.uri,toolName:null!=(t=e.result.ui.toolName)?t:e.toolCall.function.name,toolArgs:e.toolCall.function.arguments,resultContent:"string"==typeof e.result.content?e.result.content:void 0,cancelledReason:e.result.ui.cancelledReason,isError:e.result.ui.isError})}:void 0})]})},b)})]})},eb=r.memo(function(e){var t,n;let r,{message:i,conversationId:s,nodeLabel:u,availableNodes:v,showRaw:b,toolCallPairs:j,onAppMessage:w,onUpdateModelContext:A,onRegisterAppTeardown:C,onOpenInCanvas:S,hoistedHandoffs:k,isBeingEdited:I,onMenuOpen:T,onToggleRaw:E}=e,{t:R,formatDate:N,formatNumber:D}=(0,ea.s9)(),O=null!=(n=i.depth)?n:0;return(0,o.jsxs)(l.default,{sx:{display:"flex",flexDirection:"column",alignItems:"user"===i.role?"flex-end":"flex-start",opacity:i.disabled?.5:1,...O>0&&{pl:3*O,borderLeft:"2px solid",borderColor:"divider",ml:1}},children:[(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,o.jsxs)(a.A,{variant:"caption",color:"text.secondary",sx:{mr:1},children:["user"===i.role?R("chat.messages.you"):"assistant"===i.role?R("chat.messages.agent"):"tool"===i.role?R("chat.messages.tool"):R("chat.messages.system")," • ","number"!=typeof i.timestamp||Number.isNaN(i.timestamp)?R("chat.messages.invalidDate"):N(i.timestamp,{hour:"2-digit",minute:"2-digit"})]}),i.processNodeId&&(0,o.jsx)(d.A,{title:"".concat(u?"".concat(u," — "):"").concat(R("chat.messages.processId",{id:i.processNodeId})),children:(0,o.jsx)(c.A,{label:R("chat.messages.node",{node:u||"".concat(i.processNodeId.substring(0,6),"...")}),size:"small",color:"primary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),O>0&&(0,o.jsx)(d.A,{title:R("chat.messages.nested",{depth:O}),children:(0,o.jsx)(c.A,{label:R("chat.messages.subflowStep"),size:"small",color:"secondary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),i.disabled&&(0,o.jsx)(c.A,{label:R("chat.messages.disabled"),size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem"}}),i.usage&&(0,o.jsx)(d.A,{title:R("chat.messages.tokenUsage",{prompt:D(i.usage.promptTokens),completion:D(i.usage.completionTokens)}),children:(0,o.jsx)(c.A,{label:"".concat((r=i.usage.totalTokens)>=1e3?"".concat((r/1e3).toFixed(r>=1e5?0:1),"k"):"".concat(r)," tok"),size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),(0,o.jsx)(m.A,{size:"small",onClick:e=>T(e,i.id),sx:{ml:1},children:(0,o.jsx)(P.A,{fontSize:"small"})})]}),(0,o.jsxs)(g.A,{elevation:1,sx:{p:2,maxWidth:"75vw",borderRadius:2,bgcolor:"user"===i.role?"primary.light":"assistant"===i.role||"tool"===i.role?"background.paper":"info.light",color:"user"===i.role?"primary.contrastText":"assistant"===i.role||"tool"===i.role?"text.primary":"info.contrastText",position:"relative",borderLeft:"tool"===i.role?"4px solid":"none",borderColor:"tool"===i.role?"grey.400":"transparent",opacity:I?.55:1,outline:I?"2px dashed":"none",outlineColor:"warning.main",overflowWrap:"break-word",wordBreak:"break-word",overflow:"hidden"},children:[(0,o.jsxs)(o.Fragment,{children:["tool"!==i.role&&"string"==typeof i.content&&(0,o.jsx)(z.oz,{remarkPlugins:[M.A],components:ex,children:i.content}),"tool"!==i.role&&Array.isArray(i.content)&&(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:i.content.map((e,t)=>{var n;return(null==e?void 0:e.type)==="text"?(0,o.jsx)(z.oz,{remarkPlugins:[M.A],children:e.text},t):(null==e?void 0:e.type)==="image_url"&&(null==(n=e.image_url)?void 0:n.url)?(0,o.jsx)("img",{src:e.image_url.url,alt:R("chat.messages.generatedImage",{number:t+1}),style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}},t):null})}),"tool"!==i.role&&i.media&&i.media.length>0&&(0,o.jsx)(ef,{media:i.media.filter(e=>"image"!==e.type||!Array.isArray(i.content)||!i.content.some(t=>{var n;return(null==t?void 0:t.type)==="image_url"&&(null==(n=t.image_url)?void 0:n.url)===ep(e)}))}),"tool"!==i.role&&"string"!=typeof i.content&&!Array.isArray(i.content)&&!em(i)&&!(null==(t=i.media)?void 0:t.length)&&(0,o.jsx)(a.A,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:R("chat.messages.noText")})]}),(()=>{let e=[...em(i)?i.tool_calls.filter(e=>{var t;return!!(t=e.function.name)&&(t.startsWith(ed.n9)||"handoff"===t)}):[],...null!=k?k:[]];return(0,o.jsx)(l.default,{sx:{mt:1,display:"flex",flexWrap:"wrap",gap:.5},children:e.map((e,t)=>(0,o.jsx)(c.A,{size:"small",variant:"outlined",color:"secondary",icon:(0,o.jsx)(q.A,{fontSize:"small"}),label:R("chat.messages.handoff",{target:function(e,t){let n=e.startsWith(ed.n9)?e.slice(ed.n9.length):e,o=n.replace(/_\d+$/,""),r=t.find(e=>{let t=(0,ed.RN)(e.label);return t===n||t===o});return(null==r?void 0:r.label)?r.label:o.split("_").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||"target node"}(e.function.name,v)}),sx:{maxWidth:"100%",fontWeight:500}},e.id||"handoff-".concat(i.id,"-").concat(t)))})})(),j&&j.length>0&&(0,o.jsx)(ev,{pairs:j,messageId:i.id,conversationId:s,onAppMessage:w,onUpdateModelContext:A,onRegisterAppTeardown:C,onOpenInCanvas:S}),"tool"===i.role&&i.tool_call_id&&!eg(i)&&(0,o.jsxs)(l.default,{children:[(0,o.jsxs)(a.A,{variant:"body2",sx:{display:"flex",alignItems:"center",color:"text.secondary",mb:1},children:[(0,o.jsx)(H.A,{fontSize:"small",sx:{mr:1}}),R("chat.messages.toolResponded")]}),(0,o.jsxs)(x.A,{defaultExpanded:!1,sx:{mb:.5,"&:before":{display:"none"},boxShadow:"none",bgcolor:"rgba(0, 0, 0, 0.02)"},children:[(0,o.jsx)(f.A,{expandIcon:(0,o.jsx)(F.A,{}),children:(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(H.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,o.jsx)(a.A,{variant:"subtitle2",children:R("chat.messages.toolResult")}),(0,o.jsx)(c.A,{label:"ID: ".concat(i.tool_call_id.substring(0,8),"..."),size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}}),(0,o.jsx)(p.A,{control:(0,o.jsx)(h.A,{size:"small",checked:b,onChange:e=>E(i.id,e.target.checked),onClick:e=>e.stopPropagation()}),label:R("chat.messages.raw"),sx:{mr:1,ml:"auto","& .MuiTypography-root":{fontSize:"0.75rem"}},onClick:e=>e.stopPropagation()})]})}),(0,o.jsx)(y.A,{sx:{pt:0,pb:1,overflow:"hidden"},children:(0,o.jsx)(ey,{content:i.content,showRaw:b})})]})]}),i.attachments&&i.attachments.length>0&&(0,o.jsxs)(l.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,o.jsx)(a.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:R("chat.messages.attachments")}),i.attachments.map(e=>"image"===e.type?(0,o.jsx)(l.default,{sx:{mb:.5},children:(0,o.jsx)("img",{src:e.content,alt:e.originalName||R("chat.messages.imageAttachment"),style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}})},e.id):(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.04)",mb:.5},children:["document"===e.type?(0,o.jsx)(W.A,{fontSize:"small",sx:{mr:1}}):(0,o.jsx)(_.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(a.A,{variant:"caption",sx:{wordBreak:"break-all"},children:e.originalName||R("chat.input.attachment",{type:e.type})})]},e.id))]})]})]})}),ej=e=>{var t;let{elicitation:n,onSubmit:s,onCancel:d}=e,{t:c}=(0,ea.s9)(),{elicitationId:u,message:h,requestedSchema:m}=n,x=null!=(t=null==m?void 0:m.properties)?t:{},f=Object.keys(x),[y,k]=(0,r.useState)(()=>{let e={};for(let t of f){let n=x[t];void 0!==n.default?e[t]=n.default:"boolean"===n.type?e[t]=!1:"number"===n.type||"integer"===n.type?e[t]=0:e[t]=""}return e}),I=(e,t)=>{k(n=>({...n,[e]:t}))};return(0,o.jsxs)(g.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"info.light",border:"1px solid",borderColor:"info.main",borderRadius:2},children:[(0,o.jsx)(a.A,{variant:"h6",sx:{mb:1},children:c("chat.elicitation.title")}),(0,o.jsx)(a.A,{variant:"body2",sx:{mb:2},children:h}),(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:f.map(e=>{let t=x[e],n=t.title||e,r=y[e];if("boolean"===t.type)return(0,o.jsx)(p.A,{control:(0,o.jsx)(v.A,{checked:!!r,onChange:t=>I(e,t.target.checked),size:"small"}),label:n},e);if(t.enum&&t.enum.length>0)return(0,o.jsxs)(b.A,{size:"small",sx:{minWidth:200},children:[(0,o.jsx)(j.A,{children:n}),(0,o.jsx)(w.A,{label:n,value:String(null!=r?r:""),onChange:t=>I(e,t.target.value),children:t.enum.map((e,n)=>{var r;return(0,o.jsx)(A.A,{value:e,children:(null==(r=t.enumNames)?void 0:r[n])||e},e)})}),t.description&&(0,o.jsx)(C.A,{children:t.description})]},e);let a="number"===t.type||"integer"===t.type;return(0,o.jsx)(S.A,{size:"small",label:n,type:a?"number":"text",value:String(null!=r?r:""),helperText:t.description,inputProps:{minLength:t.minLength,maxLength:t.maxLength,min:t.minimum,max:t.maximum},onChange:t=>{if(a){let n=parseFloat(t.target.value);I(e,isNaN(n)?0:n)}else I(e,t.target.value)}},e)})}),(0,o.jsxs)(l.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:2},children:[(0,o.jsx)(i.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{d&&d(u)},disabled:!d,children:c("common.cancel")}),(0,o.jsx)(i.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{s&&s(u,y)},disabled:!s,children:c("chat.elicitation.submit")})]})]})},ew="Type your own answer",eA=e=>{let{question:t,onAnswer:n,onDecline:s}=e,{t:d}=(0,ea.s9)(),{questionId:c,questions:u}=t,[h,m]=(0,r.useState)(()=>u.map(()=>[])),[x,f]=(0,r.useState)(()=>u.map(()=>"")),y=()=>u.map((e,t)=>{var n;return(null!=(n=h[t])?n:[]).map(e=>e===ew?x[t].trim():e).filter(e=>e.length>0)}),j=u.every((e,t)=>{var n;return(null!=(n=y()[t])?n:[]).length>0});return(0,o.jsxs)(g.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"info.light",border:"1px solid",borderColor:"info.main",borderRadius:2},children:[(0,o.jsx)(a.A,{variant:"h6",sx:{mb:1},children:d("chat.question.title")}),(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:u.map((e,t)=>{var n,r,a;return(0,o.jsxs)(b.A,{component:"fieldset",sx:{display:"flex"},children:[(0,o.jsx)(k.A,{sx:{mb:.5},children:e.prompt}),e.multiple?(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column"},children:e.options.map(e=>{var n;return(0,o.jsx)(p.A,{control:(0,o.jsx)(v.A,{size:"small",checked:(null!=(n=h[t])?n:[]).includes(e),onChange:()=>((e,t)=>{m(n=>{let o=n.map(e=>[...e]),r=o[e],a=r.indexOf(t);return a>=0?r.splice(a,1):r.push(t),o})})(t,e)}),label:e===ew?d("chat.question.custom"):e},e)})}):(0,o.jsx)(I.A,{value:null!=(r=(null!=(n=h[t])?n:[])[0])?r:"",onChange:e=>{var n;return n=e.target.value,void m(e=>{let o=e.map(e=>[...e]);return o[t]=[n],o})},children:e.options.map(e=>(0,o.jsx)(p.A,{value:e,control:(0,o.jsx)(T.A,{size:"small"}),label:e===ew?d("chat.question.custom"):e},e))}),(null!=(a=h[t])?a:[]).includes(ew)&&(0,o.jsx)(S.A,{size:"small",sx:{mt:1},placeholder:d("chat.question.placeholder"),value:x[t],onChange:e=>f(n=>{let o=[...n];return o[t]=e.target.value,o})})]},t)})}),(0,o.jsxs)(l.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:2},children:[(0,o.jsx)(i.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{s&&s(c)},disabled:!s,children:d("chat.question.decline")}),(0,o.jsx)(i.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{n&&n(c,y())},disabled:!n||!j,children:d("chat.question.answer")})]})]})},eC=e=>{var t;let{messages:n,pendingToolCalls:d,pendingElicitation:u,availableNodes:p=[],conversationId:h,editingMessageId:m,onToggleDisabled:v,onSplitConversation:b,onRevertToHere:j,onBeginEditMessage:w,onApproveToolCall:C,onRejectToolCall:k,onSubmitElicitation:I,onCancelElicitation:T,pendingQuestion:z,onAnswerQuestion:M,onDeclineQuestion:P,onAppMessage:W,onUpdateModelContext:_,onRegisterAppTeardown:H,onOpenInCanvas:U,queuedMessages:J=[],queueHoldReason:q=null}=e,{t:V,tp:K}=(0,ea.s9)(),[Z,$]=(0,r.useState)({}),[Q,ee]=(0,r.useState)(50);(0,r.useEffect)(()=>{ee(50)},[h]);let et=Math.max(0,(Array.isArray(n)?n.length:0)-Q),en=(0,r.useMemo)(()=>Array.isArray(n)?et>0?n.slice(et):n:[],[n,et]),{pairsByAnchorId:eo,handoffsByAnchorId:er,consumedToolCallIds:ed,groups:eu}=(0,r.useMemo)(()=>(function(e){let t=new Map,n=new Map,o=new Set,r=new Set,a=new Map,l=[];if(!Array.isArray(e))return{pairsByAnchorId:t,handoffsByAnchorId:n,hoistedAssistantIds:o,consumedToolCallIds:r,groups:l};let i=new Map;for(let t of e)"tool"===t.role&&"string"==typeof t.tool_call_id&&t.tool_call_id&&!i.has(t.tool_call_id)&&i.set(t.tool_call_id,t);let s=e=>{let o=a.get(e);return o||(o={anchorId:e,memberIds:[e],hoistedIds:[]},a.set(e,o),l.push(o),t.set(e,[]),n.set(e,[])),o},d=null;for(let a of e){if("user"===a.role||"system"===a.role){d=null;continue}if("assistant"!==a.role)continue;let e=Array.isArray(a.tool_calls)?a.tool_calls:[],l=[],p=[];for(let t of e){var c,u;if("function"!==t.type)continue;if(ec(null==(c=t.function)?void 0:c.name)){p.push(t);continue}let e=t.id,n=e?i.get(e):void 0;e&&r.add(e),l.push({toolCall:t,result:n,mcpDestination:e?null==(u=a.mcpToolCalls)?void 0:u[e]:void 0})}let h=function(e){let t=e.content;return"string"==typeof t?t.trim().length>0:!!Array.isArray(t)&&t.some(e=>{var t,n;return!!e&&"object"==typeof e&&("text"===e.type?"string"==typeof e.text&&e.text.trim().length>0:"image_url"===e.type?!!(null==(t=e.image_url)?void 0:t.url):"input_audio"===e.type&&!!(null==(n=e.input_audio)?void 0:n.data))})}(a),m=l.length>0||p.length>0;if(h){d=a.id,m&&(s(a.id),t.get(a.id).push(...l),n.get(a.id).push(...p));continue}if(m)if(d){let e=s(d);t.get(d).push(...l),n.get(d).push(...p),e.memberIds.push(a.id),e.hoistedIds.push(a.id),o.add(a.id)}else d=a.id,s(a.id),t.get(a.id).push(...l),n.get(a.id).push(...p)}return{pairsByAnchorId:t,handoffsByAnchorId:n,hoistedAssistantIds:o,consumedToolCallIds:r,groups:l}})(n),[n]),ep=(0,r.useMemo)(()=>(function(e){let t=new Set;if(!Array.isArray(e))return t;for(let o of e){if("assistant"!==o.role)continue;let e=o.tool_calls;if(Array.isArray(e))for(let o of e){var n;"function"===o.type&&ec(null==(n=o.function)?void 0:n.name)&&"string"==typeof o.id&&o.id&&t.add(o.id)}}return t})(n),[n]),em=(0,r.useMemo)(()=>new Set(en.map(e=>e.id)),[en]),{renderPairsById:ex,renderHandoffsById:ef,suppressedIds:ey}=(0,r.useMemo)(()=>{let e=new Map,t=new Map,n=new Set;for(let l of eu){var o,r,a;let i=null!=(o=eo.get(l.anchorId))?o:[],s=null!=(r=er.get(l.anchorId))?r:[],d=null!=(a=l.memberIds.find(e=>em.has(e)))?a:l.anchorId;for(let o of(i.length>0&&e.set(d,i),s.length>0&&t.set(d,s),l.hoistedIds))o!==d&&n.add(o)}return{renderPairsById:e,renderHandoffsById:t,suppressedIds:n}},[eu,eo,er,em]),[ev,ew]=r.useState(null),[eC,eS]=r.useState(null),[ek,eI]=r.useState(null),[eT,eE]=r.useState({}),eR=(0,r.useCallback)((e,t)=>{eh.debug("handleMenuOpen called with messageId: ".concat(t)),ew(e.currentTarget),eS(t)},[]),eN=(0,r.useCallback)((e,t)=>{eE(n=>({...n,[e]:t}))},[]),ez=()=>{ew(null),eS(null)},eM=()=>{eC&&(null==w||w(eC),ez())},eP=(0,r.useMemo)(()=>{let e=new Map;for(let t of p)e.set(t.id,t.label);return e},[p]),eD=(0,r.useMemo)(()=>eC&&n.find(e=>e.id===eC)||null,[eC,n]);return(0,o.jsxs)(l.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:[et>0&&(0,o.jsx)(l.default,{sx:{display:"flex",justifyContent:"center"},children:(0,o.jsx)(i.A,{size:"small",variant:"outlined",onClick:()=>ee(e=>e+200),children:V("chat.messages.earlier",{count:et})})}),en.map((e,t)=>eg(e)||"tool"===e.role&&"string"==typeof e.tool_call_id&&ep.has(e.tool_call_id)||"tool"===e.role&&"string"==typeof e.tool_call_id&&ed.has(e.tool_call_id)||ey.has(e.id)?null:(0,o.jsx)(eb,{message:e,conversationId:h,nodeLabel:e.processNodeId?eP.get(e.processNodeId):void 0,availableNodes:p,showRaw:!!eT[e.id],toolCallPairs:ex.get(e.id),onAppMessage:W,onUpdateModelContext:_,onRegisterAppTeardown:H,onOpenInCanvas:U,hoistedHandoffs:ef.get(e.id),isBeingEdited:!!m&&e.id===m,onMenuOpen:eR,onToggleRaw:eN},e.id||"msg-".concat(et+t))),J.map(e=>(0,o.jsx)(l.default,{"data-testid":"queued-bubble",sx:{display:"flex",justifyContent:"flex-end",opacity:.6},children:(0,o.jsxs)(l.default,{sx:{maxWidth:"70%",bgcolor:"primary.light",color:"primary.contrastText",borderRadius:2,px:2,py:1,display:"flex",flexDirection:"column",gap:.5},children:[(0,o.jsx)(a.A,{variant:"body2",sx:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.content||(e.attachments.length>0?K("chat.messages.attachment",e.attachments.length):"")}),(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",gap:.5,justifyContent:"flex-end"},children:[!q&&(0,o.jsx)(s.default,{size:10,color:"inherit"}),(0,o.jsx)(a.A,{variant:"caption",sx:{opacity:.85},children:null!=q?q:V("chat.messages.queued")})]})]})},e.id)),(0,o.jsxs)(E.A,{anchorEl:ev,open:!!ev,onClose:ez,children:[eD&&(()=>{eh.debug("Entering menu item rendering logic",{activeMessageId:eC}),eh.debug("Active message object for menu:",eD),eh.debug("Active message role for menu:",null==eD?void 0:eD.role);try{if("user"===eD.role&&"string"==typeof eD.content&&w)return(0,o.jsxs)(A.A,{onClick:eM,children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(X.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:V("chat.actions.edit")})]});return null}catch(e){return eh.error("Error rendering Edit Message menu item",{error:e}),null}})(),(0,o.jsxs)(A.A,{onClick:()=>{eC&&(v(eC),ez())},children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(D.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:(null==eD?void 0:eD.disabled)?V("chat.actions.enable"):V("chat.actions.disable")})]}),(0,o.jsxs)(A.A,{onClick:()=>{eC&&(b(eC),ez())},children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(O.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:V("chat.actions.split")})]}),ei.G.ENABLE_REVERT_TO_HERE&&(null==eD||null==(t=eD.changedFiles)?void 0:t.length)?(0,o.jsxs)(A.A,{onClick:()=>{eC&&(eI(eC),ez())},children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(Y.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:V("chat.actions.revert")})]}):null]}),ei.G.ENABLE_REVERT_TO_HERE&&h&&(0,o.jsx)(el,{open:!!ek,conversationId:h,messageId:ek,onClose:()=>eI(null),onReverted:j}),u&&(0,o.jsx)(ej,{elicitation:u,onSubmit:I,onCancel:T}),z&&(0,o.jsx)(eA,{question:z,onAnswer:M,onDecline:P}),d&&d.length>0&&(0,o.jsxs)(g.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"warning.light",border:"1px solid",borderColor:"warning.main",borderRadius:2},children:[(0,o.jsxs)(a.A,{variant:"h6",sx:{mb:1,display:"flex",alignItems:"center"},children:[(0,o.jsx)(L.A,{sx:{mr:1}})," ",V("chat.approval.title")]}),(0,o.jsx)(a.A,{variant:"body2",sx:{mb:2},children:V("chat.approval.help")}),d.map((e,t)=>{var n;let r=(0,es.yo)(e.function.name),s=e.function.arguments;try{let t=JSON.parse(e.function.arguments);s=JSON.stringify(t,null,2)}catch(e){}return(0,o.jsxs)(x.A,{defaultExpanded:!0,sx:{mb:1,"&:before":{display:"none"},boxShadow:1},children:[(0,o.jsx)(f.A,{expandIcon:(0,o.jsx)(F.A,{}),children:(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",width:"100%"},children:[(0,o.jsx)(L.A,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),(0,o.jsx)(a.A,{variant:"subtitle2",sx:{fontWeight:"bold",flexGrow:1},children:r}),(0,o.jsx)(c.A,{label:"ID: ".concat(e.id?e.id.substring(0,8):"N/A","..."),size:"small",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]})}),(0,o.jsxs)(y.A,{sx:{pt:0},children:[(0,o.jsx)(l.default,{component:"pre",sx:{bgcolor:"action.hover",p:1,borderRadius:"4px",overflowX:"auto",fontFamily:"monospace",fontSize:"0.75rem",my:.5,maxHeight:"150px",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:s}),(0,o.jsx)(S.A,{label:V("chat.approval.reason"),placeholder:V("chat.approval.reasonPlaceholder"),value:null!=(n=Z[e.id])?n:"",onChange:t=>$(n=>({...n,[e.id]:t.target.value})),multiline:!0,minRows:1,maxRows:4,fullWidth:!0,size:"small",sx:{mt:1,mb:1}}),(0,o.jsxs)(l.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:1,flexWrap:"wrap"},children:[(0,o.jsx)(i.A,{variant:"outlined",color:"error",size:"small",startIcon:(0,o.jsx)(G.A,{}),onClick:()=>{var t;return k&&k(e.id,!1,(null==(t=Z[e.id])?void 0:t.trim())||void 0)},disabled:!k,children:V("chat.approval.reject")}),(0,o.jsx)(i.A,{variant:"outlined",color:"error",size:"small",onClick:()=>k&&k(e.id,!0),disabled:!k,title:V("chat.approval.denyHelp"),children:V("chat.approval.alwaysDeny")}),(0,o.jsx)(i.A,{variant:"outlined",color:"success",size:"small",startIcon:(0,o.jsx)(B.A,{}),onClick:()=>C&&C(e.id,!0),disabled:!C,title:V("chat.approval.allowHelp"),children:V("chat.approval.alwaysAllow")}),(0,o.jsx)(i.A,{variant:"contained",color:"success",size:"small",startIcon:(0,o.jsx)(B.A,{}),onClick:()=>C&&C(e.id),disabled:!C,children:V("chat.approval.approve")})]})]})]},e.id||"ptc-".concat(t))})]})]})}},77890:(e,t,n)=>{n.d(t,{pX:()=>o});function o(e,t,n,o){let r="".concat(e.type,"-bottom"),a="".concat(t.type,"-top");return{id:"".concat(e.id,":").concat(r,"->").concat(t.id,":").concat(a),source:e.id,sourceHandle:r,target:t.id,targetHandle:a,type:"custom",data:{edgeType:"standard",...n?{bidirectional:!0}:{},...o?{condition:o}:{}},animated:!0}}},84869:(e,t,n)=>{n.d(t,{G:()=>l,S:()=>a});let o=(0,n(73288).h)("frontend/services/transcription/webSpeech"),r=()=>"webkitSpeechRecognition"in window||"SpeechRecognition"in window;async function a(e,t){if(!r())throw Error("Web Speech API is not supported in this browser");o.debug("Starting Web Speech API transcription");try{let n=URL.createObjectURL(e),r=new Audio(n),a=new(window.SpeechRecognition||window.webkitSpeechRecognition);return a.continuous=!0,a.interimResults=!0,(null==t?void 0:t.language)&&(a.lang=t.language),new Promise((e,n)=>{let l="";a.onresult=e=>{let n="";for(let t=e.resultIndex;t<e.results.length;t++){let o=e.results[t][0].transcript;e.results[t].isFinal?l+=o+" ":n+=o}(null==t?void 0:t.onInterimResult)&&t.onInterimResult(l+n),o.debug("Recognition interim result",{finalLength:l.length,interimLength:n.length})},a.onend=()=>{o.debug("Recognition ended",{transcriptLength:l.length}),e(l.trim())},a.onerror=e=>{o.error("Recognition error",{error:e.error}),n(Error("Speech recognition error: ".concat(e.error)))},r.onplay=()=>{a.start(),o.debug("Recognition started")},r.onended=()=>{a.stop(),o.debug("Audio playback ended")},r.onerror=e=>{o.error("Audio playback error",{error:e}),a.stop(),n(Error("Error playing audio"))},r.play().catch(e=>{o.error("Error starting audio playback",{error:e}),n(e)})})}catch(e){throw o.error("Error in Web Speech API transcription",{error:e}),e}}function l(){return{supported:r(),message:r()?"Web Speech API is supported":"Web Speech API is not supported in this browser"}}},93764:(e,t,n)=>{n.d(t,{Cm:()=>u,JL:()=>s,p9:()=>i,wn:()=>d,y2:()=>c});var o=n(18037),r=n(57563);function a(e,t,n){return t.filter(t=>{var o;return!(0,r.BY)(t)&&(t.source===e?t.target!==n:t.target===e&&null!=(o=t.data)&&!!o.bidirectional&&t.source!==n)})}function l(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(!e.source||!e.target||!e.sourceHandle||!e.targetHandle)return"Missing source, target, or handles";let o=t.find(t=>t.id===e.source),l=t.find(t=>t.id===e.target);if(!o||!l)return"Source or target node not found";let i=(0,r.vC)(o.type,e.sourceHandle,l.type,e.targetHandle);return i||("subflow"===o.type&&a(o.id,n,e.target).length>0?"Subflow nodes can only have one outgoing connection":null)}function i(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return null===l(e,t,n)}function s(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=l(e,t,n);return!o||(console.error("Invalid connection: ".concat(o),e),!1)}function d(e,t,n){let a=t.find(t=>t.id===e.source),l=t.find(t=>t.id===e.target),i=e.sourceHandle,s=e.targetHandle,d=(null==a?void 0:a.type)==="mcp"||(null==l?void 0:l.type)==="mcp"||(0,r.z5)(i)||(0,r.z5)(s),c=!d&&((null==a?void 0:a.type)==="resource"||(null==l?void 0:l.type)==="resource"||(0,r.vM)(i)||(0,r.vM)(s)),u="".concat(e.source,":").concat(i,"->").concat(e.target,":").concat(s);return d?{id:u,...e,type:"mcpEdge",data:{edgeType:"mcp"},animated:!1,markerEnd:o.Ud.markerEnd,markerStart:o.Ud.markerStart,style:o.Ud.style}:c?{id:u,...e,type:"resourceEdge",data:{edgeType:"resource"},animated:!1,markerEnd:o.MG.markerEnd,style:o.MG.style}:{id:u,...e,type:"custom",data:{edgeType:"standard",...n?{condition:n}:{}},animated:!0}}function c(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=t.find(t=>t.id===e.source),l=t.find(t=>t.id===e.target);return!!o&&!!l&&("subflow"!==l.type||!(a(l.id,n,e.source).length>0))&&null===(0,r.vC)(l.type,null,o.type,null)}function u(e,t){let n=e=>{var t;return null==(t=e.data)?void 0:t.edgeType},o=e=>"mcp"===n(e),r=e=>"resource"===n(e);return t.filter(t=>t.id===e.id||(o(e)?o(t)&&(t.source===e.source&&t.target===e.target||t.source===e.target&&t.target===e.source):r(e)?r(t)&&t.source===e.source&&t.target===e.target:!o(t)&&!r(t)&&t.source===e.source&&t.target===e.target)).map(e=>e.id)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7260],{2226:(e,t,r)=>{r.d(t,{Dp:()=>c,Dg:()=>u}),r(12115);var n=r(33065),a=r(95695),i=r(50361),s=r(46892),o=r(95155);let l=function(e){return(0,o.jsx)(a.A,{...e,defaultTheme:i.A,themeId:s.A})};function c(e){return function(t){return(0,o.jsx)(l,{styles:"function"==typeof e?r=>e({theme:r,...t}):e})}}function u(){return n.A}},4474:(e,t,r)=>{r.d(t,{default:()=>M});var n=r(3648),a=r(12115),i=r(2821),s=r(57001),o=r(10225),l=r(48116),c=r(66964),u=r(16625),f=r(81852),d=r(74798),p=r(85795),y=r(95195);function m(e){return(0,y.Ay)("MuiCircularProgress",e)}(0,p.A)("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var v=r(95155);function h(){let e=(0,n._)(["\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n"]);return h=function(){return e},e}function A(){let e=(0,n._)(["\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: -126px;\n }\n"]);return A=function(){return e},e}function k(){let e=(0,n._)(["\n animation: "," 1.4s linear infinite;\n "]);return k=function(){return e},e}function g(){let e=(0,n._)(["\n animation: "," 1.4s ease-in-out infinite;\n "]);return g=function(){return e},e}let x=(0,o.i7)(h()),b=(0,o.i7)(A()),w="string"!=typeof x?(0,o.AH)(k(),x):null,C="string"!=typeof b?(0,o.AH)(g(),b):null,S=(0,l.Ay)("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t["color".concat((0,f.A)(r.color))]]}})((0,c.A)(e=>{let{theme:t}=e;return{display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("transform")}},{props:{variant:"indeterminate"},style:w||{animation:"".concat(x," 1.4s linear infinite")}},...Object.entries(t.palette).filter((0,d.A)()).map(e=>{let[r]=e;return{props:{color:r},style:{color:(t.vars||t).palette[r].main}}})]}})),D=(0,l.Ay)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),j=(0,l.Ay)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.circle,t["circle".concat((0,f.A)(r.variant))],r.disableShrink&&t.circleDisableShrink]}})((0,c.A)(e=>{let{theme:t}=e;return{stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:e=>{let{ownerState:t}=e;return"indeterminate"===t.variant&&!t.disableShrink},style:C||{animation:"".concat(b," 1.4s ease-in-out infinite")}}]}})),M=a.forwardRef(function(e,t){let r=(0,u.b)({props:e,name:"MuiCircularProgress"}),{className:n,color:a="primary",disableShrink:o=!1,size:l=40,style:c,thickness:d=3.6,value:p=0,variant:y="indeterminate",...h}=r,A={...r,color:a,disableShrink:o,size:l,thickness:d,value:p,variant:y},k=(e=>{let{classes:t,variant:r,color:n,disableShrink:a}=e,i={root:["root",r,"color".concat((0,f.A)(n))],svg:["svg"],circle:["circle","circle".concat((0,f.A)(r)),a&&"circleDisableShrink"]};return(0,s.A)(i,m,t)})(A),g={},x={},b={};if("determinate"===y){let e=2*Math.PI*((44-d)/2);g.strokeDasharray=e.toFixed(3),b["aria-valuenow"]=Math.round(p),g.strokeDashoffset="".concat(((100-p)/100*e).toFixed(3),"px"),x.transform="rotate(-90deg)"}return(0,v.jsx)(S,{className:(0,i.A)(k.root,n),style:{width:l,height:l,...x,...c},ownerState:A,ref:t,role:"progressbar",...b,...h,children:(0,v.jsx)(D,{className:k.svg,ownerState:A,viewBox:"".concat(22," ").concat(22," ").concat(44," ").concat(44),children:(0,v.jsx)(j,{className:k.circle,style:g,ownerState:A,cx:44,cy:44,r:(44-d)/2,fill:"none",strokeWidth:d})})})})},44102:(e,t,r)=>{r.d(t,{A:()=>i}),r(12115);var n=r(10225),a=r(95155);function i(e){let{styles:t,defaultTheme:r={}}=e,i="function"==typeof t?e=>t(null==e||0===Object.keys(e).length?r:e):t;return(0,a.jsx)(n.mL,{styles:i})}},61952:(e,t,r)=>{r.d(t,{A:()=>n});let n=r(99347).A},89255:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(12115);let a="undefined"!=typeof window?n.useLayoutEffect:n.useEffect},95695:(e,t,r)=>{r.d(t,{A:()=>l}),r(12115);var n=r(54211),a=r(44102),i=r(89505),s=r(95155);function o(e){let t=(0,n.tT)(e);return e!==t&&t.styles?(t.styles.match(/^@layer\s+[^{]*$/)||(t.styles="@layer global{".concat(t.styles,"}")),t):e}let l=function(e){let{styles:t,themeId:r,defaultTheme:n={}}=e,l=(0,i.A)(n),c=r&&l[r]||l,u="function"==typeof t?t(c):t;return c.modularCssLayers&&(u=Array.isArray(u)?u.map(e=>"function"==typeof e?o(e(c)):o(e)):o(u)),(0,s.jsx)(a.A,{styles:u})}},99347:(e,t,r)=>{r.d(t,{A:()=>o});var n,a=r(12115);let i=0,s={...n||(n=r.t(a,2))}.useId;function o(e){if(void 0!==s){let t=s();return null!=e?e:t}let[t,r]=a.useState(e),n=e||t;return a.useEffect(()=>{null==t&&(i+=1,r("mui-".concat(i)))},[t]),n}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7711],{17711:(e,t,a)=>{a.r(t),a.d(t,{default:()=>eB});var l=a(95155),o=a(94049),n=a(12115),r=a(33567),i=a(78470),s=a(41983),c=a(99944),d=a(9957),u=a(91871),m=a(25635),x=a(22003),h=a(2300),g=a(9562),p=a(56422),j=a(52641),f=a(95436),A=a(55606),v=a(86973),y=a(4474),b=a(36314),w=a(49501),k=a(17681),C=a(74494),S=a(2778),T=a(52363),z=a(65036),E=a(75912),I=a(86946),W=a(76530),F=a(51611),R=a(64419),P=a(28466),N=a(3986),H=a(94885),D=a(15686),O=a(91665),M=a(89538),L=a(70583),U=a(44055),X=a(93632),q=a(73288),B=a(38459);let _={schedule:"Schedule",webhook:"Webhook","file-watch":"File watch","mcp-poll":"MCP poll","url-watch":"URL watch","flow-event":"Flow event"};function G(e){if(!e)return 0;let t=Date.parse(e);return Number.isNaN(t)?0:t}function K(e,t){return e.execution.name.localeCompare(t.execution.name)||e.execution.id.localeCompare(t.execution.id)}var $=a(97104),Q=a(22573),J=a(79508),V=a(28548),Y=a(50430),Z=a(55406),ee=a(14915),et=a(4484),ea=a(63186),el=a(62962),eo=a(3713),en=a(89296),er=a(81956),ei=a(36773),es=a(29485),ec=a(40241);let ed=(e,t)=>(0,es.Tl)(ec.Xn,e,t),eu=e=>String(e).padStart(2,"0"),em=e=>{switch(e){case"completed":return"success.main";case"error":return"error.main";case"skipped":return"warning.main";default:return"transparent"}},ex=(e,t,a)=>{if(!e.finishedAt)return"";let l=new Date(e.finishedAt).getTime()-new Date(e.firedAt).getTime();if(l<1e3)return t("automations.card.lessThanSecond");let o=Math.round(l<6e4?l/1e3:l/6e4);return t(l<6e4?"automations.card.seconds":"automations.card.minutes",{count:a(o)})},eh=(e,t)=>{switch(e){case"completed":return t("automations.card.status.completed");case"error":return t("automations.card.status.error");case"skipped":return t("automations.card.status.skipped");default:return t("automations.card.status.running")}},eg=e=>{var t;let{entry:a,paused:r,folders:c,onEdit:x,onDelete:g,onToggleEnabled:p,onSetFolder:j,onRanNow:f}=e,{t:A,tp:v,formatDate:b,formatNumber:w}=(0,ei.s9)(),{execution:k,status:C,lastRun:I}=a,[W,F]=(0,n.useState)(!1),[R,P]=(0,n.useState)(null),[N,H]=(0,n.useState)(!1),[D,M]=(0,n.useState)(!1),[L,U]=(0,n.useState)(null),[q,B]=(0,n.useState)(10),[_,G]=(0,n.useState)(null),K=e=>e?b(e,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"",$=(0,n.useCallback)(async()=>{H(!0),P([...await X.P.loadRuns(k.id)].reverse()),B(10),H(!1)},[k.id]);(0,n.useEffect)(()=>{W&&$()},[W,$,null==I?void 0:I.runId]);let Q=async()=>{M(!0),await X.P.runNow(k.id),M(!1),W&&$(),f()};return(0,l.jsxs)(h.A,{variant:"outlined",sx:{p:2},children:[(0,l.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:1.5,flexWrap:"wrap"},children:[(0,l.jsxs)(o.default,{sx:{flexGrow:1,minWidth:220},children:[(0,l.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:1,flexWrap:"wrap"},children:[(0,l.jsx)(m.A,{variant:"subtitle1",sx:{fontWeight:600},children:k.name}),(0,l.jsx)(V.A,{size:"small",label:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ed;switch(e.type){case"schedule":{let a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ed,a=/^\*\/(\d+) \* \* \* \* \*$/.exec(e);return a?t("automations.trigger.everySeconds",{count:a[1]}):(a=/^\*\/(\d+) \* \* \* \*$/.exec(e))?t("automations.trigger.everyMinutes",{count:a[1]}):(a=/^0 \*\/(\d+) \* \* \*$/.exec(e))?1===Number(a[1])?t("automations.trigger.everyHour"):t("automations.trigger.everyHours",{count:a[1]}):(a=/^(\d+) (\d+) \* \* \*$/.exec(e))?t("automations.trigger.dailyAt",{time:"".concat(eu(Number(a[2])),":").concat(eu(Number(a[1])))}):(a=/^(\d+) (\d+) \* \* 1-5$/.exec(e))?t("automations.trigger.weekdaysAt",{time:"".concat(eu(Number(a[2])),":").concat(eu(Number(a[1])))}):null}(e.cron,t);return null!=a?a:t("automations.trigger.schedule",{cron:e.cron})}case"webhook":return t("automations.trigger.webhook");case"file-watch":return t("automations.trigger.watchingPath",{path:e.path});case"mcp-poll":return t("automations.trigger.watchingTool",{server:e.serverName,tool:e.toolName});case"url-watch":try{return t("automations.trigger.watchingHost",{host:new URL(e.url).hostname})}catch(e){return t("automations.trigger.watchingUrl")}case"flow-event":{var a,l;if(null==(a=e.source)?void 0:a.topic)return t("automations.trigger.onSignal",{topic:e.source.topic});let o=(null!=(l=e.on)?l:[]).map(e=>"completed"===e?t("automations.trigger.outcome.completed"):t("automations.trigger.outcome.error")).join("/")||t("automations.trigger.terminal");return t("automations.trigger.flowOutcome",{outcomes:o})}default:return t("automations.trigger.generic")}}(k.trigger,A)}),k.exclusive&&(0,l.jsx)(i.A,{title:A("automations.card.exclusiveHelp"),children:(0,l.jsx)(V.A,{size:"small",color:"secondary",label:A("automations.card.exclusive")})}),!k.enabled&&(0,l.jsx)(V.A,{size:"small",label:A("automations.card.off"),variant:"outlined"}),k.folder&&(0,l.jsx)(V.A,{size:"small",variant:"outlined",icon:(0,l.jsx)(O.A,{}),label:k.folder})]}),C.running?(0,l.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:.75,mt:.5},children:[(0,l.jsx)(y.default,{size:12,thickness:6}),(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:C.runningSince?A("automations.card.runningSince",{time:K(C.runningSince)}):A("automations.card.running")})]}):C.blockedByExclusive?(0,l.jsxs)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:[A("automations.card.blockedExclusive"),C.lastTriggerError?" — ".concat(A("automations.card.triggerError",{error:C.lastTriggerError})):""]}):(0,l.jsxs)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:[((e,t,a)=>{let{execution:l,status:o}=e;if(!l.enabled)return"";if(o.nextRun)return t("automations.card.nextRun",{time:a(o.nextRun)});if("paused"===o.notArmedReason)return t("automations.card.pausedGlobal");if(o.armed)switch(l.trigger.type){case"webhook":return t("automations.card.listeningWebhook");case"file-watch":return t("automations.card.watchingPath",{path:l.trigger.path});case"mcp-poll":case"url-watch":return t("automations.card.watchingChanges");case"flow-event":return t("automations.card.waitingFlowEvent");default:return t("automations.card.armed")}return t("automations.card.notArmed")})(a,A,K),C.lastTriggerError?" — ".concat(A("automations.card.triggerError",{error:C.lastTriggerError})):""]}),I&&(0,l.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:.75,mt:.5},children:[(0,l.jsx)(i.A,{title:eh(I.status,A),children:(0,l.jsx)(o.default,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:em(I.status),flexShrink:0}})}),(0,l.jsxs)(m.A,{variant:"body2",color:"text.secondary",children:[A("automations.card.lastRun",{time:K(I.firedAt)}),"error"===I.status&&I.error?" — ".concat(I.error):""]})]})]}),(0,l.jsx)(i.A,{title:A("automations.card.runNow"),children:(0,l.jsx)("span",{children:(0,l.jsx)(s.A,{onClick:Q,disabled:D,color:"primary",children:D?(0,l.jsx)(y.default,{size:20}):(0,l.jsx)(Z.A,{})})})}),(0,l.jsx)(i.A,{title:r?A("automations.card.pausedHelp"):k.enabled?A("automations.card.turnOff"):A("automations.card.turnOn"),children:(0,l.jsx)(d.A,{checked:k.enabled,onChange:e=>p(e.target.checked)})}),(0,l.jsx)(i.A,{title:A("automations.card.edit"),children:(0,l.jsx)(s.A,{onClick:x,children:(0,l.jsx)(ee.A,{})})}),(0,l.jsx)(i.A,{title:k.folder?A("automations.card.folder",{folder:k.folder}):A("automations.card.moveFolder"),children:(0,l.jsx)(s.A,{onClick:e=>G(e.currentTarget),color:k.folder?"primary":"default","aria-label":A("automations.card.moveFolderAria"),children:(0,l.jsx)(en.A,{})})}),(0,l.jsx)(i.A,{title:A("automations.card.delete"),children:(0,l.jsx)(s.A,{onClick:g,children:(0,l.jsx)(et.A,{})})}),(0,l.jsx)(i.A,{title:W?A("automations.card.hideHistory"):A("automations.card.showHistory"),children:(0,l.jsx)(s.A,{onClick:()=>F(e=>!e),children:W?(0,l.jsx)(el.A,{}):(0,l.jsx)(ea.A,{})})})]}),(0,l.jsx)(Y.A,{in:W,timeout:"auto",unmountOnExit:!0,children:(0,l.jsxs)(o.default,{sx:{mt:2,borderTop:1,borderColor:"divider",pt:1.5},children:[N&&!R&&(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:A("automations.card.loadingRuns")}),R&&0===R.length&&(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:A("automations.card.noRuns")}),null==R?void 0:R.slice(0,q).map(e=>{var t;return(0,l.jsxs)(o.default,{sx:{display:"flex",gap:1,py:.75,alignItems:"flex-start","&:hover .run-detail-button":{opacity:1}},children:[(0,l.jsx)(o.default,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:em(e.status),mt:"5px",flexShrink:0}}),(0,l.jsxs)(o.default,{sx:{minWidth:0,flexGrow:1},children:[(0,l.jsxs)(m.A,{variant:"body2",children:[K(e.firedAt),ex(e,A,w)?" \xb7 ".concat(ex(e,A,w)):""," \xb7 ",e.triggerSummary,(null==(t=e.usage)?void 0:t.totalTokens)?" \xb7 ".concat(A("automations.card.tokens",{count:w(e.usage.totalTokens)})):""]}),e.error&&(0,l.jsx)(m.A,{variant:"body2",color:"error",children:e.error}),e.outputText&&(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{whiteSpace:"pre-wrap",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:e.outputText})]}),(0,l.jsx)(i.A,{title:A("automations.card.fullOutput"),children:(0,l.jsx)(s.A,{className:"run-detail-button",size:"small",onClick:()=>U(e),sx:{opacity:{xs:1,md:.35},transition:"opacity 120ms",flexShrink:0},children:(0,l.jsx)(eo.A,{fontSize:"inherit"})})})]},e.runId)}),R&&R.length>q&&(0,l.jsx)(u.A,{size:"small",onClick:()=>B(e=>e+10),sx:{mt:1},children:v("automations.card.loadOlder",R.length-q)})]})}),(0,l.jsx)(er.A,{anchorEl:_,open:!!_,currentFolder:k.folder,folders:c,onClose:()=>G(null),onAssign:j}),(0,l.jsxs)(S.A,{open:null!==L,onClose:()=>U(null),maxWidth:"md",fullWidth:!0,children:[(0,l.jsx)(T.A,{component:"div",children:(0,l.jsxs)(o.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,l.jsx)(o.default,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:L?em(L.status):"transparent",flexShrink:0}}),(0,l.jsxs)(m.A,{variant:"h6",children:[k.name," — ",L?K(L.firedAt):""]})]})}),(0,l.jsx)(z.A,{dividers:!0,children:L&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(m.A,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:[eh(L.status,A),ex(L,A,w)?" \xb7 ".concat(ex(L,A,w)):""," \xb7 ",L.triggerSummary,(null==(t=L.usage)?void 0:t.totalTokens)?" \xb7 ".concat(A("automations.card.tokenBreakdown",{total:w(L.usage.totalTokens),input:w(L.usage.promptTokens),output:w(L.usage.completionTokens)})):""]}),L.error&&(0,l.jsx)(m.A,{variant:"body2",color:"error",sx:{mb:1.5,whiteSpace:"pre-wrap"},children:L.error}),L.outputText?(0,l.jsx)(o.default,{sx:{whiteSpace:"pre-wrap",wordBreak:"break-word",bgcolor:"action.hover",borderRadius:1,p:2,fontSize:14,maxHeight:"55vh",overflow:"auto"},children:L.outputText}):!L.error&&(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:A("automations.card.noOutput")})]})}),(0,l.jsx)(E.A,{children:(0,l.jsx)(u.A,{onClick:()=>U(null),children:A("automations.card.close")})})]})]})};var ep=a(21067),ej=a(18369),ef=a(77073),eA=a(26922),ev=a(40520),ey=a(79299),eb=a(22590),ew=a(53657),ek=a(7107),eC=a(90057),eS=a(23143),eT=a(84765),ez=a(43673),eE=a(21997),eI=a(80811),eW=a(14368),eF=a(23833),eR=a(75870);let eP=(0,q.h)("frontend/components/PlannedExecutions/ExecutionModal"),eN={type:"schedule",cron:"0 9 * * *"},eH={type:"file-watch",path:"",events:["add","change"]},eD={type:"mcp-poll",serverName:"",toolName:"",args:{},cron:"*/5 * * * *",evaluate:{mode:"on-change"}},eO={type:"url-watch",url:"",cron:"*/15 * * * *"},eM={type:"flow-event",source:{flowId:""},on:["completed"]},eL=e=>{var t,a;let{open:r,execution:i,onClose:h,onSaved:p}=e,{t:y}=(0,ei.s9)(),[b,w]=(0,n.useState)(""),[k,C]=(0,n.useState)(""),[I,W]=(0,n.useState)(""),[F,R]=(0,n.useState)(!1),[P,N]=(0,n.useState)("skip"),[H,D]=(0,n.useState)(!1),[O,M]=(0,n.useState)("queue"),[L,U]=(0,n.useState)(eN),[q,B]=(0,n.useState)(""),[_,G]=(0,n.useState)([]),[K,$]=(0,n.useState)(!1),[Q,J]=(0,n.useState)(!1),[V,Y]=(0,n.useState)(null);(0,n.useEffect)(()=>{var e,t,a,l,o,n;r&&(Y(null),w(null!=(e=null==i?void 0:i.name)?e:""),C(null!=(t=null==i?void 0:i.flowId)?t:""),W(null!=(a=null==i?void 0:i.prompt)?a:""),R((null==i?void 0:i.saveConversations)===!0),N(null!=(l=null==i?void 0:i.overlapStrategy)?l:"skip"),D((null==i?void 0:i.exclusive)===!0),M(null!=(o=null==i?void 0:i.nonExclusiveBehavior)?o:"queue"),U(null!=(n=null==i?void 0:i.trigger)?n:eN),B(i?"":crypto.randomUUID()))},[r,i]),(0,n.useEffect)(()=>{if(!r)return;let e=!1;return $(!0),eC.g.loadFlows().then(t=>{e||G(t||[])}).catch(t=>{eP.warn("Failed to load flows for execution picker",t),e||G([])}).finally(()=>{e||$(!1)}),()=>{e=!0}},[r]);let Z=!!k&&!K&&_.length>0&&!_.some(e=>e.id===k),ee=async()=>{var e;J(!0),Y(null);let t={name:b,flowId:k,prompt:I,saveConversations:F,overlapStrategy:P,exclusive:H,nonExclusiveBehavior:O,trigger:L,enabled:null==(e=null==i?void 0:i.enabled)||e,...i?{}:{id:q}},a=i?await X.P.update(i.id,t):await X.P.create(t);if(J(!1),!a.success)return void Y(a.error||y("automations.modal.saveFailed"));p(),h()};return(0,l.jsxs)(S.A,{open:r,onClose:h,maxWidth:"md",fullWidth:!0,PaperProps:{sx:{borderTop:5,borderColor:"primary.main",maxWidth:"95vw",maxHeight:"90vh"}},children:[(0,l.jsx)(T.A,{component:"div",children:(0,l.jsxs)(o.default,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(m.A,{variant:"h6",children:i?y("automations.modal.editTitle"):y("automations.modal.newTitle")}),(0,l.jsx)(s.A,{edge:"end",color:"inherit",onClick:h,"aria-label":y("automations.modal.closeAria"),children:(0,l.jsx)(ef.A,{})})]})}),(0,l.jsx)(ep.A,{}),(0,l.jsxs)(z.A,{sx:{p:3},children:[(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:y("automations.modal.intro")}),(0,l.jsx)(g.A,{fullWidth:!0,label:y("automations.modal.name"),value:b,onChange:e=>w(e.target.value),margin:"normal",placeholder:y("automations.modal.namePlaceholder")}),(0,l.jsx)(m.A,{variant:"subtitle1",sx:{mt:3,mb:1,fontWeight:600},children:y("automations.modal.when")}),(0,l.jsxs)(o.default,{role:"radiogroup","aria-label":y("automations.modal.triggerTypeAria"),sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,l.jsx)(eS.A,{selected:"schedule"===L.type,onClick:()=>{"schedule"!==L.type&&U((null==i?void 0:i.trigger.type)==="schedule"?i.trigger:eN)},icon:(0,l.jsx)(eA.A,{}),title:y("automations.modal.scheduleTitle"),description:y("automations.modal.scheduleDescription")}),(0,l.jsx)(eS.A,{selected:"webhook"===L.type,onClick:()=>{"webhook"!==L.type&&U((null==i?void 0:i.trigger.type)==="webhook"?i.trigger:{type:"webhook",token:crypto.randomUUID()})},icon:(0,l.jsx)(ev.A,{}),title:y("automations.modal.webhookTitle"),description:y("automations.modal.webhookDescription")}),(0,l.jsx)(eS.A,{selected:"file-watch"===L.type,onClick:()=>{"file-watch"!==L.type&&U((null==i?void 0:i.trigger.type)==="file-watch"?i.trigger:eH)},icon:(0,l.jsx)(ey.A,{}),title:y("automations.modal.fileTitle"),description:y("automations.modal.fileDescription")}),(0,l.jsx)(eS.A,{selected:"mcp-poll"===L.type,onClick:()=>{"mcp-poll"!==L.type&&U((null==i?void 0:i.trigger.type)==="mcp-poll"?i.trigger:eD)},icon:(0,l.jsx)(eb.A,{}),title:y("automations.modal.toolTitle"),description:y("automations.modal.toolDescription")}),(0,l.jsx)(eS.A,{selected:"url-watch"===L.type,onClick:()=>{"url-watch"!==L.type&&U((null==i?void 0:i.trigger.type)==="url-watch"?i.trigger:eO)},icon:(0,l.jsx)(ew.A,{}),title:y("automations.modal.urlTitle"),description:y("automations.modal.urlDescription")}),(0,l.jsx)(eS.A,{selected:"flow-event"===L.type,onClick:()=>{"flow-event"!==L.type&&U((null==i?void 0:i.trigger.type)==="flow-event"?i.trigger:eM)},icon:(0,l.jsx)(ek.A,{}),title:y("automations.modal.flowEventTitle"),description:y("automations.modal.flowEventDescription")})]}),"schedule"===L.type&&(0,l.jsx)(eT.A,{cron:L.cron,timezone:L.timezone,onChange:e=>{let{cron:t,timezone:a}=e;return U({...L,cron:t,timezone:a})},catchUp:!0===L.catchUp,onCatchUpChange:e=>U({...L,catchUp:e})}),"webhook"===L.type&&(0,l.jsx)(ez.A,{config:L,onChange:U,executionId:null!=(t=null==i?void 0:i.id)?t:q,saved:null!==i}),"file-watch"===L.type&&(0,l.jsx)(eE.A,{config:L,onChange:U}),"mcp-poll"===L.type&&(0,l.jsx)(eI.A,{config:L,onChange:U}),"url-watch"===L.type&&(0,l.jsx)(eW.A,{config:L,onChange:U}),"flow-event"===L.type&&(0,l.jsx)(eF.A,{config:L,onChange:U,flows:_,currentExecutionId:null!=(a=null==i?void 0:i.id)?a:q}),(0,l.jsxs)(j.A,{fullWidth:!0,margin:"normal",children:[(0,l.jsx)(f.A,{id:"overlap-strategy-label",children:y("automations.modal.alreadyRunning")}),(0,l.jsxs)(A.A,{labelId:"overlap-strategy-label",label:y("automations.modal.alreadyRunning"),value:P,onChange:e=>N(e.target.value),children:[(0,l.jsx)(v.A,{value:"skip",children:y("automations.modal.overlapSkip")}),(0,l.jsx)(v.A,{value:"queue",children:y("automations.modal.overlapQueue")}),(0,l.jsx)(v.A,{value:"parallel",children:y("automations.modal.overlapParallel")}),(0,l.jsx)(v.A,{value:"error",children:y("automations.modal.overlapError")})]}),(0,l.jsx)(ej.A,{children:"parallel"===P&&("url-watch"===L.type||"mcp-poll"===L.type)?y("automations.modal.parallelWarning"):"queue"===P?y("automations.modal.queueHelp"):y("automations.modal.overlapHelp")})]}),(0,l.jsx)(c.A,{sx:{mt:1},control:(0,l.jsx)(d.A,{checked:H,onChange:e=>D(e.target.checked)}),label:y("automations.modal.exclusive")}),H&&(0,l.jsxs)(j.A,{fullWidth:!0,margin:"normal",children:[(0,l.jsx)(f.A,{id:"non-exclusive-behavior-label",children:y("automations.modal.otherTriggers")}),(0,l.jsxs)(A.A,{labelId:"non-exclusive-behavior-label",label:y("automations.modal.otherTriggers"),value:O,onChange:e=>M(e.target.value),children:[(0,l.jsx)(v.A,{value:"queue",children:y("automations.modal.othersQueue")}),(0,l.jsx)(v.A,{value:"skip",children:y("automations.modal.othersSkip")}),(0,l.jsx)(v.A,{value:"error",children:y("automations.modal.othersError")})]}),(0,l.jsx)(ej.A,{children:y("automations.modal.exclusiveHelp")})]}),(0,l.jsx)(ep.A,{sx:{mt:3}}),(0,l.jsx)(m.A,{variant:"subtitle1",sx:{mt:2,mb:0,fontWeight:600},children:y("automations.modal.what")}),(0,l.jsx)(o.default,{sx:{mt:2},children:(0,l.jsx)(eR.A,{selectedFlowId:k||null,onSelectFlow:C,disabled:Q,hideLabel:!0})}),Z&&(0,l.jsx)(x.A,{severity:"warning",sx:{mt:1},children:y("automations.modal.flowMissing")}),(0,l.jsx)(g.A,{fullWidth:!0,label:y("automations.modal.prompt"),value:I,onChange:e=>W(e.target.value),margin:"normal",multiline:!0,rows:3,helperText:y("automations.modal.promptHelp")}),(0,l.jsx)(c.A,{sx:{mt:1},control:(0,l.jsx)(d.A,{checked:F,onChange:e=>R(e.target.checked)}),label:y("automations.modal.saveConversations")}),V&&(0,l.jsx)(x.A,{severity:"error",sx:{mt:2},children:V})]}),(0,l.jsxs)(E.A,{children:[(0,l.jsx)(u.A,{onClick:h,children:y("common.cancel")}),(0,l.jsx)(u.A,{onClick:ee,variant:"contained",color:"primary",disabled:Q||!b.trim()||!k,children:Q?y("automations.modal.saving"):y("automations.modal.saveTrigger")})]})]})},eU=(0,q.h)("frontend/components/PlannedExecutions"),eX=()=>{var e;let t=(0,r.A)(),{t:a,tp:q,formatNumber:V}=(0,ei.s9)(),[Y,Z]=(0,n.useState)([]),[ee,et]=(0,n.useState)(!1),[ea,el]=(0,n.useState)(!1),[eo,en]=(0,n.useState)(!1),[er,es]=(0,n.useState)(null),[ec,ed]=(0,n.useState)(null),[eu,em]=(0,n.useState)(null),[ex,eh]=(0,n.useState)(""),[ep,ej]=(0,$.Xk)("flujo-ui:planned-executions:filter","all"),[ef,eA]=(0,$.Xk)("flujo-ui:planned-executions:trigger","all"),[ev,ey]=(0,$.Xk)("flujo-ui:planned-executions:sort","name-asc"),[eb,ew]=(0,$.Xk)("flujo-ui:planned-executions:group",B.FM),[ek,eC]=(0,$.Xk)("flujo-ui:planned-executions:collapsed",[]),[eS,eT]=(0,n.useState)(null),[ez,eE]=(0,n.useState)(null),eI=(0,n.useMemo)(()=>new Set(ek),[ek]),eW=(0,n.useCallback)(async()=>{let e=await X.P.list();Z(e.executions),et(e.paused),el(!0)},[]);(0,n.useEffect)(()=>{eW()},[eW]);let eF=Y.some(e=>e.status.running);(0,n.useEffect)(()=>{let e=setInterval(()=>{document.hidden||eW()},eF?3e3:1e4);return()=>clearInterval(e)},[eW,eF]);let eR=async e=>{et(e);let t=await X.P.setPaused(e);t.success||eU.warn("Failed to toggle pause",t.error),eW()},eP=async(e,t)=>{let l=await X.P.update(e.id,{enabled:t});if(!l.success){let e=l.error||a("automations.list.updateFailed");eU.warn("Failed to toggle enabled",e),em(e)}eW()},eN=async(e,t)=>{let l=await X.P.update(e.id,{folder:null!=t?t:""});if(!l.success){let e=l.error||a("automations.list.moveFailed");eU.warn("Failed to update folder",e),em(e)}eW()},eH=async()=>{ec&&(await X.P.delete(ec.id),ed(null),eW())},eD=(0,n.useMemo)(()=>(0,B.yF)(Y,e=>e.execution.folder),[Y]),eO=e=>a("automations.list.trigger.".concat(e)),eM=e=>a("automations.list.sort.".concat(e)),eX=(0,n.useMemo)(()=>{var e;let t=ex.trim().toLocaleLowerCase();return e=Y.filter(e=>((function(e,t){let a=t.trim().toLocaleLowerCase();if(!a)return!0;let l=e.execution;return[l.name,l.folder,l.prompt,l.flowId,l.trigger.type,_[l.trigger.type]].some(e=>null==e?void 0:e.toLocaleLowerCase().includes(a))})(e,ex)||!!(t&&eO(e.execution.trigger.type).toLocaleLowerCase().includes(t)))&&function(e,t){switch(t){case"enabled":return e.execution.enabled;case"disabled":return!e.execution.enabled;case"running":return e.status.running;case"attention":var a,l;return!!(e.status.lastTriggerError||(null==(a=e.lastRun)?void 0:a.status)==="error"||(null==(l=e.lastRun)?void 0:l.status)==="needs_approval");default:return!0}}(e,ep)&&("all"===ef||e.execution.trigger.type===ef)),[...e].sort((e,t)=>{switch(ev){case"name-asc":return K(e,t);case"name-desc":return t.execution.name.localeCompare(e.execution.name)||t.execution.id.localeCompare(e.execution.id);case"newest":return G(t.execution.createdAt)-G(e.execution.createdAt)||K(e,t);case"oldest":return G(e.execution.createdAt)-G(t.execution.createdAt)||K(e,t);case"last-run":var a,l;return G(null==(a=t.lastRun)?void 0:a.firedAt)-G(null==(l=e.lastRun)?void 0:l.firedAt)||K(e,t);default:return 0}})},[Y,ex,ep,ef,ev,a]),eq=(0,n.useMemo)(()=>"folder"===eb?(0,B.Je)(eX,e=>e.execution.folder,a("automations.list.ungrouped")):"trigger"===eb?(0,B.Az)(eX,e=>({...function(e){let t=e.execution.trigger.type;return{key:"trigger:".concat(t),label:_[t]}}(e),label:eO(e.execution.trigger.type)})):"status"===eb?(0,B.Az)(eX,e=>{let t=function(e){var t,a;return e.status.running?{key:"state:running",label:"Running"}:e.status.lastTriggerError||(null==(t=e.lastRun)?void 0:t.status)==="error"||(null==(a=e.lastRun)?void 0:a.status)==="needs_approval"?{key:"state:attention",label:"Needs attention"}:e.execution.enabled?{key:"state:enabled",label:"Active"}:{key:"state:disabled",label:"Off"}}(e),l="state:running"===t.key?a("automations.list.running"):"state:attention"===t.key?a("automations.list.attention"):"state:disabled"===t.key?a("automations.list.off"):a("automations.list.active");return{...t,label:l}}):[],[eX,eb,a]),eB=()=>{eh(""),ej("all"),eA("all")},e_=""!==ex.trim()||"all"!==ep||"all"!==ef,eG=e=>(0,l.jsx)(o.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:e.map(e=>(0,l.jsx)(eg,{entry:e,folders:eD,onSetFolder:t=>void eN(e.execution,t),onEdit:()=>{es(e.execution),en(!0)},onDelete:()=>ed(e.execution),onToggleEnabled:t=>eP(e.execution,t),onRanNow:()=>void eW(),paused:ee},e.execution.id))});return(0,l.jsxs)(o.default,{sx:{width:"100%"},children:[(0,l.jsx)(J.default,{eyebrowKey:"automations.list.eyebrow",titleKey:"automations.list.title",descriptionKey:"automations.list.description",icon:U.A,maxWidth:1200,actions:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.A,{title:a("automations.list.refresh"),children:(0,l.jsx)(s.A,{onClick:()=>void eW(),"aria-label":a("automations.list.refreshAria"),children:(0,l.jsx)(W.A,{})})}),(0,l.jsx)(c.A,{control:(0,l.jsx)(d.A,{checked:!ee,onChange:e=>eR(!e.target.checked)}),label:ee?a("automations.list.paused"):a("automations.list.active")}),(0,l.jsx)(u.A,{variant:"contained",startIcon:(0,l.jsx)(I.A,{}),onClick:()=>{es(null),en(!0)},"data-tour":"add-execution",children:a("automations.list.add")})]})}),(0,l.jsxs)(o.default,{sx:{p:{xs:2,md:3},maxWidth:1200,mx:"auto",width:"100%"},children:[(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mb:3},children:a("automations.list.runningRequirement")}),ee&&Y.length>0&&(0,l.jsx)(x.A,{severity:"info",sx:{mb:3},children:a("automations.list.pausedAlert")}),Y.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(h.A,{elevation:0,variant:"outlined",sx:{mb:1.5,p:1.2,borderRadius:3},children:(0,l.jsxs)(o.default,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},gap:1,alignItems:{xs:"stretch",md:"center"},justifyContent:"space-between"},children:[(0,l.jsx)(g.A,{placeholder:a("automations.list.search"),variant:"outlined",size:"small",fullWidth:!0,value:ex,onChange:e=>eh(e.target.value),InputProps:{startAdornment:(0,l.jsx)(p.A,{position:"start",children:(0,l.jsx)(F.A,{fontSize:"small"})})},sx:{maxWidth:{md:360}}}),(0,l.jsxs)(o.default,{sx:{display:"flex",gap:1,alignItems:"center",flexWrap:"wrap"},children:[(0,l.jsxs)(j.A,{size:"small",sx:{minWidth:130},children:[(0,l.jsx)(f.A,{id:"execution-status-filter-label",children:a("automations.list.status")}),(0,l.jsxs)(A.A,{labelId:"execution-status-filter-label",label:a("automations.list.status"),value:ep,onChange:e=>ej(e.target.value),children:[(0,l.jsx)(v.A,{value:"all",children:a("automations.list.allStatuses")}),(0,l.jsx)(v.A,{value:"enabled",children:a("automations.list.active")}),(0,l.jsx)(v.A,{value:"disabled",children:a("automations.list.off")}),(0,l.jsx)(v.A,{value:"running",children:a("automations.list.running")}),(0,l.jsx)(v.A,{value:"attention",children:a("automations.list.attention")})]})]}),(0,l.jsxs)(j.A,{size:"small",sx:{minWidth:140},children:[(0,l.jsx)(f.A,{id:"execution-trigger-filter-label",children:a("automations.list.trigger")}),(0,l.jsxs)(A.A,{labelId:"execution-trigger-filter-label",label:a("automations.list.trigger"),value:ef,onChange:e=>eA(e.target.value),children:[(0,l.jsx)(v.A,{value:"all",children:a("automations.list.allTriggers")}),Object.entries(_).map(e=>{let[t]=e;return(0,l.jsx)(v.A,{value:t,children:eO(t)},t)})]})]}),e_&&(0,l.jsx)(u.A,{size:"small",onClick:eB,children:a("automations.list.clear")}),(0,l.jsx)(i.A,{title:a("automations.list.groupCards"),children:(0,l.jsx)(s.A,{size:"small",onClick:e=>eE(e.currentTarget),color:"none"!==eb?"primary":"default","aria-label":a("automations.list.groupCards"),sx:{border:"1px solid ".concat(t.palette.divider),backgroundColor:t.palette.background.default},children:(0,l.jsx)(H.A,{fontSize:"small"})})}),(0,l.jsx)(i.A,{title:a("automations.list.sortTriggers"),children:(0,l.jsx)(s.A,{size:"small",onClick:e=>eT(e.currentTarget),"aria-label":a("automations.list.sortTriggers"),sx:{border:"1px solid ".concat(t.palette.divider),backgroundColor:t.palette.background.default},children:(0,l.jsx)(R.A,{fontSize:"small"})})})]})]})}),(0,l.jsxs)(o.default,{sx:{display:"flex",justifyContent:"space-between",gap:2,flexWrap:"wrap",mb:2,px:1},children:[(0,l.jsxs)(m.A,{variant:"body2",color:"text.secondary",children:[q("automations.list.count",Y.length,{shown:V(eX.length),total:V(Y.length)}),ex&&a("automations.list.matching",{search:ex})]}),(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:a("automations.list.sortedBy",{sort:eM(ev)})})]})]}),!ea&&(0,l.jsx)(o.default,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,l.jsx)(y.default,{})}),ea&&0===Y.length&&(0,l.jsxs)(o.default,{sx:{border:1,borderColor:"divider",borderRadius:2,borderStyle:"dashed",p:6,textAlign:"center"},children:[(0,l.jsx)(m.A,{variant:"h6",sx:{mb:1},children:a("automations.list.noTriggers")}),(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:a("automations.list.noTriggersHelp")}),(0,l.jsx)(u.A,{variant:"contained",startIcon:(0,l.jsx)(I.A,{}),onClick:()=>{es(null),en(!0)},children:a("automations.list.newTrigger")})]}),ea&&Y.length>0&&0===eX.length&&(0,l.jsxs)(o.default,{sx:{border:1,borderColor:"divider",borderRadius:2,borderStyle:"dashed",p:6,textAlign:"center"},children:[(0,l.jsx)(m.A,{variant:"h6",sx:{mb:1},children:a("automations.list.noMatches")}),(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:a("automations.list.noMatchesHelp")}),(0,l.jsx)(u.A,{variant:"outlined",onClick:eB,children:a("automations.list.clearFilters")})]}),ea&&eX.length>0&&("none"===eb?eG(eX):eq.map(e=>(0,l.jsx)(Q.A,{label:e.label,count:e.items.length,expanded:!eI.has(e.key),onToggle:()=>(e=>{eC(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])})(e.key),showFolderIcon:"folder"===eb,children:eG(e.items)},e.key))),(0,l.jsxs)(b.A,{anchorEl:ez,open:!!ez,onClose:()=>eE(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,l.jsxs)(v.A,{selected:"none"===eb,onClick:()=>{ew("none"),eE(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(D.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:a("automations.list.group.none")})]}),(0,l.jsxs)(v.A,{selected:"folder"===eb,onClick:()=>{ew("folder"),eE(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(O.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:a("automations.list.group.folder")})]}),(0,l.jsxs)(v.A,{selected:"trigger"===eb,onClick:()=>{ew("trigger"),eE(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(M.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:a("automations.list.group.trigger")})]}),(0,l.jsxs)(v.A,{selected:"status"===eb,onClick:()=>{ew("status"),eE(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(L.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:a("automations.list.group.status")})]})]}),(0,l.jsxs)(b.A,{anchorEl:eS,open:!!eS,onClose:()=>eT(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,l.jsxs)(v.A,{selected:"name-asc"===ev,onClick:()=>{ey("name-asc"),eT(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(P.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:eM("name-asc")})]}),(0,l.jsxs)(v.A,{selected:"name-desc"===ev,onClick:()=>{ey("name-desc"),eT(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(P.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,l.jsx)(k.A,{primary:eM("name-desc")})]}),(0,l.jsxs)(v.A,{selected:"newest"===ev,onClick:()=>{ey("newest"),eT(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(N.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:eM("newest")})]}),(0,l.jsxs)(v.A,{selected:"oldest"===ev,onClick:()=>{ey("oldest"),eT(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(N.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,l.jsx)(k.A,{primary:eM("oldest")})]}),(0,l.jsxs)(v.A,{selected:"last-run"===ev,onClick:()=>{ey("last-run"),eT(null)},children:[(0,l.jsx)(w.A,{children:(0,l.jsx)(L.A,{fontSize:"small"})}),(0,l.jsx)(k.A,{primary:eM("last-run")})]})]}),(0,l.jsx)(eL,{open:eo,execution:er,onClose:()=>en(!1),onSaved:()=>void eW()}),(0,l.jsx)(C.A,{open:null!==eu,autoHideDuration:6e3,onClose:()=>em(null),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,l.jsx)(x.A,{severity:"error",onClose:()=>em(null),sx:{width:"100%"},children:eu})}),(0,l.jsxs)(S.A,{open:null!==ec,onClose:()=>ed(null),children:[(0,l.jsx)(T.A,{children:a("automations.list.deleteTitle",{name:null!=(e=null==ec?void 0:ec.name)?e:""})}),(0,l.jsx)(z.A,{children:(0,l.jsx)(m.A,{variant:"body2",color:"text.secondary",children:a("automations.list.deleteHelp")})}),(0,l.jsxs)(E.A,{children:[(0,l.jsx)(u.A,{onClick:()=>ed(null),children:a("automations.list.cancel")}),(0,l.jsx)(u.A,{color:"error",variant:"contained",onClick:eH,children:a("automations.list.delete")})]})]})]})]})},eq=(0,q.h)("app/executions/page");function eB(){return eq.debug("Rendering ExecutionsPage"),(0,l.jsx)(o.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,l.jsx)(eX,{})})}},75870:(e,t,a)=>{a.d(t,{A:()=>g});var l=a(95155),o=a(12115),n=a(94049),r=a(25635),i=a(4474),s=a(91871),c=a(56900),d=a(90057),u=a(96362),m=a(92241),x=a(68503),h=a(36773);let g=e=>{let{selectedFlowId:t,onSelectFlow:a,disabled:g=!1,hideLabel:p=!1}=e,{t:j}=(0,h.s9)(),[f,A]=(0,o.useState)([]),[v,y]=(0,o.useState)(!0),[b,w]=(0,o.useState)(null),[k,C]=(0,o.useState)(!1);(0,o.useEffect)(()=>{(async()=>{y(!0),w(null);try{let e=await d.g.loadFlows();A(e)}catch(e){console.error("Error loading flows:",e),w(j("chat.selector.loadFailed"))}finally{y(!1)}})()},[j]);let S=e=>{a(e),C(!1)},T=async e=>{let t=f.find(t=>t.id===e);if(!t)return;let a=!t.favorite,l={...t,favorite:a||void 0};try{(await d.g.updateFlow(l)).success&&A(t=>t.map(t=>t.id===e?l:t))}catch(e){console.error("Error toggling flow favorite:",e)}},z=(0,x.E)("flows",f),E=e=>({key:e.id,content:(e=>(0,l.jsx)(m.A,{flow:e,selected:e.id===t,onSelect:S,onToggleFavorite:T,pickerMode:!0}))(e)}),I=z.items.map(E),W=z.groups?z.groups.map(e=>({...e,items:e.items.map(E)})):null,F=(()=>{if(!t)return"";let e=f.find(e=>e.id===t);return e?e.name:""})();return(0,l.jsxs)(n.default,{children:[!p&&(0,l.jsx)(r.A,{variant:"subtitle1",gutterBottom:!0,children:j("chat.selector.title")}),v?(0,l.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,l.jsx)(i.default,{size:20}),(0,l.jsx)(r.A,{variant:"body2",color:"text.secondary",children:j("chat.selector.loading")})]}):b?(0,l.jsx)(r.A,{color:"error",variant:"body2",children:b}):0===f.length?(0,l.jsx)(r.A,{variant:"body2",color:"text.secondary",children:j("chat.selector.empty")}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.A,{variant:"outlined",startIcon:(0,l.jsx)(c.A,{}),onClick:()=>C(!0),disabled:g,sx:{textTransform:"none",maxWidth:"100%"},children:(0,l.jsx)(n.default,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t&&F||j("chat.selector.title")})}),(0,l.jsx)(r.A,{variant:"caption",color:"text.secondary",display:"block",sx:{mt:.5},children:t?j("chat.selector.using",{agent:F}):j("chat.selector.help")}),(0,l.jsx)(u.A,{open:k,onClose:()=>C(!1),title:j("chat.selector.title"),description:j("chat.selector.dialogHelp"),skeleton:(0,l.jsx)(m.o,{}),emptyMessage:j("chat.selector.empty"),searchable:!0,searchPlaceholder:j("flows.dashboard.search"),searchTerm:z.searchTerm,onSearchChange:z.setSearchTerm,items:I,groups:W,collapsedKeys:z.collapsedKeys,onToggleGroup:z.toggleGroup})]})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8124],{14368:(e,t,o)=>{o.d(t,{A:()=>d});var a=o(95155);o(12115);var l=o(94049),n=o(9562),s=o(25635),i=o(22003),r=o(84765),u=o(36773);let d=e=>{let{config:t,onChange:o}=e,{t:d}=(0,u.s9)();return(0,a.jsxs)(l.default,{sx:{mt:1},children:[(0,a.jsx)(n.A,{fullWidth:!0,label:d("automations.url.label"),value:t.url,onChange:e=>o({...t,url:e.target.value}),placeholder:d("automations.url.placeholder"),margin:"normal",type:"url"}),(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mt:1},children:d("automations.howOften")}),(0,a.jsx)(r.A,{verb:d("automations.checkVerb"),cron:t.cron,timezone:t.timezone,onChange:e=>{let{cron:a,timezone:l}=e;return o({...t,cron:a,timezone:l})}}),(0,a.jsx)(i.A,{severity:"info",sx:{mt:1},children:d("automations.url.info")})]})}},21997:(e,t,o)=>{o.d(t,{A:()=>w});var a=o(95155),l=o(12115),n=o(94049),s=o(9562),i=o(56422),r=o(78470),u=o(41983),d=o(25635),c=o(17325),m=o(99944),h=o(22822),x=o(22003),p=o(98267),v=o(20537),f=o(37960),g=o(63186),j=o(80007),b=o(62640),A=o(36773);let y=[{value:"add",labelKey:"automations.file.add"},{value:"change",labelKey:"automations.file.change"},{value:"unlink",labelKey:"automations.file.unlink"}],w=e=>{var t;let{config:o,onChange:w}=e,{t:k}=(0,A.s9)(),[C,S]=(0,l.useState)(!1);return(0,a.jsxs)(n.default,{sx:{mt:1},children:[(0,a.jsx)(s.A,{fullWidth:!0,label:k("automations.file.path"),value:o.path,onChange:e=>w({...o,path:e.target.value}),placeholder:k("automations.file.pathPlaceholder"),margin:"normal",InputProps:{endAdornment:(0,a.jsx)(i.A,{position:"end",children:(0,a.jsx)(r.A,{title:k("automations.file.browse"),children:(0,a.jsx)(u.A,{edge:"end",onClick:()=>S(!0),children:(0,a.jsx)(j.A,{})})})})}}),(0,a.jsx)(b.A,{open:C,title:k("automations.file.choose"),selectFiles:!0,initialPath:o.path||void 0,onClose:()=>S(!1),onSelect:e=>w({...o,path:e})}),(0,a.jsx)(s.A,{fullWidth:!0,label:k("automations.file.glob"),value:o.glob||"",onChange:e=>w({...o,glob:e.target.value||void 0}),placeholder:k("automations.file.globPlaceholder"),helperText:k("automations.file.globHelp"),margin:"normal"}),(0,a.jsx)(d.A,{variant:"subtitle2",sx:{mt:1},children:k("automations.file.runWhen")}),(0,a.jsx)(c.A,{row:!0,children:y.map(e=>(0,a.jsx)(m.A,{control:(0,a.jsx)(h.A,{checked:o.events.includes(e.value),onChange:t=>((e,t)=>{let a=t?[...o.events,e]:o.events.filter(t=>t!==e);w({...o,events:a})})(e.value,t.target.checked)}),label:k(e.labelKey)},e.value))}),(0,a.jsx)(x.A,{severity:"info",sx:{mt:1},children:k("automations.file.batchInfo")}),(0,a.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,a.jsx)(v.A,{expandIcon:(0,a.jsx)(g.A,{}),sx:{px:0},children:(0,a.jsx)(d.A,{variant:"body2",color:"text.secondary",children:k("automations.advanced")})}),(0,a.jsx)(f.A,{sx:{px:0},children:(0,a.jsx)(s.A,{label:k("automations.file.quietWindow"),type:"number",value:null!=(t=o.debounceMs)?t:2e3,onChange:e=>w({...o,debounceMs:Math.max(0,Number(e.target.value)||0)}),helperText:k("automations.file.quietWindowHelp"),inputProps:{min:0,step:500},sx:{width:220}})})]})]})}},23143:(e,t,o)=>{o.d(t,{A:()=>i});var a=o(95155);o(12115);var l=o(94049),n=o(25635),s=o(36741);let i=e=>{let{selected:t,icon:o,title:i,description:r,onClick:u}=e;return(0,a.jsxs)(l.default,{role:"radio","aria-checked":t,tabIndex:0,onClick:u,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),u())},sx:{flex:1,minWidth:200,position:"relative",p:2,borderRadius:2,border:2,borderColor:t?"primary.main":"divider",bgcolor:t?"action.selected":"background.paper",cursor:"pointer",transition:"border-color 120ms, background-color 120ms","&:hover":{borderColor:t?"primary.main":"text.disabled"},outline:"none","&:focus-visible":{boxShadow:e=>"0 0 0 3px ".concat(e.palette.primary.light)}},children:[t&&(0,a.jsx)(s.A,{color:"primary",fontSize:"small",sx:{position:"absolute",top:8,right:8}}),(0,a.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5,color:t?"primary.main":"text.secondary"},children:[o,(0,a.jsx)(n.A,{variant:"subtitle1",sx:{fontWeight:600,color:"text.primary"},children:i})]}),(0,a.jsx)(n.A,{variant:"body2",color:"text.secondary",children:r})]})}},23833:(e,t,o)=>{o.d(t,{A:()=>w});var a=o(95155),l=o(12115),n=o(94049),s=o(25635),i=o(52641),r=o(95436),u=o(55606),d=o(86973),c=o(98286),m=o(9562),h=o(17325),x=o(99944),p=o(22822),v=o(21067),f=o(22003),g=o(93632);function j(e){if(!e||!Array.isArray(e.nodes))return[];let t=[];for(let l of e.nodes){var o,a;if((null==l||null==(o=l.data)?void 0:o.type)!=="signal")continue;let e=null==(a=l.data.properties)?void 0:a.topic;"string"==typeof e&&e.trim()&&t.push(e.trim())}return t}var b=o(73288),A=o(36773);let y=(0,b.h)("frontend/components/PlannedExecutions/FlowEventPanel"),w=e=>{var t,o,b,w,k,C,S,I,M,N,W,T,P,E,D,z,H,F;let{config:O,onChange:G,flows:K,currentExecutionId:R}=e,{t:$,tp:q}=(0,A.s9)(),[J,U]=(0,l.useState)([]),[V,_]=(0,l.useState)(void 0!==O.maxChainDepth||void 0!==O.minIntervalMs),B=(null==(t=O.source)?void 0:t.topic)!==void 0?"topic":(null==(o=O.source)?void 0:o.executionId)!==void 0?"execution":"flow",L="topic"===B,X=(0,l.useMemo)(()=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,o=new Map;for(let t of e)t&&"string"==typeof t.id&&o.set(t.id,t);let a=new Map,l=(e,t)=>{a.has(e)||a.set(e,[]),a.get(e).push(t)};for(let a of e){if(!a||"string"!=typeof a.id)continue;let e=new Map;for(let t of j(a)){var n;e.set(t,(null!=(n=e.get(t))?n:0)+1)}for(let[t,o]of e)l(t,{flowId:a.id,flowName:a.name,signalNodeCount:o,viaSubflow:!1});for(let n of function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=new Set,l=new Set,n=(e,s)=>{if(l.has(e)||s>o)return;l.add(e);let i=t.get(e);for(let e of j(i))a.add(e);for(let e of function(e){if(!e||!Array.isArray(e.nodes))return[];let t=[];for(let l of e.nodes){var o,a;if((null==l||null==(o=l.data)?void 0:o.type)!=="subflow")continue;let e=null!=(a=l.data.properties)?a:{};if("string"==typeof e.subflowId&&e.subflowId.trim()&&t.push(e.subflowId.trim()),Array.isArray(e.parallelSubflowIds))for(let o of e.parallelSubflowIds)"string"==typeof o&&o.trim()&&t.push(o.trim())}return Array.from(new Set(t))}(i))n(e,s+1)};return n(e,0),a}(a.id,o,t))e.has(n)||l(n,{flowId:a.id,flowName:a.name,signalNodeCount:0,viaSubflow:!0})}return a})(K),[K]),Q=(0,l.useMemo)(()=>{let e=new Map;for(let t of K)(null==t?void 0:t.id)&&e.set(t.id,t.name);return e},[K]),Y=(0,l.useMemo)(()=>{let e=new Map;for(let a of J){var t,o;let l=a.execution;if(l.id===R||(null==(t=l.trigger)?void 0:t.type)!=="flow-event")continue;let n=null==(o=l.trigger.source)?void 0:o.topic;if("string"!=typeof n||!n.trim())continue;let s=n.trim();e.has(s)||e.set(s,[]),e.get(s).push({executionId:l.id,executionName:l.name,flowId:l.flowId,flowName:Q.get(l.flowId)})}return e},[J,R,Q]),Z=(0,l.useMemo)(()=>Array.from(new Set([...X.keys(),...Y.keys()])).sort((e,t)=>e.localeCompare(t)),[X,Y]),ee=e=>{let t=X.get(e);if(!t||0===t.length)return null;let o=Array.from(new Set(t.map(e=>(e.flowName||e.flowId)+(e.viaSubflow?" (".concat($("automations.event.viaSubflow"),")"):""))));return $("automations.event.emittedIn",{names:o.join(", ")})},et=(null!=(M=null==(b=O.source)?void 0:b.topic)?M:"").trim(),eo=!et||X.has(et);(0,l.useEffect)(()=>{let e=!1;return g.P.list().then(t=>{e||U(t.executions||[])}).catch(t=>{y.warn("Failed to load planned executions for source picker",t),e||U([])}),()=>{e=!0}},[]);let ea=(e,t)=>{var o;let a=new Set(null!=(o=O.on)?o:[]);t?a.add(e):a.delete(e),G({...O,on:Array.from(a)})};return(0,a.jsxs)(n.default,{sx:{mt:1},children:[(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mt:1},children:$("automations.event.reactTo")}),(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,a.jsxs)(i.A,{sx:{minWidth:180},children:[(0,a.jsx)(r.A,{id:"flow-event-source-kind",children:$("automations.event.source")}),(0,a.jsxs)(u.A,{labelId:"flow-event-source-kind",label:$("automations.event.source"),value:B,onChange:e=>(e=>{G({...O,source:"flow"===e?{flowId:""}:"execution"===e?{executionId:""}:{topic:""}})})(e.target.value),children:[(0,a.jsx)(d.A,{value:"flow",children:$("automations.event.sourceFlow")}),(0,a.jsx)(d.A,{value:"execution",children:$("automations.event.sourceExecution")}),(0,a.jsx)(d.A,{value:"topic",children:$("automations.event.sourceTopic")})]})]}),"topic"===B?(0,a.jsx)(i.A,{fullWidth:!0,children:(0,a.jsx)(c.A,{freeSolo:!0,autoHighlight:!0,options:Z,value:null!=(N=null==(w=O.source)?void 0:w.topic)?N:"",inputValue:null!=(W=null==(k=O.source)?void 0:k.topic)?W:"",onInputChange:(e,t)=>G({...O,source:{topic:t}}),renderOption:(e,t)=>{let o=ee(t),i=(e=>{let t=Y.get(e);if(!t||0===t.length)return null;let o=Array.from(new Set(t.map(e=>e.flowName||e.flowId)));return q("automations.event.usedBy",t.length,{flows:o.join(", ")})})(t);return(0,l.createElement)(n.default,{component:"li",...e,key:t},(0,a.jsxs)(n.default,{sx:{display:"flex",flexDirection:"column",py:.25},children:[(0,a.jsx)(s.A,{variant:"body2",sx:{fontWeight:600},children:t}),o&&(0,a.jsx)(s.A,{variant:"caption",color:"text.secondary",children:o}),i&&(0,a.jsx)(s.A,{variant:"caption",color:"text.secondary",children:i}),!o&&(0,a.jsx)(s.A,{variant:"caption",color:"warning.main",children:$("automations.event.noEmitter")})]}))},renderInput:e=>{var t;return(0,a.jsx)(m.A,{...e,label:$("automations.event.signalTopic"),placeholder:$("automations.event.topicPlaceholder"),helperText:et?eo?null!=(t=ee(et))?t:$("automations.event.topicEmittedHelp"):$("automations.event.topicIdleHelp"):$("automations.event.topicEmptyHelp")})}})}):"flow"===B?(0,a.jsxs)(i.A,{fullWidth:!0,children:[(0,a.jsx)(r.A,{id:"flow-event-flow",children:$("automations.event.flowToWatch")}),(0,a.jsxs)(u.A,{labelId:"flow-event-flow",label:$("automations.event.flowToWatch"),value:null!=(T=null==(C=O.source)?void 0:C.flowId)?T:"",onChange:e=>G({...O,source:{flowId:e.target.value}}),displayEmpty:!0,children:[0===K.length&&(0,a.jsx)(d.A,{value:"",disabled:!0,children:$("automations.tool.noFlows")}),K.map(e=>(0,a.jsx)(d.A,{value:e.id,children:e.name},e.id))]})]}):(0,a.jsxs)(i.A,{fullWidth:!0,children:[(0,a.jsx)(r.A,{id:"flow-event-execution",children:$("automations.event.executionToWatch")}),(0,a.jsxs)(u.A,{labelId:"flow-event-execution",label:$("automations.event.executionToWatch"),value:null!=(P=null==(S=O.source)?void 0:S.executionId)?P:"",onChange:e=>G({...O,source:{executionId:e.target.value}}),displayEmpty:!0,children:[0===J.filter(e=>e.execution.id!==R).length&&(0,a.jsx)(d.A,{value:"",disabled:!0,children:$("automations.event.noOtherExecutions")}),J.filter(e=>e.execution.id!==R).map(e=>(0,a.jsx)(d.A,{value:e.execution.id,children:e.execution.name},e.execution.id))]})]})]}),!L&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mt:2},children:$("automations.event.whenIt")}),(0,a.jsxs)(h.A,{row:!0,children:[(0,a.jsx)(x.A,{control:(0,a.jsx)(p.A,{checked:(null!=(E=O.on)?E:[]).includes("completed"),onChange:e=>ea("completed",e.target.checked)}),label:$("automations.event.completes")}),(0,a.jsx)(x.A,{control:(0,a.jsx)(p.A,{checked:(null!=(D=O.on)?D:[]).includes("error"),onChange:e=>ea("error",e.target.checked)}),label:$("automations.event.errors")})]})]}),(0,a.jsx)(m.A,{fullWidth:!0,label:L?$("automations.event.payloadContains"):$("automations.event.outputContains"),value:null!=(z=null==(I=O.outputMatch)?void 0:I.contains)?z:"",onChange:e=>{let t=e.target.value,o={...O.outputMatch,contains:t||void 0},a=o.contains||o.regex?o:void 0;G({...O,outputMatch:a})},margin:"normal",placeholder:$("automations.event.containsPlaceholder")}),(0,a.jsx)(x.A,{sx:{mt:1},control:(0,a.jsx)(p.A,{checked:V,onChange:e=>_(e.target.checked)}),label:$("automations.event.loopSafety")}),V&&(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,mt:1},children:[(0,a.jsx)(m.A,{label:$("automations.event.maxDepth"),type:"number",value:null!=(H=O.maxChainDepth)?H:"",onChange:e=>G({...O,maxChainDepth:""===e.target.value?void 0:Number(e.target.value)}),helperText:$("automations.event.maxDepthHelp"),inputProps:{min:1}}),(0,a.jsx)(m.A,{label:$("automations.event.cooldown"),type:"number",value:null!=(F=O.minIntervalMs)?F:"",onChange:e=>G({...O,minIntervalMs:""===e.target.value?void 0:Number(e.target.value)}),helperText:$("automations.event.cooldownHelp"),inputProps:{min:0}})]}),(0,a.jsx)(v.A,{sx:{mt:2}}),(0,a.jsx)(f.A,{severity:"info",sx:{mt:2},children:L?$("automations.event.topicInfo"):$("automations.event.flowInfo")})]})}},43673:(e,t,o)=>{o.d(t,{A:()=>g});var a=o(95155),l=o(12115),n=o(94049),s=o(22003),i=o(9562),r=o(78470),u=o(41983),d=o(91871),c=o(25635),m=o(99944),h=o(22822),x=o(52277),p=o(9693),v=o(36773),f=o(8964);let g=e=>{let{config:t,onChange:o,executionId:g,saved:j}=e,{t:b}=(0,v.s9)(),[A,y]=(0,l.useState)(null),w=window.location.origin,k="".concat(w,"/api/webhooks/").concat(g),C=async(e,t)=>{try{await navigator.clipboard.writeText(t),y(e),setTimeout(()=>y(null),1500)}catch(e){}};return(0,a.jsxs)(n.default,{sx:{mt:1},children:[!j&&(0,a.jsx)(s.A,{severity:"info",sx:{mb:2},children:b("automations.webhook.pending")}),(0,a.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(i.A,{fullWidth:!0,label:b("automations.webhook.url"),value:k,InputProps:{readOnly:!0},size:"small"}),(0,a.jsx)(r.A,{title:b("automations.webhook.copyUrl"),children:(0,a.jsx)(u.A,{onClick:()=>C("url",k),children:"url"===A?(0,a.jsx)(p.A,{color:"success"}):(0,a.jsx)(x.A,{})})})]}),(0,a.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",gap:1,mt:2},children:[(0,a.jsx)(i.A,{fullWidth:!0,label:b("automations.webhook.secretToken"),value:t.token,InputProps:{readOnly:!0},size:"small",type:"password"}),(0,a.jsx)(r.A,{title:b("automations.webhook.copyToken"),children:(0,a.jsx)(u.A,{onClick:()=>C("token",t.token),disabled:!t.token,children:"token"===A?(0,a.jsx)(p.A,{color:"success"}):(0,a.jsx)(x.A,{})})}),(0,a.jsx)(d.A,{size:"small",onClick:()=>o({...t,token:crypto.randomUUID()}),sx:{whiteSpace:"nowrap"},children:b("automations.webhook.newToken")})]}),(0,a.jsx)(c.A,{variant:"caption",color:"text.secondary",children:j?b("automations.webhook.rotationHelp"):""}),(0,a.jsx)(c.A,{variant:"body2",color:"text.secondary",sx:{mt:1.5},children:(0,a.jsx)(f.A,{message:"automations.webhook.instructions",values:{header:(0,a.jsx)("code",{children:"X-Flujo-Token"}),query:(0,a.jsx)("code",{children:"?token=…"})}})}),(0,a.jsx)(m.A,{sx:{mt:1,display:"flex"},control:(0,a.jsx)(h.A,{checked:!0===t.allowExternal,onChange:e=>o({...t,allowExternal:e.target.checked})}),label:b("automations.webhook.allowExternal")}),t.allowExternal&&(0,a.jsx)(s.A,{severity:"warning",children:b("automations.webhook.externalWarning")})]})}},80811:(e,t,o)=>{o.d(t,{A:()=>N});var a=o(95155),l=o(12115),n=o(94049),s=o(25635),i=o(91871),r=o(52641),u=o(95436),d=o(55606),c=o(86973),m=o(9562),h=o(4474),x=o(22003),p=o(41356),v=o(24610),f=o(17897),g=o(43076),j=o(90057),b=o(73288),A=o(23143),y=o(84765),w=o(17427),k=o(96362),C=o(95906),S=o(68503),I=o(36773);let M=(0,b.h)("frontend/components/PlannedExecutions/WatchToolPanel"),N=e=>{var t,o;let{config:b,onChange:N}=e,{t:W}=(0,I.s9)(),[T,P]=(0,l.useState)([]),[E,D]=(0,l.useState)(!1),[z,H]=(0,l.useState)([]),[F,O]=(0,l.useState)(!1),[G,K]=(0,l.useState)(Object.keys(b.args||{}).length>0?JSON.stringify(b.args,null,2):""),[R,$]=(0,l.useState)(null),[q,J]=(0,l.useState)(!1),[U,V]=(0,l.useState)(null),[_,B]=(0,l.useState)(null),[L,X]=(0,l.useState)([]),[Q,Y]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!1;return f.S.loadServerConfigs().then(t=>{e||(Array.isArray(t)?P(t.filter(e=>!e.disabled)):(M.warn("Failed to load MCP servers for watch-tool panel",t),P([])))}),()=>{e=!0}},[]),(0,l.useEffect)(()=>{if(!b.serverName)return void H([]);let e=!1;return O(!0),f.S.listServerTools(b.serverName).then(t=>{let{tools:o}=t;e||H(o||[])}).finally(()=>{e||O(!1)}),()=>{e=!0}},[b.serverName]),(0,l.useEffect)(()=>{let e=!1;return g.N.loadModels().then(t=>{e||X(Array.isArray(t)?t:[])}).catch(()=>{e||X([])}),j.g.loadFlows().then(t=>{e||Y(t||[])}).catch(()=>{e||Y([])}),()=>{e=!0}},[]);let Z=async()=>{J(!0),V(null),B(null);try{let o=await f.S.callTool(b.serverName,b.toolName,b.args||{});if(null==o?void 0:o.error)B("string"==typeof o.error?o.error:W("automations.tool.callFailed"));else{var e,t;let a=null!=(e=null==o?void 0:o.data)?e:o,l=null!=(t=JSON.stringify(a,null,2))?t:"";V(l.length>6e3?"".concat(l.slice(0,6e3),"\n… (").concat(W("automations.tool.truncated"),")"):l)}}catch(e){B(e instanceof Error?e.message:W("automations.tool.callFailed"))}finally{J(!1)}},ee=b.evaluate,et=z.find(e=>e.name===b.toolName),eo=(0,S.E)("mcp",T),ea=e=>({key:e.name,content:(e=>(0,a.jsx)(C.A,{name:e.name,status:e.status||"disconnected",path:e.rootPath||"",enabled:!e.disabled,transport:e.transport||"stdio",pickerMode:!0,selected:b.serverName===e.name,onClick:()=>{var t;return t=e.name,void(N({...b,serverName:t,toolName:""}),D(!1))}}))(e)}),el=eo.items.map(ea),en=eo.groups?eo.groups.map(e=>({...e,items:e.items.map(ea)})):null;return(0,a.jsxs)(n.default,{sx:{mt:1},children:[(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,a.jsxs)(n.default,{sx:{minWidth:220,flex:1,mt:2,mb:1},children:[(0,a.jsx)(s.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:W("automations.tool.server")}),(0,a.jsx)(i.A,{variant:"outlined",fullWidth:!0,onClick:()=>D(!0),sx:{justifyContent:"flex-start",textTransform:"none"},children:b.serverName?W("automations.tool.changeServer",{server:b.serverName}):W("automations.tool.chooseServer")}),(0,a.jsx)(k.A,{open:E,onClose:()=>D(!1),title:W("automations.tool.chooseServerTitle"),description:W("automations.tool.chooseServerDescription"),emptyMessage:W("automations.tool.noServers"),searchable:!0,searchPlaceholder:W("automations.tool.searchServers"),searchTerm:eo.searchTerm,onSearchChange:eo.setSearchTerm,columns:{xs:12,sm:6},items:el,groups:en,collapsedKeys:eo.collapsedKeys,onToggleGroup:eo.toggleGroup})]}),(0,a.jsxs)(r.A,{sx:{minWidth:220,flex:1},margin:"normal",disabled:!b.serverName,children:[(0,a.jsx)(u.A,{id:"watch-tool-label",children:W("automations.tool.tool")}),(0,a.jsxs)(d.A,{labelId:"watch-tool-label",label:W("automations.tool.tool"),value:z.some(e=>e.name===b.toolName)?b.toolName:"",onChange:e=>N({...b,toolName:e.target.value,args:{}}),children:[0===z.length&&(0,a.jsx)(c.A,{value:"",disabled:!0,children:F?W("automations.tool.loadingTools"):W("automations.tool.pickServerFirst")}),z.map(e=>(0,a.jsx)(c.A,{value:e.name,children:e.name},e.name))]})]})]}),(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mt:1},children:W("automations.howOften")}),(0,a.jsx)(y.A,{verb:W("automations.checkVerb"),cron:null!=(t=b.cron)?t:function(e){let t=Math.max(5,Math.round((null!=e?e:6e4)/1e3));if(t<60)return"*/".concat(t," * * * * *");let o=Math.max(1,Math.round(t/60));if(o<60)return"*/".concat(o," * * * *");let a=Math.max(1,Math.min(23,Math.round(o/60)));return"0 */".concat(a," * * *")}(b.intervalMs),timezone:b.timezone,onChange:e=>{let{cron:t,timezone:o}=e;return N({...b,cron:t,timezone:o})}}),et?(0,a.jsxs)(n.default,{sx:{my:1.5},children:[(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mb:1.5},children:W("automations.tool.params")}),(0,a.jsx)(w.A,{schema:et.inputSchema,values:b.args||{},onChange:e=>N({...b,args:e})})]}):(0,a.jsx)(m.A,{fullWidth:!0,label:W("automations.tool.args"),value:G,onChange:e=>(e=>{if(K(e),!e.trim()){$(null),N({...b,args:{}});return}try{let t=JSON.parse(e);if(null===t||"object"!=typeof t||Array.isArray(t))return void $(W("automations.tool.argsObject"));$(null),N({...b,args:t})}catch(e){$(W("automations.tool.invalidJson"))}})(e.target.value),margin:"normal",multiline:!0,minRows:2,placeholder:'{ "query": "is:unread" }',error:!!R,helperText:null!=R?R:W("automations.tool.argsHelp"),slotProps:{input:{sx:{fontFamily:"monospace",fontSize:14}}}}),(0,a.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",gap:2,mb:1},children:[(0,a.jsx)(i.A,{variant:"outlined",size:"small",onClick:Z,disabled:!b.serverName||!b.toolName||q||!!R,startIcon:q?(0,a.jsx)(h.default,{size:16}):void 0,children:W("automations.tool.test")}),(0,a.jsx)(s.A,{variant:"caption",color:"text.secondary",children:W("automations.tool.testHelp")})]}),_&&(0,a.jsx)(x.A,{severity:"error",sx:{mb:1},children:_}),U&&(0,a.jsx)(n.default,{component:"pre",sx:{maxHeight:240,overflow:"auto",bgcolor:"action.hover",borderRadius:1,p:1.5,fontSize:12,m:0,mb:1},children:U}),(0,a.jsx)(s.A,{variant:"subtitle2",sx:{mt:2,mb:1},children:W("automations.tool.runWhen")}),(0,a.jsxs)(n.default,{role:"radiogroup","aria-label":W("automations.tool.pollConditionAria"),sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,a.jsx)(A.A,{selected:"on-change"===ee.mode,onClick:()=>N({...b,evaluate:{mode:"on-change"}}),icon:(0,a.jsx)(p.A,{}),title:W("automations.tool.resultChanges"),description:W("automations.tool.resultChangesDescription")}),(0,a.jsx)(A.A,{selected:"llm-gate"===ee.mode||"flow-gate"===ee.mode,onClick:()=>{"llm-gate"!==ee.mode&&"flow-gate"!==ee.mode&&N({...b,evaluate:{mode:"llm-gate",condition:"",modelId:""}})},icon:(0,a.jsx)(v.A,{}),title:W("automations.tool.aiDecides"),description:W("automations.tool.aiDecidesDescription")})]}),("llm-gate"===ee.mode||"flow-gate"===ee.mode)&&(0,a.jsxs)(n.default,{sx:{mt:1},children:[(0,a.jsx)(m.A,{fullWidth:!0,label:W("automations.tool.condition"),value:ee.condition,onChange:e=>N({...b,evaluate:{...ee,condition:e.target.value}}),multiline:!0,minRows:2,margin:"normal",placeholder:W("automations.tool.conditionPlaceholder")}),(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"flex-start"},children:[(0,a.jsxs)(r.A,{sx:{minWidth:170},children:[(0,a.jsx)(u.A,{id:"gate-checker-label",children:W("automations.tool.checkedBy")}),(0,a.jsxs)(d.A,{labelId:"gate-checker-label",label:W("automations.tool.checkedBy"),value:ee.mode,onChange:e=>{let t=e.target.value;if(t===ee.mode)return;let o={condition:ee.condition,maxCallsPerDay:ee.maxCallsPerDay};N({...b,evaluate:"llm-gate"===t?{mode:t,...o,modelId:""}:{mode:t,...o,flowId:""}})},children:[(0,a.jsx)(c.A,{value:"llm-gate",children:W("automations.tool.aModel")}),(0,a.jsx)(c.A,{value:"flow-gate",children:W("automations.tool.oneFlow")})]})]}),"llm-gate"===ee.mode&&(0,a.jsxs)(r.A,{sx:{minWidth:240,flex:1},children:[(0,a.jsx)(u.A,{id:"gate-model-label",children:W("automations.tool.modelChecker")}),(0,a.jsxs)(d.A,{labelId:"gate-model-label",label:W("automations.tool.modelChecker"),value:L.some(e=>e.id===ee.modelId)?ee.modelId:"",onChange:e=>N({...b,evaluate:{...ee,modelId:e.target.value}}),children:[0===L.length&&(0,a.jsx)(c.A,{value:"",disabled:!0,children:W("automations.tool.noModels")}),L.map(e=>(0,a.jsx)(c.A,{value:e.id,children:e.displayName||e.name},e.id))]})]}),"flow-gate"===ee.mode&&(0,a.jsxs)(r.A,{sx:{minWidth:240,flex:1},children:[(0,a.jsx)(u.A,{id:"gate-flow-label",children:W("automations.tool.flowChecker")}),(0,a.jsxs)(d.A,{labelId:"gate-flow-label",label:W("automations.tool.flowChecker"),value:Q.some(e=>e.id===ee.flowId)?ee.flowId:"",onChange:e=>N({...b,evaluate:{...ee,flowId:e.target.value}}),children:[0===Q.length&&(0,a.jsx)(c.A,{value:"",disabled:!0,children:W("automations.tool.noFlows")}),Q.map(e=>(0,a.jsx)(c.A,{value:e.id,children:e.name},e.id))]})]}),(0,a.jsx)(m.A,{label:W("automations.tool.maxChecks"),type:"number",value:null!=(o=ee.maxCallsPerDay)?o:500,onChange:e=>N({...b,evaluate:{...ee,maxCallsPerDay:Math.max(1,Number(e.target.value)||1)}}),inputProps:{min:1},helperText:W("automations.tool.costGuard"),sx:{width:180}})]}),(0,a.jsx)(s.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:.5},children:"flow-gate"===ee.mode?W("automations.tool.flowGateHelp"):W("automations.tool.modelGateHelp")})]}),(0,a.jsx)(x.A,{severity:"info",sx:{mt:2},children:W("automations.tool.firstSnapshot")})]})}},84765:(e,t,o)=>{o.d(t,{A:()=>y});var a=o(95155),l=o(12115),n=o(94049),s=o(52641),i=o(95436),r=o(55606),u=o(86973),d=o(9562),c=o(22003),m=o(25635),h=o(99944),x=o(22822),p=o(98267),v=o(20537),f=o(37960),g=o(63186),j=o(93632),b=o(36773);let A=e=>String(e).padStart(2,"0"),y=e=>{let{cron:t,timezone:o,onChange:y,verb:w,catchUp:k,onCatchUpChange:C}=e,{t:S,formatDate:I}=(0,b.s9)(),M=null!=w?w:S("automations.schedule.runsVerb"),N=(0,l.useMemo)(()=>(function(e){let t=/^\*\/(\d+) \* \* \* \* \*$/.exec(e);return t?{mode:"seconds",n:Number(t[1]),time:"09:00"}:(t=/^\*\/(\d+) \* \* \* \*$/.exec(e))?{mode:"minutes",n:Number(t[1]),time:"09:00"}:(t=/^0 \*\/(\d+) \* \* \*$/.exec(e))?{mode:"hours",n:Number(t[1]),time:"09:00"}:(t=/^(\d+) (\d+) \* \* \*$/.exec(e))?{mode:"daily",n:1,time:"".concat(A(Number(t[2])),":").concat(A(Number(t[1])))}:(t=/^(\d+) (\d+) \* \* 1-5$/.exec(e))?{mode:"weekdays",n:1,time:"".concat(A(Number(t[2])),":").concat(A(Number(t[1])))}:{mode:"custom",n:15,time:"09:00"}})(t),[]),[W,T]=(0,l.useState)(N.mode),[P,E]=(0,l.useState)(N.n),[D,z]=(0,l.useState)(N.time),[H,F]=(0,l.useState)(t),[O,G]=(0,l.useState)(null),K=function(e,t,o,a){let[l,n]=o.split(":").map(Number);switch(e){case"seconds":return"*/".concat(Math.max(1,Math.min(59,Math.floor(t)||1))," * * * * *");case"minutes":return"*/".concat(Math.max(1,Math.min(59,Math.floor(t)||1))," * * * *");case"hours":return"0 */".concat(Math.max(1,Math.min(23,Math.floor(t)||1))," * * *");case"daily":return"".concat(n||0," ").concat(l||0," * * *");case"weekdays":return"".concat(n||0," ").concat(l||0," * * 1-5");default:return a}}(W,P,D,H);return(0,l.useEffect)(()=>{K!==t&&y({cron:K,timezone:o})},[K]),(0,l.useEffect)(()=>{let e=!1,t=setTimeout(()=>{j.P.previewSchedule(K,o).then(t=>{e||G(t)})},300);return()=>{e=!0,clearTimeout(t)}},[K,o]),(0,a.jsxs)(n.default,{children:[(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"center",mt:1},children:[(0,a.jsxs)(s.A,{sx:{minWidth:180},children:[(0,a.jsx)(i.A,{id:"schedule-preset-label",children:M}),(0,a.jsxs)(r.A,{labelId:"schedule-preset-label",label:M,value:W,onChange:e=>T(e.target.value),children:[(0,a.jsx)(u.A,{value:"seconds",children:S("automations.schedule.everySeconds")}),(0,a.jsx)(u.A,{value:"minutes",children:S("automations.schedule.everyMinutes")}),(0,a.jsx)(u.A,{value:"hours",children:S("automations.schedule.everyHours")}),(0,a.jsx)(u.A,{value:"daily",children:S("automations.schedule.daily")}),(0,a.jsx)(u.A,{value:"weekdays",children:S("automations.schedule.weekdays")}),(0,a.jsx)(u.A,{value:"custom",children:S("automations.schedule.custom")})]})]}),("seconds"===W||"minutes"===W||"hours"===W)&&(0,a.jsx)(d.A,{label:S("seconds"===W?"automations.schedule.seconds":"minutes"===W?"automations.schedule.minutes":"automations.schedule.hours"),type:"number",value:P,onChange:e=>E(Number(e.target.value)),inputProps:{min:1,max:"hours"===W?23:59},sx:{width:120}}),("daily"===W||"weekdays"===W)&&(0,a.jsx)(d.A,{label:S("automations.schedule.time"),type:"time",value:D,onChange:e=>z(e.target.value),sx:{width:150},InputLabelProps:{shrink:!0}}),"custom"===W&&(0,a.jsx)(d.A,{label:S("automations.schedule.cron"),value:H,onChange:e=>F(e.target.value),sx:{minWidth:220},placeholder:"*/15 * * * *"})]}),O&&!O.valid&&(0,a.jsx)(c.A,{severity:"error",sx:{mt:2},children:O.error||S("automations.schedule.invalid")}),O&&O.valid&&O.nextRuns.length>0&&(0,a.jsx)(m.A,{variant:"body2",color:"text.secondary",sx:{mt:2},children:S("automations.schedule.next",{times:O.nextRuns.map(e=>I(e,{dateStyle:"short",timeStyle:"short"})).join(" \xb7 ")})}),C&&(0,a.jsx)(h.A,{sx:{mt:1,display:"flex"},control:(0,a.jsx)(x.A,{checked:!0===k,onChange:e=>C(e.target.checked)}),label:S("automations.schedule.catchUp")}),(0,a.jsxs)(p.A,{disableGutters:!0,elevation:0,sx:{mt:1,"&:before":{display:"none"}},children:[(0,a.jsx)(v.A,{expandIcon:(0,a.jsx)(g.A,{}),sx:{px:0},children:(0,a.jsx)(m.A,{variant:"body2",color:"text.secondary",children:S("automations.advanced")})}),(0,a.jsx)(f.A,{sx:{px:0},children:(0,a.jsxs)(n.default,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[(0,a.jsx)(d.A,{label:S("automations.schedule.timezone"),value:o||"",onChange:e=>y({cron:K,timezone:e.target.value||void 0}),placeholder:S("automations.schedule.timezonePlaceholder"),helperText:S("automations.schedule.timezoneHelp"),sx:{minWidth:260}}),(0,a.jsx)(d.A,{label:S("automations.schedule.generatedCron"),value:K,InputProps:{readOnly:"custom"!==W},onChange:e=>{T("custom"),F(e.target.value)},helperText:S("automations.schedule.editCustom"),sx:{minWidth:220}})]})})]})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8135],{9352:(e,r,o)=>{o.d(r,{Ic:()=>n,kY:()=>d.k});var t=o(26796),a=o(73288),d=o(34432);let i=(0,a.h)("frontend/utils/theme");function n(){let{isDarkMode:e,visualStyle:r}=(0,t.useTheme)();return i.debug("useThemeUtils called with isDarkMode: ".concat(e)),{getThemeValue:(r,o)=>e?o:r,getThemeColor:o=>{let t=o.split("."),a=("legacy"===r?d.z:d.k)[e?"dark":"light"];for(let e of t)if(!a||"object"!=typeof a||!(e in a))return i.warn("Theme color path not found: ".concat(o)),"";else a=a[e];return a},colors:"legacy"===r?e?d.z.dark:d.z.light:e?d.k.dark:d.k.light,isDarkMode:e,visualStyle:r}}},26796:(e,r,o)=>{o.r(r),o.d(r,{ThemeProvider:()=>h,useTheme:()=>m});var t=o(95155),a=o(12115),d=o(73288),i=o(7160),n=o(29197),s=o(8532),c=o(9352),l=o(34432),g=o(84563),u=o(29692);let b=(0,d.h)("frontend/contexts/ThemeContext"),f=(0,a.createContext)(void 0);function p(e,r){let o=document.documentElement;o.classList.toggle("dark-theme","dark"===e),o.classList.toggle("modern-theme","modern"===r),o.classList.toggle("legacy-theme","legacy"===r),o.dataset.visualStyle=r,o.style.colorScheme=e}let h=e=>{let{children:r}=e,[o,d]=(0,a.useState)(!1),[h,m]=(0,a.useState)("modern"),[k,x]=(0,a.useState)(!0),[F,y]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{b.debug("Loading theme preference from storage");let[e,r,o]=await Promise.all([(0,u.YM)(u.Zg.THEME,"light"),(0,u.YM)(u.Zg.THEME_STYLE,"modern"),(0,u.YM)(u.Zg.LIVING_WORLD_ENABLED,!0)]);b.info("Theme loaded from storage: ".concat(e));let t="dark"===e?"dark":"light",a="legacy"===r?"legacy":"modern";d("dark"===t),m(a),x(!1!==o),p(t,a),y(!0)})()},[]);let C=(0,a.useMemo)(()=>(function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"modern";return"legacy"===r?function(e){let r="dark"===e?l.z.dark:l.z.light,o="dark"===e;return(0,n.A)({palette:{mode:e,primary:{main:o?"#4f93f5":"#007bff",light:o?"#6aa6f7":"#3395ff",dark:o?"#3a7ad4":"#0056b3"},secondary:{main:o?"#a3adba":"#6c757d"},error:{main:o?"#ff6b6b":"#dc2626",light:o?"#5a2a2e":"#fecaca",dark:o?"#2a1618":"#b91c1c"},warning:{main:o?"#e0a23c":"#f59e0b"},info:{main:o?"#56b6d6":"#3b82f6"},success:{main:o?"#3fae72":"#16a34a"},divider:r.border,background:{default:r.background,paper:r.surface},text:{primary:r.foreground,secondary:r.textSecondary,disabled:r.textDisabled}},typography:{fontFamily:"var(--font-geist-sans), Arial, sans-serif",h1:{fontWeight:700},h2:{fontWeight:700},h3:{fontWeight:600},h4:{fontWeight:600},h5:{fontWeight:600},h6:{fontWeight:600}},components:{MuiButton:{styleOverrides:{root:{textTransform:"none",borderRadius:"0.375rem"}}},MuiPaper:{styleOverrides:{root:{borderRadius:"0.5rem",backgroundImage:"none"}}},MuiTextField:{styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:"0.375rem"}}}},MuiCard:{styleOverrides:{root:{borderRadius:"0.5rem",border:o?"1px solid ".concat(r.border):void 0,boxShadow:o?"0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3)":"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:r.surfaceRaised,backgroundImage:"none"}}},MuiPopover:{styleOverrides:{paper:{backgroundColor:r.surfaceRaised,backgroundImage:"none"}}},MuiTooltip:{styleOverrides:{tooltip:o?{backgroundColor:r.surfaceRaised,border:"1px solid ".concat(r.border),color:r.foreground}:void 0}}}})}(e):function(e){let r="dark"===e?c.kY.dark:c.kY.light,o="dark"===e,t=o?"#8B7CFF":"#6355E8",a=o?"#ACA2FF":"#6C5CE2",d=o?"#6656E8":"#493BCB",i=o?"#31D2ED":"#129DB8",l=o?"rgba(13, 17, 31, 0.82)":"rgba(255, 255, 255, 0.84)",g=o?"0 18px 55px rgba(0, 0, 0, 0.30)":"0 18px 55px rgba(60, 54, 116, 0.11)",u=o?"0 26px 80px rgba(0, 0, 0, 0.48)":"0 26px 80px rgba(54, 48, 112, 0.18)";return(0,n.A)({palette:{mode:e,primary:{main:t,light:a,dark:d,contrastText:"#FFFFFF"},secondary:{main:i,light:o?"#79E3F4":"#3CBBD0",dark:o?"#10A8C3":"#0B758A"},error:{main:o?"#FF8298":"#C62847",light:r.error.background,dark:r.error.border},warning:{main:o?"#F6BC66":"#C67A13"},info:{main:i},success:{main:o?"#57D59B":"#15885A"},divider:r.border,background:{default:r.background,paper:r.surface},text:{primary:r.foreground,secondary:r.textSecondary,disabled:r.textDisabled}},shape:{borderRadius:14},typography:{fontFamily:"var(--font-geist-sans), Inter, ui-sans-serif, system-ui, -apple-system, sans-serif",fontSize:14,h1:{fontSize:"clamp(2.6rem, 6vw, 5.5rem)",fontWeight:780,lineHeight:.98,letterSpacing:"-0.055em"},h2:{fontSize:"clamp(2.1rem, 4vw, 3.9rem)",fontWeight:760,lineHeight:1.04,letterSpacing:"-0.045em"},h3:{fontSize:"clamp(1.75rem, 3vw, 2.65rem)",fontWeight:730,lineHeight:1.1,letterSpacing:"-0.035em"},h4:{fontSize:"clamp(1.45rem, 2vw, 2rem)",fontWeight:710,lineHeight:1.16,letterSpacing:"-0.028em"},h5:{fontSize:"1.35rem",fontWeight:700,lineHeight:1.24,letterSpacing:"-0.022em"},h6:{fontSize:"1.05rem",fontWeight:680,lineHeight:1.35,letterSpacing:"-0.012em"},subtitle1:{fontWeight:640},button:{fontWeight:680,letterSpacing:"-0.01em"},body1:{lineHeight:1.62},body2:{lineHeight:1.55},caption:{fontSize:"0.74rem",fontWeight:560,letterSpacing:"0.012em"}},transitions:{duration:{shortest:110,shorter:150,short:190,standard:240,complex:320,enteringScreen:260,leavingScreen:190}},components:{MuiCssBaseline:{styleOverrides:{body:{backgroundColor:r.background}}},MuiAppBar:{styleOverrides:{root:{color:r.foreground,backgroundColor:l,backgroundImage:"none",borderBottom:"1px solid ".concat((0,s.X4)(r.border,.82)),boxShadow:"none",backdropFilter:"blur(24px) saturate(150%)"}}},MuiToolbar:{styleOverrides:{root:{minHeight:"var(--app-bar-height)"}}},MuiButton:{defaultProps:{disableElevation:!0},styleOverrides:{root:{minHeight:40,paddingInline:16,borderRadius:12,textTransform:"none",transition:"transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease","&:active":{transform:"translateY(1px) scale(0.99)"},"&:focus-visible":{outline:"3px solid ".concat((0,s.X4)(t,.28)),outlineOffset:2}},sizeLarge:{minHeight:48,paddingInline:22,borderRadius:14,fontSize:"0.95rem"},containedPrimary:{color:"#fff",backgroundColor:t,backgroundImage:"linear-gradient(135deg, ".concat(a," 0%, ").concat(t," 46%, ").concat(d," 100%)"),boxShadow:"0 10px 26px ".concat((0,s.X4)(t,o?.28:.22)),"&:hover":{backgroundImage:"linear-gradient(135deg, ".concat(a," 0%, ").concat(t," 38%, ").concat(d," 100%)"),boxShadow:"0 15px 34px ".concat((0,s.X4)(t,o?.38:.3)),transform:"translateY(-1px)"},"&.Mui-disabled":{backgroundImage:"none"}},outlinedPrimary:{borderColor:(0,s.X4)(t,.42),backgroundColor:(0,s.X4)(t,o?.08:.045),"&:hover":{borderColor:t,backgroundColor:(0,s.X4)(t,o?.15:.09),transform:"translateY(-1px)"}}}},MuiPaper:{styleOverrides:{root:{borderRadius:18,backgroundColor:r.surface,backgroundImage:"none"},outlined:{borderColor:r.border},elevation1:{border:"1px solid ".concat(r.border),boxShadow:g},elevation2:{border:"1px solid ".concat(r.border),boxShadow:u}}},MuiCard:{styleOverrides:{root:{overflow:"hidden",border:"1px solid ".concat(r.border),borderRadius:18,backgroundColor:r.surface,backgroundImage:o?"linear-gradient(150deg, rgba(255,255,255,0.028), transparent 42%)":"linear-gradient(150deg, rgba(102,87,245,0.025), transparent 42%)",boxShadow:g}}},MuiCardActionArea:{styleOverrides:{root:{borderRadius:"inherit","&:focus-visible":{outline:"3px solid ".concat((0,s.X4)(t,.3)),outlineOffset:-3}}}},MuiOutlinedInput:{styleOverrides:{root:{minHeight:42,borderRadius:12,backgroundColor:(0,s.X4)(r.surfaceRaised,o?.6:.74),transition:"box-shadow 180ms ease, background-color 180ms ease","& .MuiOutlinedInput-notchedOutline":{borderColor:r.border},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:(0,s.X4)(t,.52)},"&.Mui-focused":{backgroundColor:r.surfaceRaised,boxShadow:"0 0 0 4px ".concat((0,s.X4)(t,.12))},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderWidth:1,borderColor:t}}}},MuiInputBase:{styleOverrides:{input:{"&::placeholder":{color:r.textSecondary,opacity:.78}}}},MuiInputLabel:{styleOverrides:{root:{color:r.textSecondary,fontWeight:560}}},MuiDialog:{styleOverrides:{paper:{border:"1px solid ".concat(r.border),borderRadius:24,backgroundColor:l,boxShadow:u,backdropFilter:"blur(30px) saturate(145%)"}}},MuiDialogTitle:{styleOverrides:{root:{padding:"24px 24px 10px",fontWeight:720,letterSpacing:"-0.025em"}}},MuiDrawer:{styleOverrides:{paper:{borderColor:r.border,backgroundColor:l,backgroundImage:"none",boxShadow:u,backdropFilter:"blur(28px) saturate(150%)"}}},MuiMenu:{styleOverrides:{paper:{marginTop:8,border:"1px solid ".concat(r.border),borderRadius:15,backgroundColor:r.surfaceRaised,backgroundImage:"none",boxShadow:u,backdropFilter:"blur(24px) saturate(140%)"},list:{padding:7}}},MuiMenuItem:{styleOverrides:{root:{minHeight:40,borderRadius:9,"&.Mui-selected":{backgroundColor:(0,s.X4)(t,.14),"&:hover":{backgroundColor:(0,s.X4)(t,.2)}}}}},MuiPopover:{styleOverrides:{paper:{border:"1px solid ".concat(r.border),backgroundColor:r.surfaceRaised,backgroundImage:"none",boxShadow:u,backdropFilter:"blur(24px) saturate(140%)"}}},MuiTooltip:{styleOverrides:{tooltip:{padding:"7px 10px",border:"1px solid ".concat(r.border),borderRadius:9,color:r.foreground,backgroundColor:r.surfaceRaised,boxShadow:g,fontSize:"0.72rem",fontWeight:600}}},MuiChip:{styleOverrides:{root:{height:30,borderRadius:9,fontWeight:650}}},MuiIconButton:{styleOverrides:{root:{borderRadius:11,transition:"transform 160ms ease, background-color 160ms ease, color 160ms ease","&:hover":{backgroundColor:(0,s.X4)(t,.1),transform:"translateY(-1px)"},"&:focus-visible":{outline:"3px solid ".concat((0,s.X4)(t,.28)),outlineOffset:2}}}},MuiTabs:{styleOverrides:{root:{minHeight:42},indicator:{height:3,borderRadius:"3px 3px 0 0",backgroundImage:"linear-gradient(90deg, ".concat(t,", ").concat(i,")")}}},MuiTab:{styleOverrides:{root:{minWidth:0,minHeight:42,padding:"8px 14px",color:r.textSecondary,fontWeight:640,textTransform:"none","&.Mui-selected":{color:r.foreground}}}},MuiAlert:{styleOverrides:{root:{alignItems:"center",border:"1px solid currentColor",borderRadius:14,backgroundImage:"none"},message:{paddingBlock:7}}},MuiAccordion:{styleOverrides:{root:{overflow:"hidden",border:"1px solid ".concat(r.border),borderRadius:"16px !important",backgroundColor:r.surface,boxShadow:"none","&::before":{display:"none"},"& + &":{marginTop:10},"&.Mui-expanded":{marginBlock:10,boxShadow:g}}}},MuiAccordionSummary:{styleOverrides:{root:{minHeight:58,paddingInline:18,"&.Mui-expanded":{minHeight:58}},content:{marginBlock:12,"&.Mui-expanded":{marginBlock:12}}}},MuiListItemButton:{styleOverrides:{root:{minHeight:42,borderRadius:11,"&.Mui-selected":{backgroundColor:(0,s.X4)(t,.14),"&:hover":{backgroundColor:(0,s.X4)(t,.19)}}}}},MuiTableCell:{styleOverrides:{root:{borderColor:r.border},head:{color:r.textSecondary,backgroundColor:(0,s.X4)(r.surfaceRaised,.64),fontSize:"0.72rem",fontWeight:720,letterSpacing:"0.055em",textTransform:"uppercase"}}},MuiDivider:{styleOverrides:{root:{borderColor:r.border}}},MuiSwitch:{styleOverrides:{root:{padding:8},switchBase:{"&.Mui-checked + .MuiSwitch-track":{backgroundColor:t,opacity:.75}},track:{borderRadius:999}}},MuiLinearProgress:{styleOverrides:{root:{height:7,borderRadius:999,backgroundColor:(0,s.X4)(t,.12)},bar:{borderRadius:999,backgroundImage:"linear-gradient(90deg, ".concat(t,", ").concat(i,")")}}},MuiSkeleton:{styleOverrides:{root:{backgroundColor:(0,s.X4)(r.textSecondary,.12)}}}}})}(e)})(o?"dark":"light",h),[o,h]);return b.debug("Rendering ThemeProvider with isDarkMode: ".concat(o)),(0,t.jsx)(f.Provider,{value:{toggleTheme:()=>{d(e=>{let r=!e,o=r?"dark":"light";return b.info("Toggling theme to: ".concat(o)),p(o,h),(0,u.VH)(u.Zg.THEME,o),r})},isDarkMode:o,visualStyle:h,livingWorldEnabled:k,themeHydrated:F,setVisualStyle:e=>{m(e),p(o?"dark":"light",e),(0,u.VH)(u.Zg.THEME_STYLE,e)},setLivingWorldEnabled:e=>{x(e),(0,u.VH)(u.Zg.LIVING_WORLD_ENABLED,e)},setThemePreset:e=>{let{mode:r,style:o}=e;d("dark"===r),m(o),p(r,o),Promise.all([(0,u.VH)(u.Zg.THEME,r),(0,u.VH)(u.Zg.THEME_STYLE,o)])}},children:(0,t.jsxs)(i.A,{theme:C,children:[(0,t.jsx)(g.Ay,{}),r]})})},m=()=>{let e=(0,a.useContext)(f);if(!e)throw b.error("useTheme hook used outside of ThemeProvider"),Error("useTheme must be used within a ThemeProvider");return b.debug("useTheme hook accessed"),e}},34432:(e,r,o)=>{o.d(r,{k:()=>t,z:()=>a});let t={light:{background:"#F5F7FF",foreground:"#171A2B",surface:"#FFFFFF",surfaceRaised:"#F8FAFF",paperBackground:"#FFFFFF",textSecondary:"#606A84",textDisabled:"#929BB1",border:"#DEE3F0",heading:"#121424",text:"#20243A",secondaryText:"#606A84",error:{background:"#FFF2F5",border:"#FFC7D2",text:"#C62847"},domain:{resource:"#008D83",resourceSoft:"#36B9AD",signal:"#7157D9",startNode:"#7A5C50",codeBackground:"#F2F4FA",http:{get:"#2e7d32",post:"#1565c0",put:"#e65100",patch:"#6a1b9a",delete:"#c62828"},transport:{stdio:{fg:"#1976d2",bg:"#e3f2fd"},websocket:{fg:"#2e7d32",bg:"#e8f5e8"},sse:{fg:"#f57c00",bg:"#fff3e0"},streamable:{fg:"#00796b",bg:"#e0f2f1"},default:{fg:"#757575",bg:"#f5f5f5"}}}},dark:{background:"#070912",foreground:"#F4F6FF",surface:"#12182C",surfaceRaised:"#1C243B",paperBackground:"#12182C",textSecondary:"#ADB6CC",textDisabled:"#69738C",border:"#2A324B",heading:"#F8F9FF",text:"#F4F6FF",secondaryText:"#ADB6CC",error:{background:"#2D151F",border:"#633044",text:"#FF8298"},domain:{resource:"#38C9BC",resourceSoft:"#6BDED4",signal:"#A694FF",startNode:"#C6A69A",codeBackground:"#181E32",http:{get:"#66bb6a",post:"#5b9dff",put:"#ffa726",patch:"#ba68c8",delete:"#ef5350"},transport:{stdio:{fg:"#9DCCFF",bg:"#17243A"},websocket:{fg:"#9DE3B3",bg:"#172D24"},sse:{fg:"#FFD18A",bg:"#322718"},streamable:{fg:"#82E2D9",bg:"#15312F"},default:{fg:"#ADB6CC",bg:"#1C243B"}}}}},a={light:{background:"#FFFFFF",foreground:"#2C3E50",surface:"#F5F6FA",surfaceRaised:"#FFFFFF",paperBackground:"#F5F6FA",textSecondary:"#7F8C8D",textDisabled:"#9CA3AF",border:"#e5e7eb",heading:"#111",text:"#333",secondaryText:"#666",error:{background:"#fef2f2",border:"#fecaca",text:"#dc2626"},domain:{resource:"#009688",resourceSoft:"#4DB6AC",signal:"#7E57C2",startNode:"#795548",codeBackground:"#f5f5f5",http:{get:"#2e7d32",post:"#1565c0",put:"#e65100",patch:"#6a1b9a",delete:"#c62828"},transport:{stdio:{fg:"#1976d2",bg:"#e3f2fd"},websocket:{fg:"#2e7d32",bg:"#e8f5e8"},sse:{fg:"#f57c00",bg:"#fff3e0"},streamable:{fg:"#00796b",bg:"#e0f2f1"},default:{fg:"#757575",bg:"#f5f5f5"}}}},dark:{background:"#0f1319",foreground:"#eef1f5",surface:"#1a212b",surfaceRaised:"#242d3a",paperBackground:"#1a212b",textSecondary:"#b4bdca",textDisabled:"#6b7280",border:"#37404e",heading:"#f5f7fa",text:"#eef1f5",secondaryText:"#b4bdca",error:{background:"#2a1618",border:"#5a2a2e",text:"#ff6b6b"},domain:{resource:"#26a69a",resourceSoft:"#4DB6AC",signal:"#9575CD",startNode:"#a1887f",codeBackground:"#242d3a",http:{get:"#66bb6a",post:"#5b9dff",put:"#ffa726",patch:"#ba68c8",delete:"#ef5350"},transport:{stdio:{fg:"#90caf9",bg:"#1e2a3a"},websocket:{fg:"#a5d6a7",bg:"#1e2e22"},sse:{fg:"#ffcc80",bg:"#33281a"},streamable:{fg:"#80cbc4",bg:"#17322e"},default:{fg:"#b4bdca",bg:"#242d3a"}}}}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8529],{5421:(e,t,n)=>{n.d(t,{A:()=>u});var r=n(12115),o=n(9488),i=n(12549),a=n(33567),l=n(47250),s=n(69582),c=n(95155);let d={entering:{opacity:1},entered:{opacity:1}},u=r.forwardRef(function(e,t){let n=(0,a.A)(),u={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:p,appear:A=!0,children:v,easing:h,in:f,onEnter:y,onEntered:m,onEntering:g,onExit:x,onExited:b,onExiting:j,style:w,timeout:S=u,TransitionComponent:E=o.Ay,...C}=e,k=r.useRef(null),M=(0,s.A)(k,(0,i.A)(v),t),z=e=>t=>{if(e){let n=k.current;void 0===t?e(n):e(n,t)}},L=z(g),I=z((e,t)=>{(0,l.q)(e);let r=(0,l.c)({style:w,timeout:S,easing:h},{mode:"enter"});e.style.webkitTransition=n.transitions.create("opacity",r),e.style.transition=n.transitions.create("opacity",r),y&&y(e,t)}),P=z(m),R=z(j),V=z(e=>{let t=(0,l.c)({style:w,timeout:S,easing:h},{mode:"exit"});e.style.webkitTransition=n.transitions.create("opacity",t),e.style.transition=n.transitions.create("opacity",t),x&&x(e)}),T=z(b);return(0,c.jsx)(E,{appear:A,in:f,nodeRef:k,onEnter:I,onEntered:P,onEntering:L,onExit:V,onExited:T,onExiting:R,addEndListener:e=>{p&&p(k.current,e)},timeout:S,...C,children:(e,t)=>{let{ownerState:n,...o}=t;return r.cloneElement(v,{style:{opacity:0,visibility:"exited"!==e||f?void 0:"hidden",...d[e],...w,...v.props.style},ref:M,...o})}})})},17576:(e,t,n)=>{n.d(t,{A:()=>r});let r=n(69827).A},21422:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(15485),o=n(95155);let i=(0,r.A)((0,o.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2M9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9zm9 14H6V10h12zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2"}),"LockOutlined")},22003:(e,t,n)=>{n.d(t,{A:()=>I});var r=n(12115),o=n(2821),i=n(57001),a=n(8532),l=n(48116),s=n(66964),c=n(16625),d=n(77765),u=n(81852),p=n(74798),A=n(2300),v=n(85795),h=n(95195);function f(e){return(0,h.Ay)("MuiAlert",e)}let y=(0,v.A)("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);var m=n(41983),g=n(15485),x=n(95155);let b=(0,g.A)((0,x.jsx)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),j=(0,g.A)((0,x.jsx)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),w=(0,g.A)((0,x.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),S=(0,g.A)((0,x.jsx)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined");var E=n(57908);let C=(0,l.Ay)(A.A,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,u.A)(n.color||n.severity))]]}})((0,s.A)(e=>{let{theme:t}=e,n="light"===t.palette.mode?a.e$:a.a,r="light"===t.palette.mode?a.a:a.e$;return{...t.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter((0,p.A)(["light"])).map(e=>{let[o]=e;return{props:{colorSeverity:o,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert["".concat(o,"Color")]:n(t.palette[o].light,.6),backgroundColor:t.vars?t.vars.palette.Alert["".concat(o,"StandardBg")]:r(t.palette[o].light,.9),["& .".concat(y.icon)]:t.vars?{color:t.vars.palette.Alert["".concat(o,"IconColor")]}:{color:t.palette[o].main}}}}),...Object.entries(t.palette).filter((0,p.A)(["light"])).map(e=>{let[r]=e;return{props:{colorSeverity:r,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert["".concat(r,"Color")]:n(t.palette[r].light,.6),border:"1px solid ".concat((t.vars||t).palette[r].light),["& .".concat(y.icon)]:t.vars?{color:t.vars.palette.Alert["".concat(r,"IconColor")]}:{color:t.palette[r].main}}}}),...Object.entries(t.palette).filter((0,p.A)(["dark"])).map(e=>{let[n]=e;return{props:{colorSeverity:n,variant:"filled"},style:{fontWeight:t.typography.fontWeightMedium,...t.vars?{color:t.vars.palette.Alert["".concat(n,"FilledColor")],backgroundColor:t.vars.palette.Alert["".concat(n,"FilledBg")]}:{backgroundColor:"dark"===t.palette.mode?t.palette[n].dark:t.palette[n].main,color:t.palette.getContrastText(t.palette[n].main)}}}})]}})),k=(0,l.Ay)("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),M=(0,l.Ay)("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),z=(0,l.Ay)("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),L={success:(0,x.jsx)(b,{fontSize:"inherit"}),warning:(0,x.jsx)(j,{fontSize:"inherit"}),error:(0,x.jsx)(w,{fontSize:"inherit"}),info:(0,x.jsx)(S,{fontSize:"inherit"})},I=r.forwardRef(function(e,t){let n=(0,c.b)({props:e,name:"MuiAlert"}),{action:r,children:a,className:l,closeText:s="Close",color:p,components:A={},componentsProps:v={},icon:h,iconMapping:y=L,onClose:g,role:b="alert",severity:j="success",slotProps:w={},slots:S={},variant:I="standard",...P}=n,R={...n,color:p,severity:j,variant:I,colorSeverity:p||j},V=(e=>{let{variant:t,color:n,severity:r,classes:o}=e,a={root:["root","color".concat((0,u.A)(n||r)),"".concat(t).concat((0,u.A)(n||r)),"".concat(t)],icon:["icon"],message:["message"],action:["action"]};return(0,i.A)(a,f,o)})(R),T={slots:{closeButton:A.CloseButton,closeIcon:A.CloseIcon,...S},slotProps:{...v,...w}},[W,H]=(0,d.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,o.A)(V.root,l),elementType:C,externalForwardedProps:{...T,...P},ownerState:R,additionalProps:{role:b,elevation:0}}),[N,O]=(0,d.A)("icon",{className:V.icon,elementType:k,externalForwardedProps:T,ownerState:R}),[F,B]=(0,d.A)("message",{className:V.message,elementType:M,externalForwardedProps:T,ownerState:R}),[_,D]=(0,d.A)("action",{className:V.action,elementType:z,externalForwardedProps:T,ownerState:R}),[U,Z]=(0,d.A)("closeButton",{elementType:m.A,externalForwardedProps:T,ownerState:R}),[q,J]=(0,d.A)("closeIcon",{elementType:E.A,externalForwardedProps:T,ownerState:R});return(0,x.jsxs)(W,{...H,children:[!1!==h?(0,x.jsx)(N,{...O,children:h||y[j]||L[j]}):null,(0,x.jsx)(F,{...B,children:a}),null!=r?(0,x.jsx)(_,{...D,children:r}):null,null==r&&g?(0,x.jsx)(_,{...D,children:(0,x.jsx)(U,{size:"small","aria-label":s,title:s,color:"inherit",onClick:g,...Z,children:(0,x.jsx)(q,{fontSize:"small",...J})})}):null]})})},23217:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});var r=n(95155),o=n(12115),i=n(73288),a=n(2778),l=n(52363),s=n(94049),c=n(25635),d=n(65036),u=n(22003),p=n(9562),A=n(56422),v=n(41983),h=n(75912),f=n(91871),y=n(4474),m=n(21422),g=n(68212),x=n(42063),b=n(9164),j=n(31373),w=n(36773);let S=(0,i.h)("frontend/components/EncryptionAuthDialog");function E(){let{verifyKey:e,isEncryptionInitialized:t,isUserEncryptionEnabled:n}=(0,b.useStorage)(),{t:i}=(0,w.s9)(),[E,C]=(0,o.useState)(""),[k,M]=(0,o.useState)(!1),[z,L]=(0,o.useState)(null),[I,P]=(0,o.useState)(!1),[R,V]=(0,o.useState)(!1),[T,W]=(0,o.useState)(!1),[H,N]=(0,o.useState)(!0);(0,o.useEffect)(()=>{(async()=>{S.debug("Checking encryption status");try{N(!0);let e=await t();if(S.debug("Encryption initialized: ".concat(e)),!e){S.info("No encryption initialized, skipping authentication"),W(!0),V(!1),N(!1);return}let r=await n();if(S.debug("User encryption enabled: ".concat(r)),!r){S.info("Default encryption in use, skipping authentication"),W(!0),V(!1),N(!1);return}let o=sessionStorage.getItem("encryption_authenticated");if(S.debug("Session authentication status: ".concat(o)),"true"===o){S.info("Already authenticated in this session"),W(!0),V(!1),N(!1);return}S.info("User encryption enabled and not authenticated, showing dialog"),V(!0),N(!1)}catch(e){S.error("Failed to check encryption status:",e),N(!1),W(!0)}})()},[t,n]),(0,o.useEffect)(()=>{(0,j.bx)();let e=()=>{S.info("Encryption locked signal received; showing lock screen"),W(!1),N(!1),V(!0)};return window.addEventListener(j.UJ,e),()=>window.removeEventListener(j.UJ,e)},[]);let O=async()=>{if(!E.trim()){S.warn("Empty password submitted"),L("encryption.unlock.required");return}S.debug("Verifying encryption password"),P(!0),L(null);try{let t=await e(E);S.debug("Password verification result: ".concat(t)),t?(S.info("Authentication successful"),W(!0),V(!1),window.dispatchEvent(new CustomEvent(j.ZB))):(S.warn("Invalid password provided"),L("encryption.unlock.invalid"))}catch(e){S.error("Failed to verify password:",e),L("encryption.unlock.error")}finally{P(!1)}};return H||T?null:(0,r.jsxs)(a.A,{open:R,maxWidth:"sm",fullWidth:!0,disableEscapeKeyDown:!0,onClose:()=>{},children:[(0,r.jsx)(l.A,{component:"div",children:(0,r.jsxs)(s.default,{display:"flex",alignItems:"center",children:[(0,r.jsx)(m.A,{sx:{mr:1}}),(0,r.jsx)(c.A,{variant:"h6",children:i("encryption.unlock.title")})]})}),(0,r.jsxs)(d.A,{children:[z&&(0,r.jsx)(u.A,{severity:"error",sx:{mb:2},children:i(z)}),(0,r.jsx)(c.A,{variant:"body1",paragraph:!0,children:i("encryption.unlock.description")}),(0,r.jsx)(p.A,{autoFocus:!0,fullWidth:!0,label:i("encryption.unlock.password"),variant:"outlined",type:k?"text":"password",value:E,onChange:e=>C(e.target.value),onKeyDown:e=>{"Enter"===e.key&&O()},InputProps:{endAdornment:(0,r.jsx)(A.A,{position:"end",children:(0,r.jsx)(v.A,{"aria-label":i(k?"encryption.unlock.hidePassword":"encryption.unlock.showPassword"),onClick:()=>M(!k),edge:"end",children:k?(0,r.jsx)(g.A,{}):(0,r.jsx)(x.A,{})})})},sx:{mt:2}})]}),(0,r.jsx)(h.A,{children:(0,r.jsx)(f.A,{variant:"contained",color:"primary",onClick:O,disabled:I,startIcon:I?(0,r.jsx)(y.default,{size:20}):null,children:i(I?"encryption.unlock.verifying":"encryption.unlock.action")})})]})}},26281:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(12115),o=n(47650),i=n(30365),a=n(12549),l=n(89255),s=n(65083);let c=r.forwardRef(function(e,t){let{children:n,container:c,disablePortal:d=!1}=e,[u,p]=r.useState(null),A=(0,i.A)(r.isValidElement(n)?(0,a.A)(n):null,t);return((0,l.A)(()=>{d||p(("function"==typeof c?c():c)||document.body)},[c,d]),(0,l.A)(()=>{if(u&&!d)return(0,s.A)(t,u),()=>{(0,s.A)(t,null)}},[t,u,d]),d)?r.isValidElement(n)?r.cloneElement(n,{ref:A}):n:u?o.createPortal(n,u):u})},26915:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(30365),o=n(49808),i=n(25217),a=n(32979);let l=function(e){var t;let{elementType:n,externalSlotProps:l,ownerState:s,skipResolvingSlotProps:c=!1,...d}=e,u=c?{}:(0,a.A)(l,s),{props:p,internalRef:A}=(0,i.A)({...d,externalSlotProps:u}),v=(0,r.A)(A,null==u?void 0:u.ref,null==(t=e.additionalProps)?void 0:t.ref);return(0,o.A)(n,{...p,ref:v},s)}},42063:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(15485),o=n(95155);let i=(0,r.A)((0,o.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")},56422:(e,t,n)=>{n.d(t,{A:()=>x});var r,o=n(12115),i=n(2821),a=n(57001),l=n(81852),s=n(25635),c=n(45222),d=n(45918),u=n(48116),p=n(66964),A=n(16625),v=n(85795),h=n(95195);function f(e){return(0,h.Ay)("MuiInputAdornment",e)}let y=(0,v.A)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var m=n(95155);let g=(0,u.Ay)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t["position".concat((0,l.A)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((0,p.A)(e=>{let{theme:t}=e;return{display:"flex",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(t.vars||t).palette.action.active,variants:[{props:{variant:"filled"},style:{["&.".concat(y.positionStart,"&:not(.").concat(y.hiddenLabel,")")]:{marginTop:16}}},{props:{position:"start"},style:{marginRight:8}},{props:{position:"end"},style:{marginLeft:8}},{props:{disablePointerEvents:!0},style:{pointerEvents:"none"}}]}})),x=o.forwardRef(function(e,t){let n=(0,A.b)({props:e,name:"MuiInputAdornment"}),{children:u,className:p,component:v="div",disablePointerEvents:h=!1,disableTypography:y=!1,position:x,variant:b,...j}=n,w=(0,d.A)()||{},S=b;b&&w.variant,w&&!S&&(S=w.variant);let E={...n,hiddenLabel:w.hiddenLabel,size:w.size,disablePointerEvents:h,position:x,variant:S},C=(e=>{let{classes:t,disablePointerEvents:n,hiddenLabel:r,position:o,size:i,variant:s}=e,c={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,l.A)(o)),s,r&&"hiddenLabel",i&&"size".concat((0,l.A)(i))]};return(0,a.A)(c,f,t)})(E);return(0,m.jsx)(c.A.Provider,{value:null,children:(0,m.jsx)(g,{as:v,ownerState:E,className:(0,i.A)(C.root,p),ref:t,...j,children:"string"!=typeof u||y?(0,m.jsxs)(o.Fragment,{children:["start"===x?r||(r=(0,m.jsx)("span",{className:"notranslate","aria-hidden":!0,children:"​"})):null,u]}):(0,m.jsx)(s.A,{color:"textSecondary",children:u})})})})},57908:(e,t,n)=>{n.d(t,{A:()=>i}),n(12115);var r=n(15485),o=n(95155);let i=(0,r.A)((0,o.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")},65083:(e,t,n)=>{n.d(t,{A:()=>r});function r(e,t){"function"==typeof e?e(t):e&&(e.current=t)}},68212:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(15485),o=n(95155);let i=(0,r.A)((0,o.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z"}),"VisibilityOff")},69827:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(12115);function o(e){let{controlled:t,default:n,name:o,state:i="value"}=e,{current:a}=r.useRef(void 0!==t),[l,s]=r.useState(n),c=r.useCallback(e=>{a||s(e)},[]);return[a?t:l,c]}}}]);