flujo-ai 3.34.0 → 3.35.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 (423) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +324 -317
  3. package/.next/app-path-routes-manifest.json +19 -18
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +24 -24
  6. package/.next/routes-manifest.json +9 -0
  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 +1 -1
  10. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  11. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/approvals/route.js +2 -2
  13. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/backup/route.js +1 -1
  15. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  18. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/env/route.js +2 -2
  22. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  31. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  42. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/mcp-registry/route.js +1 -1
  56. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  58. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/model/provider/route.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.js +1 -1
  64. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/oauth/callback/route.js +1 -1
  66. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/oauth/initiate/route.js +1 -1
  68. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/oauth/reset/route.js +1 -1
  70. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/packages/search/route.js +1 -1
  79. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
  82. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
  84. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
  86. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/registry/feedback/route.js +1 -1
  94. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/restore/route.js +1 -1
  101. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/runs/active/route.js +1 -1
  103. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/storage/route.js +1 -1
  105. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  107. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/update/route.js +1 -1
  109. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/chat/page.js +2 -2
  113. package/.next/server/app/chat/page.js.nft.json +1 -1
  114. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/chat.html +1 -1
  116. package/.next/server/app/chat.rsc +2 -2
  117. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  118. package/.next/server/app/docs.html +1 -1
  119. package/.next/server/app/docs.rsc +1 -1
  120. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/executions.html +1 -1
  122. package/.next/server/app/executions.rsc +1 -1
  123. package/.next/server/app/flows/page.js +2 -2
  124. package/.next/server/app/flows/page.js.nft.json +1 -1
  125. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  126. package/.next/server/app/flows.html +1 -1
  127. package/.next/server/app/flows.rsc +2 -2
  128. package/.next/server/app/index.html +1 -1
  129. package/.next/server/app/index.rsc +1 -1
  130. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/mcp-flows/route.js +1 -1
  132. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  134. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/mcp.html +1 -1
  136. package/.next/server/app/mcp.rsc +2 -2
  137. package/.next/server/app/models/page.js +1 -1
  138. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/packages/page.js +1 -1
  140. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  141. package/.next/server/app/packages.html +1 -1
  142. package/.next/server/app/packages.rsc +2 -2
  143. package/.next/server/app/page_client-reference-manifest.js +1 -1
  144. package/.next/server/app/settings/page.js +1 -1
  145. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/settings.html +1 -1
  147. package/.next/server/app/settings.rsc +2 -2
  148. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  150. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  152. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  154. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  156. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  158. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.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.js +1 -1
  162. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js +1 -0
  164. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js.nft.json +1 -0
  165. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  167. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  169. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  171. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  173. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/v1/chat/events/route.js +1 -1
  175. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/v1/models/route.js +1 -1
  177. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  179. package/.next/server/app/waves.html +1 -1
  180. package/.next/server/app/waves.rsc +1 -1
  181. package/.next/server/app-paths-manifest.json +19 -18
  182. package/.next/server/chunks/1227.js +1 -1
  183. package/.next/server/chunks/1805.js +1 -1
  184. package/.next/server/chunks/2273.js +2 -2
  185. package/.next/server/chunks/2372.js +1 -1
  186. package/.next/server/chunks/2859.js +1 -1
  187. package/.next/server/chunks/3935.js +4 -0
  188. package/.next/server/chunks/4265.js +1 -1
  189. package/.next/server/chunks/4771.js +2 -2
  190. package/.next/server/chunks/4822.js +1 -1
  191. package/.next/server/chunks/5096.js +1 -1
  192. package/.next/server/chunks/5309.js +1 -1
  193. package/.next/server/chunks/544.js +16 -16
  194. package/.next/server/chunks/5544.js +1 -1
  195. package/.next/server/chunks/5703.js +2 -2
  196. package/.next/server/chunks/6041.js +1 -1
  197. package/.next/server/chunks/6226.js +1 -1
  198. package/.next/server/chunks/6747.js +42 -42
  199. package/.next/server/chunks/701.js +1 -1
  200. package/.next/server/chunks/7069.js +4 -4
  201. package/.next/server/chunks/7506.js +1 -1
  202. package/.next/server/chunks/7628.js +1 -1
  203. package/.next/server/chunks/7891.js +1 -1
  204. package/.next/server/chunks/7993.js +1 -1
  205. package/.next/server/chunks/8284.js +1 -1
  206. package/.next/server/chunks/8387.js +1 -1
  207. package/.next/server/chunks/8645.js +1 -1
  208. package/.next/server/chunks/8739.js +1 -1
  209. package/.next/server/chunks/9085.js +1 -1
  210. package/.next/server/chunks/9235.js +1 -1
  211. package/.next/server/chunks/9285.js +1 -1
  212. package/.next/server/functions-config-manifest.json +1 -1
  213. package/.next/server/middleware-build-manifest.js +1 -1
  214. package/.next/server/middleware-manifest.json +1 -1
  215. package/.next/server/pages/404.html +1 -1
  216. package/.next/server/pages/500.html +1 -1
  217. package/.next/server/server-reference-manifest.js +1 -1
  218. package/.next/server/server-reference-manifest.json +1 -1
  219. package/.next/static/chunks/{8650-5294c6ed1173b014.js → 8650-aa22dbf7b37348f0.js} +1 -1
  220. package/.next/static/chunks/9611-9867e6e8e65172ec.js +1 -0
  221. package/.next/static/chunks/app/api/approvals/[id]/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  222. package/.next/static/chunks/app/api/approvals/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  223. package/.next/static/chunks/app/api/backup/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  224. package/.next/static/chunks/app/api/browse/{route-9ea2990be4b67136.js → route-b9c783850b4c2acf.js} +1 -1
  225. package/.next/static/chunks/app/api/bugs/enhance/route-b9c783850b4c2acf.js +1 -0
  226. package/.next/static/chunks/app/api/cwd/route-b9c783850b4c2acf.js +1 -0
  227. package/.next/static/chunks/app/api/encryption/secure/route-b9c783850b4c2acf.js +1 -0
  228. package/.next/static/chunks/app/api/env/route-b9c783850b4c2acf.js +1 -0
  229. package/.next/static/chunks/app/api/flow/[id]/route-b9c783850b4c2acf.js +1 -0
  230. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-b9c783850b4c2acf.js +1 -0
  231. package/.next/static/chunks/app/api/flow/[id]/versions/route-b9c783850b4c2acf.js +1 -0
  232. package/.next/static/chunks/app/api/flow/compile/route-b9c783850b4c2acf.js +1 -0
  233. package/.next/static/chunks/app/api/flow/generate/route-b9c783850b4c2acf.js +1 -0
  234. package/.next/static/chunks/app/api/flow/generator/route-b9c783850b4c2acf.js +1 -0
  235. package/.next/static/chunks/app/api/flow/improve/route-b9c783850b4c2acf.js +1 -0
  236. package/.next/static/chunks/app/api/flow/prompt-renderer/route-b9c783850b4c2acf.js +1 -0
  237. package/.next/static/chunks/app/api/flow/quick-chat/route-b9c783850b4c2acf.js +1 -0
  238. package/.next/static/chunks/app/api/flow/repair/route-b9c783850b4c2acf.js +1 -0
  239. package/.next/static/chunks/app/api/flow/route-b9c783850b4c2acf.js +1 -0
  240. package/.next/static/chunks/app/api/git/route-b9c783850b4c2acf.js +1 -0
  241. package/.next/static/chunks/app/api/init/route-b9c783850b4c2acf.js +1 -0
  242. package/.next/static/chunks/app/api/local-models/capability/route-b9c783850b4c2acf.js +1 -0
  243. package/.next/static/chunks/app/api/local-models/pull/route-b9c783850b4c2acf.js +1 -0
  244. package/.next/static/chunks/app/api/local-models/suggest/route-b9c783850b4c2acf.js +1 -0
  245. package/.next/static/chunks/app/api/mcp/app-sandbox/route-b9c783850b4c2acf.js +1 -0
  246. package/.next/static/chunks/app/api/mcp/cancel/route-b9c783850b4c2acf.js +1 -0
  247. package/.next/static/chunks/app/api/mcp/oauth-capability/route-b9c783850b4c2acf.js +1 -0
  248. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-b9c783850b4c2acf.js +1 -0
  249. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-b9c783850b4c2acf.js +1 -0
  250. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b9c783850b4c2acf.js +1 -0
  251. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-b9c783850b4c2acf.js +1 -0
  252. package/.next/static/chunks/app/api/mcp/servers/[name]/route-b9c783850b4c2acf.js +1 -0
  253. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-b9c783850b4c2acf.js +1 -0
  254. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b9c783850b4c2acf.js +1 -0
  255. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-b9c783850b4c2acf.js +1 -0
  256. package/.next/static/chunks/app/api/mcp/servers/route-b9c783850b4c2acf.js +1 -0
  257. package/.next/static/chunks/app/api/mcp/test-connection/route-b9c783850b4c2acf.js +1 -0
  258. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-b9c783850b4c2acf.js +1 -0
  259. package/.next/static/chunks/app/api/mcp-registry/route-b9c783850b4c2acf.js +1 -0
  260. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-b9c783850b4c2acf.js +1 -0
  261. package/.next/static/chunks/app/api/model/[id]/route-b9c783850b4c2acf.js +1 -0
  262. package/.next/static/chunks/app/api/model/provider/route-b9c783850b4c2acf.js +1 -0
  263. package/.next/static/chunks/app/api/model/route-b9c783850b4c2acf.js +1 -0
  264. package/.next/static/chunks/app/api/model/test/route-b9c783850b4c2acf.js +1 -0
  265. package/.next/static/chunks/app/api/oauth/callback/route-b9c783850b4c2acf.js +1 -0
  266. package/.next/static/chunks/app/api/oauth/initiate/route-b9c783850b4c2acf.js +1 -0
  267. package/.next/static/chunks/app/api/oauth/reset/route-b9c783850b4c2acf.js +1 -0
  268. package/.next/static/chunks/app/api/packages/build/route-b9c783850b4c2acf.js +1 -0
  269. package/.next/static/chunks/app/api/packages/derive-secrets/route-b9c783850b4c2acf.js +1 -0
  270. package/.next/static/chunks/app/api/packages/install/route-b9c783850b4c2acf.js +1 -0
  271. package/.next/static/chunks/app/api/packages/install/status/route-b9c783850b4c2acf.js +1 -0
  272. package/.next/static/chunks/app/api/packages/installed/route-b9c783850b4c2acf.js +1 -0
  273. package/.next/static/chunks/app/api/packages/resolve/route-b9c783850b4c2acf.js +1 -0
  274. package/.next/static/chunks/app/api/packages/scan-targets/route-b9c783850b4c2acf.js +1 -0
  275. package/.next/static/chunks/app/api/packages/search/route-b9c783850b4c2acf.js +1 -0
  276. package/.next/static/chunks/app/api/packages/uninstall/route-b9c783850b4c2acf.js +1 -0
  277. package/.next/static/chunks/app/api/planned-executions/[id]/route-b9c783850b4c2acf.js +1 -0
  278. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-b9c783850b4c2acf.js +1 -0
  279. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-b9c783850b4c2acf.js +1 -0
  280. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b9c783850b4c2acf.js +1 -0
  281. package/.next/static/chunks/app/api/planned-executions/reconcile/route-b9c783850b4c2acf.js +1 -0
  282. package/.next/static/chunks/app/api/planned-executions/route-b9c783850b4c2acf.js +1 -0
  283. package/.next/static/chunks/app/api/registry/auth/resend/route-b9c783850b4c2acf.js +1 -0
  284. package/.next/static/chunks/app/api/registry/auth/reset/route-b9c783850b4c2acf.js +1 -0
  285. package/.next/static/chunks/app/api/registry/auth/route-b9c783850b4c2acf.js +1 -0
  286. package/.next/static/chunks/app/api/registry/feedback/route-b9c783850b4c2acf.js +1 -0
  287. package/.next/static/chunks/app/api/registry/oauth/callback/route-b9c783850b4c2acf.js +1 -0
  288. package/.next/static/chunks/app/api/registry/oauth/initiate/route-b9c783850b4c2acf.js +1 -0
  289. package/.next/static/chunks/app/api/registry/packages/route-b9c783850b4c2acf.js +1 -0
  290. package/.next/static/chunks/app/api/registry/publish/route-b9c783850b4c2acf.js +1 -0
  291. package/.next/static/chunks/app/api/registry/settings/route-b9c783850b4c2acf.js +1 -0
  292. package/.next/static/chunks/app/api/restore/route-b9c783850b4c2acf.js +1 -0
  293. package/.next/static/chunks/app/api/runs/active/route-b9c783850b4c2acf.js +1 -0
  294. package/.next/static/chunks/app/api/storage/route-b9c783850b4c2acf.js +1 -0
  295. package/.next/static/chunks/app/api/telemetry/daily-active/route-b9c783850b4c2acf.js +1 -0
  296. package/.next/static/chunks/app/api/update/route-b9c783850b4c2acf.js +1 -0
  297. package/.next/static/chunks/app/api/waves/route-b9c783850b4c2acf.js +1 -0
  298. package/.next/static/chunks/app/api/webhooks/[id]/route-b9c783850b4c2acf.js +1 -0
  299. package/.next/static/chunks/app/chat/{page-bc7807593b8b7394.js → page-e37bbc561f40ce60.js} +1 -1
  300. package/.next/static/chunks/app/flows/{page-87fb466e491fc068.js → page-e52c8943555e38dd.js} +1 -1
  301. package/.next/static/chunks/app/mcp-flows/route-b9c783850b4c2acf.js +1 -0
  302. package/.next/static/chunks/app/mcp-proxy/[server]/route-b9c783850b4c2acf.js +1 -0
  303. package/.next/static/chunks/app/models/page-595597042e227970.js +1 -0
  304. package/.next/static/chunks/app/packages/page-f1a22789a6c0e0b6.js +1 -0
  305. package/.next/static/chunks/app/settings/{page-2fc3a70bfd25c48b.js → page-f35e939032b0277d.js} +1 -1
  306. package/.next/static/chunks/app/v1/chat/completions/route-b9c783850b4c2acf.js +1 -0
  307. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-b9c783850b4c2acf.js +1 -0
  308. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-b9c783850b4c2acf.js +1 -0
  309. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-b9c783850b4c2acf.js +1 -0
  310. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-b9c783850b4c2acf.js +1 -0
  311. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-b9c783850b4c2acf.js +1 -0
  312. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-b9c783850b4c2acf.js +1 -0
  313. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-b9c783850b4c2acf.js +1 -0
  314. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route-b9c783850b4c2acf.js +1 -0
  315. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-b9c783850b4c2acf.js +1 -0
  316. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-b9c783850b4c2acf.js +1 -0
  317. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-b9c783850b4c2acf.js +1 -0
  318. package/.next/static/chunks/app/v1/chat/conversations/route-b9c783850b4c2acf.js +1 -0
  319. package/.next/static/chunks/app/v1/chat/events/route-b9c783850b4c2acf.js +1 -0
  320. package/.next/static/chunks/app/v1/models/route-b9c783850b4c2acf.js +1 -0
  321. package/.next/static/chunks/{webpack-d5d737ff6a86674f.js → webpack-9d09d53b271f49e2.js} +1 -1
  322. package/.next/trace +10 -10
  323. package/.next/types/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.ts +347 -0
  324. package/.next/types/routes.d.ts +2 -1
  325. package/.next/types/validator.ts +9 -0
  326. package/README.md +60 -61
  327. package/package.json +1 -1
  328. package/.next/server/chunks/4308.js +0 -4
  329. package/.next/static/chunks/6733-c9029143901e62e9.js +0 -1
  330. package/.next/static/chunks/app/api/bugs/enhance/route-9ea2990be4b67136.js +0 -1
  331. package/.next/static/chunks/app/api/cwd/route-9ea2990be4b67136.js +0 -1
  332. package/.next/static/chunks/app/api/encryption/secure/route-9ea2990be4b67136.js +0 -1
  333. package/.next/static/chunks/app/api/env/route-9ea2990be4b67136.js +0 -1
  334. package/.next/static/chunks/app/api/flow/[id]/route-9ea2990be4b67136.js +0 -1
  335. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-9ea2990be4b67136.js +0 -1
  336. package/.next/static/chunks/app/api/flow/[id]/versions/route-9ea2990be4b67136.js +0 -1
  337. package/.next/static/chunks/app/api/flow/compile/route-9ea2990be4b67136.js +0 -1
  338. package/.next/static/chunks/app/api/flow/generate/route-9ea2990be4b67136.js +0 -1
  339. package/.next/static/chunks/app/api/flow/generator/route-9ea2990be4b67136.js +0 -1
  340. package/.next/static/chunks/app/api/flow/improve/route-9ea2990be4b67136.js +0 -1
  341. package/.next/static/chunks/app/api/flow/prompt-renderer/route-9ea2990be4b67136.js +0 -1
  342. package/.next/static/chunks/app/api/flow/quick-chat/route-9ea2990be4b67136.js +0 -1
  343. package/.next/static/chunks/app/api/flow/repair/route-9ea2990be4b67136.js +0 -1
  344. package/.next/static/chunks/app/api/flow/route-9ea2990be4b67136.js +0 -1
  345. package/.next/static/chunks/app/api/git/route-9ea2990be4b67136.js +0 -1
  346. package/.next/static/chunks/app/api/init/route-9ea2990be4b67136.js +0 -1
  347. package/.next/static/chunks/app/api/local-models/capability/route-9ea2990be4b67136.js +0 -1
  348. package/.next/static/chunks/app/api/local-models/pull/route-9ea2990be4b67136.js +0 -1
  349. package/.next/static/chunks/app/api/local-models/suggest/route-9ea2990be4b67136.js +0 -1
  350. package/.next/static/chunks/app/api/mcp/app-sandbox/route-9ea2990be4b67136.js +0 -1
  351. package/.next/static/chunks/app/api/mcp/cancel/route-9ea2990be4b67136.js +0 -1
  352. package/.next/static/chunks/app/api/mcp/oauth-capability/route-9ea2990be4b67136.js +0 -1
  353. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-9ea2990be4b67136.js +0 -1
  354. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-9ea2990be4b67136.js +0 -1
  355. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-9ea2990be4b67136.js +0 -1
  356. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-9ea2990be4b67136.js +0 -1
  357. package/.next/static/chunks/app/api/mcp/servers/[name]/route-9ea2990be4b67136.js +0 -1
  358. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-9ea2990be4b67136.js +0 -1
  359. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-9ea2990be4b67136.js +0 -1
  360. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-9ea2990be4b67136.js +0 -1
  361. package/.next/static/chunks/app/api/mcp/servers/route-9ea2990be4b67136.js +0 -1
  362. package/.next/static/chunks/app/api/mcp/test-connection/route-9ea2990be4b67136.js +0 -1
  363. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-9ea2990be4b67136.js +0 -1
  364. package/.next/static/chunks/app/api/mcp-registry/route-9ea2990be4b67136.js +0 -1
  365. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-9ea2990be4b67136.js +0 -1
  366. package/.next/static/chunks/app/api/model/[id]/route-9ea2990be4b67136.js +0 -1
  367. package/.next/static/chunks/app/api/model/provider/route-9ea2990be4b67136.js +0 -1
  368. package/.next/static/chunks/app/api/model/route-9ea2990be4b67136.js +0 -1
  369. package/.next/static/chunks/app/api/model/test/route-9ea2990be4b67136.js +0 -1
  370. package/.next/static/chunks/app/api/oauth/callback/route-9ea2990be4b67136.js +0 -1
  371. package/.next/static/chunks/app/api/oauth/initiate/route-9ea2990be4b67136.js +0 -1
  372. package/.next/static/chunks/app/api/oauth/reset/route-9ea2990be4b67136.js +0 -1
  373. package/.next/static/chunks/app/api/packages/build/route-9ea2990be4b67136.js +0 -1
  374. package/.next/static/chunks/app/api/packages/derive-secrets/route-9ea2990be4b67136.js +0 -1
  375. package/.next/static/chunks/app/api/packages/install/route-9ea2990be4b67136.js +0 -1
  376. package/.next/static/chunks/app/api/packages/install/status/route-9ea2990be4b67136.js +0 -1
  377. package/.next/static/chunks/app/api/packages/installed/route-9ea2990be4b67136.js +0 -1
  378. package/.next/static/chunks/app/api/packages/resolve/route-9ea2990be4b67136.js +0 -1
  379. package/.next/static/chunks/app/api/packages/scan-targets/route-9ea2990be4b67136.js +0 -1
  380. package/.next/static/chunks/app/api/packages/search/route-9ea2990be4b67136.js +0 -1
  381. package/.next/static/chunks/app/api/packages/uninstall/route-9ea2990be4b67136.js +0 -1
  382. package/.next/static/chunks/app/api/planned-executions/[id]/route-9ea2990be4b67136.js +0 -1
  383. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-9ea2990be4b67136.js +0 -1
  384. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-9ea2990be4b67136.js +0 -1
  385. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-9ea2990be4b67136.js +0 -1
  386. package/.next/static/chunks/app/api/planned-executions/reconcile/route-9ea2990be4b67136.js +0 -1
  387. package/.next/static/chunks/app/api/planned-executions/route-9ea2990be4b67136.js +0 -1
  388. package/.next/static/chunks/app/api/registry/auth/resend/route-9ea2990be4b67136.js +0 -1
  389. package/.next/static/chunks/app/api/registry/auth/reset/route-9ea2990be4b67136.js +0 -1
  390. package/.next/static/chunks/app/api/registry/auth/route-9ea2990be4b67136.js +0 -1
  391. package/.next/static/chunks/app/api/registry/feedback/route-9ea2990be4b67136.js +0 -1
  392. package/.next/static/chunks/app/api/registry/oauth/callback/route-9ea2990be4b67136.js +0 -1
  393. package/.next/static/chunks/app/api/registry/oauth/initiate/route-9ea2990be4b67136.js +0 -1
  394. package/.next/static/chunks/app/api/registry/packages/route-9ea2990be4b67136.js +0 -1
  395. package/.next/static/chunks/app/api/registry/publish/route-9ea2990be4b67136.js +0 -1
  396. package/.next/static/chunks/app/api/registry/settings/route-9ea2990be4b67136.js +0 -1
  397. package/.next/static/chunks/app/api/restore/route-9ea2990be4b67136.js +0 -1
  398. package/.next/static/chunks/app/api/runs/active/route-9ea2990be4b67136.js +0 -1
  399. package/.next/static/chunks/app/api/storage/route-9ea2990be4b67136.js +0 -1
  400. package/.next/static/chunks/app/api/telemetry/daily-active/route-9ea2990be4b67136.js +0 -1
  401. package/.next/static/chunks/app/api/update/route-9ea2990be4b67136.js +0 -1
  402. package/.next/static/chunks/app/api/waves/route-9ea2990be4b67136.js +0 -1
  403. package/.next/static/chunks/app/api/webhooks/[id]/route-9ea2990be4b67136.js +0 -1
  404. package/.next/static/chunks/app/mcp-flows/route-9ea2990be4b67136.js +0 -1
  405. package/.next/static/chunks/app/mcp-proxy/[server]/route-9ea2990be4b67136.js +0 -1
  406. package/.next/static/chunks/app/models/page-a5e2437356b06db8.js +0 -1
  407. package/.next/static/chunks/app/packages/page-fba5696f33d9cdfb.js +0 -1
  408. package/.next/static/chunks/app/v1/chat/completions/route-9ea2990be4b67136.js +0 -1
  409. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-9ea2990be4b67136.js +0 -1
  410. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-9ea2990be4b67136.js +0 -1
  411. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-9ea2990be4b67136.js +0 -1
  412. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-9ea2990be4b67136.js +0 -1
  413. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-9ea2990be4b67136.js +0 -1
  414. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-9ea2990be4b67136.js +0 -1
  415. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-9ea2990be4b67136.js +0 -1
  416. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-9ea2990be4b67136.js +0 -1
  417. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-9ea2990be4b67136.js +0 -1
  418. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-9ea2990be4b67136.js +0 -1
  419. package/.next/static/chunks/app/v1/chat/conversations/route-9ea2990be4b67136.js +0 -1
  420. package/.next/static/chunks/app/v1/chat/events/route-9ea2990be4b67136.js +0 -1
  421. package/.next/static/chunks/app/v1/models/route-9ea2990be4b67136.js +0 -1
  422. /package/.next/static/{Zz_Vh59XdtLIPcf-PxCpo → hbjnLG9RCje2AApS9TzP8}/_buildManifest.js +0 -0
  423. /package/.next/static/{Zz_Vh59XdtLIPcf-PxCpo → hbjnLG9RCje2AApS9TzP8}/_ssgManifest.js +0 -0
@@ -1,4 +0,0 @@
1
- "use strict";exports.id=4308,exports.ids=[4308],exports.modules={4580:(a,b,c)=>{async function d(a,b){throw Error("Web Speech API is only available in browser environments")}function e(){return{supported:!1,message:"Not in browser environment"}}c.d(b,{G:()=>e,S:()=>d}),(0,c(19815).h)("frontend/services/transcription/webSpeech")},24856:(a,b,c)=>{c.d(b,{pX:()=>d});function d(a,b,c,d){let e=`${a.type}-bottom`,f=`${b.type}-top`;return{id:`${a.id}:${e}->${b.id}:${f}`,source:a.id,sourceHandle:e,target:b.id,targetHandle:f,type:"custom",data:{edgeType:"standard",...c?{bidirectional:!0}:{},...d?{condition:d}:{}},animated:!0}}},29237:(a,b,c)=>{c.d(b,{C:()=>f,L2:()=>e,P2:()=>h,w4:()=>d,wM:()=>g});let d=["contains","regex","equals","always"],e=["last-assistant","last-message"];function f(a){return"string"==typeof a&&d.includes(a)}function g(a){try{return new RegExp(a),!0}catch{return!1}}function h(a){if(!a||!f(a.kind))return"";let b=a.negate?"!":"";if("always"===a.kind)return`${b}always`;let c=a.ignoreCase?" i":"",d="string"==typeof a.value?a.value:"",e=d.length>8?`${d.slice(0,8)}…`:d,g="regex"===a.kind?`/${e}/`:`"${e}"`;return`${b}${a.kind}:${g}${c}`}},31164:(a,b,c)=>{c.d(b,{jY:()=>f,oY:()=>g,sZ:()=>h});var d=c(21124);c(38301);var e=c(97004);let f=a=>(0,d.jsx)(e.A,{...a,variant:"standard"}),g=a=>(0,d.jsx)(e.A,{...a,variant:"mcp"}),h=a=>(0,d.jsx)(e.A,{...a,variant:"resource"})},36627:(a,b,c)=>{function d(a){return!!a&&a.includes("mcp")}function e(a){return!!a&&a.includes("resource")}function f(a){let b=a?.data?.edgeType;return"mcp"===b||"resource"===b}function g(a,b,c,f){if("trigger"===a&&"start"===c)return b&&"trigger-bottom"!==b?"Trigger nodes must connect via their bottom handle":f&&"start-top"!==f?"Trigger nodes must connect to the top handle of the Start node":null;if("trigger"===c)return"Trigger nodes cannot have incoming connections";if("trigger"===a&&"start"!==c)return"Trigger nodes can only connect to the Start node";if("start"===c)return"Start nodes cannot have incoming connections";if("finish"===a)return"Finish nodes cannot have outgoing connections";if("mcp"===a||"mcp"===c||d(b)||d(f))return("mcp"!==a||"process"!==c)&&("process"!==a||"mcp"!==c)?"MCP connections must link an MCP node to a Process node via MCP handles":"process"!==a||d(b)?null:"Connect MCP nodes from the Process node's left/right MCP handles";if("resource"===a||"resource"===c||e(b)||e(f)){if(("resource"!==a||"process"!==c)&&("process"!==a||"resource"!==c))return"Resource connections must link a Resource node to a Process node via resource handles";if("process"===a&&!e(b))return"Connect Resource nodes from the Process node's left/right resource handles"}return null}function h(a,b){return"resource"===a?"resource-in":"process"===a&&e(b)?"process-left-resource":"process"===a&&d(b)?"process-left-mcp":"start"===a?"start-top":`${a}-top`}function i(a,b){if("trigger"===a)return["start"];let c=["process","finish","mcp","subflow","resource","signal","trigger"];return a&&b?c.filter(c=>null===g(a,b,c,h(c,b))):c}c.d(b,{BY:()=>f,CW:()=>h,_w:()=>i,vC:()=>g,vM:()=>e,z5:()=>d})},38259:(a,b,c)=>{c.d(b,{O:()=>i,b:()=>e});let d=(0,c(19815).h)("frontend/services/chat/index");class e extends Error{constructor(a,b,c){super(a),this.name="ChatApiError",this.status=b,this.body=c}}let f="/v1/chat/conversations";async function g(a){let b;if(204===a.status)return;let c=await a.text();if(c)try{b=JSON.parse(c)}catch{b=c}if(!a.ok)throw new e(b&&"object"==typeof b&&(b.error||b.message)||`Request failed with status ${a.status}`,a.status,b);return b}class h{async listConversations(){return d.debug("listConversations: Entering method"),g(await fetch(f))}async getConversation(a){return d.debug("getConversation: Entering method",{conversationId:a}),g(await fetch(`${f}/${encodeURIComponent(a)}`))}async createConversation(a){return d.debug("createConversation: Entering method",{conversationId:a.id}),g(await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}))}async updateConversationFlow(a,b){return d.debug("updateConversationFlow: Entering method",{conversationId:a,flowId:b}),g(await fetch(`${f}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:b})}))}async updateConversationTitle(a,b){return d.debug("updateConversationTitle: Entering method",{conversationId:a}),g(await fetch(`${f}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:b})}))}async updateConversationApproval(a,b){return d.debug("updateConversationApproval: Entering method",{conversationId:a,requireApproval:b}),g(await fetch(`${f}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApproval:b})}))}async deleteConversation(a){d.debug("deleteConversation: Entering method",{conversationId:a});let b=await fetch(`${f}/${encodeURIComponent(a)}`,{method:"DELETE"});await g(b)}async deleteConversations(a){return d.debug("deleteConversations: Entering method",{count:a.length}),g(await fetch(f,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:a})}))}async respondToToolCall(a,b,c,e,h){return d.debug("respondToToolCall: Entering method",{conversationId:a,action:b,toolCallId:c,always:e}),g(await fetch(`${f}/${encodeURIComponent(a)}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,toolCallId:c,...e?{always:!0}:{},...h?{feedback:h}:{}})}))}async debugStep(a){return d.debug("debugStep: Entering method",{conversationId:a}),g(await fetch(`${f}/${encodeURIComponent(a)}/debug/step`,{method:"POST"}))}async debugContinue(a){return d.debug("debugContinue: Entering method",{conversationId:a}),g(await fetch(`${f}/${encodeURIComponent(a)}/debug/continue`,{method:"POST"}))}async setBreakpoints(a,b){d.debug("setBreakpoints: Entering method",{conversationId:a,count:b.length});let c=await fetch(`${f}/${encodeURIComponent(a)}/breakpoints`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({breakpoints:b})});await g(c)}async synthesizeQuickChat(a){return d.debug("synthesizeQuickChat: Entering method",{conversationId:a.conversationId}),g(await fetch("/api/flow/quick-chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}))}async synthesizeFlowGenerator(a){return g(await fetch("/api/flow/generator",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}))}async completeFlowGeneratorTurn(a){return g(await fetch("/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:"flow-Flow Generator Session",messages:a.messages,stream:!1,metadata:{flujo:"true",conversationId:a.conversationId}})}))}async restoreFlowGenerator(){return g(await fetch("/api/flow/generator",{method:"PUT"}))}async cancel(a){d.debug("cancel: Entering method",{conversationId:a});let b=await fetch(`${f}/${encodeURIComponent(a)}/cancel`,{method:"POST"});await g(b)}async injectMessage(a,b,c){d.debug("injectMessage: Entering method",{conversationId:a,messageId:c});try{let e=await fetch(`${f}/${encodeURIComponent(a)}/inject`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b,id:c})});if(e.ok)return{delivered:!0};if(409===e.status)return d.debug("injectMessage: run is not live; caller should send normally",{conversationId:a}),{delivered:!1};return d.warn("injectMessage: unexpected response; falling back to a normal send",{conversationId:a,status:e.status}),{delivered:!1}}catch(b){return d.warn("injectMessage: request failed; falling back to a normal send",{conversationId:a,err:b}),{delivered:!1}}}subscribeToEvents(a,b,c){let e=new EventSource(void 0!==c?`${f}/${encodeURIComponent(a)}/events?fromSeq=${c}`:`${f}/${encodeURIComponent(a)}/events`);return e.onopen=()=>{d.debug("Execution event stream open",{conversationId:a}),b.onOpen?.()},e.onmessage=a=>{try{b.onEvent(JSON.parse(a.data))}catch(a){d.warn("Failed to parse SSE event",{err:a})}},e.onerror=a=>{d.debug("SSE stream error (browser will retry if still open)"),b.onError?.(a)},e}}let i=new h},57361:(a,b,c)=>{c.d(b,{Ay:()=>Z,nd:()=>V,c_:()=>U});var d=c(21124),e=c(38301),f=c(6537),g=c(81637),h=c(79515),i=c(95791),j=c(46973),k=c(60839),l=c(18168),m=c(2117),n=c(63281),o=c(63654),p=c(8070),q=c(94367),r=c(50553),s=c(84233),t=c(91059),u=c(7118),v=c(91034),w=c(38941),x=c(95345),y=c(12033),z=c(1010);let A=({open:a,position:b,onClose:c,onDelete:e,onEditProperties:f,onToggleBidirectional:g,onCopy:h,onPaste:i,canPaste:j,canCopy:k,nodeId:l,selection:m,edgeId:n})=>{let o=()=>{f&&f(),c()},p=[];return l&&!m&&p.push((0,d.jsxs)(q.A,{onClick:o,children:[(0,d.jsx)(r.A,{children:(0,d.jsx)(y.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Edit Properties"})]},"edit")),n&&!l&&!m&&(f&&p.push((0,d.jsxs)(q.A,{onClick:o,children:[(0,d.jsx)(r.A,{children:(0,d.jsx)(y.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Edit Properties"})]},"edge-edit")),g&&p.push((0,d.jsxs)(q.A,{onClick:()=>{g&&g(),c()},children:[(0,d.jsx)(r.A,{children:(0,d.jsx)(z.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Toggle Bidirectional"})]},"edge-bidirectional"))),h&&(l||m)&&p.push((0,d.jsxs)(q.A,{onClick:()=>{h&&h(),c()},disabled:!k,children:[(0,d.jsx)(r.A,{children:(0,d.jsx)(w.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Copy"})]},"copy")),i&&p.push((0,d.jsxs)(q.A,{onClick:()=>{i&&i(),c()},disabled:!j,children:[(0,d.jsx)(r.A,{children:(0,d.jsx)(x.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Paste"})]},"paste")),(l||n||m)&&p.push((0,d.jsx)(t.A,{},"delete-divider"),(0,d.jsxs)(q.A,{onClick:()=>{e(),c()},sx:{color:"error.main"},children:[(0,d.jsx)(r.A,{sx:{color:"error.main"},children:(0,d.jsx)(v.A,{fontSize:"small"})}),(0,d.jsx)(s.A,{children:"Delete"})]},"delete")),(0,d.jsx)(u.A,{open:a,onClose:c,anchorReference:"anchorPosition",anchorPosition:null!==b.y&&null!==b.x?{top:b.y,left:b.x}:void 0,children:p})};var B=c(31164),C=c(97004);function D(a,b){return b.find(b=>b.id===a)}var E=c(19815);let F=(0,E.h)("components/flow/FlowBuilder/Canvas/hooks/useCanvasEvents.ts");var G=c(90430),H=c(36627),I=c(68730),J=c(43312),K=c(34229),L=c(48440),M=c(1618);let N=(0,l.Ay)(I.A)(({theme:a})=>({minWidth:"36px",padding:"6px",margin:"0 4px",backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)","&:hover":{backgroundColor:"dark"===a.palette.mode?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"}})),O=()=>{let{zoomIn:a,zoomOut:b,fitView:c}=(0,i.VH)();return(0,d.jsx)(i.Zk,{position:"top-right",style:{margin:"10px"},children:(0,d.jsxs)("div",{style:{display:"flex",gap:"5px"},children:[(0,d.jsx)(J.A,{title:"Zoom In",children:(0,d.jsx)(N,{variant:"outlined",size:"small",onClick:()=>a(),children:(0,d.jsx)(K.A,{fontSize:"small"})})}),(0,d.jsx)(J.A,{title:"Zoom Out",children:(0,d.jsx)(N,{variant:"outlined",size:"small",onClick:()=>b(),children:(0,d.jsx)(L.A,{fontSize:"small"})})}),(0,d.jsx)(J.A,{title:"Fit View",children:(0,d.jsx)(N,{variant:"outlined",size:"small",onClick:()=>c(),children:(0,d.jsx)(M.A,{fontSize:"small"})})})]})})},P=({showMiniMap:a=!0,showControls:b=!0,showBackground:c=!0})=>{let e=(0,k.A)(),f="dark"===e.palette.mode;return(0,d.jsxs)(d.Fragment,{children:[c&&(0,d.jsx)(i.VS,{color:f?e.palette.text.disabled:e.palette.divider,gap:20,size:1}),b&&(0,d.jsx)(i.H2,{}),a&&(0,d.jsx)(i.of,{nodeColor:f?e.palette.primary.dark:e.palette.primary.light,maskColor:f?"rgba(0, 0, 0, 0.4)":"rgba(255, 255, 255, 0.6)"})]})},Q=(0,E.h)("components/flow/FlowBuilder/Canvas/Canvas.tsx"),R="flujo:flowClipboard",S=null;function T(a){S=a;try{localStorage.setItem(R,JSON.stringify(a))}catch(a){Q.warn("Could not persist flow clipboard to localStorage",a)}}let U={start:p.vm,process:p.Uw,finish:p.IK,mcp:p.v2,subflow:p.lA,resource:p.z9,signal:p.z3,trigger:p.pF},V={custom:B.jY,mcpEdge:B.oY,resourceEdge:B.sZ},W=({open:a,position:b,onClose:c,onSelectNodeType:e,sourceNodeType:i,sourceHandleId:j})=>{let l=(0,k.A)(),m=(0,H._w)(i,j);Q.debug(`NodeSelectionModal: Source node type: ${i}, Source handle ID: ${j}`),Q.debug(`NodeSelectionModal: Valid node types: ${m.join(", ")}`);let n=[{type:"process",label:"Process Node",description:"Let a LLM do your work"},{type:"finish",label:"Finish Node",description:"End your flow here"},{type:"mcp",label:"MCP Node",description:"Add functionality"},{type:"subflow",label:"Subflow Node",description:"Run another flow"},{type:"resource",label:"Resource Node",description:"A data artifact steps read or write"},{type:"signal",label:"Signal Node",description:"Emit an event to trigger another flow"},{type:"trigger",label:"Trigger Node",description:"Schedule or event-trigger for this flow"}].filter(a=>m.includes(a.type));return b?(0,d.jsx)(f.A,{open:a,onClose:c,"aria-labelledby":"node-selection-modal",children:(0,d.jsxs)(g.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:300,bgcolor:"background.paper",borderRadius:2,boxShadow:24,p:4},children:[(0,d.jsx)(h.default,{variant:"h6",component:"h2",gutterBottom:!0,children:"Select Node Type"}),(0,d.jsx)(g.default,{display:"flex",flexDirection:"column",gap:2,children:n.map(a=>(0,d.jsxs)(g.default,{sx:{padding:2,borderRadius:1,border:`2px solid ${"process"===a.type?l.palette.secondary.main:"finish"===a.type?l.palette.success.main:"subflow"===a.type?l.palette.warning.main:"resource"===a.type?p.nH:l.palette.info.main}`,cursor:"pointer","&:hover":{boxShadow:3}},onClick:()=>e(a.type,b),children:[(0,d.jsxs)(g.default,{display:"flex",alignItems:"center",gap:1,mb:1,children:[(a=>{switch(a){case"process":default:return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.secondary.main,borderRadius:"50%"}});case"finish":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.success.main,borderRadius:"50%"}});case"mcp":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.info.main,borderRadius:"50%"}});case"subflow":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:l.palette.warning.main,borderRadius:"50%"}});case"resource":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:p.nH,borderRadius:"50%"}});case"signal":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:p.vp,borderRadius:"50%"}});case"trigger":return(0,d.jsx)("div",{style:{width:24,height:24,backgroundColor:p.$Q,borderRadius:"50%"}})}})(a.type),(0,d.jsx)(h.default,{variant:"subtitle1",fontWeight:"bold",children:a.label})]}),(0,d.jsx)(h.default,{variant:"body2",color:"text.secondary",children:a.description})]},a.type))})]})}):null},X=(0,l.Ay)("div")(({theme:a})=>({width:"100%",height:"80vh",border:`1px solid ${a.palette.divider}`,borderRadius:"4px",background:a.palette.background.paper,position:"relative"})),Y=(0,e.forwardRef)((a,b)=>{let c=(0,k.A)(),{nodes:f,edges:g,onNodesChange:h,onEdgesChange:l,onDrop:p,onDragOver:q,onInit:r,reactFlowWrapper:s,onEditNode:t,onEditEdge:u}=a,{contextMenu:v,selectedElements:w,closeContextMenu:x,handleDelete:y,onNodeContextMenu:z,onEdgeContextMenu:B,onPaneContextMenu:E,onSelectionContextMenu:I}=function(a){let{deleteElements:b}=(0,i.VH)(),[c,d]=(0,e.useState)({open:!1,position:{x:0,y:0}}),[f,g]=(0,e.useState)({nodes:[],edges:[]});(0,i.p4)({onChange:({nodes:a,edges:b})=>{let c=a.map(a=>a.id),d=b.map(a=>a.id);F.debug(`Selection changed: ${c.length} nodes, ${d.length} edges selected`),g({nodes:c,edges:d})}});let h=(0,e.useCallback)((a,b,c,e)=>{a.preventDefault(),b?F.debug(`Context menu opened for node: ${b}`):c?F.debug(`Context menu opened for edge: ${c}`):e?F.debug("Context menu opened for the current selection"):F.debug(`Context menu opened on canvas at (${a.clientX}, ${a.clientY})`),d({open:!0,position:{x:a.clientX,y:a.clientY},nodeId:b,edgeId:c,selection:e})},[]),j=(0,e.useCallback)(()=>{F.debug("Context menu closed"),d(a=>({...a,open:!1}))},[]),k=(0,e.useCallback)(()=>{if(c.selection)F.debug("handleDelete: Deleting the current selection"),b({nodes:f.nodes.map(a=>({id:a})),edges:f.edges.map(a=>({id:a}))});else if(c.nodeId){if(F.debug(`handleDelete: Attempting to delete node ${c.nodeId}`),!function(a,b){let c=D(a,b);return!!c&&"start"!==c.type}(c.nodeId,a)){F.warn(`Cannot delete Start node: ${c.nodeId}`),alert("Start nodes cannot be deleted");return}b({nodes:[{id:c.nodeId}]})}else c.edgeId&&(F.debug(`handleDelete: Deleting edge ${c.edgeId}`),b({edges:[{id:c.edgeId}]}))},[c,b,a,f]),l=(0,e.useCallback)((a,b)=>{h(a,b.id)},[h]),m=(0,e.useCallback)((a,b)=>{h(a,void 0,b.id)},[h]),n=(0,e.useCallback)(a=>{h(a)},[h]),o=(0,e.useCallback)(a=>{h(a,void 0,void 0,!0)},[h]);return{contextMenu:c,selectedElements:f,onContextMenu:h,closeContextMenu:j,handleDelete:k,onNodeContextMenu:l,onEdgeContextMenu:m,onPaneContextMenu:n,onSelectionContextMenu:o}}(f),{deleteElements:J}=(0,i.VH)(),K=(0,i.PI)(),L=(0,e.useRef)(null),[M,N]=(0,e.useState)(null),[Y,Z]=(0,e.useState)({open:!1,position:null}),$=(0,e.useCallback)(a=>[...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),{type:"add",item:{...a,selected:!0}}],[f]);(0,e.useEffect)(()=>{if(!t)return;let a=a=>{if(a.detail&&a.detail.nodeId){let b=D(a.detail.nodeId,f);b&&t(b)}};return document.addEventListener("editNode",a),()=>{document.removeEventListener("editNode",a)}},[f,t]);let _=(0,e.useCallback)(a=>{if(!a.sourceHandle||!a.targetHandle)return void Q.error("Invalid connection: Missing source or target handle",a);let b=K.getState().connection.fromHandle?.type==="target";if(!(0,G.JL)(a,f,g))return;let d=(0,G.wn)(a,f);if(d.data?.edgeType==="standard"){let d=a=>a.data?.edgeType!=="mcp",e=a=>!!a.data?.bidirectional,h=g.find(b=>d(b)&&b.source===a.source&&b.target===a.target),i=g.find(b=>d(b)&&b.source===a.target&&b.target===a.source),k=a=>{Q.info(`Merging reverse connection into bidirectional edge ${a.id}`),l([{type:"replace",id:a.id,item:{...a,data:{...a.data,bidirectional:!0},markerStart:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}}])};if(b){let a=h??i;return a?void(!e(a)&&(0,G.y2)(a,f,g)&&k(a)):void Q.info("Connection drawn from a top handle is only allowed to convert an existing edge to bidirectional")}if(h&&e(h))return;if(i){!e(i)&&(0,G.y2)(i,f,g)&&k(i);return}}l([...(0,G.Cm)(d,g).map(a=>({type:"remove",id:a})),{type:"add",item:d}])},[f,g,l,K,c.palette.text.secondary]),aa=(0,e.useCallback)(a=>(0,G.p9)(a,f,g),[f,g]);(0,e.useEffect)(()=>{let a=a=>{let{edgeId:b,waypoints:c}=a.detail,d=g.find(a=>a.id===b);if(!d)return;let{waypoint:e,...f}=d.data??{};l([{type:"replace",id:b,item:{...d,data:{...f,waypoints:c??void 0}}}])};return document.addEventListener(C.R,a),()=>document.removeEventListener(C.R,a)},[g,l]);let ab=(0,e.useCallback)(async({nodes:a,edges:b})=>{let c=a.filter(a=>"start"!==a.type),d=new Set(c.map(a=>a.id)),e=new Set(a.map(a=>a.id)),f=b.filter(a=>!!(a.selected||d.has(a.source)||d.has(a.target))||!(e.has(a.source)||e.has(a.target))),g=c.filter(a=>"trigger"===a.type);return g.length>0&&await Promise.all(g.map(async a=>{let b=a.data?.properties?.executionId;if("string"==typeof b&&b)try{await o.P.update(b,{enabled:!1})}catch(a){console.warn("TriggerNode: failed to disarm PlannedExecution",b,a)}})),(0!==c.length||0!==f.length)&&{nodes:c,edges:f}},[]),ac=(0,e.useCallback)(a=>{N(a),r&&r(a)},[r]);(0,e.useEffect)(()=>{let a=a=>{if(!a.detail||!M)return;let{nodeType:b,position:c}=a.detail,d=n.g.createNode(b,c);h($(d)),t&&t(d)};return document.addEventListener("addNodeFromPalette",a),()=>{document.removeEventListener("addNodeFromPalette",a)}},[M,h,$,t]);let ad=(0,e.useCallback)(()=>{if(v.nodeId&&t){let a=D(v.nodeId,f);a&&t(a)}else if(v.edgeId&&u){let a=g.find(a=>a.id===v.edgeId);a&&u(a)}},[v.nodeId,v.edgeId,f,g,t,u]),ae=(0,e.useCallback)(()=>{let a;if(!v.edgeId)return;let b=g.find(a=>a.id===v.edgeId);if(!b)return;if(b.data?.edgeType!=="standard")return void Q.debug(`Toggle bidirectional ignored for non-standard edge ${b.id}`);let d=!!b.data?.bidirectional;if(!d&&!(0,G.y2)(b,f,g))return void Q.info(`Edge ${b.id} cannot be made bidirectional (reverse direction is not a legal connection)`);let e={...b.data??{},bidirectional:!d};if(d){let{markerStart:c,...d}=b;a={...d,data:e}}else a={...b,data:e,markerStart:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}};l([{type:"replace",id:b.id,item:a}])},[v.edgeId,g,f,l,c.palette.text.secondary]),af=(0,e.useCallback)((a,b)=>{a.preventDefault(),t&&t(b)},[t]),ag=(0,e.useCallback)((a,b)=>{let{fromNode:c,fromHandle:d,toHandle:e}=b;if(!c||!d?.id||!M)return void Q.debug("onConnectEnd: No valid connection start data");Q.debug(`onConnectEnd: Connection ended from node ${c.id}, handle ${d.id}`);let f="subflow"===c.type&&g.some(a=>{let b=a.data;return b?.edgeType!=="mcp"&&b?.edgeType!=="resource"&&(a.source===c.id||a.target===c.id&&!!b?.bidirectional)}),h=!!a.target?.closest?.(".react-flow__pane");if(!function(a){let{fromNodeType:b,fromHandleType:c,fromHandleId:d,landedOnHandle:e,droppedOnPane:f,subflowHasOutgoing:g}=a;return!e&&!!f&&!!d&&("target"!==c||!!(0,H.z5)(d))&&("subflow"!==b||"source"!==c||!g)}({fromNodeType:c.type,fromHandleType:d.type,fromHandleId:d.id,landedOnHandle:!!e,droppedOnPane:h,subflowHasOutgoing:f}))return;let i=a instanceof MouseEvent?a:a.changedTouches[0],j=M.screenToFlowPosition({x:i.clientX,y:i.clientY});Q.debug(`onConnectEnd: Connection dropped on pane at position (${j.x}, ${j.y})`),Z({open:!0,position:j,sourceNodeId:c.id,sourceNodeType:c.type,sourceHandleId:d.id})},[M,g]),ah=(0,e.useCallback)((a,b)=>{Q.debug(`handleNodeTypeSelection: Selected node type ${a} at position (${b.x}, ${b.y})`);let c=n.g.createNode(a,b);h($(c));let{sourceNodeId:d,sourceHandleId:e}=Y,i=d?D(d,f):void 0;if(i&&e){let b=(0,H.CW)(a,e),d={source:i.id,sourceHandle:e,target:c.id,targetHandle:b};if(Q.debug(`handleNodeTypeSelection: Creating connection from ${d.source} to ${d.target}`),(0,G.JL)(d,[...f,c],g)){let a=(0,G.wn)(d,[...f,c]);l([...(0,G.Cm)(a,g).map(a=>({type:"remove",id:a})),{type:"add",item:a}]),Q.debug(`handleNodeTypeSelection: Edge created with id ${a.id}`)}}Z({open:!1,position:null}),t&&t(c)},[Y,f,g,$,h,l,t]),ai=(0,e.useCallback)(()=>{Q.debug("handleCloseNodeSelectionModal: Closing node selection modal"),Z({open:!1,position:null})},[]),aj=(0,e.useCallback)(()=>{let a=new Set(w.nodes),b=f.filter(b=>a.has(b.id)&&"start"!==b.type);if(0===b.length)return!1;let c=new Set(b.map(a=>a.id)),d=g.filter(a=>c.has(a.source)&&c.has(a.target));return T({nodes:JSON.parse(JSON.stringify(b)),edges:JSON.parse(JSON.stringify(d))}),Q.debug(`Copied ${b.length} node(s) and ${d.length} edge(s)`),!0},[w,f,g]),ak=(0,e.useCallback)(()=>{let a=S;if(!a)try{let b=localStorage.getItem(R);b&&(a=JSON.parse(b))}catch(a){Q.warn("Could not read flow clipboard from localStorage",a)}if(!a||!a.nodes||0===a.nodes.length)return void Q.debug("Paste requested but clipboard is empty");let b=new Map;a.nodes.forEach(a=>b.set(a.id,(0,m.A)()));let c=a.nodes.map(a=>({...a,id:b.get(a.id),position:{x:(a.position?.x??0)+40,y:(a.position?.y??0)+40},selected:!0,data:{...a.data}})),d=(a.edges||[]).filter(a=>b.has(a.source)&&b.has(a.target)).map(a=>({...a,id:(0,m.A)(),source:b.get(a.source),target:b.get(a.target),selected:!1}));h([...f.filter(a=>a.selected).map(a=>({type:"select",id:a.id,selected:!1})),...c.map(a=>({type:"add",item:a}))]),d.length>0&&l(d.map(a=>({type:"add",item:a}))),Q.info(`Pasted ${c.length} node(s) and ${d.length} edge(s)`)},[f,h,l]),al=(0,e.useCallback)(a=>{let b=a.ctrlKey||a.metaKey,c=a.key.toLowerCase();if(b&&"c"===c){aj()&&a.preventDefault();return}if(b&&"x"===c){aj()&&(a.preventDefault(),J({nodes:w.nodes.map(a=>({id:a})),edges:w.edges.map(a=>({id:a}))}));return}if(b&&"v"===c){a.preventDefault(),ak();return}},[aj,ak,J,w]),am=(0,e.useCallback)(()=>{if(v.nodeId&&!w.nodes.includes(v.nodeId)){let a=f.find(a=>a.id===v.nodeId);a&&"start"!==a.type&&(T({nodes:JSON.parse(JSON.stringify([a])),edges:[]}),Q.debug("Copied right-clicked node to clipboard"));return}aj()},[v.nodeId,w,f,aj]),an=(0,e.useMemo)(()=>{if(S)return!0;try{return!!localStorage.getItem(R)}catch{return!1}},[v.open]),ao=(0,e.useMemo)(()=>{if(v.selection){let a=new Set(w.nodes);return f.some(b=>a.has(b.id)&&"start"!==b.type)}if(v.nodeId){let a=f.find(a=>a.id===v.nodeId);return!!a&&"start"!==a.type}return!1},[v.selection,v.nodeId,w,f]);return(0,d.jsxs)(X,{ref:a=>{b&&("function"==typeof b?b(a):b.current=a),s&&(s.current=a),L.current=a},children:[(0,d.jsxs)(i.Gc,{nodes:f,edges:g,nodeTypes:U,edgeTypes:V,defaultEdgeOptions:(0,e.useMemo)(()=>({type:"custom",animated:!0,style:{stroke:c.palette.text.secondary,strokeWidth:2},markerEnd:{type:j.TG.ArrowClosed,width:20,height:20,color:c.palette.text.secondary}}),[c.palette.text.secondary]),connectionLineType:j.Do.SmoothStep,connectionMode:j.WZ.Loose,isValidConnection:aa,onNodesChange:h,onEdgesChange:l,onConnect:_,onBeforeDelete:ab,deleteKeyCode:["Backspace","Delete"],onDrop:p,onDragOver:q,onInit:ac,onNodeContextMenu:z,onEdgeContextMenu:B,onPaneContextMenu:E,onSelectionContextMenu:I,onKeyDown:al,onNodeDoubleClick:af,onConnectEnd:ag,tabIndex:0,fitView:!0,attributionPosition:"bottom-right",minZoom:.1,maxZoom:2,snapToGrid:!0,snapGrid:[15,15],connectOnClick:!1,children:[(0,d.jsx)(O,{}),(0,d.jsx)(P,{})]}),(0,d.jsx)(A,{open:v.open,position:v.position,onClose:x,onDelete:y,onEditProperties:ad,onToggleBidirectional:ae,onCopy:am,onPaste:ak,canPaste:an,canCopy:ao,nodeId:v.nodeId,selection:v.selection,edgeId:v.edgeId}),(0,d.jsx)(W,{open:Y.open,position:Y.position,onClose:ai,onSelectNodeType:ah,sourceNodeType:Y.sourceNodeType,sourceHandleId:Y.sourceHandleId})]})});Y.displayName="Canvas";let Z=Y},61220:(a,b,c)=>{c.d(b,{A:()=>P});var d=c(21124),e=c(38301),f=c(19815);async function g(a,b={}){return{text:"Speech recognition is only available in browser environments",success:!1,error:"Server-side transcription is not supported"}}c(4580),(0,f.h)("frontend/services/transcription");var h=c(49938),i=c(54573),j=c(81637),k=c(79515),l=c(44079),m=c(41893),n=c(37674),o=c(43312),p=c(95587),q=c(77028),r=c(40512),s=c(83899),t=c(52327),u=c(8521),v=c(19925),w=c(68730),x=c(70011),y=c(9258),z=c(73245),A=c(30137),B=c(88970),C=c(36698),D=c(12033),E=c(73821),F=c(46973),G=c(95791),H=c(60839),I=c(57361);let J=new Set(["start","process","subflow"]),K=a=>a.type??a.data?.type,L=({flow:a,selectedNodeId:b,onSelect:c,onClose:f})=>{let g=(0,H.A)(),h=(0,e.useMemo)(()=>(a?.nodes||[]).map(a=>{let c=J.has(K(a)||""),d=a.id===b;return{...a,draggable:!1,selectable:!1,style:{...a.style||{},opacity:c?1:.35,cursor:c?"pointer":"default",borderRadius:8,boxShadow:d?`0 0 0 3px ${g.palette.primary.main}`:void 0,transition:"box-shadow 120ms ease"}}}),[a?.nodes,b,g.palette.primary.main]),i=(0,e.useMemo)(()=>(a?.edges||[]).filter(a=>a.source&&a.target&&a.sourceHandle&&a.targetHandle),[a?.edges]),j=(0,e.useMemo)(()=>({type:"custom",animated:!1,style:{stroke:g.palette.text.secondary,strokeWidth:2},markerEnd:{type:F.TG.ArrowClosed,width:20,height:20,color:g.palette.text.secondary}}),[g.palette.text.secondary]);return(0,d.jsx)(G.Gc,{nodes:h,edges:i,nodeTypes:I.c_,edgeTypes:I.nd,defaultEdgeOptions:j,connectionLineType:F.Do.SmoothStep,fitView:!0,minZoom:.1,maxZoom:2,onNodeClick:(a,b)=>{J.has(K(b)||"")&&(c(b.id),f())},nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,deleteKeyCode:null,proOptions:{hideAttribution:!0},children:(0,d.jsx)(G.VS,{})})},M=({open:a,flow:b,selectedNodeId:c,allowAutomatic:e,onSelect:f,onClose:g})=>{let h=!!(b&&(b.nodes?.length??0)>0);return(0,d.jsxs)(r.A,{open:a,onClose:g,maxWidth:"lg",fullWidth:!0,children:[(0,d.jsx)(s.A,{children:"Pick a node to run on"}),(0,d.jsxs)(t.A,{dividers:!0,sx:{p:0},children:[(0,d.jsx)(j.default,{sx:{px:2,pt:1.5},children:(0,d.jsxs)(k.default,{variant:"caption",color:"text.secondary",children:["Click a ",(0,d.jsx)("strong",{children:"Start"}),", ",(0,d.jsx)("strong",{children:"Process"}),", or"," ",(0,d.jsx)("strong",{children:"Subflow"})," node. Other nodes and edges can't be picked."]})}),(0,d.jsx)(j.default,{sx:{height:"62vh",width:"100%"},children:h?(0,d.jsx)(G.Ln,{children:(0,d.jsx)(L,{flow:b,selectedNodeId:c,onSelect:f,onClose:g})}):(0,d.jsx)(j.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:"No flow to display."})})})]}),(0,d.jsxs)(v.A,{children:[e&&(0,d.jsx)(w.A,{startIcon:(0,d.jsx)(E.A,{}),onClick:()=>{f(null),g()},children:"Automatic"}),(0,d.jsx)(j.default,{sx:{flex:1}}),(0,d.jsx)(w.A,{onClick:g,children:"Cancel"})]})]})};var N=c(2117);let O=(0,f.h)("frontend/components/Chat/ChatInput"),P=({onSendMessage:a,disabled:b=!1,requireApproval:c=!1,onRequireApprovalChange:f,executeInDebugger:E=!1,onExecuteInDebuggerChange:F,availableNodes:G=[],flow:H=null,currentNodeId:I=null,nodeOverrideActive:J=!1,onSelectNode:K,editing:L=null,onEditingContentChange:P,onEditingNodeChange:Q,onSaveEdit:R,onCancelEdit:S})=>{let{settings:T}=(0,h.rX)(),[U,V]=(0,e.useState)(""),[W,X]=(0,e.useState)([]),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(0),[aa,ab]=(0,e.useState)(null),ac=(0,e.useRef)(null),ad=(0,e.useRef)(null),ae=(0,e.useRef)([]),[af,ag]=(0,e.useState)(!1),ah=!!L,ai=ah?L?.nodeId??null:I,aj=(a=>G.find(b=>b.id===a)?.label||(a?`${a.substring(0,6)}...`:"Start"))(ai),[ak,al]=(0,e.useState)(!1),[am,an]=(0,e.useState)(""),[ao,ap]=(0,e.useState)(""),[aq,ar]=(0,e.useState)("document"),[as,at]=(0,e.useState)(!1),[au,av]=(0,e.useState)(0),[aw,ax]=(0,e.useState)(""),ay=()=>{L&&L.content.trim()&&R?.()},az=()=>{(U.trim()||W.length>0)&&(O.debug("Sending message",{messageLength:U.length,attachmentsCount:W.length}),a(U,W),V(""),X([]))},aA=async a=>{let b=a.target.files;if(!b||0===b.length)return;let c=b[0];O.debug("File selected",{fileName:c.name,fileSize:c.size,fileType:c.type}),ap(`Processing ${c.name}`),ar("document"),an(""),at(!0),al(!0);try{let a=await aB(c);O.debug("File read successfully",{contentLength:a.length}),an(a),at(!1)}catch(a){O.error("Error reading file:",a),an("Error reading file. Please try again with a text file."),at(!1)}ac.current&&(ac.current.value="")},aB=a=>new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{a.target?.result?b(a.target.result):c(Error("Failed to read file"))},d.onerror=()=>{c(Error("Error reading file"))},d.readAsText(a)}),aC=async()=>{O.debug("Starting audio recording");try{let a=await navigator.mediaDevices.getUserMedia({audio:!0});O.debug("Audio stream obtained successfully"),ae.current=[];let b=new MediaRecorder(a);ad.current=b,b.ondataavailable=a=>{a.data.size>0&&ae.current.push(a.data)},b.onstop=async()=>{let b=new Blob(ae.current,{type:"audio/wav"});ap("Audio Recording"),ar("audio"),an(""),at(!0),al(!0);try{if((T?.speech||{enabled:!0,modelSize:"base",autoDownload:!1}).enabled){ax("Initializing transcription..."),av(0);let a=await g(b,{onProgress:av,onStatusChange:ax,language:navigator.language});if(a.success){let b=a.text;an(b),O.debug("Transcription successful",{textLength:a.text.length,engine:a.engine})}else an(`Error transcribing audio: ${a.error}.`),O.error("Transcription failed",{error:a.error})}else an("Speech recognition is disabled in settings. Enable it to get automatic transcriptions.")}catch(a){O.error("Error handling audio recording",{error:a}),an(`Failed to process audio: ${a}`)}finally{at(!1),a.getTracks().forEach(a=>a.stop())}},b.start(),Z(!0);let c=setInterval(()=>{_(a=>a+1)},1e3);ab(c)}catch(a){O.error("Error starting recording:",a),alert("Could not access microphone. Please check permissions.")}};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.A,{elevation:3,sx:{p:2,display:"flex",flexDirection:"column",borderRadius:2},children:[W.length>0&&(0,d.jsx)(j.default,{sx:{mb:2,display:"flex",flexWrap:"wrap",gap:1},children:W.map(a=>(0,d.jsxs)(i.A,{variant:"outlined",sx:{p:1,display:"flex",alignItems:"center",borderRadius:1,bgcolor:"background.default"},children:["image"===a.type?(0,d.jsx)(j.default,{component:"img",src:a.content,alt:a.originalName||"pasted image",sx:{width:40,height:40,objectFit:"cover",borderRadius:1,mr:1}}):"document"===a.type?(0,d.jsx)(y.A,{fontSize:"small",sx:{mr:1}}):(0,d.jsx)(z.A,{fontSize:"small",sx:{mr:1}}),(0,d.jsx)(k.default,{variant:"body2",noWrap:!0,sx:{maxWidth:150},children:a.originalName||`${a.type} attachment`}),(0,d.jsx)(l.A,{size:"small",onClick:()=>(a=>{O.debug("Removing attachment",{id:a}),X(W.filter(b=>b.id!==a))})(a.id),sx:{ml:1},children:(0,d.jsx)(A.A,{fontSize:"small"})})]},a.id))}),ah&&(0,d.jsxs)(j.default,{sx:{mb:1,display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(m.A,{icon:(0,d.jsx)(D.A,{}),label:"Editing message",size:"small",color:"warning",variant:"outlined"}),(0,d.jsx)(k.default,{variant:"caption",color:"text.secondary",children:"Enter to save \xb7 Esc to cancel"})]}),(0,d.jsxs)(j.default,{sx:{display:"flex",alignItems:"flex-end"},children:[(0,d.jsx)(n.A,{fullWidth:!0,multiline:!0,maxRows:ah?12:4,"data-tour":"chat-input",placeholder:ah?"Edit message...":"Type a message...",value:ah?L?.content??"":U,onChange:a=>{ah?P?.(a.target.value):V(a.target.value)},onKeyDown:a=>{"Enter"!==a.key||a.shiftKey?"Escape"===a.key&&ah&&(a.preventDefault(),S?.()):(a.preventDefault(),ah?ay():(O.debug("Enter key pressed, sending message"),az()))},onPaste:a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind&&d.type.startsWith("image/")){let a=d.getAsFile();a&&c.push(a)}}0!==c.length&&(a.preventDefault(),O.debug("Pasting image attachment(s)",{count:c.length}),c.forEach(a=>{let b=new FileReader;b.onload=b=>{let c=b.target?.result;if("string"!=typeof c)return;let d=(a.type.split("/")[1]||"png").split("+")[0];X(b=>[...b,{id:(0,N.A)(),type:"image",content:c,originalName:a.name&&!/^image\.\w+$/i.test(a.name)?a.name:`Pasted image.${d}`}])},b.onerror=()=>O.error("Failed to read pasted image"),b.readAsDataURL(a)}))},disabled:!ah&&b,variant:"outlined",autoFocus:ah,sx:{mr:1},InputProps:{sx:{borderRadius:2}}}),!ah&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.A,{title:"Attach document",children:(0,d.jsx)(l.A,{color:"primary",onClick:()=>{O.debug("File selection triggered"),ac.current?.click()},disabled:b||Y,children:(0,d.jsx)(y.A,{})})}),(0,d.jsx)("input",{type:"file",ref:ac,onChange:aA,style:{display:"none"},accept:".txt,.md,.json,.csv,.html,.xml,.js,.ts,.jsx,.tsx,.css,.scss"}),(0,d.jsx)(o.A,{title:Y?"Stop recording":"Record audio",children:(0,d.jsxs)(l.A,{color:Y?"error":"primary",onClick:Y?()=>{O.debug("Stopping audio recording"),ad.current&&"inactive"!==ad.current.state&&(ad.current.stop(),Z(!1),aa&&(clearInterval(aa),ab(null)),_(0))}:aC,disabled:b,children:[(0,d.jsx)(z.A,{}),Y&&(0,d.jsx)(k.default,{variant:"caption",sx:{position:"absolute",bottom:-15,fontSize:"0.7rem",color:"error.main"},children:(a=>{let b=Math.floor(a/60);return`${b.toString().padStart(2,"0")}:${(a%60).toString().padStart(2,"0")}`})($)})]})})]}),ah?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.A,{title:"Save edit",children:(0,d.jsx)("span",{children:(0,d.jsx)(l.A,{color:"primary",onClick:ay,disabled:!L?.content.trim(),children:(0,d.jsx)(C.A,{})})})}),(0,d.jsx)(o.A,{title:"Cancel edit",children:(0,d.jsx)(l.A,{color:"default",onClick:()=>S?.(),children:(0,d.jsx)(A.A,{})})})]}):(0,d.jsx)(o.A,{title:"Send message",children:(0,d.jsx)("span",{children:(0,d.jsx)(l.A,{color:"primary",onClick:az,disabled:b||!U.trim()&&0===W.length,children:(0,d.jsx)(x.A,{})})})})]})," ",(f||(K||ah)&&G.length>0)&&(0,d.jsxs)(j.default,{sx:{mt:1,display:"flex",justifyContent:"flex-start",alignItems:"center",flexWrap:"wrap",gap:1},children:[(K||ah)&&G.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.A,{title:ah?"Node this message runs on — click to pick from the flow":J?"Next message will run on this manually picked node — click to change":"Node the next message will run on — click to pick from the flow",children:(0,d.jsx)(m.A,{icon:(0,d.jsx)(B.A,{}),label:aj,size:"small",color:ah||J?"primary":"default",variant:ah||J?"filled":"outlined",onClick:()=>ag(!0),disabled:!ah&&b})}),(0,d.jsx)(M,{open:af,flow:H,selectedNodeId:ai,allowAutomatic:!ah,onSelect:a=>{ah?Q?.(a):K?.(a)},onClose:()=>ag(!1)})]}),f&&(0,d.jsx)(p.A,{control:(0,d.jsx)(q.A,{checked:c,onChange:a=>f(a.target.checked),size:"small",disabled:b}),label:(0,d.jsx)(k.default,{variant:"caption",children:"Require Tool Approvals"}),sx:{mr:"auto"}}),F&&(0,d.jsx)(p.A,{control:(0,d.jsx)(q.A,{checked:E,onChange:a=>F(a.target.checked),size:"small",disabled:b}),label:(0,d.jsx)(k.default,{variant:"caption",children:"Execute in Debugger"}),sx:{ml:2}})]})," "]})," ",(0,d.jsxs)(r.A,{open:ak,onClose:()=>!as&&al(!1),maxWidth:"md",fullWidth:!0,children:[(0,d.jsxs)(s.A,{children:[ao,!as&&(0,d.jsx)(l.A,{"aria-label":"close",onClick:()=>al(!1),sx:{position:"absolute",right:8,top:8},children:(0,d.jsx)(A.A,{})})]}),(0,d.jsx)(t.A,{dividers:!0,children:as?(0,d.jsxs)(j.default,{sx:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center",p:4},children:[(0,d.jsx)(u.default,{value:"audio"===aq&&au?au:void 0,variant:"audio"===aq&&au>0?"determinate":"indeterminate"}),"audio"===aq&&(0,d.jsxs)(j.default,{sx:{mt:2,textAlign:"center"},children:[(0,d.jsx)(k.default,{variant:"body2",children:aw||"Processing audio..."}),au>0&&(0,d.jsxs)(k.default,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[Math.round(au),"%"]})]})]}):(0,d.jsx)(n.A,{multiline:!0,fullWidth:!0,minRows:10,maxRows:20,value:am,onChange:a=>an(a.target.value),variant:"outlined",placeholder:"document"===aq?"Document content":"Audio transcription"})}),(0,d.jsxs)(v.A,{children:[(0,d.jsx)(w.A,{onClick:()=>al(!1),disabled:as,children:"Cancel"}),(0,d.jsx)(w.A,{onClick:()=>{O.debug("Adding attachment",{type:aq,titleLength:ao.length}),X([...W,{id:(0,N.A)(),type:aq,content:am,originalName:ao}]),al(!1)},variant:"contained",disabled:as||!am.trim(),children:"Add to Message"})]})]})]})}},74855:(a,b,c)=>{c.d(b,{MG:()=>e,Ud:()=>f});var d=c(46973);d.TG.ArrowClosed;let e={type:"resourceEdge",animated:!1,style:{stroke:"#009688",strokeWidth:2},markerEnd:{type:d.TG.ArrowClosed,width:20,height:20,color:"#009688"}},f={type:"mcpEdge",animated:!1,style:{stroke:"#1976d2",strokeWidth:2},markerEnd:{type:d.TG.ArrowClosed,width:20,height:20,color:"#1976d2"},markerStart:{type:d.TG.ArrowClosed,width:20,height:20,color:"#1976d2"}}},90430:(a,b,c)=>{c.d(b,{Cm:()=>l,JL:()=>i,p9:()=>h,wn:()=>j,y2:()=>k});var d=c(74855),e=c(36627);function f(a,b,c){return b.filter(b=>!(0,e.BY)(b)&&(b.source===a?b.target!==c:!!(b.target===a&&b.data?.bidirectional)&&b.source!==c))}function g(a,b,c=[]){if(!a.source||!a.target||!a.sourceHandle||!a.targetHandle)return"Missing source, target, or handles";let d=b.find(b=>b.id===a.source),h=b.find(b=>b.id===a.target);if(!d||!h)return"Source or target node not found";let i=(0,e.vC)(d.type,a.sourceHandle,h.type,a.targetHandle);return i||("subflow"===d.type&&f(d.id,c,a.target).length>0?"Subflow nodes can only have one outgoing connection":null)}function h(a,b,c=[]){return null===g(a,b,c)}function i(a,b,c=[]){let d=g(a,b,c);return!d||(console.error(`Invalid connection: ${d}`,a),!1)}function j(a,b,c){let f=b.find(b=>b.id===a.source),g=b.find(b=>b.id===a.target),h=a.sourceHandle,i=a.targetHandle,j=f?.type==="mcp"||g?.type==="mcp"||(0,e.z5)(h)||(0,e.z5)(i),k=!j&&(f?.type==="resource"||g?.type==="resource"||(0,e.vM)(h)||(0,e.vM)(i)),l=`${a.source}:${h}->${a.target}:${i}`;return j?{id:l,...a,type:"mcpEdge",data:{edgeType:"mcp"},animated:!1,markerEnd:d.Ud.markerEnd,markerStart:d.Ud.markerStart,style:d.Ud.style}:k?{id:l,...a,type:"resourceEdge",data:{edgeType:"resource"},animated:!1,markerEnd:d.MG.markerEnd,style:d.MG.style}:{id:l,...a,type:"custom",data:{edgeType:"standard",...c?{condition:c}:{}},animated:!0}}function k(a,b,c=[]){let d=b.find(b=>b.id===a.source),g=b.find(b=>b.id===a.target);return!!d&&!!g&&("subflow"!==g.type||!(f(g.id,c,a.source).length>0))&&null===(0,e.vC)(g.type,null,d.type,null)}function l(a,b){let c=a=>a.data?.edgeType,d=a=>"mcp"===c(a),e=a=>"resource"===c(a);return b.filter(b=>b.id===a.id||(d(a)?d(b)&&(b.source===a.source&&b.target===a.target||b.source===a.target&&b.target===a.source):e(a)?e(b)&&b.source===a.source&&b.target===a.target:!d(b)&&!e(b)&&b.source===a.source&&b.target===a.target)).map(a=>a.id)}},96626:(a,b,c)=>{c.d(b,{A:()=>aj});var d=c(21124),e=c(38301),f=c.n(e),g=c(79515),h=c(81637),i=c(8521),j=c(43312),k=c(41893),l=c(99561),m=c(95587),n=c(67191),o=c(44079),p=c(54573),q=c(61628),r=c(19787),s=c(95803),t=c(77028),u=c(82605),v=c(50062),w=c(7675),x=c(94367),y=c(38233),z=c(37674),A=c(68730),B=c(29231),C=c(86374),D=c(74419),E=c(7118),F=c(50553),G=c(84233),H=c(45798),I=c(18954),J=c(96955),K=c(16348),L=c(13665),M=c(9258),N=c(73245),O=c(17332),P=c(84049),Q=c(56685),R=c(82543),S=c(22797),T=c(12033),U=c(24276),V=c(885),W=c(91353),X=c(82571),Y=c(98502);function Z(a){return!!a&&(a.startsWith(Y.n9)||"handoff"===a)}var $=c(34641);let _=(0,c(19815).h)("frontend/components/Chat/ChatMessages");function aa(a){return"assistant"===a.role&&"tool_calls"in a&&Array.isArray(a.tool_calls)}function ab(a){if("tool"!==a.role||"string"!=typeof a.content)return!1;try{return JSON.parse(a.content)?.handoff===!0}catch{return!1}}let ac={p:a=>(0,d.jsx)(g.default,{variant:"body1",sx:{mb:.5,whiteSpace:"pre-line"},children:a.children}),h1:a=>(0,d.jsx)(g.default,{variant:"h5",sx:{mt:2,mb:.5},children:a.children}),h2:a=>(0,d.jsx)(g.default,{variant:"h6",sx:{mt:2,mb:.5},children:a.children}),h3:a=>(0,d.jsx)(g.default,{variant:"subtitle1",sx:{mt:1.5,mb:.5},children:a.children}),h4:a=>(0,d.jsx)(g.default,{variant:"subtitle2",sx:{mt:1.5,mb:.5},children:a.children}),h5:a=>(0,d.jsx)(g.default,{variant:"body1",sx:{mt:1,mb:.5,fontWeight:"bold"},children:a.children}),h6:a=>(0,d.jsx)(g.default,{variant:"body2",sx:{mt:1,mb:.5,fontWeight:"bold"},children:a.children}),ul:a=>(0,d.jsx)(h.default,{component:"ul",sx:{pl:2,mb:1},children:a.children}),ol:a=>(0,d.jsx)(h.default,{component:"ol",sx:{pl:2,mb:1},children:a.children}),li:a=>(0,d.jsx)(h.default,{component:"li",sx:{mb:.5,whiteSpace:"pre-line"},children:a.children}),a:a=>(0,d.jsx)(g.default,{component:"a",sx:{color:"primary.main"},href:a.href,children:a.children}),blockquote:a=>(0,d.jsx)(h.default,{component:"blockquote",sx:{borderLeft:"4px solid",borderColor:"divider",pl:2,py:.5,my:1,bgcolor:"action.hover",borderRadius:"4px"},children:a.children}),code:({node:a,className:b,children:c,...e})=>/language-(\w+)/.exec(b||"")||b?(0,d.jsx)(h.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:c}):(0,d.jsx)(g.default,{component:"code",sx:{bgcolor:"action.hover",px:.5,py:.25,borderRadius:"4px",fontFamily:"monospace",wordBreak:"break-all"},children:c})},ad=({content:a,showRaw:b})=>b?(0,d.jsx)(h.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:a=>a.palette.divider,bgcolor:"action.hover",color:a=>a.palette.text.primary,overflow:"auto",maxHeight:"300px"},children:"string"==typeof a?a:"[Invalid tool content]"}):"string"!=typeof a?(0,d.jsx)(g.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[Invalid tool content]"}):(0,d.jsx)(h.default,{sx:{width:"100%",minWidth:0},children:(()=>{try{let b=JSON.parse(a);if(b&&Array.isArray(b.content))return(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:b.content.map((a,b)=>"text"===a.type?(0,d.jsx)(H.oz,{remarkPlugins:[I.A],children:a.text},b):"image"===a.type&&a.data&&a.mimeType?(0,d.jsx)("img",{src:`data:${a.mimeType};base64,${a.data}`,alt:`Tool Result Image ${b+1}`,style:{maxWidth:"100%",height:"auto",borderRadius:"4px",marginTop:"8px"}},b):"audio"===a.type&&a.data&&a.mimeType?(0,d.jsx)("audio",{controls:!0,src:`data:${a.mimeType};base64,${a.data}`,style:{width:"100%",marginTop:"8px"},children:"Your browser does not support the audio element."},b):(0,d.jsx)(h.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.8rem",p:1,borderRadius:1,border:1,borderColor:a=>a.palette.divider,bgcolor:"action.hover",color:a=>a.palette.text.primary,overflow:"auto",mt:1},children:`Unsupported content type: ${a.type}
2
- ${JSON.stringify(a,null,2)}`},b))});return(0,d.jsx)(H.oz,{remarkPlugins:[I.A],children:`\`\`\`json
3
- ${JSON.stringify(b,null,2)}
4
- \`\`\``})}catch(b){return(0,d.jsx)(H.oz,{remarkPlugins:[I.A],children:a})}})()}),ae=({pairs:a,messageId:b,onAppMessage:c,onUpdateModelContext:o,onRegisterAppTeardown:p,onOpenInCanvas:q})=>{let[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)({}),v=(a,c)=>a.toolCall.id||`tc-${b}-${c}`;return(0,d.jsxs)(h.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",color:"primary.main",mb:1},children:[(0,d.jsx)(P.A,{fontSize:"small",sx:{mr:1}}),(0,d.jsx)(g.default,{variant:"body2",children:1===a.length?"The assistant used a tool":`The assistant used ${a.length} tools`})]}),(0,d.jsx)(h.default,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:.5},children:a.map((a,b)=>{let c=v(a,b),e=function(a){if(!a)return"pending";if("string"==typeof a.content)try{let b=JSON.parse(a.content);if(b&&(!0===b.isError||null!=b.error))return"error"}catch{}return"done"}(a.result),g=r===c;return(0,d.jsxs)(f().Fragment,{children:[b>0&&(0,d.jsx)(h.default,{sx:{width:14,height:"2px",bgcolor:"divider",flexShrink:0}}),(0,d.jsx)(j.A,{title:g?"Hide call & result":"Show call & result",children:(0,d.jsx)(k.A,{icon:function(a){return"pending"===a?(0,d.jsx)(i.default,{size:14,thickness:6}):"error"===a?(0,d.jsx)(S.A,{fontSize:"small"}):(0,d.jsx)(R.A,{fontSize:"small"})}(e),label:(0,X.yo)(a.toolCall.function.name),size:"small",clickable:!0,variant:g?"filled":"outlined",color:"error"===e?"error":"pending"===e?"default":"primary",onClick:()=>s(g?null:c),sx:{maxWidth:"100%"}})})]},c)})}),a.map((a,b)=>{let e=v(a,b),f=a.toolCall.function.arguments;try{f=JSON.stringify(JSON.parse(a.toolCall.function.arguments),null,2)}catch(a){}let j=!!t[e];return(0,d.jsx)(l.A,{in:r===e,children:(0,d.jsxs)(h.default,{sx:{mt:1,p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.03)"},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,d.jsx)(P.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,d.jsx)(g.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Parameters"}),(0,d.jsx)(k.A,{label:`ID: ${a.toolCall.id?a.toolCall.id.substring(0,8):"N/A"}...`,size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]}),(0,d.jsx)(h.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:f}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",mt:1,mb:.5},children:[(0,d.jsx)(Q.A,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),(0,d.jsx)(g.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Result"}),a.result&&(0,d.jsx)(m.A,{control:(0,d.jsx)(n.A,{size:"small",checked:j,onChange:a=>u(b=>({...b,[e]:a.target.checked}))}),label:"Raw",sx:{ml:"auto",mr:0,"& .MuiTypography-root":{fontSize:"0.75rem"}}})]}),a.result?(0,d.jsx)(ad,{content:a.result.content,showRaw:j}):(0,d.jsxs)(g.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(i.default,{size:14,thickness:6})," Waiting for the tool to respond…"]}),a.result?.ui?.uri&&a.result.ui.serverName&&(0,d.jsx)($.Ay,{serverName:a.result.ui.serverName,uri:a.result.ui.uri,toolName:a.result.ui.toolName??a.toolCall.function.name,toolArgs:a.toolCall.function.arguments,toolResultContent:"string"==typeof a.result.content?a.result.content:void 0,toolCancelledReason:a.result.ui.cancelledReason,toolIsError:a.result.ui.isError,onAppMessage:c,onUpdateModelContext:o,onRegisterTeardown:p,teardownRegistrationKey:`${a.result.ui.serverName}::${a.result.ui.uri}::${e}`,onRequestDock:q?()=>q({serverName:a.result.ui.serverName,uri:a.result.ui.uri,toolName:a.result.ui.toolName??a.toolCall.function.name,toolArgs:a.toolCall.function.arguments,resultContent:"string"==typeof a.result.content?a.result.content:void 0,cancelledReason:a.result.ui.cancelledReason,isError:a.result.ui.isError}):void 0})]})},e)})]})},af=f().memo(function({message:a,nodeLabel:b,availableNodes:c,showRaw:e,toolCallPairs:f,onAppMessage:i,onUpdateModelContext:l,onRegisterAppTeardown:t,onOpenInCanvas:u,hoistedHandoffs:v,isBeingEdited:w,onMenuOpen:x,onToggleRaw:y}){var z;let A,B=a.depth??0;return(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",alignItems:"user"===a.role?"flex-end":"flex-start",opacity:a.disabled?.5:1,...B>0&&{pl:3*B,borderLeft:"2px solid",borderColor:"divider",ml:1}},children:[(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,d.jsxs)(g.default,{variant:"caption",color:"text.secondary",sx:{mr:1},children:["user"===a.role?"You":"assistant"===a.role?"Assistant":"tool"===a.role?"Tool":"System"," • ","number"!=typeof(z=a.timestamp)||isNaN(z)?(_.warn("formatTime received invalid timestamp:",z),"Invalid Date"):new Date(z).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})]}),a.processNodeId&&(0,d.jsx)(j.A,{title:`${b?`${b} — `:""}Process Node ID: ${a.processNodeId}`,children:(0,d.jsx)(k.A,{label:`Node: ${b||`${a.processNodeId.substring(0,6)}...`}`,size:"small",color:"primary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),B>0&&(0,d.jsx)(j.A,{title:`Nested subflow step (depth ${B})`,children:(0,d.jsx)(k.A,{label:"Subflow step",size:"small",color:"secondary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),a.disabled&&(0,d.jsx)(k.A,{label:"Disabled",size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem"}}),a.usage&&(0,d.jsx)(j.A,{title:`${a.usage.promptTokens.toLocaleString()} prompt + ${a.usage.completionTokens.toLocaleString()} completion tokens (provider-reported)`,children:(0,d.jsx)(k.A,{label:`${(A=a.usage.totalTokens)>=1e3?`${(A/1e3).toFixed(A>=1e5?0:1)}k`:`${A}`} tok`,size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),(0,d.jsx)(o.A,{size:"small",onClick:b=>x(b,a.id),sx:{ml:1},children:(0,d.jsx)(J.A,{fontSize:"small"})})]}),(0,d.jsxs)(p.A,{elevation:1,sx:{p:2,maxWidth:"75vw",borderRadius:2,bgcolor:"user"===a.role?"primary.light":"assistant"===a.role||"tool"===a.role?"background.paper":"info.light",color:"user"===a.role?"primary.contrastText":"assistant"===a.role||"tool"===a.role?"text.primary":"info.contrastText",position:"relative",borderLeft:"tool"===a.role?"4px solid":"none",borderColor:"tool"===a.role?"grey.400":"transparent",opacity:w?.55:1,outline:w?"2px dashed":"none",outlineColor:"warning.main",overflowWrap:"break-word",wordBreak:"break-word",overflow:"hidden"},children:[(0,d.jsxs)(d.Fragment,{children:["tool"!==a.role&&"string"==typeof a.content&&(0,d.jsx)(H.oz,{remarkPlugins:[I.A],components:ac,children:a.content}),"tool"!==a.role&&Array.isArray(a.content)&&(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:a.content.map((a,b)=>a?.type==="text"?(0,d.jsx)(H.oz,{remarkPlugins:[I.A],children:a.text},b):a?.type==="image_url"&&a.image_url?.url?(0,d.jsx)("img",{src:a.image_url.url,alt:`Image ${b+1}`,style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}},b):null)}),"tool"!==a.role&&"string"!=typeof a.content&&!Array.isArray(a.content)&&!aa(a)&&(0,d.jsx)(g.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[No text content]"})]}),(()=>{let b=[...aa(a)?a.tool_calls.filter(a=>{var b;return!!(b=a.function.name)&&(b.startsWith(Y.n9)||"handoff"===b)}):[],...v??[]];return(0,d.jsx)(h.default,{sx:{mt:1,display:"flex",flexWrap:"wrap",gap:.5},children:b.map((b,e)=>(0,d.jsx)(k.A,{size:"small",variant:"outlined",color:"secondary",icon:(0,d.jsx)(W.A,{fontSize:"small"}),label:`Handoff → ${function(a,b){let c=a.startsWith(Y.n9)?a.slice(Y.n9.length):a,d=c.replace(/_\d+$/,""),e=b.find(a=>{let b=(0,Y.RN)(a.label);return b===c||b===d});return e?.label?e.label:d.split("_").filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")||"target node"}(b.function.name,c)}`,sx:{maxWidth:"100%",fontWeight:500}},b.id||`handoff-${a.id}-${e}`))})})(),f&&f.length>0&&(0,d.jsx)(ae,{pairs:f,messageId:a.id,onAppMessage:i,onUpdateModelContext:l,onRegisterAppTeardown:t,onOpenInCanvas:u}),"tool"===a.role&&a.tool_call_id&&!ab(a)&&(0,d.jsxs)(h.default,{children:[(0,d.jsxs)(g.default,{variant:"body2",sx:{display:"flex",alignItems:"center",color:"text.secondary",mb:1},children:[(0,d.jsx)(Q.A,{fontSize:"small",sx:{mr:1}}),"The tool responded to the assistant"]}),(0,d.jsxs)(q.A,{defaultExpanded:!1,sx:{mb:.5,"&:before":{display:"none"},boxShadow:"none",bgcolor:"rgba(0, 0, 0, 0.02)"},children:[(0,d.jsx)(r.A,{expandIcon:(0,d.jsx)(O.A,{}),children:(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(Q.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,d.jsx)(g.default,{variant:"subtitle2",children:"Tool Result"}),(0,d.jsx)(k.A,{label:`ID: ${a.tool_call_id.substring(0,8)}...`,size:"small",color:"default",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}}),(0,d.jsx)(m.A,{control:(0,d.jsx)(n.A,{size:"small",checked:e,onChange:b=>y(a.id,b.target.checked),onClick:a=>a.stopPropagation()}),label:"Raw",sx:{mr:1,ml:"auto","& .MuiTypography-root":{fontSize:"0.75rem"}},onClick:a=>a.stopPropagation()})]})}),(0,d.jsx)(s.A,{sx:{pt:0,pb:1,overflow:"hidden"},children:(0,d.jsx)(ad,{content:a.content,showRaw:e})})]})]}),a.attachments&&a.attachments.length>0&&(0,d.jsxs)(h.default,{sx:{mt:1,pt:1,borderTop:"1px solid",borderColor:"divider"},children:[(0,d.jsx)(g.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"Attachments:"}),a.attachments.map(a=>"image"===a.type?(0,d.jsx)(h.default,{sx:{mb:.5},children:(0,d.jsx)("img",{src:a.content,alt:a.originalName||"image attachment",style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}})},a.id):(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",p:1,borderRadius:1,bgcolor:"rgba(0, 0, 0, 0.04)",mb:.5},children:["document"===a.type?(0,d.jsx)(M.A,{fontSize:"small",sx:{mr:1}}):(0,d.jsx)(N.A,{fontSize:"small",sx:{mr:1}}),(0,d.jsx)(g.default,{variant:"caption",sx:{wordBreak:"break-all"},children:a.originalName||`${a.type} attachment`})]},a.id))]})]})]})}),ag=({elicitation:a,onSubmit:b,onCancel:c})=>{let{elicitationId:f,message:i,requestedSchema:j}=a,k=j?.properties??{},l=Object.keys(k),[n,o]=(0,e.useState)(()=>{let a={};for(let b of l){let c=k[b];void 0!==c.default?a[b]=c.default:"boolean"===c.type?a[b]=!1:"number"===c.type||"integer"===c.type?a[b]=0:a[b]=""}return a}),q=(a,b)=>{o(c=>({...c,[a]:b}))};return(0,d.jsxs)(p.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"info.light",border:"1px solid",borderColor:"info.main",borderRadius:2},children:[(0,d.jsx)(g.default,{variant:"h6",sx:{mb:1},children:"Server needs more information"}),(0,d.jsx)(g.default,{variant:"body2",sx:{mb:2},children:i}),(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:l.map(a=>{let b=k[a],c=b.title||a,e=n[a];if("boolean"===b.type)return(0,d.jsx)(m.A,{control:(0,d.jsx)(t.A,{checked:!!e,onChange:b=>q(a,b.target.checked),size:"small"}),label:c},a);if(b.enum&&b.enum.length>0)return(0,d.jsxs)(u.A,{size:"small",sx:{minWidth:200},children:[(0,d.jsx)(v.A,{children:c}),(0,d.jsx)(w.A,{label:c,value:String(e??""),onChange:b=>q(a,b.target.value),children:b.enum.map((a,c)=>(0,d.jsx)(x.A,{value:a,children:b.enumNames?.[c]||a},a))}),b.description&&(0,d.jsx)(y.A,{children:b.description})]},a);let f="number"===b.type||"integer"===b.type;return(0,d.jsx)(z.A,{size:"small",label:c,type:f?"number":"text",value:String(e??""),helperText:b.description,inputProps:{minLength:b.minLength,maxLength:b.maxLength,min:b.minimum,max:b.maximum},onChange:b=>{if(f){let c=parseFloat(b.target.value);q(a,isNaN(c)?0:c)}else q(a,b.target.value)}},a)})}),(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:2},children:[(0,d.jsx)(A.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{c&&c(f)},disabled:!c,children:"Cancel"}),(0,d.jsx)(A.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{b&&b(f,n)},disabled:!b,children:"Submit"})]})]})},ah="Type your own answer",ai=({question:a,onAnswer:b,onDecline:c})=>{let{questionId:f,questions:i}=a,[j,k]=(0,e.useState)(()=>i.map(()=>[])),[l,n]=(0,e.useState)(()=>i.map(()=>"")),o=()=>i.map((a,b)=>(j[b]??[]).map(a=>a===ah?l[b].trim():a).filter(a=>a.length>0)),q=i.every((a,b)=>(o()[b]??[]).length>0);return(0,d.jsxs)(p.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"info.light",border:"1px solid",borderColor:"info.main",borderRadius:2},children:[(0,d.jsx)(g.default,{variant:"h6",sx:{mb:1},children:"The assistant is asking"}),(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:i.map((a,b)=>(0,d.jsxs)(u.A,{component:"fieldset",sx:{display:"flex"},children:[(0,d.jsx)(B.A,{sx:{mb:.5},children:a.prompt}),a.multiple?(0,d.jsx)(h.default,{sx:{display:"flex",flexDirection:"column"},children:a.options.map(a=>(0,d.jsx)(m.A,{control:(0,d.jsx)(t.A,{size:"small",checked:(j[b]??[]).includes(a),onChange:()=>((a,b)=>{k(c=>{let d=c.map(a=>[...a]),e=d[a],f=e.indexOf(b);return f>=0?e.splice(f,1):e.push(b),d})})(b,a)}),label:a},a))}):(0,d.jsx)(C.A,{value:(j[b]??[])[0]??"",onChange:a=>{var c;return c=a.target.value,void k(a=>{let d=a.map(a=>[...a]);return d[b]=[c],d})},children:a.options.map(a=>(0,d.jsx)(m.A,{value:a,control:(0,d.jsx)(D.A,{size:"small"}),label:a},a))}),(j[b]??[]).includes(ah)&&(0,d.jsx)(z.A,{size:"small",sx:{mt:1},placeholder:"Your answer…",value:l[b],onChange:a=>n(c=>{let d=[...c];return d[b]=a.target.value,d})})]},b))}),(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:2},children:[(0,d.jsx)(A.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{c&&c(f)},disabled:!c,children:"Decline"}),(0,d.jsx)(A.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{b&&b(f,o())},disabled:!b||!q,children:"Answer"})]})]})},aj=({messages:a,pendingToolCalls:b,pendingElicitation:c,availableNodes:j=[],conversationId:l,editingMessageId:m,onToggleDisabled:n,onSplitConversation:o,onBeginEditMessage:t,onApproveToolCall:u,onRejectToolCall:v,onSubmitElicitation:w,onCancelElicitation:y,pendingQuestion:B,onAnswerQuestion:C,onDeclineQuestion:D,onAppMessage:H,onUpdateModelContext:I,onRegisterAppTeardown:J,onOpenInCanvas:M,queuedMessages:N=[],queueHoldReason:Q=null})=>{let[R,S]=(0,e.useState)({}),[W,Y]=(0,e.useState)(50);(0,e.useEffect)(()=>{Y(50)},[l]);let $=Math.max(0,(Array.isArray(a)?a.length:0)-W),aa=(0,e.useMemo)(()=>Array.isArray(a)?$>0?a.slice($):a:[],[a,$]),{pairsByAnchorId:ac,handoffsByAnchorId:ad,consumedToolCallIds:ae,groups:ah}=(0,e.useMemo)(()=>(function(a){let b=new Map,c=new Map,d=new Set,e=new Set,f=new Map,g=[];if(!Array.isArray(a))return{pairsByAnchorId:b,handoffsByAnchorId:c,hoistedAssistantIds:d,consumedToolCallIds:e,groups:g};let h=new Map;for(let b of a)"tool"===b.role&&"string"==typeof b.tool_call_id&&b.tool_call_id&&!h.has(b.tool_call_id)&&h.set(b.tool_call_id,b);let i=a=>{let d=f.get(a);return d||(d={anchorId:a,memberIds:[a],hoistedIds:[]},f.set(a,d),g.push(d),b.set(a,[]),c.set(a,[])),d},j=null;for(let f of a){if("user"===f.role||"system"===f.role){j=null;continue}if("assistant"!==f.role)continue;let a=Array.isArray(f.tool_calls)?f.tool_calls:[],g=[],k=[];for(let b of a){if("function"!==b.type)continue;if(Z(b.function?.name)){k.push(b);continue}let a=b.id,c=a?h.get(a):void 0;a&&e.add(a),g.push({toolCall:b,result:c})}let l=function(a){let b=a.content;return"string"==typeof b?b.trim().length>0:!!Array.isArray(b)&&b.some(a=>!!a&&"object"==typeof a&&("text"===a.type?"string"==typeof a.text&&a.text.trim().length>0:"image_url"===a.type?!!a.image_url?.url:"input_audio"===a.type&&!!a.input_audio?.data))}(f),m=g.length>0||k.length>0;if(l){j=f.id,m&&(i(f.id),b.get(f.id).push(...g),c.get(f.id).push(...k));continue}if(m)if(j){let a=i(j);b.get(j).push(...g),c.get(j).push(...k),a.memberIds.push(f.id),a.hoistedIds.push(f.id),d.add(f.id)}else j=f.id,i(f.id),b.get(f.id).push(...g),c.get(f.id).push(...k)}return{pairsByAnchorId:b,handoffsByAnchorId:c,hoistedAssistantIds:d,consumedToolCallIds:e,groups:g}})(a),[a]),aj=(0,e.useMemo)(()=>(function(a){let b=new Set;if(!Array.isArray(a))return b;for(let c of a){if("assistant"!==c.role)continue;let a=c.tool_calls;if(Array.isArray(a))for(let c of a)"function"===c.type&&Z(c.function?.name)&&"string"==typeof c.id&&c.id&&b.add(c.id)}return b})(a),[a]),ak=(0,e.useMemo)(()=>new Set(aa.map(a=>a.id)),[aa]),{renderPairsById:al,renderHandoffsById:am,suppressedIds:an}=(0,e.useMemo)(()=>{let a=new Map,b=new Map,c=new Set;for(let d of ah){let e=ac.get(d.anchorId)??[],f=ad.get(d.anchorId)??[],g=d.memberIds.find(a=>ak.has(a))??d.anchorId;for(let h of(e.length>0&&a.set(g,e),f.length>0&&b.set(g,f),d.hoistedIds))h!==g&&c.add(h)}return{renderPairsById:a,renderHandoffsById:b,suppressedIds:c}},[ah,ac,ad,ak]),[ao,ap]=f().useState(null),[aq,ar]=f().useState(null),[as,at]=f().useState({}),au=(0,e.useCallback)((a,b)=>{_.debug(`handleMenuOpen called with messageId: ${b}`),ap(a.currentTarget),ar(b)},[]),av=(0,e.useCallback)((a,b)=>{at(c=>({...c,[a]:b}))},[]),aw=()=>{ap(null),ar(null)},ax=()=>{aq&&(t?.(aq),aw())},ay=(0,e.useMemo)(()=>{let a=new Map;for(let b of j)a.set(b.id,b.label);return a},[j]),az=(0,e.useMemo)(()=>aq&&a.find(a=>a.id===aq)||null,[aq,a]);return(0,d.jsxs)(h.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:[$>0&&(0,d.jsx)(h.default,{sx:{display:"flex",justifyContent:"center"},children:(0,d.jsxs)(A.A,{size:"small",variant:"outlined",onClick:()=>Y(a=>a+200),children:["Show earlier messages (",$," more)"]})}),aa.map((a,b)=>ab(a)||"tool"===a.role&&"string"==typeof a.tool_call_id&&aj.has(a.tool_call_id)||"tool"===a.role&&"string"==typeof a.tool_call_id&&ae.has(a.tool_call_id)||an.has(a.id)?null:(0,d.jsx)(af,{message:a,nodeLabel:a.processNodeId?ay.get(a.processNodeId):void 0,availableNodes:j,showRaw:!!as[a.id],toolCallPairs:al.get(a.id),onAppMessage:H,onUpdateModelContext:I,onRegisterAppTeardown:J,onOpenInCanvas:M,hoistedHandoffs:am.get(a.id),isBeingEdited:!!m&&a.id===m,onMenuOpen:au,onToggleRaw:av},a.id||`msg-${$+b}`)),N.map(a=>(0,d.jsx)(h.default,{"data-testid":"queued-bubble",sx:{display:"flex",justifyContent:"flex-end",opacity:.6},children:(0,d.jsxs)(h.default,{sx:{maxWidth:"70%",bgcolor:"primary.light",color:"primary.contrastText",borderRadius:2,px:2,py:1,display:"flex",flexDirection:"column",gap:.5},children:[(0,d.jsx)(g.default,{variant:"body2",sx:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:a.content||(a.attachments.length>0?`${a.attachments.length} attachment(s)`:"")}),(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",gap:.5,justifyContent:"flex-end"},children:[!Q&&(0,d.jsx)(i.default,{size:10,color:"inherit"}),(0,d.jsx)(g.default,{variant:"caption",sx:{opacity:.85},children:Q??"Queued"})]})]})},a.id)),(0,d.jsxs)(E.A,{anchorEl:ao,open:!!ao,onClose:aw,children:[az&&(()=>{_.debug("Entering menu item rendering logic",{activeMessageId:aq}),_.debug("Active message object for menu:",az),_.debug("Active message role for menu:",az?.role);try{if("user"===az.role&&"string"==typeof az.content&&t)return(0,d.jsxs)(x.A,{onClick:ax,children:[(0,d.jsx)(F.A,{children:(0,d.jsx)(T.A,{fontSize:"small"})}),(0,d.jsx)(G.A,{children:"Edit Message"})]});return null}catch(a){return _.error("Error rendering Edit Message menu item",{error:a}),null}})(),(0,d.jsxs)(x.A,{onClick:()=>{aq&&(n(aq),aw())},children:[(0,d.jsx)(F.A,{children:(0,d.jsx)(K.A,{fontSize:"small"})}),(0,d.jsx)(G.A,{children:az?.disabled?"Enable Message":"Disable Message"})]}),(0,d.jsxs)(x.A,{onClick:()=>{aq&&(o(aq),aw())},children:[(0,d.jsx)(F.A,{children:(0,d.jsx)(L.A,{fontSize:"small"})}),(0,d.jsx)(G.A,{children:"Split Conversation Here"})]})]}),c&&(0,d.jsx)(ag,{elicitation:c,onSubmit:w,onCancel:y}),B&&(0,d.jsx)(ai,{question:B,onAnswer:C,onDecline:D}),b&&b.length>0&&(0,d.jsxs)(p.A,{elevation:2,sx:{p:2,mt:2,bgcolor:"warning.light",border:"1px solid",borderColor:"warning.main",borderRadius:2},children:[(0,d.jsxs)(g.default,{variant:"h6",sx:{mb:1,display:"flex",alignItems:"center"},children:[(0,d.jsx)(P.A,{sx:{mr:1}})," Tool Approval Required"]}),(0,d.jsx)(g.default,{variant:"body2",sx:{mb:2},children:"The assistant wants to use the following tool(s). Please approve or reject each request."}),b.map((a,b)=>{let c=(0,X.yo)(a.function.name),e=a.function.arguments;try{let b=JSON.parse(a.function.arguments);e=JSON.stringify(b,null,2)}catch(a){}return(0,d.jsxs)(q.A,{defaultExpanded:!0,sx:{mb:1,"&:before":{display:"none"},boxShadow:1},children:[(0,d.jsx)(r.A,{expandIcon:(0,d.jsx)(O.A,{}),children:(0,d.jsxs)(h.default,{sx:{display:"flex",alignItems:"center",width:"100%"},children:[(0,d.jsx)(P.A,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),(0,d.jsx)(g.default,{variant:"subtitle2",sx:{fontWeight:"bold",flexGrow:1},children:c}),(0,d.jsx)(k.A,{label:`ID: ${a.id?a.id.substring(0,8):"N/A"}...`,size:"small",variant:"outlined",sx:{ml:1,height:20,fontSize:"0.7rem"}})]})}),(0,d.jsxs)(s.A,{sx:{pt:0},children:[(0,d.jsx)(h.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:e}),(0,d.jsx)(z.A,{label:"Rejection reason (optional)",placeholder:"e.g. write to dist/ instead",value:R[a.id]??"",onChange:b=>S(c=>({...c,[a.id]:b.target.value})),multiline:!0,minRows:1,maxRows:4,fullWidth:!0,size:"small",sx:{mt:1,mb:1}}),(0,d.jsxs)(h.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:1,flexWrap:"wrap"},children:[(0,d.jsx)(A.A,{variant:"outlined",color:"error",size:"small",startIcon:(0,d.jsx)(V.A,{}),onClick:()=>v&&v(a.id,!1,R[a.id]?.trim()||void 0),disabled:!v,children:"Reject"}),(0,d.jsx)(A.A,{variant:"outlined",color:"error",size:"small",onClick:()=>v&&v(a.id,!0),disabled:!v,title:"Always deny this tool — saves a rule so future calls are auto-denied",children:"Always Deny"}),(0,d.jsx)(A.A,{variant:"outlined",color:"success",size:"small",startIcon:(0,d.jsx)(U.A,{}),onClick:()=>u&&u(a.id,!0),disabled:!u,title:"Always allow this tool — saves a rule so future calls are auto-approved",children:"Always Allow"}),(0,d.jsx)(A.A,{variant:"contained",color:"success",size:"small",startIcon:(0,d.jsx)(U.A,{}),onClick:()=>u&&u(a.id),disabled:!u,children:"Approve"})]})]})]},a.id||`ptc-${b}`)})]})]})}},97004:(a,b,c)=>{c.d(b,{R:()=>l,A:()=>r});var d=c(21124),e=c(38301),f=c(95791),g=c(46973),h=c(18168),i=c(60839);function j(a){return a===g.yX.Left||a===g.yX.Right?"h":"v"}var k=c(29237);let l="flowEdgeWaypoint",m={x:16,y:-16},n=(0,h.Ay)("button")(({theme:a})=>({background:a.palette.background.paper,border:`1px solid ${a.palette.divider}`,cursor:"pointer",borderRadius:"50%",fontSize:"10px",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",color:a.palette.text.secondary,boxShadow:"dark"===a.palette.mode?"0 2px 4px rgba(0,0,0,0.3)":"0 2px 4px rgba(0,0,0,0.1)","&:hover":{background:a.palette.error.main,borderColor:a.palette.error.main,color:a.palette.error.contrastText}})),o=(0,h.Ay)(f.tE)({"&&.animated":{strokeDasharray:5,animation:"flowPathAnimation 500ms infinite linear"},"&&.animated-both":{strokeDasharray:5,animation:"flowPathAnimation 750ms infinite linear alternate"},"@keyframes flowPathAnimation":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}}),p="#009688",q="#4DB6AC",r=({variant:a,id:b,source:c,target:h,sourceHandleId:r,targetHandleId:s,sourceX:t,sourceY:u,targetX:v,targetY:w,sourcePosition:x,targetPosition:y,style:z={},markerEnd:A,markerStart:B,data:C,selected:D})=>{let E,F,G=(0,i.A)(),{deleteElements:H,screenToFlowPosition:I,getNode:J}=(0,f.VH)(),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(null),O=(0,e.useRef)(null),P=(0,e.useRef)(!1),Q="standard"===a&&C?.condition?(0,k.P2)(C.condition):"",R=a=>!!a&&a.includes("process")&&a.includes("resource"),S="";if("resource"===a){let a=J(c)?.type,b=J(h)?.type;"resource"===a&&"process"===b?S="consume":"process"===a&&"resource"===b||R(r)?S="produce":R(s)&&(S="consume")}let T=C?.waypoints??(C?.waypoint?[C.waypoint]:[]),U=M??T,V="standard"===a&&!!C?.bidirectional,W="mcp"===a||"resource"===a,X=x||(W?g.yX.Left:g.yX.Bottom),Y=y||(W?g.yX.Right:g.yX.Top),Z=null;if(U.length>0)E=(Z=function(a,b,c,d,e,f=8){let g=[a,...e,c],h=[a],i=[],j=b,k=(a,b)=>{let c;c=h[h.length-1],.01>Math.abs(c.x-a.x)&&.01>Math.abs(c.y-a.y)||(h.push(a),i.push(b))};for(let a=1;a<g.length;a++){let b=h[h.length-1],c=g[a],e=a-1;if(a===g.length-1){if("v"===d)if("h"===j)k({x:c.x,y:b.y},e);else{let a=(b.y+c.y)/2;k({x:b.x,y:a},e),k({x:c.x,y:a},e)}else if("v"===j)k({x:b.x,y:c.y},e);else{let a=(b.x+c.x)/2;k({x:a,y:b.y},e),k({x:a,y:c.y},e)}k(c,e)}else k("v"===j?{x:b.x,y:c.y}:{x:c.x,y:b.y},e),k(c,e),j="v"===j?"h":"v"}!function(a,b){for(let c=1;c<a.length-1;c++){let d=a[c-1],e=a[c],f=a[c+1],g=.01>Math.abs(d.x-e.x)&&.01>Math.abs(f.x-e.x)&&(e.y-d.y)*(f.y-e.y)<0,h=.01>Math.abs(d.y-e.y)&&.01>Math.abs(f.y-e.y)&&(e.x-d.x)*(f.x-e.x)<0;if(g||h){if(g){let g=(a[c-2]?.x??e.x-1)<=e.x,h=g?e.x-12:e.x+12,i=g?e.x+12:e.x-12,j=b[c-1];a.splice(c-1,3,{x:h,y:d.y},{x:h,y:e.y},{x:i,y:e.y},{x:i,y:f.y}),b.splice(c-1,2,j,j,j)}else{let g=(a[c-2]?.y??e.y-1)<=e.y,h=g?e.y-12:e.y+12,i=g?e.y+12:e.y-12,j=b[c-1];a.splice(c-1,3,{x:d.x,y:h},{x:e.x,y:h},{x:e.x,y:i},{x:f.x,y:i}),b.splice(c-1,2,j,j,j)}c++}}}(h,i);let l=[];for(let a=0;a<h.length-1;a++)l.push({a:h[a],b:h[a+1],gap:i[a]});return{d:function(a,b){if(0===a.length)return"";let c=`M ${a[0].x},${a[0].y}`;for(let d=1;d<a.length-1;d++){let e=a[d-1],f=a[d],g=a[d+1],h=Math.hypot(f.x-e.x,f.y-e.y),i=Math.hypot(g.x-f.x,g.y-f.y),j=Math.min(b,h/2,i/2);if(j<.5){c+=` L ${f.x},${f.y}`;continue}let k={x:f.x-(f.x-e.x)/h*j,y:f.y-(f.y-e.y)/h*j},l={x:f.x+(g.x-f.x)/i*j,y:f.y+(g.y-f.y)/i*j};c+=` L ${k.x},${k.y} Q ${f.x},${f.y} ${l.x},${l.y}`}let d=a[a.length-1];return c+` L ${d.x},${d.y}`}(h,f),points:h,segments:l,midpoint:function(a,b){let c=0;for(let b=0;b<a.length-1;b++)c+=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(0===c)return a[0];let d=.5*c;for(let b=0;b<a.length-1;b++){let c=Math.hypot(a[b+1].x-a[b].x,a[b+1].y-a[b].y);if(d<=c){let e=0===c?0:d/c;return{x:a[b].x+(a[b+1].x-a[b].x)*e,y:a[b].y+(a[b+1].y-a[b].y)*e}}d-=c}return a[a.length-1]}(h,.5)}}({x:t,y:u},j(X),{x:v,y:w},j(Y),U,16)).d,F=Z.midpoint;else{let[a,b,c]=(0,g.oN)({sourceX:t,sourceY:u,sourcePosition:X,targetX:v,targetY:w,targetPosition:Y,borderRadius:16});E=a,F={x:b,y:c}}let $=W?"":V?"animated-both":C?.animated!==!1?"animated":"",_={...z,strokeWidth:D?3:2,stroke:"mcp"===a?D?G.palette.info.light:G.palette.info.main:"resource"===a?D?q:p:D?G.palette.primary.main:G.palette.text.secondary,..."resource"===a?{strokeDasharray:"6 4"}:{},...$?{animationDuration:`${Math.round((V?750:500)*(a=>{let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return .9+Math.abs(b)%1e3/1e3*.2})(b))}ms`}:{}},aa=a=>{document.dispatchEvent(new CustomEvent(l,{detail:{edgeId:b,waypoints:a&&a.length>0?a:null}}))},ab=a=>{if(0!==a.button)return;let b=I({x:a.clientX,y:a.clientY}),c=Z?function(a,b){let c=0,d=1/0;for(let e of b){let b=function(a,b,c){let d=c.x-b.x,e=c.y-b.y,f=d*d+e*e,g=0===f?0:Math.max(0,Math.min(1,((a.x-b.x)*d+(a.y-b.y)*e)/f));return Math.hypot(a.x-(b.x+d*g),a.y-(b.y+e*g))}(a,e.a,e.b);b<d&&(d=b,c=e.gap)}return c}(b,Z.segments):0,d=[...U];d.splice(c,0,b),O.current={index:c,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:d,active:!1,fromPath:!0},a.target.setPointerCapture(a.pointerId)},ac=a=>{let b=O.current;if(!b||a.pointerId!==b.pointerId)return;if(!b.active){if(4>Math.hypot(a.clientX-b.startClient.x,a.clientY-b.startClient.y))return;b.active=!0}let c=[...b.base];c[b.index]=I({x:a.clientX,y:a.clientY}),N(c)},ad=a=>{let b=O.current;if(!b||a.pointerId!==b.pointerId||(O.current=null,a.target.releasePointerCapture(a.pointerId),P.current=b.active,!b.active))return;let c=[...b.base];c[b.index]=I({x:a.clientX,y:a.clientY}),aa(c),N(null)},ae=null!==M,af=D||K||ae;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{path:E,markerEnd:A,markerStart:B,style:_,id:b,className:$}),(0,d.jsx)("path",{d:E,fill:"none",stroke:"transparent",strokeWidth:20,style:{cursor:ae?"grabbing":"grab"},onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),onPointerDown:ab,onPointerMove:ac,onPointerUp:ad}),(0,d.jsxs)(f.rV,{children:[Q&&(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x}px,${F.y-18}px)`,pointerEvents:"none",background:G.palette.info.main,color:G.palette.info.contrastText,borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:G.shadows[1],zIndex:1002},className:"nodrag nopan",title:`Routing condition: ${Q}`,children:Q}),S&&(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x}px,${F.y-18}px)`,pointerEvents:"none",background:D?q:p,color:"#ffffff",borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:G.shadows[1],zIndex:1002},className:"nodrag nopan",title:"consume"===S?"This step consumes (reads) the resource":"This step produces (writes) the resource",children:S}),af&&U.map((a,b)=>(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${a.x}px,${a.y}px)`,width:12,height:12,borderRadius:"50%",background:G.palette.primary.main,border:`2px solid ${G.palette.background.paper}`,boxShadow:G.shadows[1],cursor:"move",pointerEvents:"all",touchAction:"none",zIndex:1001},className:"nodrag nopan",title:"Drag to move; double-click to remove this bend",onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),onPointerDown:a=>{0===a.button&&(a.stopPropagation(),O.current={index:b,pointerId:a.pointerId,startClient:{x:a.clientX,y:a.clientY},base:[...U],active:!1,fromPath:!1},a.target.setPointerCapture(a.pointerId))},onPointerMove:ac,onPointerUp:ad,onDoubleClick:a=>{a.stopPropagation(),(a=>{let b=U.filter((b,c)=>c!==a);N(null),aa(b)})(b)}},b)),(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${F.x+m.x}px,${F.y+m.y}px)`,pointerEvents:af&&!ae?"all":"none",opacity:af&&!ae?1:0,transition:"opacity 120ms ease",zIndex:1e3},className:"nodrag nopan",onMouseEnter:()=>L(!0),onMouseLeave:()=>L(!1),children:(0,d.jsx)(n,{title:"Delete connection (drag to re-route)",style:{touchAction:"none"},onPointerDown:ab,onPointerMove:ac,onPointerUp:ad,onClick:a=>{if(a.stopPropagation(),P.current){P.current=!1;return}H({edges:[{id:b}]})},children:"\xd7"})})]})]})}},98502:(a,b,c)=>{c.d(b,{E9:()=>f,RN:()=>e,n9:()=>d});let d="handoff_to_";function e(a,b){let c=(a&&a.trim()||b&&b.trim()||"node").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return c.length>48&&(c=c.slice(0,48).replace(/_+$/g,"")),c||(c=b&&b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")||"node"),c||"node"}function f(a){let b=new Set,c=new Map;for(let f of a){if(c.has(f.id))continue;let a=e(f.label,f.type),g=`${d}${a}`;if(b.has(g)){let c=2;for(;b.has(`${d}${a}_${c}`);)c++;g=`${d}${a}_${c}`}b.add(g),c.set(f.id,g)}return c}}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6733],{10915:(e,t,n)=>{n.d(t,{A:()=>U});var o=n(95155),r=n(12115),a=n(87021),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(2300),u=n(94049),p=n(25635),h=n(41983),g=n(28548),m=n(9562),x=n(78470),f=n(99944),y=n(22822),b=n(2778),v=n(52363),j=n(65036),w=n(4474),C=n(75912),A=n(91871),S=n(35205),k=n(53612),I=n(3014),T=n(77073),E=n(55930),R=n(9693),N=n(14915),z=n(4823),M=n(76122),P=n(22539),D=n(33567),O=n(77758);let W=new Set(["start","process","subflow"]),_=e=>{var t,n;return null!=(n=e.type)?n:null==(t=e.data)?void 0:t.type},L=e=>{let{flow:t,selectedNodeId:n,onSelect:a,onClose:l}=e,i=(0,D.A)(),s=(0,r.useMemo)(()=>((null==t?void 0:t.nodes)||[]).map(e=>{let t=W.has(_(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]),c=(0,r.useMemo)(()=>({type:"custom",animated:!1,style:{stroke:i.palette.text.secondary,strokeWidth:2},markerEnd:{type:M.TG.ArrowClosed,width:20,height:20,color:i.palette.text.secondary}}),[i.palette.text.secondary]);return(0,o.jsx)(P.Gc,{nodes:s,edges:d,nodeTypes:O.c_,edgeTypes:O.nd,defaultEdgeOptions:c,connectionLineType:M.Do.SmoothStep,fitView:!0,minZoom:.1,maxZoom:2,onNodeClick:(e,t)=>{W.has(_(t)||"")&&(a(t.id),l())},nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,deleteKeyCode:null,proOptions:{hideAttribution:!0},children:(0,o.jsx)(P.VS,{})})},F=e=>{var t,n;let{open:r,flow:a,selectedNodeId:l,allowAutomatic:i,onSelect:s,onClose:d}=e,c=!!(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)(v.A,{children:"Pick a node to run on"}),(0,o.jsxs)(j.A,{dividers:!0,sx:{p:0},children:[(0,o.jsx)(u.default,{sx:{px:2,pt:1.5},children:(0,o.jsxs)(p.default,{variant:"caption",color:"text.secondary",children:["Click a ",(0,o.jsx)("strong",{children:"Start"}),", ",(0,o.jsx)("strong",{children:"Process"}),", or"," ",(0,o.jsx)("strong",{children:"Subflow"})," node. Other nodes and edges can't be picked."]})}),(0,o.jsx)(u.default,{sx:{height:"62vh",width:"100%"},children:c?(0,o.jsx)(P.Ln,{children:(0,o.jsx)(L,{flow:a,selectedNodeId:l,onSelect:s,onClose:d})}):(0,o.jsx)(u.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(p.default,{variant:"body2",color:"text.secondary",children:"No flow to display."})})})]}),(0,o.jsxs)(C.A,{children:[i&&(0,o.jsx)(A.A,{startIcon:(0,o.jsx)(z.A,{}),onClick:()=>{s(null),d()},children:"Automatic"}),(0,o.jsx)(u.default,{sx:{flex:1}}),(0,o.jsx)(A.A,{onClick:d,children:"Cancel"})]})]})};var H=n(74879);let J=(0,a.h)("frontend/components/Chat/ChatInput"),U=e=>{var t,n;let{onSendMessage:a,disabled:l=!1,requireApproval:i=!1,onRequireApprovalChange:z,executeInDebugger:M=!1,onExecuteInDebuggerChange:P,availableNodes:D=[],flow:O=null,currentNodeId:W=null,nodeOverrideActive:_=!1,onSelectNode:L,editing:U=null,onEditingContentChange:B,onEditingNodeChange:G,onSaveEdit:X,onCancelEdit:Y}=e,{settings:q}=(0,d.useStorage)(),[V,Z]=(0,r.useState)(""),[K,Q]=(0,r.useState)([]),[$,ee]=(0,r.useState)(!1),[et,en]=(0,r.useState)(0),[eo,er]=(0,r.useState)(null),ea=(0,r.useRef)(null),el=(0,r.useRef)(null),ei=(0,r.useRef)([]),[es,ed]=(0,r.useState)(!1),ec=!!U,eu=ec?null!=(t=null==U?void 0:U.nodeId)?t:null:W,ep=(e=>{var t;return(null==(t=D.find(t=>t.id===e))?void 0:t.label)||(e?"".concat(e.substring(0,6),"..."):"Start")})(eu),[eh,eg]=(0,r.useState)(!1),[em,ex]=(0,r.useState)(""),[ef,ey]=(0,r.useState)(""),[eb,ev]=(0,r.useState)("document"),[ej,ew]=(0,r.useState)(!1),[eC,eA]=(0,r.useState)(0),[eS,ek]=(0,r.useState)(""),eI=()=>{U&&U.content.trim()&&(null==X||X())},eT=()=>{(V.trim()||K.length>0)&&(J.debug("Sending message",{messageLength:V.length,attachmentsCount:K.length}),a(V,K),Z(""),Q([]))},eE=async e=>{let t=e.target.files;if(!t||0===t.length)return;let n=t[0];J.debug("File selected",{fileName:n.name,fileSize:n.size,fileType:n.type}),ey("Processing ".concat(n.name)),ev("document"),ex(""),ew(!0),eg(!0);try{let e=await eR(n);J.debug("File read successfully",{contentLength:e.length}),ex(e),ew(!1)}catch(e){J.error("Error reading file:",e),ex("Error reading file. Please try again with a text file."),ew(!1)}ea.current&&(ea.current.value="")},eR=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)}),eN=async()=>{J.debug("Starting audio recording");try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});J.debug("Audio stream obtained successfully"),ei.current=[];let t=new MediaRecorder(e);el.current=t,t.ondataavailable=e=>{e.data.size>0&&ei.current.push(e.data)},t.onstop=async()=>{let t=new Blob(ei.current,{type:"audio/wav"});ey("Audio Recording"),ev("audio"),ex(""),ew(!0),eg(!0);try{if(((null==q?void 0:q.speech)||{enabled:!0,modelSize:"base",autoDownload:!1}).enabled){ek("Initializing transcription..."),eA(0);let e=await s(t,{onProgress:eA,onStatusChange:ek,language:navigator.language});if(e.success){let t=e.text;ex(t),J.debug("Transcription successful",{textLength:e.text.length,engine:e.engine})}else ex("Error transcribing audio: ".concat(e.error,".")),J.error("Transcription failed",{error:e.error})}else ex("Speech recognition is disabled in settings. Enable it to get automatic transcriptions.")}catch(e){J.error("Error handling audio recording",{error:e}),ex("Failed to process audio: ".concat(e))}finally{ew(!1),e.getTracks().forEach(e=>e.stop())}},t.start(),ee(!0);let n=setInterval(()=>{en(e=>e+1)},1e3);er(n)}catch(e){J.error("Error starting recording:",e),alert("Could not access microphone. Please check permissions.")}};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(c.A,{elevation:3,sx:{p:2,display:"flex",flexDirection:"column",borderRadius:2},children:[K.length>0&&(0,o.jsx)(u.default,{sx:{mb:2,display:"flex",flexWrap:"wrap",gap:1},children:K.map(e=>(0,o.jsxs)(c.A,{variant:"outlined",sx:{p:1,display:"flex",alignItems:"center",borderRadius:1,bgcolor:"background.default"},children:["image"===e.type?(0,o.jsx)(u.default,{component:"img",src:e.content,alt:e.originalName||"pasted image",sx:{width:40,height:40,objectFit:"cover",borderRadius:1,mr:1}}):"document"===e.type?(0,o.jsx)(k.A,{fontSize:"small",sx:{mr:1}}):(0,o.jsx)(I.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(p.default,{variant:"body2",noWrap:!0,sx:{maxWidth:150},children:e.originalName||"".concat(e.type," attachment")}),(0,o.jsx)(h.A,{size:"small",onClick:()=>(e=>{J.debug("Removing attachment",{id:e}),Q(K.filter(t=>t.id!==e))})(e.id),sx:{ml:1},children:(0,o.jsx)(T.A,{fontSize:"small"})})]},e.id))}),ec&&(0,o.jsxs)(u.default,{sx:{mb:1,display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(g.A,{icon:(0,o.jsx)(N.A,{}),label:"Editing message",size:"small",color:"warning",variant:"outlined"}),(0,o.jsx)(p.default,{variant:"caption",color:"text.secondary",children:"Enter to save \xb7 Esc to cancel"})]}),(0,o.jsxs)(u.default,{sx:{display:"flex",alignItems:"flex-end"},children:[(0,o.jsx)(m.A,{fullWidth:!0,multiline:!0,maxRows:ec?12:4,"data-tour":"chat-input",placeholder:ec?"Edit message...":"Type a message...",value:ec?null!=(n=null==U?void 0:U.content)?n:"":V,onChange:e=>{ec?null==B||B(e.target.value):Z(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&ec&&(e.preventDefault(),null==Y||Y()):(e.preventDefault(),ec?eI():(J.debug("Enter key pressed, sending message"),eT()))},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(),J.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];Q(t=>[...t,{id:(0,H.A)(),type:"image",content:o,originalName:e.name&&!/^image\.\w+$/i.test(e.name)?e.name:"Pasted image.".concat(r)}])},t.onerror=()=>J.error("Failed to read pasted image"),t.readAsDataURL(e)}))},disabled:!ec&&l,variant:"outlined",autoFocus:ec,sx:{mr:1},InputProps:{sx:{borderRadius:2}}}),!ec&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x.A,{title:"Attach document",children:(0,o.jsx)(h.A,{color:"primary",onClick:()=>{var e;J.debug("File selection triggered"),null==(e=ea.current)||e.click()},disabled:l||$,children:(0,o.jsx)(k.A,{})})}),(0,o.jsx)("input",{type:"file",ref:ea,onChange:eE,style:{display:"none"},accept:".txt,.md,.json,.csv,.html,.xml,.js,.ts,.jsx,.tsx,.css,.scss"}),(0,o.jsx)(x.A,{title:$?"Stop recording":"Record audio",children:(0,o.jsxs)(h.A,{color:$?"error":"primary",onClick:$?()=>{J.debug("Stopping audio recording"),el.current&&"inactive"!==el.current.state&&(el.current.stop(),ee(!1),eo&&(clearInterval(eo),er(null)),en(0))}:eN,disabled:l,children:[(0,o.jsx)(I.A,{}),$&&(0,o.jsx)(p.default,{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"))})(et)})]})})]}),ec?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x.A,{title:"Save edit",children:(0,o.jsx)("span",{children:(0,o.jsx)(h.A,{color:"primary",onClick:eI,disabled:!(null==U?void 0:U.content.trim()),children:(0,o.jsx)(R.A,{})})})}),(0,o.jsx)(x.A,{title:"Cancel edit",children:(0,o.jsx)(h.A,{color:"default",onClick:()=>null==Y?void 0:Y(),children:(0,o.jsx)(T.A,{})})})]}):(0,o.jsx)(x.A,{title:"Send message",children:(0,o.jsx)("span",{children:(0,o.jsx)(h.A,{color:"primary",onClick:eT,disabled:l||!V.trim()&&0===K.length,children:(0,o.jsx)(S.A,{})})})})]})," ",(z||(L||ec)&&D.length>0)&&(0,o.jsxs)(u.default,{sx:{mt:1,display:"flex",justifyContent:"flex-start",alignItems:"center",flexWrap:"wrap",gap:1},children:[(L||ec)&&D.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x.A,{title:ec?"Node this message runs on — click to pick from the flow":_?"Next message will run on this manually picked node — click to change":"Node the next message will run on — click to pick from the flow",children:(0,o.jsx)(g.A,{icon:(0,o.jsx)(E.A,{}),label:ep,size:"small",color:ec||_?"primary":"default",variant:ec||_?"filled":"outlined",onClick:()=>ed(!0),disabled:!ec&&l})}),(0,o.jsx)(F,{open:es,flow:O,selectedNodeId:eu,allowAutomatic:!ec,onSelect:e=>{ec?null==G||G(e):null==L||L(e)},onClose:()=>ed(!1)})]}),z&&(0,o.jsx)(f.A,{control:(0,o.jsx)(y.A,{checked:i,onChange:e=>z(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(p.default,{variant:"caption",children:"Require Tool Approvals"}),sx:{mr:"auto"}}),P&&(0,o.jsx)(f.A,{control:(0,o.jsx)(y.A,{checked:M,onChange:e=>P(e.target.checked),size:"small",disabled:l}),label:(0,o.jsx)(p.default,{variant:"caption",children:"Execute in Debugger"}),sx:{ml:2}})]})," "]})," ",(0,o.jsxs)(b.A,{open:eh,onClose:()=>!ej&&eg(!1),maxWidth:"md",fullWidth:!0,children:[(0,o.jsxs)(v.A,{children:[ef,!ej&&(0,o.jsx)(h.A,{"aria-label":"close",onClick:()=>eg(!1),sx:{position:"absolute",right:8,top:8},children:(0,o.jsx)(T.A,{})})]}),(0,o.jsx)(j.A,{dividers:!0,children:ej?(0,o.jsxs)(u.default,{sx:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center",p:4},children:[(0,o.jsx)(w.default,{value:"audio"===eb&&eC?eC:void 0,variant:"audio"===eb&&eC>0?"determinate":"indeterminate"}),"audio"===eb&&(0,o.jsxs)(u.default,{sx:{mt:2,textAlign:"center"},children:[(0,o.jsx)(p.default,{variant:"body2",children:eS||"Processing audio..."}),eC>0&&(0,o.jsxs)(p.default,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[Math.round(eC),"%"]})]})]}):(0,o.jsx)(m.A,{multiline:!0,fullWidth:!0,minRows:10,maxRows:20,value:em,onChange:e=>ex(e.target.value),variant:"outlined",placeholder:"document"===eb?"Document content":"Audio transcription"})}),(0,o.jsxs)(C.A,{children:[(0,o.jsx)(A.A,{onClick:()=>eg(!1),disabled:ej,children:"Cancel"}),(0,o.jsx)(A.A,{onClick:()=>{J.debug("Adding attachment",{type:eb,titleLength:ef.length}),Q([...K,{id:(0,H.A)(),type:eb,content:em,originalName:ef}]),eg(!1)},variant:"contained",disabled:ej||!em.trim(),children:"Add to Message"})]})]})]})}},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){if(!e||!a(e.kind))return"";let t=e.negate?"!":"";if("always"===e.kind)return"".concat(t,"always");let n=e.ignoreCase?" i":"",o="string"==typeof e.value?e.value:"",r=o.length>8?"".concat(o.slice(0,8),"…"):o,l="regex"===e.kind?"/".concat(r,"/"):'"'.concat(r,'"');return"".concat(t).concat(e.kind,":").concat(l).concat(n)}},49479:(e,t,n)=>{n.d(t,{O:()=>s,b:()=>r});let o=(0,n(87021).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}}}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}}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"})},57563:(e,t,n)=>{function o(e){return!!e&&e.includes("mcp")}function r(e){return!!e&&e.includes("resource")}function a(e){var t;let n=null==e||null==(t=e.data)?void 0:t.edgeType;return"mcp"===n||"resource"===n}function l(e,t,n,a){if("trigger"===e&&"start"===n)return t&&"trigger-bottom"!==t?"Trigger nodes must connect via their bottom handle":a&&"start-top"!==a?"Trigger nodes must connect to the top handle of the Start node":null;if("trigger"===n)return"Trigger nodes cannot have incoming connections";if("trigger"===e&&"start"!==n)return"Trigger nodes can only connect to the Start node";if("start"===n)return"Start nodes cannot have incoming connections";if("finish"===e)return"Finish nodes cannot have outgoing connections";if("mcp"===e||"mcp"===n||o(t)||o(a))return("mcp"!==e||"process"!==n)&&("process"!==e||"mcp"!==n)?"MCP connections must link an MCP node to a Process node via MCP handles":"process"!==e||o(t)?null:"Connect MCP nodes from the Process node's left/right MCP handles";if("resource"===e||"resource"===n||r(t)||r(a)){if(("resource"!==e||"process"!==n)&&("process"!==e||"resource"!==n))return"Resource connections must link a Resource node to a Process node via resource handles";if("process"===e&&!r(t))return"Connect Resource nodes from the Process node's left/right resource handles"}return null}function i(e,t){return"resource"===e?"resource-in":"process"===e&&r(t)?"process-left-resource":"process"===e&&o(t)?"process-left-mcp":"start"===e?"start-top":"".concat(e,"-top")}function s(e,t){if("trigger"===e)return["start"];let n=["process","finish","mcp","subflow","resource","signal","trigger"];return e&&t?n.filter(n=>null===l(e,t,n,i(n,t))):n}n.d(t,{BY:()=>a,CW:()=>i,_w:()=>s,vC:()=>l,vM:()=>r,z5:()=>o})},70072:(e,t,n)=>{n.d(t,{A:()=>es});var o=n(95155),r=n(12115),a=n(25635),l=n(94049),i=n(4474),s=n(78470),d=n(28548),c=n(50430),u=n(99944),p=n(9957),h=n(41983),g=n(2300),m=n(98267),x=n(20537),f=n(37960),y=n(22822),b=n(52641),v=n(95436),j=n(55606),w=n(86973),C=n(18369),A=n(9562),S=n(91871),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),L=n(63186),F=n(70863),H=n(67891),J=n(12121),U=n(60691),B=n(14915),G=n(63992),X=n(59637),Y=n(30949),q=n(1877),V=n(18466);function Z(e){return!!e&&(e.startsWith(V.n9)||"handoff"===e)}var K=n(23731);let Q=(0,n(87021).h)("frontend/components/Chat/ChatMessages");function $(e){return"assistant"===e.role&&"tool_calls"in e&&Array.isArray(e.tool_calls)}function ee(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 et={p:e=>(0,o.jsx)(a.default,{variant:"body1",sx:{mb:.5,whiteSpace:"pre-line"},children:e.children}),h1:e=>(0,o.jsx)(a.default,{variant:"h5",sx:{mt:2,mb:.5},children:e.children}),h2:e=>(0,o.jsx)(a.default,{variant:"h6",sx:{mt:2,mb:.5},children:e.children}),h3:e=>(0,o.jsx)(a.default,{variant:"subtitle1",sx:{mt:1.5,mb:.5},children:e.children}),h4:e=>(0,o.jsx)(a.default,{variant:"subtitle2",sx:{mt:1.5,mb:.5},children:e.children}),h5:e=>(0,o.jsx)(a.default,{variant:"body1",sx:{mt:1,mb:.5,fontWeight:"bold"},children:e.children}),h6:e=>(0,o.jsx)(a.default,{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.default,{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.default,{component:"code",sx:{bgcolor:"action.hover",px:.5,py:.25,borderRadius:"4px",fontFamily:"monospace",wordBreak:"break-all"},children:r})}},en=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.default,{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):(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})}})()})},eo=e=>{let{pairs:t,messageId:n,onAppMessage:h,onUpdateModelContext:g,onRegisterAppTeardown:m,onOpenInCanvas:x}=e,[f,y]=(0,r.useState)(null),[b,v]=(0,r.useState)({}),j=(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)(F.A,{fontSize:"small",sx:{mr:1}}),(0,o.jsx)(a.default,{variant:"body2",children:1===t.length?"The assistant used a tool":"The assistant used ".concat(t.length," tools")})]}),(0,o.jsx)(l.default,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:.5},children:t.map((e,t)=>{let n=j(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),c=f===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)(s.A,{title:c?"Hide call & result":"Show call & result",children:(0,o.jsx)(d.A,{icon:function(e){return"pending"===e?(0,o.jsx)(i.default,{size:14,thickness:6}):"error"===e?(0,o.jsx)(U.A,{fontSize:"small"}):(0,o.jsx)(J.A,{fontSize:"small"})}(a),label:(0,q.yo)(e.toolCall.function.name),size:"small",clickable:!0,variant:c?"filled":"outlined",color:"error"===a?"error":"pending"===a?"default":"primary",onClick:()=>y(c?null:n),sx:{maxWidth:"100%"}})})]},n)})}),t.map((e,t)=>{var n,r,s;let y=j(e,t),w=e.toolCall.function.arguments;try{w=JSON.stringify(JSON.parse(e.toolCall.function.arguments),null,2)}catch(e){}let C=!!b[y];return(0,o.jsx)(c.A,{in:f===y,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)(F.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,o.jsx)(a.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Parameters"}),(0,o.jsx)(d.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}),(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.default,{variant:"caption",sx:{fontWeight:"bold"},children:"Result"}),e.result&&(0,o.jsx)(u.A,{control:(0,o.jsx)(p.A,{size:"small",checked:C,onChange:e=>v(t=>({...t,[y]:e.target.checked}))}),label:"Raw",sx:{ml:"auto",mr:0,"& .MuiTypography-root":{fontSize:"0.75rem"}}})]}),e.result?(0,o.jsx)(en,{content:e.result.content,showRaw:C}):(0,o.jsxs)(a.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,o.jsx)(i.default,{size:14,thickness:6})," Waiting for the tool to respond…"]}),(null==(r=e.result)||null==(n=r.ui)?void 0:n.uri)&&e.result.ui.serverName&&(0,o.jsx)(K.Ay,{serverName:e.result.ui.serverName,uri:e.result.ui.uri,toolName:null!=(s=e.result.ui.toolName)?s: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:h,onUpdateModelContext:g,onRegisterTeardown:m,teardownRegistrationKey:"".concat(e.result.ui.serverName,"::").concat(e.result.ui.uri,"::").concat(y),onRequestDock:x?()=>{var t;return x({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})]})},y)})]})},er=r.memo(function(e){var t,n;let r,{message:i,nodeLabel:c,availableNodes:y,showRaw:b,toolCallPairs:v,onAppMessage:j,onUpdateModelContext:w,onRegisterAppTeardown:C,onOpenInCanvas:A,hoistedHandoffs:S,isBeingEdited:k,onMenuOpen:I,onToggleRaw:T}=e,E=null!=(t=i.depth)?t: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,...E>0&&{pl:3*E,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.default,{variant:"caption",color:"text.secondary",sx:{mr:1},children:["user"===i.role?"You":"assistant"===i.role?"Assistant":"tool"===i.role?"Tool":"System"," • ","number"!=typeof(n=i.timestamp)||isNaN(n)?(Q.warn("formatTime received invalid timestamp:",n),"Invalid Date"):new Date(n).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})]}),i.processNodeId&&(0,o.jsx)(s.A,{title:"".concat(c?"".concat(c," — "):"","Process Node ID: ").concat(i.processNodeId),children:(0,o.jsx)(d.A,{label:"Node: ".concat(c||"".concat(i.processNodeId.substring(0,6),"...")),size:"small",color:"primary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),E>0&&(0,o.jsx)(s.A,{title:"Nested subflow step (depth ".concat(E,")"),children:(0,o.jsx)(d.A,{label:"Subflow step",size:"small",color:"secondary",variant:"outlined",sx:{height:20,fontSize:"0.7rem",mr:1}})}),i.disabled&&(0,o.jsx)(d.A,{label:"Disabled",size:"small",color:"default",variant:"outlined",sx:{height:20,fontSize:"0.7rem"}}),i.usage&&(0,o.jsx)(s.A,{title:"".concat(i.usage.promptTokens.toLocaleString()," prompt + ").concat(i.usage.completionTokens.toLocaleString()," completion tokens (provider-reported)"),children:(0,o.jsx)(d.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)(h.A,{size:"small",onClick:e=>I(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:k?.55:1,outline:k?"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:et,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:"Image ".concat(t+1),style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}},t):null})}),"tool"!==i.role&&"string"!=typeof i.content&&!Array.isArray(i.content)&&!$(i)&&(0,o.jsx)(a.default,{variant:"body2",fontStyle:"italic",color:"text.secondary",children:"[No text content]"})]}),(()=>{let e=[...$(i)?i.tool_calls.filter(e=>{var t;return!!(t=e.function.name)&&(t.startsWith(V.n9)||"handoff"===t)}):[],...null!=S?S:[]];return(0,o.jsx)(l.default,{sx:{mt:1,display:"flex",flexWrap:"wrap",gap:.5},children:e.map((e,t)=>(0,o.jsx)(d.A,{size:"small",variant:"outlined",color:"secondary",icon:(0,o.jsx)(Y.A,{fontSize:"small"}),label:"Handoff → ".concat(function(e,t){let n=e.startsWith(V.n9)?e.slice(V.n9.length):e,o=n.replace(/_\d+$/,""),r=t.find(e=>{let t=(0,V.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,y)),sx:{maxWidth:"100%",fontWeight:500}},e.id||"handoff-".concat(i.id,"-").concat(t)))})})(),v&&v.length>0&&(0,o.jsx)(eo,{pairs:v,messageId:i.id,onAppMessage:j,onUpdateModelContext:w,onRegisterAppTeardown:C,onOpenInCanvas:A}),"tool"===i.role&&i.tool_call_id&&!ee(i)&&(0,o.jsxs)(l.default,{children:[(0,o.jsxs)(a.default,{variant:"body2",sx:{display:"flex",alignItems:"center",color:"text.secondary",mb:1},children:[(0,o.jsx)(H.A,{fontSize:"small",sx:{mr:1}}),"The tool responded to the assistant"]}),(0,o.jsxs)(m.A,{defaultExpanded:!1,sx:{mb:.5,"&:before":{display:"none"},boxShadow:"none",bgcolor:"rgba(0, 0, 0, 0.02)"},children:[(0,o.jsx)(x.A,{expandIcon:(0,o.jsx)(L.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.default,{variant:"subtitle2",children:"Tool Result"}),(0,o.jsx)(d.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)(u.A,{control:(0,o.jsx)(p.A,{size:"small",checked:b,onChange:e=>T(i.id,e.target.checked),onClick:e=>e.stopPropagation()}),label:"Raw",sx:{mr:1,ml:"auto","& .MuiTypography-root":{fontSize:"0.75rem"}},onClick:e=>e.stopPropagation()})]})}),(0,o.jsx)(f.A,{sx:{pt:0,pb:1,overflow:"hidden"},children:(0,o.jsx)(en,{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.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:.5},children:"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||"image attachment",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.default,{variant:"caption",sx:{wordBreak:"break-all"},children:e.originalName||"".concat(e.type," attachment")})]},e.id))]})]})]})}),ea=e=>{var t;let{elicitation:n,onSubmit:i,onCancel:s}=e,{elicitationId:d,message:c,requestedSchema:p}=n,h=null!=(t=null==p?void 0:p.properties)?t:{},m=Object.keys(h),[x,f]=(0,r.useState)(()=>{let e={};for(let t of m){let n=h[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}),k=(e,t)=>{f(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.default,{variant:"h6",sx:{mb:1},children:"Server needs more information"}),(0,o.jsx)(a.default,{variant:"body2",sx:{mb:2},children:c}),(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:m.map(e=>{let t=h[e],n=t.title||e,r=x[e];if("boolean"===t.type)return(0,o.jsx)(u.A,{control:(0,o.jsx)(y.A,{checked:!!r,onChange:t=>k(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)(v.A,{children:n}),(0,o.jsx)(j.A,{label:n,value:String(null!=r?r:""),onChange:t=>k(e,t.target.value),children:t.enum.map((e,n)=>{var r;return(0,o.jsx)(w.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)(A.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);k(e,isNaN(n)?0:n)}else k(e,t.target.value)}},e)})}),(0,o.jsxs)(l.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:2},children:[(0,o.jsx)(S.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{s&&s(d)},disabled:!s,children:"Cancel"}),(0,o.jsx)(S.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{i&&i(d,x)},disabled:!i,children:"Submit"})]})]})},el="Type your own answer",ei=e=>{let{question:t,onAnswer:n,onDecline:i}=e,{questionId:s,questions:d}=t,[c,p]=(0,r.useState)(()=>d.map(()=>[])),[h,m]=(0,r.useState)(()=>d.map(()=>"")),x=()=>d.map((e,t)=>{var n;return(null!=(n=c[t])?n:[]).map(e=>e===el?h[t].trim():e).filter(e=>e.length>0)}),f=d.every((e,t)=>{var n;return(null!=(n=x()[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.default,{variant:"h6",sx:{mb:1},children:"The assistant is asking"}),(0,o.jsx)(l.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:d.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)(u.A,{control:(0,o.jsx)(y.A,{size:"small",checked:(null!=(n=c[t])?n:[]).includes(e),onChange:()=>((e,t)=>{p(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},e)})}):(0,o.jsx)(I.A,{value:null!=(r=(null!=(n=c[t])?n:[])[0])?r:"",onChange:e=>{var n;return n=e.target.value,void p(e=>{let o=e.map(e=>[...e]);return o[t]=[n],o})},children:e.options.map(e=>(0,o.jsx)(u.A,{value:e,control:(0,o.jsx)(T.A,{size:"small"}),label:e},e))}),(null!=(a=c[t])?a:[]).includes(el)&&(0,o.jsx)(A.A,{size:"small",sx:{mt:1},placeholder:"Your answer…",value:h[t],onChange:e=>m(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)(S.A,{variant:"outlined",color:"inherit",size:"small",onClick:()=>{i&&i(s)},disabled:!i,children:"Decline"}),(0,o.jsx)(S.A,{variant:"contained",color:"primary",size:"small",onClick:()=>{n&&n(s,x())},disabled:!n||!f,children:"Answer"})]})]})},es=e=>{let{messages:t,pendingToolCalls:n,pendingElicitation:s,availableNodes:c=[],conversationId:u,editingMessageId:p,onToggleDisabled:h,onSplitConversation:y,onBeginEditMessage:b,onApproveToolCall:v,onRejectToolCall:j,onSubmitElicitation:C,onCancelElicitation:k,pendingQuestion:I,onAnswerQuestion:T,onDeclineQuestion:z,onAppMessage:M,onUpdateModelContext:P,onRegisterAppTeardown:W,onOpenInCanvas:_,queuedMessages:H=[],queueHoldReason:J=null}=e,[U,Y]=(0,r.useState)({}),[V,K]=(0,r.useState)(50);(0,r.useEffect)(()=>{K(50)},[u]);let $=Math.max(0,(Array.isArray(t)?t.length:0)-V),et=(0,r.useMemo)(()=>Array.isArray(t)?$>0?t.slice($):t:[],[t,$]),{pairsByAnchorId:en,handoffsByAnchorId:eo,consumedToolCallIds:el,groups:es}=(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=[],u=[];for(let t of e){var c;if("function"!==t.type)continue;if(Z(null==(c=t.function)?void 0:c.name)){u.push(t);continue}let e=t.id,n=e?i.get(e):void 0;e&&r.add(e),l.push({toolCall:t,result:n})}let p=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),h=l.length>0||u.length>0;if(p){d=a.id,h&&(s(a.id),t.get(a.id).push(...l),n.get(a.id).push(...u));continue}if(h)if(d){let e=s(d);t.get(d).push(...l),n.get(d).push(...u),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(...u)}return{pairsByAnchorId:t,handoffsByAnchorId:n,hoistedAssistantIds:o,consumedToolCallIds:r,groups:l}})(t),[t]),ed=(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&&Z(null==(n=o.function)?void 0:n.name)&&"string"==typeof o.id&&o.id&&t.add(o.id)}}return t})(t),[t]),ec=(0,r.useMemo)(()=>new Set(et.map(e=>e.id)),[et]),{renderPairsById:eu,renderHandoffsById:ep,suppressedIds:eh}=(0,r.useMemo)(()=>{let e=new Map,t=new Map,n=new Set;for(let l of es){var o,r,a;let i=null!=(o=en.get(l.anchorId))?o:[],s=null!=(r=eo.get(l.anchorId))?r:[],d=null!=(a=l.memberIds.find(e=>ec.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}},[es,en,eo,ec]),[eg,em]=r.useState(null),[ex,ef]=r.useState(null),[ey,eb]=r.useState({}),ev=(0,r.useCallback)((e,t)=>{Q.debug("handleMenuOpen called with messageId: ".concat(t)),em(e.currentTarget),ef(t)},[]),ej=(0,r.useCallback)((e,t)=>{eb(n=>({...n,[e]:t}))},[]),ew=()=>{em(null),ef(null)},eC=()=>{ex&&(null==b||b(ex),ew())},eA=(0,r.useMemo)(()=>{let e=new Map;for(let t of c)e.set(t.id,t.label);return e},[c]),eS=(0,r.useMemo)(()=>ex&&t.find(e=>e.id===ex)||null,[ex,t]);return(0,o.jsxs)(l.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:[$>0&&(0,o.jsx)(l.default,{sx:{display:"flex",justifyContent:"center"},children:(0,o.jsxs)(S.A,{size:"small",variant:"outlined",onClick:()=>K(e=>e+200),children:["Show earlier messages (",$," more)"]})}),et.map((e,t)=>ee(e)||"tool"===e.role&&"string"==typeof e.tool_call_id&&ed.has(e.tool_call_id)||"tool"===e.role&&"string"==typeof e.tool_call_id&&el.has(e.tool_call_id)||eh.has(e.id)?null:(0,o.jsx)(er,{message:e,nodeLabel:e.processNodeId?eA.get(e.processNodeId):void 0,availableNodes:c,showRaw:!!ey[e.id],toolCallPairs:eu.get(e.id),onAppMessage:M,onUpdateModelContext:P,onRegisterAppTeardown:W,onOpenInCanvas:_,hoistedHandoffs:ep.get(e.id),isBeingEdited:!!p&&e.id===p,onMenuOpen:ev,onToggleRaw:ej},e.id||"msg-".concat($+t))),H.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.default,{variant:"body2",sx:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.content||(e.attachments.length>0?"".concat(e.attachments.length," attachment(s)"):"")}),(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",gap:.5,justifyContent:"flex-end"},children:[!J&&(0,o.jsx)(i.default,{size:10,color:"inherit"}),(0,o.jsx)(a.default,{variant:"caption",sx:{opacity:.85},children:null!=J?J:"Queued"})]})]})},e.id)),(0,o.jsxs)(E.A,{anchorEl:eg,open:!!eg,onClose:ew,children:[eS&&(()=>{Q.debug("Entering menu item rendering logic",{activeMessageId:ex}),Q.debug("Active message object for menu:",eS),Q.debug("Active message role for menu:",null==eS?void 0:eS.role);try{if("user"===eS.role&&"string"==typeof eS.content&&b)return(0,o.jsxs)(w.A,{onClick:eC,children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(B.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:"Edit Message"})]});return null}catch(e){return Q.error("Error rendering Edit Message menu item",{error:e}),null}})(),(0,o.jsxs)(w.A,{onClick:()=>{ex&&(h(ex),ew())},children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(D.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:(null==eS?void 0:eS.disabled)?"Enable Message":"Disable Message"})]}),(0,o.jsxs)(w.A,{onClick:()=>{ex&&(y(ex),ew())},children:[(0,o.jsx)(R.A,{children:(0,o.jsx)(O.A,{fontSize:"small"})}),(0,o.jsx)(N.A,{children:"Split Conversation Here"})]})]}),s&&(0,o.jsx)(ea,{elicitation:s,onSubmit:C,onCancel:k}),I&&(0,o.jsx)(ei,{question:I,onAnswer:T,onDecline:z}),n&&n.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.default,{variant:"h6",sx:{mb:1,display:"flex",alignItems:"center"},children:[(0,o.jsx)(F.A,{sx:{mr:1}})," Tool Approval Required"]}),(0,o.jsx)(a.default,{variant:"body2",sx:{mb:2},children:"The assistant wants to use the following tool(s). Please approve or reject each request."}),n.map((e,t)=>{var n;let r=(0,q.yo)(e.function.name),i=e.function.arguments;try{let t=JSON.parse(e.function.arguments);i=JSON.stringify(t,null,2)}catch(e){}return(0,o.jsxs)(m.A,{defaultExpanded:!0,sx:{mb:1,"&:before":{display:"none"},boxShadow:1},children:[(0,o.jsx)(x.A,{expandIcon:(0,o.jsx)(L.A,{}),children:(0,o.jsxs)(l.default,{sx:{display:"flex",alignItems:"center",width:"100%"},children:[(0,o.jsx)(F.A,{fontSize:"small",sx:{mr:1,color:"primary.main"}}),(0,o.jsx)(a.default,{variant:"subtitle2",sx:{fontWeight:"bold",flexGrow:1},children:r}),(0,o.jsx)(d.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)(f.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:i}),(0,o.jsx)(A.A,{label:"Rejection reason (optional)",placeholder:"e.g. write to dist/ instead",value:null!=(n=U[e.id])?n:"",onChange:t=>Y(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)(S.A,{variant:"outlined",color:"error",size:"small",startIcon:(0,o.jsx)(X.A,{}),onClick:()=>{var t;return j&&j(e.id,!1,(null==(t=U[e.id])?void 0:t.trim())||void 0)},disabled:!j,children:"Reject"}),(0,o.jsx)(S.A,{variant:"outlined",color:"error",size:"small",onClick:()=>j&&j(e.id,!0),disabled:!j,title:"Always deny this tool — saves a rule so future calls are auto-denied",children:"Always Deny"}),(0,o.jsx)(S.A,{variant:"outlined",color:"success",size:"small",startIcon:(0,o.jsx)(G.A,{}),onClick:()=>v&&v(e.id,!0),disabled:!v,title:"Always allow this tool — saves a rule so future calls are auto-approved",children:"Always Allow"}),(0,o.jsx)(S.A,{variant:"contained",color:"success",size:"small",startIcon:(0,o.jsx)(G.A,{}),onClick:()=>v&&v(e.id),disabled:!v,children:"Approve"})]})]})]},e.id||"ptc-".concat(t))})]})]})}},71738:(e,t,n)=>{n.d(t,{R:()=>u,A:()=>f});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);let u="flowEdgeWaypoint",p={x:16,y:-16},h=(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}}}),m="#009688",x="#4DB6AC",f=e=>{var t,n,i;let f,y,{variant:b,id:v,source:j,target:w,sourceHandleId:C,targetHandleId:A,sourceX:S,sourceY:k,targetX:I,targetY:T,sourcePosition:E,targetPosition:R,style:N={},markerEnd:z,markerStart:M,data:P,selected:D}=e,O=(0,s.A)(),{deleteElements:W,screenToFlowPosition:_,getNode:L}=(0,a.VH)(),[F,H]=(0,r.useState)(!1),[J,U]=(0,r.useState)(null),B=(0,r.useRef)(null),G=(0,r.useRef)(!1),X="standard"===b&&(null==P?void 0:P.condition)?(0,c.P2)(P.condition):"",Y=e=>!!e&&e.includes("process")&&e.includes("resource"),q="";if("resource"===b){let e=null==(t=L(j))?void 0:t.type,o=null==(n=L(w))?void 0:n.type;"resource"===e&&"process"===o?q="consume":"process"===e&&"resource"===o||Y(C)?q="produce":Y(A)&&(q="consume")}let V=null!=(i=null==P?void 0:P.waypoints)?i:(null==P?void 0:P.waypoint)?[P.waypoint]:[],Z=null!=J?J:V,K="standard"===b&&!!(null==P?void 0:P.bidirectional),Q="mcp"===b||"resource"===b,$=E||(Q?l.yX.Left:l.yX.Bottom),ee=R||(Q?l.yX.Right:l.yX.Top),et=null;if(Z.length>0)f=(et=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:S,y:k},d($),{x:I,y:T},d(ee),Z,16)).d,y=et.midpoint;else{let[e,t,n]=(0,l.oN)({sourceX:S,sourceY:k,sourcePosition:$,targetX:I,targetY:T,targetPosition:ee,borderRadius:16});f=e,y={x:t,y:n}}let en=Q?"":K?"animated-both":(null==P?void 0:P.animated)!==!1?"animated":"",eo={...N,strokeWidth:D?3:2,stroke:"mcp"===b?D?O.palette.info.light:O.palette.info.main:"resource"===b?D?x:m:D?O.palette.primary.main:O.palette.text.secondary,..."resource"===b?{strokeDasharray:"6 4"}:{},...en?{animationDuration:"".concat(Math.round((K?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})(v)),"ms")}:{}},er=e=>{document.dispatchEvent(new CustomEvent(u,{detail:{edgeId:v,waypoints:e&&e.length>0?e:null}}))},ea=e=>{if(0!==e.button)return;let t=_({x:e.clientX,y:e.clientY}),n=et?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,et.segments):0,o=[...Z];o.splice(n,0,t),B.current={index:n,pointerId:e.pointerId,startClient:{x:e.clientX,y:e.clientY},base:o,active:!1,fromPath:!0},e.target.setPointerCapture(e.pointerId)},el=e=>{let t=B.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]=_({x:e.clientX,y:e.clientY}),U(n)},ei=e=>{let t=B.current;if(!t||e.pointerId!==t.pointerId||(B.current=null,e.target.releasePointerCapture(e.pointerId),G.current=t.active,!t.active))return;let n=[...t.base];n[t.index]=_({x:e.clientX,y:e.clientY}),er(n),U(null)},es=null!==J,ed=D||F||es;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g,{path:f,markerEnd:z,markerStart:M,style:eo,id:v,className:en}),(0,o.jsx)("path",{d:f,fill:"none",stroke:"transparent",strokeWidth:20,style:{cursor:es?"grabbing":"grab"},onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1),onPointerDown:ea,onPointerMove:el,onPointerUp:ei}),(0,o.jsxs)(a.rV,{children:[X&&(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(y.x,"px,").concat(y.y-18,"px)"),pointerEvents:"none",background:O.palette.info.main,color:O.palette.info.contrastText,borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:O.shadows[1],zIndex:1002},className:"nodrag nopan",title:"Routing condition: ".concat(X),children:X}),q&&(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(y.x,"px,").concat(y.y-18,"px)"),pointerEvents:"none",background:D?x:m,color:"#ffffff",borderRadius:4,padding:"1px 6px",fontSize:10,fontWeight:600,whiteSpace:"nowrap",boxShadow:O.shadows[1],zIndex:1002},className:"nodrag nopan",title:"consume"===q?"This step consumes (reads) the resource":"This step produces (writes) the resource",children:q}),ed&&Z.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:O.palette.primary.main,border:"2px solid ".concat(O.palette.background.paper),boxShadow:O.shadows[1],cursor:"move",pointerEvents:"all",touchAction:"none",zIndex:1001},className:"nodrag nopan",title:"Drag to move; double-click to remove this bend",onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1),onPointerDown:e=>{0===e.button&&(e.stopPropagation(),B.current={index:t,pointerId:e.pointerId,startClient:{x:e.clientX,y:e.clientY},base:[...Z],active:!1,fromPath:!1},e.target.setPointerCapture(e.pointerId))},onPointerMove:el,onPointerUp:ei,onDoubleClick:e=>{e.stopPropagation(),(e=>{let t=Z.filter((t,n)=>n!==e);U(null),er(t)})(t)}},t)),(0,o.jsx)("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(y.x+p.x,"px,").concat(y.y+p.y,"px)"),pointerEvents:ed&&!es?"all":"none",opacity:ed&&!es?1:0,transition:"opacity 120ms ease",zIndex:1e3},className:"nodrag nopan",onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1),children:(0,o.jsx)(h,{title:"Delete connection (drag to re-route)",style:{touchAction:"none"},onPointerDown:ea,onPointerMove:el,onPointerUp:ei,onClick:e=>{if(e.stopPropagation(),G.current){G.current=!1;return}W({edges:[{id:v}]})},children:"\xd7"})})]})]})}},77758:(e,t,n)=>{n.d(t,{Ay:()=>K,nd:()=>Y,c_:()=>X});var o=n(95155),r=n(12115),a=n(56682),l=n(94049),i=n(25635),s=n(22539),d=n(76122),c=n(33567),u=n(48116),p=n(74879),h=n(90057),g=n(93632),m=n(33420),x=n(86973),f=n(49501),y=n(17681),b=n(21067),v=n(36314),j=n(4484),w=n(52277),C=n(78095),A=n(14915),S=n(74110);let k=e=>{let{open:t,position:n,onClose:r,onDelete:a,onEditProperties:l,onToggleBidirectional:i,onCopy:s,onPaste:d,canPaste:c,canCopy:u,nodeId:p,selection:h,edgeId:g}=e,m=()=>{l&&l(),r()},k=[];return p&&!h&&k.push((0,o.jsxs)(x.A,{onClick:m,children:[(0,o.jsx)(f.A,{children:(0,o.jsx)(A.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Edit Properties"})]},"edit")),g&&!p&&!h&&(l&&k.push((0,o.jsxs)(x.A,{onClick:m,children:[(0,o.jsx)(f.A,{children:(0,o.jsx)(A.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Edit Properties"})]},"edge-edit")),i&&k.push((0,o.jsxs)(x.A,{onClick:()=>{i&&i(),r()},children:[(0,o.jsx)(f.A,{children:(0,o.jsx)(S.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Toggle Bidirectional"})]},"edge-bidirectional"))),s&&(p||h)&&k.push((0,o.jsxs)(x.A,{onClick:()=>{s&&s(),r()},disabled:!u,children:[(0,o.jsx)(f.A,{children:(0,o.jsx)(w.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Copy"})]},"copy")),d&&k.push((0,o.jsxs)(x.A,{onClick:()=>{d&&d(),r()},disabled:!c,children:[(0,o.jsx)(f.A,{children:(0,o.jsx)(C.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Paste"})]},"paste")),(p||g||h)&&k.push((0,o.jsx)(b.A,{},"delete-divider"),(0,o.jsxs)(x.A,{onClick:()=>{a(),r()},sx:{color:"error.main"},children:[(0,o.jsx)(f.A,{sx:{color:"error.main"},children:(0,o.jsx)(j.A,{fontSize:"small"})}),(0,o.jsx)(y.A,{children:"Delete"})]},"delete")),(0,o.jsx)(v.A,{open:t,onClose:r,anchorReference:"anchorPosition",anchorPosition:null!==n.y&&null!==n.x?{top:n.y,left:n.x}:void 0,children:k})};var I=n(53911),T=n(71738);function E(e,t){return t.find(t=>t.id===e)}var R=n(87021);let N=(0,R.h)("components/flow/FlowBuilder/Canvas/hooks/useCanvasEvents.ts");var z=n(93764),M=n(57563),P=n(91871),D=n(78470),O=n(39047),W=n(81464),_=n(12142);let L=(0,u.Ay)(P.A)(e=>{let{theme:t}=e;return{minWidth:"36px",padding:"6px",margin:"0 4px",backgroundColor:"dark"===t.palette.mode?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)","&:hover":{backgroundColor:"dark"===t.palette.mode?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"}}}),F=()=>{let{zoomIn:e,zoomOut:t,fitView:n}=(0,s.VH)();return(0,o.jsx)(s.Zk,{position:"top-right",style:{margin:"10px"},children:(0,o.jsxs)("div",{style:{display:"flex",gap:"5px"},children:[(0,o.jsx)(D.A,{title:"Zoom In",children:(0,o.jsx)(L,{variant:"outlined",size:"small",onClick:()=>e(),children:(0,o.jsx)(O.A,{fontSize:"small"})})}),(0,o.jsx)(D.A,{title:"Zoom Out",children:(0,o.jsx)(L,{variant:"outlined",size:"small",onClick:()=>t(),children:(0,o.jsx)(W.A,{fontSize:"small"})})}),(0,o.jsx)(D.A,{title:"Fit View",children:(0,o.jsx)(L,{variant:"outlined",size:"small",onClick:()=>n(),children:(0,o.jsx)(_.A,{fontSize:"small"})})})]})})},H=e=>{let{showMiniMap:t=!0,showControls:n=!0,showBackground:r=!0}=e,a=(0,c.A)(),l="dark"===a.palette.mode;return(0,o.jsxs)(o.Fragment,{children:[r&&(0,o.jsx)(s.VS,{color:l?a.palette.text.disabled:a.palette.divider,gap:20,size:1}),n&&(0,o.jsx)(s.H2,{}),t&&(0,o.jsx)(s.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)"})]})},J=(0,R.h)("components/flow/FlowBuilder/Canvas/Canvas.tsx"),U="flujo:flowClipboard",B=null;function G(e){B=e;try{localStorage.setItem(U,JSON.stringify(e))}catch(e){J.warn("Could not persist flow clipboard to localStorage",e)}}let X={start:m.vm,process:m.Uw,finish:m.IK,mcp:m.v2,subflow:m.lA,resource:m.z9,signal:m.z3,trigger:m.pF},Y={custom:I.jY,mcpEdge:I.oY,resourceEdge:I.sZ},q=e=>{let{open:t,position:n,onClose:r,onSelectNodeType:s,sourceNodeType:d,sourceHandleId:u}=e,p=(0,c.A)(),h=(0,M._w)(d,u);J.debug("NodeSelectionModal: Source node type: ".concat(d,", Source handle ID: ").concat(u)),J.debug("NodeSelectionModal: Valid node types: ".concat(h.join(", ")));let g=[{type:"process",label:"Process Node",description:"Let a LLM do your work"},{type:"finish",label:"Finish Node",description:"End your flow here"},{type:"mcp",label:"MCP Node",description:"Add functionality"},{type:"subflow",label:"Subflow Node",description:"Run another flow"},{type:"resource",label:"Resource Node",description:"A data artifact steps read or write"},{type:"signal",label:"Signal Node",description:"Emit an event to trigger another flow"},{type:"trigger",label:"Trigger Node",description:"Schedule or event-trigger for this flow"}].filter(e=>h.includes(e.type));return n?(0,o.jsx)(a.A,{open:t,onClose:r,"aria-labelledby":"node-selection-modal",children:(0,o.jsxs)(l.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:300,bgcolor:"background.paper",borderRadius:2,boxShadow:24,p:4},children:[(0,o.jsx)(i.default,{variant:"h6",component:"h2",gutterBottom:!0,children:"Select Node Type"}),(0,o.jsx)(l.default,{display:"flex",flexDirection:"column",gap:2,children:g.map(e=>(0,o.jsxs)(l.default,{sx:{padding:2,borderRadius:1,border:"2px solid ".concat("process"===e.type?p.palette.secondary.main:"finish"===e.type?p.palette.success.main:"subflow"===e.type?p.palette.warning.main:"resource"===e.type?m.nH:p.palette.info.main),cursor:"pointer","&:hover":{boxShadow:3}},onClick:()=>s(e.type,n),children:[(0,o.jsxs)(l.default,{display:"flex",alignItems:"center",gap:1,mb:1,children:[(e=>{switch(e){case"process":default:return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:p.palette.secondary.main,borderRadius:"50%"}});case"finish":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:p.palette.success.main,borderRadius:"50%"}});case"mcp":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:p.palette.info.main,borderRadius:"50%"}});case"subflow":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:p.palette.warning.main,borderRadius:"50%"}});case"resource":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:m.nH,borderRadius:"50%"}});case"signal":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:m.vp,borderRadius:"50%"}});case"trigger":return(0,o.jsx)("div",{style:{width:24,height:24,backgroundColor:m.$Q,borderRadius:"50%"}})}})(e.type),(0,o.jsx)(i.default,{variant:"subtitle1",fontWeight:"bold",children:e.label})]}),(0,o.jsx)(i.default,{variant:"body2",color:"text.secondary",children:e.description})]},e.type))})]})}):null},V=(0,u.Ay)("div")(e=>{let{theme:t}=e;return{width:"100%",height:"80vh",border:"1px solid ".concat(t.palette.divider),borderRadius:"4px",background:t.palette.background.paper,position:"relative"}}),Z=(0,r.forwardRef)((e,t)=>{let n=(0,c.A)(),{nodes:a,edges:l,onNodesChange:i,onEdgesChange:u,onDrop:m,onDragOver:x,onInit:f,reactFlowWrapper:y,onEditNode:b,onEditEdge:v}=e,{contextMenu:j,selectedElements:w,closeContextMenu:C,handleDelete:A,onNodeContextMenu:S,onEdgeContextMenu:I,onPaneContextMenu:R,onSelectionContextMenu:P}=function(e){let{deleteElements:t}=(0,s.VH)(),[n,o]=(0,r.useState)({open:!1,position:{x:0,y:0}}),[a,l]=(0,r.useState)({nodes:[],edges:[]});(0,s.p4)({onChange:e=>{let{nodes:t,edges:n}=e,o=t.map(e=>e.id),r=n.map(e=>e.id);N.debug("Selection changed: ".concat(o.length," nodes, ").concat(r.length," edges selected")),l({nodes:o,edges:r})}});let i=(0,r.useCallback)((e,t,n,r)=>{e.preventDefault(),t?N.debug("Context menu opened for node: ".concat(t)):n?N.debug("Context menu opened for edge: ".concat(n)):r?N.debug("Context menu opened for the current selection"):N.debug("Context menu opened on canvas at (".concat(e.clientX,", ").concat(e.clientY,")")),o({open:!0,position:{x:e.clientX,y:e.clientY},nodeId:t,edgeId:n,selection:r})},[]),d=(0,r.useCallback)(()=>{N.debug("Context menu closed"),o(e=>({...e,open:!1}))},[]),c=(0,r.useCallback)(()=>{if(n.selection)N.debug("handleDelete: Deleting the current selection"),t({nodes:a.nodes.map(e=>({id:e})),edges:a.edges.map(e=>({id:e}))});else if(n.nodeId){if(N.debug("handleDelete: Attempting to delete node ".concat(n.nodeId)),!function(e,t){let n=E(e,t);return!!n&&"start"!==n.type}(n.nodeId,e)){N.warn("Cannot delete Start node: ".concat(n.nodeId)),alert("Start nodes cannot be deleted");return}t({nodes:[{id:n.nodeId}]})}else n.edgeId&&(N.debug("handleDelete: Deleting edge ".concat(n.edgeId)),t({edges:[{id:n.edgeId}]}))},[n,t,e,a]),u=(0,r.useCallback)((e,t)=>{i(e,t.id)},[i]),p=(0,r.useCallback)((e,t)=>{i(e,void 0,t.id)},[i]),h=(0,r.useCallback)(e=>{i(e)},[i]),g=(0,r.useCallback)(e=>{i(e,void 0,void 0,!0)},[i]);return{contextMenu:n,selectedElements:a,onContextMenu:i,closeContextMenu:d,handleDelete:c,onNodeContextMenu:u,onEdgeContextMenu:p,onPaneContextMenu:h,onSelectionContextMenu:g}}(a),{deleteElements:D}=(0,s.VH)(),O=(0,s.PI)(),W=(0,r.useRef)(null),[_,L]=(0,r.useState)(null),[Z,K]=(0,r.useState)({open:!1,position:null}),Q=(0,r.useCallback)(e=>[...a.filter(e=>e.selected).map(e=>({type:"select",id:e.id,selected:!1})),{type:"add",item:{...e,selected:!0}}],[a]);(0,r.useEffect)(()=>{if(!b)return;let e=e=>{if(e.detail&&e.detail.nodeId){let t=E(e.detail.nodeId,a);t&&b(t)}};return document.addEventListener("editNode",e),()=>{document.removeEventListener("editNode",e)}},[a,b]);let $=(0,r.useCallback)(e=>{var t,o;if(!e.sourceHandle||!e.targetHandle)return void J.error("Invalid connection: Missing source or target handle",e);let r=(null==(t=O.getState().connection.fromHandle)?void 0:t.type)==="target";if(!(0,z.JL)(e,a,l))return;let i=(0,z.wn)(e,a);if((null==(o=i.data)?void 0:o.edgeType)==="standard"){let t=e=>{var t;return(null==(t=e.data)?void 0:t.edgeType)!=="mcp"},o=e=>{var t;return!!(null==(t=e.data)?void 0:t.bidirectional)},i=l.find(n=>t(n)&&n.source===e.source&&n.target===e.target),s=l.find(n=>t(n)&&n.source===e.target&&n.target===e.source),c=e=>{J.info("Merging reverse connection into bidirectional edge ".concat(e.id)),u([{type:"replace",id:e.id,item:{...e,data:{...e.data,bidirectional:!0},markerStart:{type:d.TG.ArrowClosed,width:20,height:20,color:n.palette.text.secondary}}}])};if(r){let e=null!=i?i:s;return e?void(!o(e)&&(0,z.y2)(e,a,l)&&c(e)):void J.info("Connection drawn from a top handle is only allowed to convert an existing edge to bidirectional")}if(i&&o(i))return;if(s){!o(s)&&(0,z.y2)(s,a,l)&&c(s);return}}u([...(0,z.Cm)(i,l).map(e=>({type:"remove",id:e})),{type:"add",item:i}])},[a,l,u,O,n.palette.text.secondary]),ee=(0,r.useCallback)(e=>(0,z.p9)(e,a,l),[a,l]);(0,r.useEffect)(()=>{let e=e=>{var t;let{edgeId:n,waypoints:o}=e.detail,r=l.find(e=>e.id===n);if(!r)return;let{waypoint:a,...i}=null!=(t=r.data)?t:{};u([{type:"replace",id:n,item:{...r,data:{...i,waypoints:null!=o?o:void 0}}}])};return document.addEventListener(T.R,e),()=>document.removeEventListener(T.R,e)},[l,u]);let et=(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 g.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}},[]),en=(0,r.useCallback)(e=>{L(e),f&&f(e)},[f]);(0,r.useEffect)(()=>{let e=e=>{if(!e.detail||!_)return;let{nodeType:t,position:n}=e.detail,o=h.g.createNode(t,n);i(Q(o)),b&&b(o)};return document.addEventListener("addNodeFromPalette",e),()=>{document.removeEventListener("addNodeFromPalette",e)}},[_,i,Q,b]);let eo=(0,r.useCallback)(()=>{if(j.nodeId&&b){let e=E(j.nodeId,a);e&&b(e)}else if(j.edgeId&&v){let e=l.find(e=>e.id===j.edgeId);e&&v(e)}},[j.nodeId,j.edgeId,a,l,b,v]),er=(0,r.useCallback)(()=>{var e,t,o;let r;if(!j.edgeId)return;let i=l.find(e=>e.id===j.edgeId);if(!i)return;if((null==(e=i.data)?void 0:e.edgeType)!=="standard")return void J.debug("Toggle bidirectional ignored for non-standard edge ".concat(i.id));let s=!!(null==(t=i.data)?void 0:t.bidirectional);if(!s&&!(0,z.y2)(i,a,l))return void J.info("Edge ".concat(i.id," cannot be made bidirectional (reverse direction is not a legal connection)"));let c={...null!=(o=i.data)?o:{},bidirectional:!s};if(s){let{markerStart:e,...t}=i;r={...t,data:c}}else r={...i,data:c,markerStart:{type:d.TG.ArrowClosed,width:20,height:20,color:n.palette.text.secondary}};u([{type:"replace",id:i.id,item:r}])},[j.edgeId,l,a,u,n.palette.text.secondary]),ea=(0,r.useCallback)((e,t)=>{e.preventDefault(),b&&b(t)},[b]),el=(0,r.useCallback)((e,t)=>{var n,o;let{fromNode:r,fromHandle:a,toHandle:i}=t;if(!r||!(null==a?void 0:a.id)||!_)return void J.debug("onConnectEnd: No valid connection start data");J.debug("onConnectEnd: Connection ended from node ".concat(r.id,", handle ").concat(a.id));let s="subflow"===r.type&&l.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,M.z5)(o))&&("subflow"!==t||"source"!==n||!l)}({fromNodeType:r.type,fromHandleType:a.type,fromHandleId:a.id,landedOnHandle:!!i,droppedOnPane:d,subflowHasOutgoing:s}))return;let c=e instanceof MouseEvent?e:e.changedTouches[0],u=_.screenToFlowPosition({x:c.clientX,y:c.clientY});J.debug("onConnectEnd: Connection dropped on pane at position (".concat(u.x,", ").concat(u.y,")")),K({open:!0,position:u,sourceNodeId:r.id,sourceNodeType:r.type,sourceHandleId:a.id})},[_,l]),ei=(0,r.useCallback)((e,t)=>{J.debug("handleNodeTypeSelection: Selected node type ".concat(e," at position (").concat(t.x,", ").concat(t.y,")"));let n=h.g.createNode(e,t);i(Q(n));let{sourceNodeId:o,sourceHandleId:r}=Z,s=o?E(o,a):void 0;if(s&&r){let t=(0,M.CW)(e,r),o={source:s.id,sourceHandle:r,target:n.id,targetHandle:t};if(J.debug("handleNodeTypeSelection: Creating connection from ".concat(o.source," to ").concat(o.target)),(0,z.JL)(o,[...a,n],l)){let e=(0,z.wn)(o,[...a,n]);u([...(0,z.Cm)(e,l).map(e=>({type:"remove",id:e})),{type:"add",item:e}]),J.debug("handleNodeTypeSelection: Edge created with id ".concat(e.id))}}K({open:!1,position:null}),b&&b(n)},[Z,a,l,Q,i,u,b]),es=(0,r.useCallback)(()=>{J.debug("handleCloseNodeSelectionModal: Closing node selection modal"),K({open:!1,position:null})},[]),ed=(0,r.useCallback)(()=>{let e=new Set(w.nodes),t=a.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=l.filter(e=>n.has(e.source)&&n.has(e.target));return G({nodes:JSON.parse(JSON.stringify(t)),edges:JSON.parse(JSON.stringify(o))}),J.debug("Copied ".concat(t.length," node(s) and ").concat(o.length," edge(s)")),!0},[w,a,l]),ec=(0,r.useCallback)(()=>{let e=B;if(!e)try{let t=localStorage.getItem(U);t&&(e=JSON.parse(t))}catch(e){J.warn("Could not read flow clipboard from localStorage",e)}if(!e||!e.nodes||0===e.nodes.length)return void J.debug("Paste requested but clipboard is empty");let t=new Map;e.nodes.forEach(e=>t.set(e.id,(0,p.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,p.A)(),source:t.get(e.source),target:t.get(e.target),selected:!1}));i([...a.filter(e=>e.selected).map(e=>({type:"select",id:e.id,selected:!1})),...n.map(e=>({type:"add",item:e}))]),o.length>0&&u(o.map(e=>({type:"add",item:e}))),J.info("Pasted ".concat(n.length," node(s) and ").concat(o.length," edge(s)"))},[a,i,u]),eu=(0,r.useCallback)(e=>{let t=e.ctrlKey||e.metaKey,n=e.key.toLowerCase();if(t&&"c"===n){ed()&&e.preventDefault();return}if(t&&"x"===n){ed()&&(e.preventDefault(),D({nodes:w.nodes.map(e=>({id:e})),edges:w.edges.map(e=>({id:e}))}));return}if(t&&"v"===n){e.preventDefault(),ec();return}},[ed,ec,D,w]),ep=(0,r.useCallback)(()=>{if(j.nodeId&&!w.nodes.includes(j.nodeId)){let e=a.find(e=>e.id===j.nodeId);e&&"start"!==e.type&&(G({nodes:JSON.parse(JSON.stringify([e])),edges:[]}),J.debug("Copied right-clicked node to clipboard"));return}ed()},[j.nodeId,w,a,ed]),eh=(0,r.useMemo)(()=>{if(B)return!0;try{return!!localStorage.getItem(U)}catch(e){return!1}},[j.open]),eg=(0,r.useMemo)(()=>{if(j.selection){let e=new Set(w.nodes);return a.some(t=>e.has(t.id)&&"start"!==t.type)}if(j.nodeId){let e=a.find(e=>e.id===j.nodeId);return!!e&&"start"!==e.type}return!1},[j.selection,j.nodeId,w,a]);return(0,o.jsxs)(V,{ref:e=>{t&&("function"==typeof t?t(e):t.current=e),y&&(y.current=e),W.current=e},children:[(0,o.jsxs)(s.Gc,{nodes:a,edges:l,nodeTypes:X,edgeTypes:Y,defaultEdgeOptions:(0,r.useMemo)(()=>({type:"custom",animated:!0,style:{stroke:n.palette.text.secondary,strokeWidth:2},markerEnd:{type:d.TG.ArrowClosed,width:20,height:20,color:n.palette.text.secondary}}),[n.palette.text.secondary]),connectionLineType:d.Do.SmoothStep,connectionMode:d.WZ.Loose,isValidConnection:ee,onNodesChange:i,onEdgesChange:u,onConnect:$,onBeforeDelete:et,deleteKeyCode:["Backspace","Delete"],onDrop:m,onDragOver:x,onInit:en,onNodeContextMenu:S,onEdgeContextMenu:I,onPaneContextMenu:R,onSelectionContextMenu:P,onKeyDown:eu,onNodeDoubleClick:ea,onConnectEnd:el,tabIndex:0,fitView:!0,attributionPosition:"bottom-right",minZoom:.1,maxZoom:2,snapToGrid:!0,snapGrid:[15,15],connectOnClick:!1,children:[(0,o.jsx)(F,{}),(0,o.jsx)(H,{})]}),(0,o.jsx)(k,{open:j.open,position:j.position,onClose:C,onDelete:A,onEditProperties:eo,onToggleBidirectional:er,onCopy:ep,onPaste:ec,canPaste:eh,canCopy:eg,nodeId:j.nodeId,selection:j.selection,edgeId:j.edgeId}),(0,o.jsx)(q,{open:Z.open,position:Z.position,onClose:es,onSelectNodeType:ei,sourceNodeType:Z.sourceNodeType,sourceHandleId:Z.sourceHandleId})]})});Z.displayName="Canvas";let K=Z},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(87021).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)}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,109,282,312,397,405,624,638,761,846,1144,1189,1201,1225,1288,1337,1426,1490,1513,1677,1797,2047,2348,2437,2483,2567,2669,3190,3292,3318,3352,3369,3371,3551,3587,3623,3691,3932,4063,4216,4233,4267,4300,4524,4659,4693,4735,4806,4810,4825,4864,5196,5617,5618,5644,5817,6078,6600,6744,7002,7080,7144,7221,7276,7591,7599,7712,7822,7824,7845,8046,8063,8068,8084,8140,8201,8350,8467,8479,8510,8563,8888,8957,9128,9168,9217,9247,9487,9604,9661,9666,9726,9942,9959],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);