flujo-ai 3.12.0 → 3.16.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 (408) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +140 -105
  3. package/.next/app-path-routes-manifest.json +19 -14
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +15 -15
  6. package/.next/routes-manifest.json +20 -1
  7. package/.next/server/app/_not-found/page.js +2 -2
  8. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_not-found.html +1 -1
  11. package/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/server/app/api/backup/route.js +1 -1
  13. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  14. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/browse/route.js +1 -1
  16. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  17. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/cwd/route.js +1 -1
  19. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  20. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/encryption/secure/route.js +1 -1
  22. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  23. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/env/route.js +1 -1
  25. package/.next/server/app/api/env/route.js.nft.json +1 -1
  26. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/[id]/route.js +1 -1
  28. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/flow/compile/route.js +1 -0
  31. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -0
  32. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -0
  33. package/.next/server/app/api/flow/generate/route.js +17 -0
  34. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -0
  35. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -0
  36. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  37. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/flow/route.js +1 -1
  40. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  41. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/git/route.js +2 -2
  43. package/.next/server/app/api/git/route.js.nft.json +1 -1
  44. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/init/route.js +1 -1
  46. package/.next/server/app/api/init/route.js.nft.json +1 -1
  47. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/local-models/capability/route.js +1 -0
  49. package/.next/server/app/api/local-models/capability/route.js.nft.json +1 -0
  50. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -0
  51. package/.next/server/app/api/local-models/pull/route.js +1 -0
  52. package/.next/server/app/api/local-models/pull/route.js.nft.json +1 -0
  53. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -0
  54. package/.next/server/app/api/local-models/suggest/route.js +2 -0
  55. package/.next/server/app/api/local-models/suggest/route.js.nft.json +1 -0
  56. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -0
  57. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  58. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  61. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  64. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  67. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  70. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/mcp/servers/route.js +1 -1
  85. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  86. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  88. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  91. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  92. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/mcp-registry/route.js +1 -1
  94. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  97. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  98. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/model/[id]/route.js +1 -1
  100. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/model/provider/route.js +1 -1
  103. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  104. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/model/route.js +1 -1
  106. package/.next/server/app/api/model/route.js.nft.json +1 -1
  107. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/model/test/route.js +1 -1
  109. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  110. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/oauth/callback/route.js +1 -1
  112. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  113. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/oauth/initiate/route.js +1 -1
  115. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  116. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/oauth/reset/route.js +1 -1
  118. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/planned-executions/[id]/route.js +2 -1
  121. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  122. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -1
  124. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  125. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -1
  127. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  128. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  130. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  131. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/planned-executions/route.js +1 -1
  133. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/restore/route.js +1 -1
  136. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  137. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/storage/route.js +1 -1
  139. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  140. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/update/route.js +1 -1
  142. package/.next/server/app/api/update/route.js.nft.json +1 -1
  143. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  145. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  146. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/chat/page.js +1 -1
  148. package/.next/server/app/chat/page.js.nft.json +1 -1
  149. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  150. package/.next/server/app/chat.html +1 -1
  151. package/.next/server/app/chat.rsc +2 -2
  152. package/.next/server/app/docs/page.js +32 -2
  153. package/.next/server/app/docs/page.js.nft.json +1 -1
  154. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  155. package/.next/server/app/docs.html +1 -1
  156. package/.next/server/app/docs.rsc +2 -2
  157. package/.next/server/app/executions/page.js +3 -3
  158. package/.next/server/app/executions/page.js.nft.json +1 -1
  159. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/executions.html +1 -1
  161. package/.next/server/app/executions.rsc +2 -2
  162. package/.next/server/app/flows/page.js +10 -10
  163. package/.next/server/app/flows/page.js.nft.json +1 -1
  164. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  165. package/.next/server/app/flows.html +1 -1
  166. package/.next/server/app/flows.rsc +2 -2
  167. package/.next/server/app/index.html +1 -1
  168. package/.next/server/app/index.rsc +1 -1
  169. package/.next/server/app/mcp/page.js +6 -6
  170. package/.next/server/app/mcp/page.js.nft.json +1 -1
  171. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/mcp-flows/route.js +5 -1
  173. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  174. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  176. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  177. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/mcp.html +1 -1
  179. package/.next/server/app/mcp.rsc +2 -2
  180. package/.next/server/app/models/page.js +2 -2
  181. package/.next/server/app/models/page.js.nft.json +1 -1
  182. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  183. package/.next/server/app/page.js +2 -2
  184. package/.next/server/app/page.js.nft.json +1 -1
  185. package/.next/server/app/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/settings/page.js +1 -1
  187. package/.next/server/app/settings/page.js.nft.json +1 -1
  188. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/settings.html +1 -1
  190. package/.next/server/app/settings.rsc +2 -2
  191. package/.next/server/app/v1/chat/completions/route.js +1 -1
  192. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  193. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  195. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  196. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  198. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  199. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  201. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  202. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  204. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  205. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  207. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  208. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  210. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  211. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  213. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  214. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  216. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  217. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  219. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  220. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/v1/models/route.js +1 -1
  222. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  223. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app-paths-manifest.json +19 -14
  225. package/.next/server/chunks/1403.js +1 -1
  226. package/.next/server/chunks/1690.js +1 -0
  227. package/.next/server/chunks/1877.js +31 -0
  228. package/.next/server/chunks/2776.js +1 -1
  229. package/.next/server/chunks/2859.js +7 -0
  230. package/.next/server/chunks/3243.js +1 -0
  231. package/.next/server/chunks/3304.js +1 -0
  232. package/.next/server/chunks/3984.js +4 -4
  233. package/.next/server/chunks/4681.js +1 -0
  234. package/.next/server/chunks/5504.js +1 -1
  235. package/.next/server/chunks/{1331.js → 5873.js} +3 -3
  236. package/.next/server/chunks/5935.js +2 -0
  237. package/.next/server/chunks/6195.js +37 -0
  238. package/.next/server/chunks/6523.js +1 -0
  239. package/.next/server/chunks/6936.js +6 -6
  240. package/.next/server/chunks/701.js +1 -1
  241. package/.next/server/chunks/7214.js +2 -2
  242. package/.next/server/chunks/{5389.js → 7362.js} +13 -13
  243. package/.next/server/chunks/7635.js +6 -0
  244. package/.next/server/chunks/{2287.js → 8367.js} +2 -2
  245. package/.next/server/chunks/{2253.js → 8572.js} +1 -1
  246. package/.next/server/chunks/8739.js +1 -1
  247. package/.next/server/chunks/8994.js +2 -0
  248. package/.next/server/chunks/9188.js +1 -1
  249. package/.next/server/chunks/9509.js +2 -2
  250. package/.next/server/chunks/9794.js +1 -0
  251. package/.next/server/chunks/9957.js +1 -0
  252. package/.next/server/functions-config-manifest.json +3 -0
  253. package/.next/server/instrumentation.js +1 -1
  254. package/.next/server/instrumentation.js.nft.json +1 -1
  255. package/.next/server/pages/404.html +1 -1
  256. package/.next/server/pages/500.html +1 -1
  257. package/.next/server/pages-manifest.json +1 -1
  258. package/.next/server/server-reference-manifest.js +1 -1
  259. package/.next/server/server-reference-manifest.json +1 -1
  260. package/.next/static/chunks/2403-5c26e0abd76095b1.js +1 -0
  261. package/.next/static/chunks/510-e39ad4e1fae6dd1f.js +1 -0
  262. package/.next/static/chunks/8862-1170dad1d6f3cd39.js +1 -0
  263. package/.next/static/chunks/9554-cb5bd72cb40e8dbe.js +1 -0
  264. package/.next/static/chunks/app/api/backup/route-7248529e02c31012.js +1 -0
  265. package/.next/static/chunks/app/api/browse/route-7248529e02c31012.js +1 -0
  266. package/.next/static/chunks/app/api/cwd/route-7248529e02c31012.js +1 -0
  267. package/.next/static/chunks/app/api/encryption/secure/route-7248529e02c31012.js +1 -0
  268. package/.next/static/chunks/app/api/env/route-7248529e02c31012.js +1 -0
  269. package/.next/static/chunks/app/api/flow/[id]/route-7248529e02c31012.js +1 -0
  270. package/.next/static/chunks/app/api/flow/compile/route-7248529e02c31012.js +1 -0
  271. package/.next/static/chunks/app/api/flow/generate/route-7248529e02c31012.js +1 -0
  272. package/.next/static/chunks/app/api/flow/prompt-renderer/route-7248529e02c31012.js +1 -0
  273. package/.next/static/chunks/app/api/flow/route-7248529e02c31012.js +1 -0
  274. package/.next/static/chunks/app/api/git/route-7248529e02c31012.js +1 -0
  275. package/.next/static/chunks/app/api/init/route-7248529e02c31012.js +1 -0
  276. package/.next/static/chunks/app/api/local-models/capability/route-7248529e02c31012.js +1 -0
  277. package/.next/static/chunks/app/api/local-models/pull/route-7248529e02c31012.js +1 -0
  278. package/.next/static/chunks/app/api/local-models/suggest/route-7248529e02c31012.js +1 -0
  279. package/.next/static/chunks/app/api/mcp/cancel/route-7248529e02c31012.js +1 -0
  280. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-7248529e02c31012.js +1 -0
  281. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-7248529e02c31012.js +1 -0
  282. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-7248529e02c31012.js +1 -0
  283. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-7248529e02c31012.js +1 -0
  284. package/.next/static/chunks/app/api/mcp/servers/[name]/route-7248529e02c31012.js +1 -0
  285. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-7248529e02c31012.js +1 -0
  286. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-7248529e02c31012.js +1 -0
  287. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-7248529e02c31012.js +1 -0
  288. package/.next/static/chunks/app/api/mcp/servers/route-7248529e02c31012.js +1 -0
  289. package/.next/static/chunks/app/api/mcp/test-connection/route-7248529e02c31012.js +1 -0
  290. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-7248529e02c31012.js +1 -0
  291. package/.next/static/chunks/app/api/mcp-registry/route-7248529e02c31012.js +1 -0
  292. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-7248529e02c31012.js +1 -0
  293. package/.next/static/chunks/app/api/model/[id]/route-7248529e02c31012.js +1 -0
  294. package/.next/static/chunks/app/api/model/provider/route-7248529e02c31012.js +1 -0
  295. package/.next/static/chunks/app/api/model/route-7248529e02c31012.js +1 -0
  296. package/.next/static/chunks/app/api/model/test/route-7248529e02c31012.js +1 -0
  297. package/.next/static/chunks/app/api/oauth/callback/route-7248529e02c31012.js +1 -0
  298. package/.next/static/chunks/app/api/oauth/initiate/route-7248529e02c31012.js +1 -0
  299. package/.next/static/chunks/app/api/oauth/reset/route-7248529e02c31012.js +1 -0
  300. package/.next/static/chunks/app/api/planned-executions/[id]/route-7248529e02c31012.js +1 -0
  301. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-7248529e02c31012.js +1 -0
  302. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-7248529e02c31012.js +1 -0
  303. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-7248529e02c31012.js +1 -0
  304. package/.next/static/chunks/app/api/planned-executions/route-7248529e02c31012.js +1 -0
  305. package/.next/static/chunks/app/api/restore/route-7248529e02c31012.js +1 -0
  306. package/.next/static/chunks/app/api/storage/route-7248529e02c31012.js +1 -0
  307. package/.next/static/chunks/app/api/update/route-7248529e02c31012.js +1 -0
  308. package/.next/static/chunks/app/api/webhooks/[id]/route-7248529e02c31012.js +1 -0
  309. package/.next/static/chunks/app/chat/{page-5c838e3ce9d7a27d.js → page-c759cf382bcabd77.js} +1 -1
  310. package/.next/static/chunks/app/docs/page-1d349e2d82f7b104.js +1 -0
  311. package/.next/static/chunks/app/executions/page-4155f9f682ee6f84.js +1 -0
  312. package/.next/static/chunks/app/flows/page-375150edff9134a3.js +1 -0
  313. package/.next/static/chunks/app/mcp/page-5234695929980171.js +1 -0
  314. package/.next/static/chunks/app/mcp-flows/route-7248529e02c31012.js +1 -0
  315. package/.next/static/chunks/app/mcp-proxy/[server]/route-7248529e02c31012.js +1 -0
  316. package/.next/static/chunks/app/settings/{page-199cff457723ee57.js → page-9a2bfb8d5bdba29e.js} +1 -1
  317. package/.next/static/chunks/app/v1/chat/completions/route-7248529e02c31012.js +1 -0
  318. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-7248529e02c31012.js +1 -0
  319. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-7248529e02c31012.js +1 -0
  320. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-7248529e02c31012.js +1 -0
  321. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-7248529e02c31012.js +1 -0
  322. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-7248529e02c31012.js +1 -0
  323. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-7248529e02c31012.js +1 -0
  324. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-7248529e02c31012.js +1 -0
  325. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-7248529e02c31012.js +1 -0
  326. package/.next/static/chunks/app/v1/chat/conversations/route-7248529e02c31012.js +1 -0
  327. package/.next/static/chunks/app/v1/models/route-7248529e02c31012.js +1 -0
  328. package/.next/static/z7fsG7kblb_yxkUhOxn-G/_buildManifest.js +1 -0
  329. package/.next/trace +7 -7
  330. package/.next/types/app/api/flow/compile/route.ts +347 -0
  331. package/.next/types/app/api/flow/generate/route.ts +347 -0
  332. package/.next/types/app/api/local-models/capability/route.ts +347 -0
  333. package/.next/types/app/api/local-models/pull/route.ts +347 -0
  334. package/.next/types/app/api/local-models/suggest/route.ts +347 -0
  335. package/.next/types/routes.d.ts +6 -1
  336. package/.next/types/validator.ts +45 -0
  337. package/README.md +1 -1
  338. package/next.config.mjs +119 -105
  339. package/package.json +90 -90
  340. package/.next/server/chunks/4239.js +0 -1
  341. package/.next/server/chunks/4706.js +0 -1
  342. package/.next/server/chunks/4729.js +0 -6
  343. package/.next/server/chunks/5443.js +0 -1
  344. package/.next/server/chunks/7485.js +0 -1
  345. package/.next/server/chunks/812.js +0 -2
  346. package/.next/static/07vmuF5x2Bs8Xj1OeV0QV/_buildManifest.js +0 -1
  347. package/.next/static/chunks/256-7f4847b6726c866c.js +0 -1
  348. package/.next/static/chunks/7329-78f54f68ea2d37e2.js +0 -1
  349. package/.next/static/chunks/8862-8f17ef601bb1fbd0.js +0 -1
  350. package/.next/static/chunks/8890-a7a8c6f1dc3cd343.js +0 -1
  351. package/.next/static/chunks/app/api/backup/route-3291f6991ce3f52c.js +0 -1
  352. package/.next/static/chunks/app/api/browse/route-3291f6991ce3f52c.js +0 -1
  353. package/.next/static/chunks/app/api/cwd/route-3291f6991ce3f52c.js +0 -1
  354. package/.next/static/chunks/app/api/encryption/secure/route-3291f6991ce3f52c.js +0 -1
  355. package/.next/static/chunks/app/api/env/route-3291f6991ce3f52c.js +0 -1
  356. package/.next/static/chunks/app/api/flow/[id]/route-3291f6991ce3f52c.js +0 -1
  357. package/.next/static/chunks/app/api/flow/prompt-renderer/route-3291f6991ce3f52c.js +0 -1
  358. package/.next/static/chunks/app/api/flow/route-3291f6991ce3f52c.js +0 -1
  359. package/.next/static/chunks/app/api/git/route-3291f6991ce3f52c.js +0 -1
  360. package/.next/static/chunks/app/api/init/route-3291f6991ce3f52c.js +0 -1
  361. package/.next/static/chunks/app/api/mcp/cancel/route-3291f6991ce3f52c.js +0 -1
  362. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-3291f6991ce3f52c.js +0 -1
  363. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-3291f6991ce3f52c.js +0 -1
  364. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-3291f6991ce3f52c.js +0 -1
  365. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-3291f6991ce3f52c.js +0 -1
  366. package/.next/static/chunks/app/api/mcp/servers/[name]/route-3291f6991ce3f52c.js +0 -1
  367. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-3291f6991ce3f52c.js +0 -1
  368. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-3291f6991ce3f52c.js +0 -1
  369. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-3291f6991ce3f52c.js +0 -1
  370. package/.next/static/chunks/app/api/mcp/servers/route-3291f6991ce3f52c.js +0 -1
  371. package/.next/static/chunks/app/api/mcp/test-connection/route-3291f6991ce3f52c.js +0 -1
  372. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-3291f6991ce3f52c.js +0 -1
  373. package/.next/static/chunks/app/api/mcp-registry/route-3291f6991ce3f52c.js +0 -1
  374. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-3291f6991ce3f52c.js +0 -1
  375. package/.next/static/chunks/app/api/model/[id]/route-3291f6991ce3f52c.js +0 -1
  376. package/.next/static/chunks/app/api/model/provider/route-3291f6991ce3f52c.js +0 -1
  377. package/.next/static/chunks/app/api/model/route-3291f6991ce3f52c.js +0 -1
  378. package/.next/static/chunks/app/api/model/test/route-3291f6991ce3f52c.js +0 -1
  379. package/.next/static/chunks/app/api/oauth/callback/route-3291f6991ce3f52c.js +0 -1
  380. package/.next/static/chunks/app/api/oauth/initiate/route-3291f6991ce3f52c.js +0 -1
  381. package/.next/static/chunks/app/api/oauth/reset/route-3291f6991ce3f52c.js +0 -1
  382. package/.next/static/chunks/app/api/planned-executions/[id]/route-3291f6991ce3f52c.js +0 -1
  383. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-3291f6991ce3f52c.js +0 -1
  384. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-3291f6991ce3f52c.js +0 -1
  385. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-3291f6991ce3f52c.js +0 -1
  386. package/.next/static/chunks/app/api/planned-executions/route-3291f6991ce3f52c.js +0 -1
  387. package/.next/static/chunks/app/api/restore/route-3291f6991ce3f52c.js +0 -1
  388. package/.next/static/chunks/app/api/storage/route-3291f6991ce3f52c.js +0 -1
  389. package/.next/static/chunks/app/api/update/route-3291f6991ce3f52c.js +0 -1
  390. package/.next/static/chunks/app/api/webhooks/[id]/route-3291f6991ce3f52c.js +0 -1
  391. package/.next/static/chunks/app/docs/page-d4005b311ead55f2.js +0 -1
  392. package/.next/static/chunks/app/executions/page-870931839b84c8d5.js +0 -1
  393. package/.next/static/chunks/app/flows/page-303dc4d2542567a6.js +0 -1
  394. package/.next/static/chunks/app/mcp/page-5012a7e5b6366207.js +0 -1
  395. package/.next/static/chunks/app/mcp-flows/route-3291f6991ce3f52c.js +0 -1
  396. package/.next/static/chunks/app/mcp-proxy/[server]/route-3291f6991ce3f52c.js +0 -1
  397. package/.next/static/chunks/app/v1/chat/completions/route-3291f6991ce3f52c.js +0 -1
  398. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-3291f6991ce3f52c.js +0 -1
  399. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-3291f6991ce3f52c.js +0 -1
  400. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-3291f6991ce3f52c.js +0 -1
  401. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-3291f6991ce3f52c.js +0 -1
  402. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-3291f6991ce3f52c.js +0 -1
  403. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-3291f6991ce3f52c.js +0 -1
  404. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-3291f6991ce3f52c.js +0 -1
  405. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-3291f6991ce3f52c.js +0 -1
  406. package/.next/static/chunks/app/v1/chat/conversations/route-3291f6991ce3f52c.js +0 -1
  407. package/.next/static/chunks/app/v1/models/route-3291f6991ce3f52c.js +0 -1
  408. /package/.next/static/{07vmuF5x2Bs8Xj1OeV0QV → z7fsG7kblb_yxkUhOxn-G}/_ssgManifest.js +0 -0
@@ -7,4 +7,4 @@ ${JSON.stringify(b,null,2)}
7
7
  ${gn(a)}`);if(null==f)throw new el(`missing choices[${d}].tool_calls[${c}].type
8
8
  ${gn(a)}`);if(null==j)throw new el(`missing choices[${d}].tool_calls[${c}].function.name
9
9
  ${gn(a)}`);if(null==i)throw new el(`missing choices[${d}].tool_calls[${c}].function.arguments
10
- ${gn(a)}`);return{...h,id:g,type:f,function:{...k,name:j,arguments:i}}})}}:{...f,message:{...j,content:g,role:k,refusal:b.refusal??null},finish_reason:c,index:d,logprobs:e}}),created:f,model:g,object:"chat.completion",...h?{system_fingerprint:h}:{}},b&&gc(b)?gb(c,b):{...c,choices:c.choices.map(a=>({...a,message:{...a.message,parsed:null,...a.message.tool_calls?{tool_calls:a.message.tool_calls}:void 0}}))}}(a,gl(this,Z,"f"))},ag=function(){let a=gl(this,Z,"f")?.response_format;return f9(a)?a:null},ah=function(a){var b,c,d,e;let f=gl(this,_,"f"),{choices:g,...h}=a;for(let{delta:g,finish_reason:i,index:j,logprobs:k=null,...l}of(f?Object.assign(f,h):f=gk(this,_,{...h,choices:[]},"f"),a.choices)){let a=f.choices[j];if(a||(a=f.choices[j]={finish_reason:i,index:j,message:{},logprobs:k,...l}),k)if(a.logprobs){let{content:d,refusal:e,...f}=k;Object.assign(a.logprobs,f),d&&((b=a.logprobs).content??(b.content=[]),a.logprobs.content.push(...d)),e&&((c=a.logprobs).refusal??(c.refusal=[]),a.logprobs.refusal.push(...e))}else a.logprobs=Object.assign({},k);if(i&&(a.finish_reason=i,gl(this,Z,"f")&&gc(gl(this,Z,"f")))){if("length"===i)throw new ey;if("content_filter"===i)throw new ez}if(Object.assign(a,l),!g)continue;let{content:h,refusal:m,function_call:n,role:o,tool_calls:p,...q}=g;if(Object.assign(a.message,q),m&&(a.message.refusal=(a.message.refusal||"")+m),o&&(a.message.role=o),n&&(a.message.function_call?(n.name&&(a.message.function_call.name=n.name),n.arguments&&((d=a.message.function_call).arguments??(d.arguments=""),a.message.function_call.arguments+=n.arguments)):a.message.function_call=n),h&&(a.message.content=(a.message.content||"")+h,!a.message.refusal&&gl(this,Y,"m",ag).call(this)&&(a.message.parsed=gj(a.message.content))),p)for(let{index:b,id:c,type:d,function:f,...g}of(a.message.tool_calls||(a.message.tool_calls=[]),p)){let h=(e=a.message.tool_calls)[b]??(e[b]={});Object.assign(h,g),c&&(h.id=c),d&&(h.type=d),f&&(h.function??(h.function={name:f.name??"",arguments:""})),f?.name&&(h.function.name=f.name),f?.arguments&&(h.function.arguments+=f.arguments,function(a,b){if(!a)return!1;let c=a.tools?.find(a=>a.function?.name===b.function.name);return ga(c)||c?.function.strict||!1}(gl(this,Z,"f"),h)&&(h.function.parsed_arguments=gj(h.function.arguments)))}}return f},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("chunk",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eE(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function gn(a){return JSON.stringify(a)}class go extends gm{static fromReadableStream(a){let b=new go(null);return b._run(()=>b._fromReadableStream(a)),b}static runFunctions(a,b,c){let d=new go(null),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return d._run(()=>d._runFunctions(a,b,e)),d}static runTools(a,b,c){let d=new go(b),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,e)),d}}class gp extends fm{parse(a,b){for(let b of a.tools??[]){if("function"!==b.type)throw new el(`Currently only \`function\` tool types support auto-parsing; Received \`${b.type}\``);if(!0!==b.function.strict)throw new el(`The \`${b.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}return this._client.chat.completions.create(a,{...b,headers:{...b?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(b=>gb(b,a))}runFunctions(a,b){return a.stream?go.runFunctions(this._client,a,b):gf.runFunctions(this._client,a,b)}runTools(a,b){return a.stream?go.runTools(this._client,a,b):gf.runTools(this._client,a,b)}stream(a,b){return gm.createChatCompletion(this._client,a,b)}}class gq extends fm{constructor(){super(...arguments),this.completions=new gp(this._client)}}(gq||(gq={})).Completions=gp;class gr extends fm{create(a,b){return this._client.post("/realtime/sessions",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}}class gs extends fm{create(a,b){return this._client.post("/realtime/transcription_sessions",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}}class gt extends fm{constructor(){super(...arguments),this.sessions=new gr(this._client),this.transcriptionSessions=new gs(this._client)}}gt.Sessions=gr,gt.TranscriptionSessions=gs;var gu=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},gv=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class gw extends f8{constructor(){super(...arguments),ai.add(this),aj.set(this,[]),ak.set(this,{}),al.set(this,{}),am.set(this,void 0),an.set(this,void 0),ao.set(this,void 0),ap.set(this,void 0),aq.set(this,void 0),ar.set(this,void 0),as.set(this,void 0),at.set(this,void 0),au.set(this,void 0)}[(aj=new WeakMap,ak=new WeakMap,al=new WeakMap,am=new WeakMap,an=new WeakMap,ao=new WeakMap,ap=new WeakMap,aq=new WeakMap,ar=new WeakMap,as=new WeakMap,at=new WeakMap,au=new WeakMap,ai=new WeakSet,Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(a){let b=new gw;return b._run(()=>b._fromReadableStream(a)),b}async _fromReadableStream(a,b){let c=b?.signal;c&&(c.aborted&&this.controller.abort(),c.addEventListener("abort",()=>this.controller.abort())),this._connected();let d=eE.fromReadableStream(a,this.controller);for await(let a of d)gu(this,ai,"m",av).call(this,a);if(d.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}toReadableStream(){return new eE(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(a,b,c,d,e){let f=new gw;return f._run(()=>f._runToolAssistantStream(a,b,c,d,{...e,headers:{...e?.headers,"X-Stainless-Helper-Method":"stream"}})),f}async _createToolAssistantStream(a,b,c,d,e){let f=e?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort()));let g={...d,stream:!0},h=await a.submitToolOutputs(b,c,g,{...e,signal:this.controller.signal});for await(let a of(this._connected(),h))gu(this,ai,"m",av).call(this,a);if(h.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}static createThreadAssistantStream(a,b,c){let d=new gw;return d._run(()=>d._threadAssistantStream(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}static createAssistantStream(a,b,c,d){let e=new gw;return e._run(()=>e._runAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}currentEvent(){return gu(this,as,"f")}currentRun(){return gu(this,at,"f")}currentMessageSnapshot(){return gu(this,am,"f")}currentRunStepSnapshot(){return gu(this,au,"f")}async finalRunSteps(){return await this.done(),Object.values(gu(this,ak,"f"))}async finalMessages(){return await this.done(),Object.values(gu(this,al,"f"))}async finalRun(){if(await this.done(),!gu(this,an,"f"))throw Error("Final run was not received.");return gu(this,an,"f")}async _createThreadAssistantStream(a,b,c){let d=c?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let e={...b,stream:!0},f=await a.createAndRun(e,{...c,signal:this.controller.signal});for await(let a of(this._connected(),f))gu(this,ai,"m",av).call(this,a);if(f.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}async _createAssistantStream(a,b,c,d){let e=d?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort()));let f={...c,stream:!0},g=await a.create(b,f,{...d,signal:this.controller.signal});for await(let a of(this._connected(),g))gu(this,ai,"m",av).call(this,a);if(g.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}static accumulateDelta(a,b){for(let[c,d]of Object.entries(b)){if(!a.hasOwnProperty(c)){a[c]=d;continue}let b=a[c];if(null==b||"index"===c||"type"===c){a[c]=d;continue}if("string"==typeof b&&"string"==typeof d)b+=d;else if("number"==typeof b&&"number"==typeof d)b+=d;else if(fl(b)&&fl(d))b=this.accumulateDelta(b,d);else if(Array.isArray(b)&&Array.isArray(d)){if(b.every(a=>"string"==typeof a||"number"==typeof a)){b.push(...d);continue}for(let a of d){if(!fl(a))throw Error(`Expected array delta entry to be an object but got: ${a}`);let c=a.index;if(null==c)throw console.error(a),Error("Expected array delta entry to have an `index` property");if("number"!=typeof c)throw Error(`Expected array delta entry \`index\` property to be a number but got ${c}`);let d=b[c];null==d?b.push(a):b[c]=this.accumulateDelta(d,a)}continue}else throw Error(`Unhandled record type: ${c}, deltaValue: ${d}, accValue: ${b}`);a[c]=b}return a}_addRun(a){return a}async _threadAssistantStream(a,b,c){return await this._createThreadAssistantStream(b,a,c)}async _runAssistantStream(a,b,c,d){return await this._createAssistantStream(b,a,c,d)}async _runToolAssistantStream(a,b,c,d,e){return await this._createToolAssistantStream(c,a,b,d,e)}}av=function(a){if(!this.ended)switch(gv(this,as,a,"f"),gu(this,ai,"m",az).call(this,a),a.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":gu(this,ai,"m",aD).call(this,a);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":gu(this,ai,"m",ay).call(this,a);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":gu(this,ai,"m",ax).call(this,a);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},aw=function(){if(this.ended)throw new el("stream has ended, this shouldn't happen");if(!gu(this,an,"f"))throw Error("Final run has not been received");return gu(this,an,"f")},ax=function(a){let[b,c]=gu(this,ai,"m",aB).call(this,a,gu(this,am,"f"));for(let a of(gv(this,am,b,"f"),gu(this,al,"f")[b.id]=b,c)){let c=b.content[a.index];c?.type=="text"&&this._emit("textCreated",c.text)}switch(a.event){case"thread.message.created":this._emit("messageCreated",a.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",a.data.delta,b),a.data.delta.content)for(let c of a.data.delta.content){if("text"==c.type&&c.text){let a=c.text,d=b.content[c.index];if(d&&"text"==d.type)this._emit("textDelta",a,d.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(c.index!=gu(this,ao,"f")){if(gu(this,ap,"f"))switch(gu(this,ap,"f").type){case"text":this._emit("textDone",gu(this,ap,"f").text,gu(this,am,"f"));break;case"image_file":this._emit("imageFileDone",gu(this,ap,"f").image_file,gu(this,am,"f"))}gv(this,ao,c.index,"f")}gv(this,ap,b.content[c.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==gu(this,ao,"f")){let b=a.data.content[gu(this,ao,"f")];if(b)switch(b.type){case"image_file":this._emit("imageFileDone",b.image_file,gu(this,am,"f"));break;case"text":this._emit("textDone",b.text,gu(this,am,"f"))}}gu(this,am,"f")&&this._emit("messageDone",a.data),gv(this,am,void 0,"f")}},ay=function(a){let b=gu(this,ai,"m",aA).call(this,a);switch(gv(this,au,b,"f"),a.event){case"thread.run.step.created":this._emit("runStepCreated",a.data);break;case"thread.run.step.delta":let c=a.data.delta;if(c.step_details&&"tool_calls"==c.step_details.type&&c.step_details.tool_calls&&"tool_calls"==b.step_details.type)for(let a of c.step_details.tool_calls)a.index==gu(this,aq,"f")?this._emit("toolCallDelta",a,b.step_details.tool_calls[a.index]):(gu(this,ar,"f")&&this._emit("toolCallDone",gu(this,ar,"f")),gv(this,aq,a.index,"f"),gv(this,ar,b.step_details.tool_calls[a.index],"f"),gu(this,ar,"f")&&this._emit("toolCallCreated",gu(this,ar,"f")));this._emit("runStepDelta",a.data.delta,b);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":gv(this,au,void 0,"f"),"tool_calls"==a.data.step_details.type&&gu(this,ar,"f")&&(this._emit("toolCallDone",gu(this,ar,"f")),gv(this,ar,void 0,"f")),this._emit("runStepDone",a.data,b)}},az=function(a){gu(this,aj,"f").push(a),this._emit("event",a)},aA=function(a){switch(a.event){case"thread.run.step.created":return gu(this,ak,"f")[a.data.id]=a.data,a.data;case"thread.run.step.delta":let b=gu(this,ak,"f")[a.data.id];if(!b)throw Error("Received a RunStepDelta before creation of a snapshot");let c=a.data;if(c.delta){let d=gw.accumulateDelta(b,c.delta);gu(this,ak,"f")[a.data.id]=d}return gu(this,ak,"f")[a.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":gu(this,ak,"f")[a.data.id]=a.data}if(gu(this,ak,"f")[a.data.id])return gu(this,ak,"f")[a.data.id];throw Error("No snapshot available")},aB=function(a,b){let c=[];switch(a.event){case"thread.message.created":return[a.data,c];case"thread.message.delta":if(!b)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let d=a.data;if(d.delta.content)for(let a of d.delta.content)if(a.index in b.content){let c=b.content[a.index];b.content[a.index]=gu(this,ai,"m",aC).call(this,a,c)}else b.content[a.index]=a,c.push(a);return[b,c];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(b)return[b,c];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},aC=function(a,b){return gw.accumulateDelta(b,a)},aD=function(a){switch(gv(this,at,a.data,"f"),a.event){case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":gv(this,an,a.data,"f"),gu(this,ar,"f")&&(this._emit("toolCallDone",gu(this,ar,"f")),gv(this,ar,void 0,"f"))}};class gx extends fm{create(a,b,c){return this._client.post(`/threads/${a}/messages`,{body:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}retrieve(a,b,c){return this._client.get(`/threads/${a}/messages/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}update(a,b,c,d){return this._client.post(`/threads/${a}/messages/${b}`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/threads/${a}/messages`,gy,{query:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}del(a,b,c){return this._client.delete(`/threads/${a}/messages/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}}class gy extends fq{}gx.MessagesPage=gy;class gz extends fm{retrieve(a,b,c,d={},e){return e3(d)?this.retrieve(a,b,c,{},d):this._client.get(`/threads/${a}/runs/${b}/steps/${c}`,{query:d,...e,headers:{"OpenAI-Beta":"assistants=v2",...e?.headers}})}list(a,b,c={},d){return e3(c)?this.list(a,b,{},c):this._client.getAPIList(`/threads/${a}/runs/${b}/steps`,gA,{query:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}}class gA extends fq{}gz.RunStepsPage=gA;class gB extends fm{constructor(){super(...arguments),this.steps=new gz(this._client)}create(a,b,c){let{include:d,...e}=b;return this._client.post(`/threads/${a}/runs`,{query:{include:d},body:e,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers},stream:b.stream??!1})}retrieve(a,b,c){return this._client.get(`/threads/${a}/runs/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}update(a,b,c,d){return this._client.post(`/threads/${a}/runs/${b}`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/threads/${a}/runs`,gC,{query:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}cancel(a,b,c){return this._client.post(`/threads/${a}/runs/${b}/cancel`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(a,d.id,c)}createAndStream(a,b,c){return gw.createAssistantStream(a,this._client.beta.threads.runs,b,c)}async poll(a,b,c){let d={...c?.headers,"X-Stainless-Poll-Helper":"true"};for(c?.pollIntervalMs&&(d["X-Stainless-Custom-Poll-Interval"]=c.pollIntervalMs.toString());;){let{data:e,response:f}=await this.retrieve(a,b,{...c,headers:{...c?.headers,...d}}).withResponse();switch(e.status){case"queued":case"in_progress":case"cancelling":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=f.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await fa(g);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return e}}}stream(a,b,c){return gw.createAssistantStream(a,this._client.beta.threads.runs,b,c)}submitToolOutputs(a,b,c,d){return this._client.post(`/threads/${a}/runs/${b}/submit_tool_outputs`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers},stream:c.stream??!1})}async submitToolOutputsAndPoll(a,b,c,d){let e=await this.submitToolOutputs(a,b,c,d);return await this.poll(a,e.id,d)}submitToolOutputsStream(a,b,c,d){return gw.createToolAssistantStream(a,b,this._client.beta.threads.runs,c,d)}}class gC extends fq{}gB.RunsPage=gC,gB.Steps=gz,gB.RunStepsPage=gA;class gD extends fm{constructor(){super(...arguments),this.runs=new gB(this._client),this.messages=new gx(this._client)}create(a={},b){return e3(a)?this.create({},a):this._client.post("/threads",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}retrieve(a,b){return this._client.get(`/threads/${a}`,{...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}update(a,b,c){return this._client.post(`/threads/${a}`,{body:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}del(a,b){return this._client.delete(`/threads/${a}`,{...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}createAndRun(a,b){return this._client.post("/threads/runs",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers},stream:a.stream??!1})}async createAndRunPoll(a,b){let c=await this.createAndRun(a,b);return await this.runs.poll(c.thread_id,c.id,b)}createAndRunStream(a,b){return gw.createThreadAssistantStream(a,this._client.beta.threads,b)}}gD.Runs=gB,gD.RunsPage=gC,gD.Messages=gx,gD.MessagesPage=gy;class gE extends fm{constructor(){super(...arguments),this.realtime=new gt(this._client),this.chat=new gq(this._client),this.assistants=new f0(this._client),this.threads=new gD(this._client)}}gE.Realtime=gt,gE.Assistants=f0,gE.AssistantsPage=f1,gE.Threads=gD;class gF extends fm{create(a,b){return this._client.post("/batches",{body:a,...b})}retrieve(a,b){return this._client.get(`/batches/${a}`,b)}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/batches",gG,{query:a,...b})}cancel(a,b){return this._client.post(`/batches/${a}/cancel`,b)}}class gG extends fq{}gF.BatchesPage=gG;class gH extends fm{create(a,b,c){return this._client.post(`/uploads/${a}/parts`,eR({body:b,...c}))}}class gI extends fm{constructor(){super(...arguments),this.parts=new gH(this._client)}create(a,b){return this._client.post("/uploads",{body:a,...b})}cancel(a,b){return this._client.post(`/uploads/${a}/cancel`,b)}complete(a,b,c){return this._client.post(`/uploads/${a}/complete`,{body:b,...c})}}function gJ(a,b){let c=a.output.map(a=>{if("function_call"===a.type)return{...a,parsed_arguments:function(a,b){var c,d;let e=(c=a.tools??[],d=b.name,c.find(a=>"function"===a.type&&a.name===d));return{...b,...b,parsed_arguments:e?.$brand==="auto-parseable-tool"?e.$parseRaw(b.arguments):e?.strict?JSON.parse(b.arguments):null}}(b,a)};if("message"===a.type){let c=a.content.map(a=>{var c,d;return"output_text"===a.type?{...a,parsed:(c=b,d=a.text,c.text?.format?.type!=="json_schema"?null:"$parseRaw"in c.text?.format?(c.text?.format).$parseRaw(d):JSON.parse(d))}:a});return{...a,content:c}}return a}),d=Object.assign({},a,{output:c});return Object.getOwnPropertyDescriptor(a,"output_text")||gK(d),Object.defineProperty(d,"output_parsed",{enumerable:!0,get(){for(let a of d.output)if("message"===a.type){for(let b of a.content)if("output_text"===b.type&&null!==b.parsed)return b.parsed}return null}}),d}function gK(a){let b=[];for(let c of a.output)if("message"===c.type)for(let a of c.content)"output_text"===a.type&&b.push(a.text);a.output_text=b.join("")}gI.Parts=gH;class gL extends fm{list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/responses/${a}/input_items`,gQ,{query:b,...c})}}var gM=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c},gN=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)};class gO extends f8{constructor(a){super(),aE.add(this),aF.set(this,void 0),aG.set(this,void 0),aH.set(this,void 0),gM(this,aF,a,"f")}static createResponse(a,b,c){let d=new gO(b);return d._run(()=>d._createOrRetrieveResponse(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}async _createOrRetrieveResponse(a,b,c){let d,e=c?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort())),gN(this,aE,"m",aI).call(this);let f=null;for await(let e of("response_id"in b?(d=await a.responses.retrieve(b.response_id,{stream:!0},{...c,signal:this.controller.signal,stream:!0}),f=b.starting_after??null):d=await a.responses.create({...b,stream:!0},{...c,signal:this.controller.signal}),this._connected(),d))gN(this,aE,"m",aJ).call(this,e,f);if(d.controller.signal?.aborted)throw new en;return gN(this,aE,"m",aK).call(this)}[(aF=new WeakMap,aG=new WeakMap,aH=new WeakMap,aE=new WeakSet,aI=function(){this.ended||gM(this,aG,void 0,"f")},aJ=function(a,b){if(this.ended)return;let c=(a,c)=>{(null==b||c.sequence_number>b)&&this._emit(a,c)},d=gN(this,aE,"m",aL).call(this,a);switch(c("event",a),a.type){case"response.output_text.delta":{let b=d.output[a.output_index];if(!b)throw new el(`missing output at index ${a.output_index}`);if("message"===b.type){let d=b.content[a.content_index];if(!d)throw new el(`missing content at index ${a.content_index}`);if("output_text"!==d.type)throw new el(`expected content to be 'output_text', got ${d.type}`);c("response.output_text.delta",{...a,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let b=d.output[a.output_index];if(!b)throw new el(`missing output at index ${a.output_index}`);"function_call"===b.type&&c("response.function_call_arguments.delta",{...a,snapshot:b.arguments});break}default:c(a.type,a)}},aK=function(){if(this.ended)throw new el("stream has ended, this shouldn't happen");let a=gN(this,aG,"f");if(!a)throw new el("request ended without sending any events");gM(this,aG,void 0,"f");let b=function(a,b){var c;return b&&(c=b,f9(c.text?.format))?gJ(a,b):{...a,output_parsed:null,output:a.output.map(a=>"function_call"===a.type?{...a,parsed_arguments:null}:"message"===a.type?{...a,content:a.content.map(a=>({...a,parsed:null}))}:a)}}(a,gN(this,aF,"f"));return gM(this,aH,b,"f"),b},aL=function(a){let b=gN(this,aG,"f");if(!b){if("response.created"!==a.type)throw new el(`When snapshot hasn't been set yet, expected 'response.created' event, got ${a.type}`);return gM(this,aG,a.response,"f")}switch(a.type){case"response.output_item.added":b.output.push(a.item);break;case"response.content_part.added":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);"message"===c.type&&c.content.push(a.part);break}case"response.output_text.delta":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);if("message"===c.type){let b=c.content[a.content_index];if(!b)throw new el(`missing content at index ${a.content_index}`);if("output_text"!==b.type)throw new el(`expected content to be 'output_text', got ${b.type}`);b.text+=a.delta}break}case"response.function_call_arguments.delta":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);"function_call"===c.type&&(c.arguments+=a.delta);break}case"response.completed":gM(this,aG,a.response,"f")}return b},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let a=gN(this,aH,"f");if(!a)throw new el("stream ended without producing a ChatCompletion");return a}}class gP extends fm{constructor(){super(...arguments),this.inputItems=new gL(this._client)}create(a,b){return this._client.post("/responses",{body:a,...b,stream:a.stream??!1})._thenUnwrap(a=>("object"in a&&"response"===a.object&&gK(a),a))}retrieve(a,b={},c){return this._client.get(`/responses/${a}`,{query:b,...c,stream:b?.stream??!1})}del(a,b){return this._client.delete(`/responses/${a}`,{...b,headers:{Accept:"*/*",...b?.headers}})}parse(a,b){return this._client.responses.create(a,b)._thenUnwrap(b=>gJ(b,a))}stream(a,b){return gO.createResponse(this._client,a,b)}cancel(a,b){return this._client.post(`/responses/${a}/cancel`,{...b,headers:{Accept:"*/*",...b?.headers}})}}class gQ extends fq{}gP.InputItems=gL;class gR extends fm{retrieve(a,b,c,d){return this._client.get(`/evals/${a}/runs/${b}/output_items/${c}`,d)}list(a,b,c={},d){return e3(c)?this.list(a,b,{},c):this._client.getAPIList(`/evals/${a}/runs/${b}/output_items`,gS,{query:c,...d})}}class gS extends fq{}gR.OutputItemListResponsesPage=gS;class gT extends fm{constructor(){super(...arguments),this.outputItems=new gR(this._client)}create(a,b,c){return this._client.post(`/evals/${a}/runs`,{body:b,...c})}retrieve(a,b,c){return this._client.get(`/evals/${a}/runs/${b}`,c)}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/evals/${a}/runs`,gU,{query:b,...c})}del(a,b,c){return this._client.delete(`/evals/${a}/runs/${b}`,c)}cancel(a,b,c){return this._client.post(`/evals/${a}/runs/${b}`,c)}}class gU extends fq{}gT.RunListResponsesPage=gU,gT.OutputItems=gR,gT.OutputItemListResponsesPage=gS;class gV extends fm{constructor(){super(...arguments),this.runs=new gT(this._client)}create(a,b){return this._client.post("/evals",{body:a,...b})}retrieve(a,b){return this._client.get(`/evals/${a}`,b)}update(a,b,c){return this._client.post(`/evals/${a}`,{body:b,...c})}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/evals",gW,{query:a,...b})}del(a,b){return this._client.delete(`/evals/${a}`,b)}}class gW extends fq{}gV.EvalListResponsesPage=gW,gV.Runs=gT,gV.RunListResponsesPage=gU;class gX extends fm{retrieve(a,b,c){return this._client.get(`/containers/${a}/files/${b}/content`,{...c,headers:{Accept:"application/binary",...c?.headers},__binaryResponse:!0})}}class gY extends fm{constructor(){super(...arguments),this.content=new gX(this._client)}create(a,b,c){return this._client.post(`/containers/${a}/files`,eR({body:b,...c}))}retrieve(a,b,c){return this._client.get(`/containers/${a}/files/${b}`,c)}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/containers/${a}/files`,gZ,{query:b,...c})}del(a,b,c){return this._client.delete(`/containers/${a}/files/${b}`,{...c,headers:{Accept:"*/*",...c?.headers}})}}class gZ extends fq{}gY.FileListResponsesPage=gZ,gY.Content=gX;class g$ extends fm{constructor(){super(...arguments),this.files=new gY(this._client)}create(a,b){return this._client.post("/containers",{body:a,...b})}retrieve(a,b){return this._client.get(`/containers/${a}`,b)}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/containers",g_,{query:a,...b})}del(a,b){return this._client.delete(`/containers/${a}`,{...b,headers:{Accept:"*/*",...b?.headers}})}}class g_ extends fq{}g$.ContainerListResponsesPage=g_,g$.Files=gY,g$.FileListResponsesPage=gZ;class g0 extends e${constructor({baseURL:a=fd("OPENAI_BASE_URL"),apiKey:b=fd("OPENAI_API_KEY"),organization:c=fd("OPENAI_ORG_ID")??null,project:d=fd("OPENAI_PROJECT_ID")??null,...e}={}){if(void 0===b)throw new el("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let f={apiKey:b,organization:c,project:d,...e,baseURL:a||"https://api.openai.com/v1"};if(!f.dangerouslyAllowBrowser&&"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator)throw new el("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");super({baseURL:f.baseURL,timeout:f.timeout??6e5,httpAgent:f.httpAgent,maxRetries:f.maxRetries,fetch:f.fetch}),this.completions=new fn(this),this.chat=new fu(this),this.embeddings=new fv(this),this.files=new fw(this),this.images=new fy(this),this.audio=new fC(this),this.moderations=new fD(this),this.models=new fE(this),this.fineTuning=new fR(this),this.graders=new fT(this),this.vectorStores=new fZ(this),this.beta=new gE(this),this.batches=new gF(this),this.uploads=new gI(this),this.responses=new gP(this),this.evals=new gV(this),this.containers=new g$(this),this._options=f,this.apiKey=b,this.organization=c,this.project=d}defaultQuery(){return this._options.defaultQuery}defaultHeaders(a){return{...super.defaultHeaders(a),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(a){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=c2){let b;if(void 0!==a.allowEmptyArrays&&"boolean"!=typeof a.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==a.encodeDotInKeys&&"boolean"!=typeof a.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw TypeError("Encoder has to be a function.");let c=a.charset||c2.charset;if(void 0!==a.charset&&"utf-8"!==a.charset&&"iso-8859-1"!==a.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let d=cT;if(void 0!==a.format){if(!cY.call(cU,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=cU[d],f=c2.filter;if(("function"==typeof a.filter||c$(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in cZ?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":c2.arrayFormat,"commaRoundTrip"in a&&"boolean"!=typeof a.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let g=void 0===a.allowDots?!0==!!a.encodeDotInKeys||c2.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:c2.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:c2.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:c2.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?c2.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:c2.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:c2.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:c2.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:c2.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:c2.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:c2.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:c2.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):c$(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=cZ[e.arrayFormat],h="comma"===g&&e.commaRoundTrip;c||(c=Object.keys(d)),e.sort&&c.sort(e.sort);let i=new WeakMap;for(let a=0;a<c.length;++a){let b=c[a];e.skipNulls&&null===d[b]||c0(f,function a(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var t,u;let v,w=b,x=s,y=0,z=!1;for(;void 0!==(x=x.get(c3))&&!z;){let a=x.get(b);if(y+=1,void 0!==a)if(a===y)throw RangeError("Cyclic object value");else z=!0;void 0===x.get(c3)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&c$(w)&&(w=cX(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,c2.encoder,r,"key",o):c;w=""}if("string"==typeof(t=w)||"number"==typeof t||"boolean"==typeof t||"symbol"==typeof t||"bigint"==typeof t||(u=w)&&"object"==typeof u&&u.constructor&&u.constructor.isBuffer&&u.constructor.isBuffer(u)){if(j){let a=q?c:j(c,c2.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,c2.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let A=[];if(void 0===w)return A;if("comma"===d&&c$(w))q&&j&&(w=cX(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(c$(k))v=k;else{let a=Object.keys(w);v=l?a.sort(l):a}let B=i?String(c).replace(/\./g,"%2E"):String(c),C=e&&c$(w)&&1===w.length?B+"[]":B;if(f&&c$(w)&&0===w.length)return C+"[]";for(let c=0;c<v.length;++c){let t=v[c],u="object"==typeof t&&void 0!==t.value?t.value:w[t];if(h&&null===u)continue;let x=m&&i?t.replace(/\./g,"%2E"):t,z=c$(w)?"function"==typeof d?d(C,x):C:C+(m?"."+x:"["+x+"]");s.set(b,y);let B=new WeakMap;B.set(c3,s),c0(A,a(u,z,d,e,f,g,h,i,"comma"===d&&q&&c$(w)?null:j,k,l,m,n,o,p,q,r,B))}return A}(d[b],b,g,h,e.allowEmptyArrays,e.strictNullHandling,e.skipNulls,e.encodeDotInKeys,e.encode?e.encoder:null,e.filter,e.sort,e.allowDots,e.serializeDate,e.format,e.formatter,e.encodeValuesOnly,e.charset,i))}let j=f.join(e.delimiter),k=!0===e.addQueryPrefix?"?":"";return e.charsetSentinel&&("iso-8859-1"===e.charset?k+="utf8=%26%2310003%3B&":k+="utf8=%E2%9C%93&"),j.length>0?k+j:""}(a,{arrayFormat:"brackets"})}}g0.OpenAI=g0,g0.DEFAULT_TIMEOUT=6e5,g0.OpenAIError=el,g0.APIError=em,g0.APIConnectionError=eo,g0.APIConnectionTimeoutError=ep,g0.APIUserAbortError=en,g0.NotFoundError=et,g0.ConflictError=eu,g0.RateLimitError=ew,g0.BadRequestError=eq,g0.AuthenticationError=er,g0.InternalServerError=ex,g0.PermissionDeniedError=es,g0.UnprocessableEntityError=ev,g0.toFile=eM,g0.fileFromPath=m,g0.Completions=fn,g0.Chat=fu,g0.ChatCompletionsPage=fs,g0.Embeddings=fv,g0.Files=fw,g0.FileObjectsPage=fx,g0.Images=fy,g0.Audio=fC,g0.Moderations=fD,g0.Models=fE,g0.ModelsPage=fF,g0.FineTuning=fR,g0.Graders=fT,g0.VectorStores=fZ,g0.VectorStoresPage=f$,g0.VectorStoreSearchResponsesPage=f_,g0.Beta=gE,g0.Batches=gF,g0.BatchesPage=gG,g0.Uploads=gI,g0.Responses=gP,g0.Evals=gV,g0.EvalListResponsesPage=gW,g0.Containers=g$,g0.ContainerListResponsesPage=g_;let g1=(0,bF.h)("frontend/services/chat/index");class g2 extends Error{constructor(a,b,c){super(a),this.name="ChatApiError",this.status=b,this.body=c}}let g3="/v1/chat/conversations";async function g4(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 g2(b&&"object"==typeof b&&(b.error||b.message)||`Request failed with status ${a.status}`,a.status,b);return b}class g5{async listConversations(){return g1.debug("listConversations: Entering method"),g4(await fetch(g3))}async getConversation(a){return g1.debug("getConversation: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`))}async createConversation(a){return g1.debug("createConversation: Entering method",{conversationId:a.id}),g4(await fetch(g3,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}))}async updateConversationFlow(a,b){return g1.debug("updateConversationFlow: Entering method",{conversationId:a,flowId:b}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:b})}))}async updateConversationApproval(a,b){return g1.debug("updateConversationApproval: Entering method",{conversationId:a,requireApproval:b}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApproval:b})}))}async deleteConversation(a){g1.debug("deleteConversation: Entering method",{conversationId:a});let b=await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"DELETE"});await g4(b)}async respondToToolCall(a,b,c){return g1.debug("respondToToolCall: Entering method",{conversationId:a,action:b,toolCallId:c}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,toolCallId:c})}))}async debugStep(a){return g1.debug("debugStep: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/debug/step`,{method:"POST"}))}async debugContinue(a){return g1.debug("debugContinue: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/debug/continue`,{method:"POST"}))}async setBreakpoints(a,b){g1.debug("setBreakpoints: Entering method",{conversationId:a,count:b.length});let c=await fetch(`${g3}/${encodeURIComponent(a)}/breakpoints`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({breakpoints:b})});await g4(c)}async cancel(a){g1.debug("cancel: Entering method",{conversationId:a});let b=await fetch(`${g3}/${encodeURIComponent(a)}/cancel`,{method:"POST"});await g4(b)}subscribeToEvents(a,b,c){let d=new EventSource(void 0!==c?`${g3}/${encodeURIComponent(a)}/events?fromSeq=${c}`:`${g3}/${encodeURIComponent(a)}/events`);return d.onopen=()=>{g1.debug("Execution event stream open",{conversationId:a}),b.onOpen?.()},d.onmessage=a=>{try{b.onEvent(JSON.parse(a.data))}catch(a){g1.warn("Failed to parse SSE event",{err:a})}},d.onerror=a=>{g1.debug("SSE stream error (browser will retry if still open)"),b.onError?.(a)},d}}let g6=new g5,g7=(0,bF.h)("frontend/components/Chat/index");function g8(a){if(Array.isArray(a.content))return a.content;let b="string"==typeof a.content?a.content:"",c=a.attachments??[],d=c.filter(a=>"image"!==a.type),e=c.filter(a=>"image"===a.type);if(d.length>0&&(b+="\n\n"+d.map(a=>`[${a.type.toUpperCase()}]: ${a.content}`).join("\n\n")),0===e.length)return b;let f=[];for(let a of(b.trim()&&f.push({type:"text",text:b}),e))f.push({type:"image_url",image_url:{url:a.content}});return f}let g9=()=>{let[a,b]=(0,aN.useState)([]),[c,d]=(0,aN.useState)(!0),[e,f]=(0,aN.useState)(null),[g,h]=(0,aN.useState)(null),[i,j]=(0,aN.useState)(!1),[k,l]=(0,aN.useState)(null),[m,n]=(0,a4.Mj)(a4.Zg.CURRENT_CONVERSATION_ID,null),[o,p]=(0,aN.useState)(!1),[q,r]=(0,aN.useState)(new Set),s=(0,aN.useCallback)((a,b)=>{a&&r(c=>{if(b===c.has(a))return c;let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]),[t,u]=(0,aN.useState)(null),[v,w]=(0,aN.useState)([]),[x,y]=(0,aN.useState)(!1),[z,A]=(0,aN.useState)(!1),[B,C]=(0,aN.useState)(null),[D,E]=(0,aN.useState)(null),[F,G]=(0,aN.useState)(null),[H,I]=(0,aN.useState)(!1),[J,K]=(0,aN.useState)(null),[L,M]=(0,aN.useState)(!1),[N,O]=(0,aN.useState)(()=>0),P=(0,aN.useCallback)(a=>{a.preventDefault();let b=document.body.style.userSelect,c=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let d=a=>{O(Math.min(Math.max(window.innerWidth-a.clientX,360),Math.round(.85*window.innerWidth)))},e=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",e),document.body.style.userSelect=b,document.body.style.cursor=c,O(a=>(a>0&&window.localStorage.setItem("flujo-debugger-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[Q,R]=(0,aN.useState)(()=>300),[S,T]=(0,aN.useState)(()=>!1),U=(0,aN.useCallback)(()=>{T(a=>!a)},[]),V=(0,aN.useCallback)(a=>{a.preventDefault();let b=document.body.style.userSelect,c=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let d=a=>{R(Math.min(Math.max(a.clientX,220),560))},e=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",e),document.body.style.userSelect=b,document.body.style.cursor=c,R(a=>(a>0&&window.localStorage.setItem("flujo-chat-sidebar-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[W,X]=(0,aN.useState)(null),[Y,Z]=(0,aN.useState)([]),[$,_]=(0,aN.useState)(null),aa=(0,aN.useRef)(null),ab=(0,aN.useRef)(null),ac=(0,aN.useRef)(null),ad=(0,aN.useRef)(-1),ae=(0,aN.useRef)(m);(0,aN.useEffect)(()=>{ae.current=m},[m]);let af=(0,aN.useRef)(null);(0,aN.useEffect)(()=>{af.current=$},[$]),(0,aN.useEffect)(()=>{aa.current=new g0({baseURL:window.location.origin+"/v1",apiKey:"FLUJO",dangerouslyAllowBrowser:!0,maxRetries:0,timeout:18e6})},[]),(0,aN.useEffect)(()=>{(async()=>{g7.debug("Loading flows");try{let a=await cA.g.loadFlows();w(a)}catch(a){g7.error("Error loading flows:",a)}})()},[]);let ag=(0,aN.useCallback)(async(a,c)=>{let e=c?.silent??!1;g7.debug("Fetching conversation list from backend",{silent:e}),e||(d(!0),f(null));let g=[],h=!1;try{g=(await g6.listConversations()).sort((a,b)=>b.updatedAt-a.updatedAt),b(g),g7.info(`Fetched ${g.length} conversations for the list`)}catch(a){h=!0,g7.error("Error fetching conversation list:",a),e||(f("Failed to load conversation history."),b([]))}finally{if(e||d(!1),e||h)return;let b=void 0!==a?a:ae.current,c=ae.current;if(b&&g.some(a=>a.id===b))b!==c&&(g7.debug(`Setting currentConversationId to ${b} after fetch/operation.`),n(b));else if(g.length>0){let a=g[0].id;a!==c&&(g7.debug(`Selecting most recent conversation ${a} after fetch/operation.`),n(a))}else null!==c&&(g7.debug("No conversations available after fetch/operation, clearing selection."),n(null))}},[n]);(0,aN.useEffect)(()=>{ag()},[]);let ah=(0,aN.useCallback)(async a=>{g7.debug("Fetching detailed conversation",{conversationId:a}),j(!0),l(null),h(null);try{let c=await g6.getConversation(a);if(ae.current!==a)return void g7.debug("Discarding stale detailed conversation response",{fetchedId:a,currentId:ae.current});h(c),b(b=>b.map(b=>b.id===a?{...b,title:c.title,flowId:c.flowId,updatedAt:c.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),g7.info("Fetched detailed conversation successfully",{conversationId:a})}catch(b){if(g7.error("Error fetching detailed conversation:",{conversationId:a,err:b}),ae.current!==a)return;b instanceof g2&&404===b.status?(l(`Conversation ${a} not found.`),n(null),ag()):l(`Failed to load details for conversation ${a}.`),h(null)}finally{ae.current===a&&j(!1)}},[ag,n]);(0,aN.useEffect)(()=>{C(null),G(null),m?ah(m):(h(null),j(!1),l(null))},[m,ah]),(0,aN.useEffect)(()=>{g&&y(g.requireApproval??!1)},[g?.id]);let ai=(0,aN.useCallback)(async a=>{if(y(a),m)try{await g6.updateConversationApproval(m,a)}catch(a){g7.warn("Failed to persist requireApproval setting",{conversationId:m,err:a})}},[m]),aj=a.find(a=>a.id===m)||null,ak=(0,aN.useMemo)(()=>v.find(a=>a.id===g?.flowId)?.nodes?.map(a=>({id:a.id,label:a.data.label||a.id}))||[],[v,g?.flowId]),al=(0,aN.useMemo)(()=>{let a=a=>!!a&&ak.some(b=>b.id===a);if(a(F))return F;if(a(g?.currentNodeId))return g.currentNodeId;let b=g?.messages??[];for(let c=b.length-1;c>=0;c--){let d=b[c];if("assistant"===d.role&&a(d.processNodeId))return d.processNodeId}return ak[0]?.id??null},[F,g,ak]),am=async()=>{g7.debug("Attempting to create new conversation"),u(null);let a=v[0]?.id||null;if(!a){g7.error("Cannot create conversation: No flows available or first flow has no ID."),u("Cannot create a new conversation: No flows available.");return}let c=(0,bV.A)(),d=Date.now(),e={id:c,title:"New Conversation",flowId:a,createdAt:d,updatedAt:d};try{g7.info("Sending request to create conversation on backend",{payload:JSON.stringify(e)});let a=await g6.createConversation(e);g7.info("Successfully created conversation on backend",{conversationId:a.id}),b(b=>[a,...b].sort((a,b)=>b.updatedAt-a.updatedAt)),n(a.id),h({id:a.id,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,messages:[]}),j(!1),l(null)}catch(b){g7.error("Error creating conversation on backend:",b);let a="Failed to create conversation on the server.";b instanceof g2?a+=` Error: ${b.body?.error||b.message}`:b instanceof Error&&(a+=` Error: ${b.message}`),u(a)}},an=(0,aN.useCallback)(a=>{g7.debug("Updating detailed conversation state locally",{conversationId:a.id});let c={...a,updatedAt:Date.now()};h(c),b(a=>a.map(a=>a.id===c.id?{...a,title:c.title,updatedAt:c.updatedAt}:a).sort((a,b)=>b.updatedAt-a.updatedAt))},[]),ao=(0,aN.useCallback)(()=>{ac.current&&(g7.debug("Closing execution event stream"),ac.current.close(),ac.current=null)},[]),ap=(0,aN.useCallback)(a=>{if("number"==typeof a.seq){if(a.seq<=ad.current)return;ad.current=a.seq}let b=a=>X(b=>({totalTokens:a.totalTokens??b?.totalTokens??0,activeNode:void 0!==a.activeNode?a.activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));switch(a.type){case"run:start":X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()});break;case"message":{let c=a.message;b({}),h(b=>{let d;if(!b||b.id!==a.conversationId)return b;let e=b.messages.findIndex(a=>a.id===c.id);return e>=0?(d=[...b.messages])[e]={...d[e],...c}:d=[...b.messages,c],{...b,messages:d}});break}case"usage":X(b=>({totalTokens:(b?.totalTokens??0)+(a.totalTokens||0),activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));break;case"node:enter":b({activeNode:a.node?.nodeName||a.node?.nodeId||null});break;case"tool:call":b({activeNode:a.name});break;case"tool:progress":b({activeNode:a.message?`${a.name} — ${a.message}`:a.name});break;case"subflow:start":b({activeNode:`↳ ${a.subflowName||a.subflowId}`});break;case"handoff":b({activeNode:`→ ${a.toNodeId}`});break;case"run:awaiting_approval":a.conversationId&&a.conversationId===ae.current&&C(a.pendingToolCalls||[]);break;case"breakpoint:hit":case"run:paused":p(!1),a.conversationId&&s(a.conversationId,!1),I(!0);break;case"run:done":X(null),p(!1),_(null),a.conversationId&&s(a.conversationId,!1),ao(),a.conversationId&&a.conversationId===ae.current?ah(a.conversationId):ag(void 0,{silent:!0});break;case"error":u(a.message||"Execution error");break;default:b({})}},[ao,ah,ag,s]),aq=(0,aN.useCallback)((a,b)=>(ao(),ad.current=void 0!==b?b-1:-1,new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};try{ac.current=g6.subscribeToEvents(a,{onEvent:ap,onOpen:e},b),setTimeout(e,1500)}catch(b){g7.error("Failed to open execution event stream",{conversationId:a,err:b}),e()}})),[ap,ao]);(0,aN.useEffect)(()=>{m&&aj?.status==="running"&&af.current!==m&&(g7.info("Re-attaching to in-progress run",{conversationId:m}),af.current=m,p(!0),_(m),s(m,!0),X(a=>a??{totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),aq(m,0))},[m,aj?.status,aq]);let ar=async c=>{g7.debug("Attempting to delete conversation",{conversationId:c}),u(null);let d=a.filter(a=>a.id!==c);b(d);let e=m;m===c&&(d.length>0?(e=d[0].id,g7.debug("Deleted current conversation, selecting next most recent",{nextSelectionId:e})):(e=null,g7.debug("Deleted last conversation, clearing selection")),n(e));try{await g6.deleteConversation(c),g7.info("Successfully deleted conversation on backend",{conversationId:c})}catch(d){g7.error("Error deleting conversation:",{conversationId:c,err:d}),u(`Failed to delete conversation ${c}. Please try again.`),b(a),n(m)}},as=async c=>{if(g7.debug("Flow selected, attempting to update",{flowId:c,currentConversationId:m}),u(null),!m){g7.warn("Cannot update flow: No conversation selected."),u("Please select a conversation first.");return}g&&g.id===m&&h({...g,flowId:c,updatedAt:Date.now()}),b(a=>a.map(a=>a.id===m?{...a,flowId:c,updatedAt:Date.now()}:a).sort((a,b)=>b.updatedAt-a.updatedAt));try{let a=await g6.updateConversationFlow(m,c);g7.info("Successfully updated flowId on backend",{conversationId:m,flowId:c}),h(b=>b&&b.id===m?(g7.debug("Confirming detailedConversation update from server response",{conversationId:m,flowId:a.flowId}),{...b,flowId:a.flowId,updatedAt:a.updatedAt}):(g7.debug("Skipping detailedConversation update, ID mismatch or null state",{currentDetailedId:b?.id,targetId:m}),b)),b(b=>b.map(b=>b.id===m?a:b).sort((a,b)=>b.updatedAt-a.updatedAt))}catch(e){g7.error("Error updating flowId on backend:",{conversationId:m,flowId:c,err:e});let d="Failed to update the selected flow.";e instanceof g2?d+=` Error: ${e.body?.error||e.message}`:e instanceof Error&&(d+=` Error: ${e.message}`),u(d),h(g),b(a)}},at=async(a,b=[])=>{let c;if(!a.trim()&&0===b.length)return;if(!g){g7.error("Cannot send message, detailed conversation not loaded."),u("Cannot send message: conversation details not loaded.");return}g7.debug("Sending message",{conversationId:g.id,contentLength:a.length,attachmentsCount:b.length});let d=g.messages,e=!d.some(a=>"user"===a.role),f=g.flowId;if(F)c=F,G(null),g7.debug(`Assigning manually picked node ID to user message: ${c}`);else if(e){let a=v.find(a=>a.id===f),b=a?.nodes?.[0];b?(c=b.id,g7.debug(`Assigning start node ID to first user message: ${c}`)):g7.warn(`Could not find start node for flow ${f}. User message will not have a processNodeId.`)}else{for(let a=d.length-1;a>=0;a--){let b=d[a];if("assistant"===b.role&&b.processNodeId){c=b.processNodeId,g7.debug(`Assigning last assistant node ID to user message: ${c}`);break}}if(!c){let a=v.find(a=>a.id===f),b=a?.nodes?.[0];b?(c=b.id,g7.debug(`No prior assistant node ID found, falling back to start node ID: ${c}`)):g7.warn(`Could not find start node for fallback in flow ${f}. User message will not have a processNodeId.`)}}let i={id:(0,bV.A)(),role:"user",content:a,timestamp:Date.now(),attachments:b.length>0?b:void 0,processNodeId:c},j={...g,messages:[...g.messages,i]};an(j),j.flowId?await aw(j):(u("Please select a flow for this conversation before sending messages"),h(g))},au=(0,aN.useCallback)((a,c)=>{if(g7.verbose("Handling API response data",JSON.stringify(a)),s(c,"running"===a.status),"paused_debug"===a.status&&a.debugState)return g7.info("API Response: Paused for debugging",{conversationId:c}),K(a.debugState),I(!0),M(!0),p(!1),_(null),ao(),av(),h(b=>b?.id===c&&a.debugState.messages&&JSON.stringify(b.messages)!==JSON.stringify(a.debugState.messages)?(g7.debug("Updating detailed conversation messages from debug state"),{...b,messages:a.debugState.messages,updatedAt:a.debugState.updatedAt}):b),b(b=>b.map(b=>b.id===c?{...b,title:a.debugState.title??b.title,flowId:a.debugState.flowId??b.flowId,status:"paused_debug",updatedAt:a.debugState.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),!0;if("completed"===a.status||"error"===a.status?(g7.info(`API Response: Execution completed or errored (Status: ${a.status}). Hiding debugger panel.`,{conversationId:c}),I(!1),K(null),M(!1)):g7.debug(`API Response: Status is '${a.status}'. Debugger panel visibility unchanged (currently ${H?"visible":"hidden"}).`,{conversationId:c}),a.messages&&a.conversation_id===c){let b=a.messages.map((a,b)=>"number"!=typeof a.timestamp||isNaN(a.timestamp)?(g7.warn(`Invalid timestamp found in message index ${b} from API response. Defaulting to Date.now().`,{conversationId:c,messageId:a.id,invalidTimestamp:a.timestamp}),{...a,timestamp:Date.now()}):a);h(d=>{let e=d;return d?.id===c&&JSON.stringify(d.messages)!==JSON.stringify(b)&&(g7.info("API Response/Polling: Updating detailed conversation messages",{conversationId:c,newMessageCount:b.length}),e={...d,messages:b,updatedAt:a.updatedAt||d.updatedAt}),g7.debug("Polling: setDetailedConversation callback executed.",{conversationId:c,messagesChanged:e!==d,newMessageCount:e?.messages?.length??"N/A"}),e})}return"awaiting_tool_approval"===a.status?(g7.info("API Response/Polling: Pausing for tool approval",{conversationId:c}),C(a.pendingToolCalls||[]),p(!1),_(null),ao(),av()):"completed"===a.status||"error"===a.status?(g7.info("API Response/Polling: Stopping due to final status",{conversationId:c,status:a.status}),av(),p(!1),_(null),ao(),"error"===a.status&&(u(a.error?.message||a.lastResponse?.error||"Unknown error during execution"),g7.error("API Response/Polling: Execution resulted in error",{conversationId:c,error:a.error||a.lastResponse})),ah(c)):"running"!==a.status||H?C(null):(C(null),ab.current||p(!0)),a.conversation_id===c&&b(b=>b.map(b=>b.id===c?{...b,title:a.title??b.title,flowId:a.flowId??b.flowId,status:a.status??b.status,updatedAt:a.updatedAt||b.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),!1},[h,C,p,u,I,K,b,ah,ao,s]),av=()=>{ab.current&&(g7.debug("Stopping polling interval"),clearInterval(ab.current),ab.current=null)};(0,aN.useEffect)(()=>()=>{ao()},[ao]);let aw=async a=>{if(!a?.id||!a.flowId||!aa.current)return g7.error("Cannot send to completions: Missing conversation ID or flow ID.",{id:a?.id,flowId:a?.flowId}),u("Cannot send message: Missing conversation ID or flow ID."),!1;C(null),u(null),p(!0),_(a.id),s(a.id,!0),X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await aq(a.id);let b=!1;try{let c=await cA.g.getFlow(a.flowId);if(!c)throw Error(`Flow with ID ${a.flowId} not found`);g7.debug("Sending to chat completions",{flowId:a.flowId,flowName:c.name,conversationId:a.id});let d=a.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=g8(a),c=a.processNodeId,d={id:a.id,timestamp:a.timestamp};return"user"===a.role?{role:"user",content:b,...d,processNodeId:c}:"assistant"===a.role?{role:"assistant",content:b,tool_calls:a.tool_calls,...d,processNodeId:c}:"system"===a.role?{role:"system",content:b,...d,processNodeId:c}:"tool"===a.role?a.tool_call_id?{role:"tool",content:b,tool_call_id:a.tool_call_id,...d,processNodeId:c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...d,processNodeId:c}:{role:"user",content:b,...d,processNodeId:c}}),e=await aa.current.chat.completions.create({model:`flow-${c.name}`,messages:d,stream:!1,metadata:(()=>{let b={flujo:"true",requireApproval:x?"true":void 0,flujodebug:z?"true":void 0,conversationId:a.id},c={};return b.flujo&&(c.flujo=b.flujo),b.requireApproval&&(c.requireApproval=b.requireApproval),b.flujodebug&&(c.flujodebug=b.flujodebug),b.conversationId&&(c.conversationId=b.conversationId),c})()});g7.debug("Chat completion initial response received",{completionId:e.id}),b=!0;let f={...e,status:e.status||"completed",conversation_id:a.id,messages:e.messages||a.messages,pendingToolCalls:e.pendingToolCalls,debugState:e.debugState,error:e.error,lastResponse:e.lastResponse,updatedAt:e.updatedAt||Date.now()},g=au(f,a.id);g||ab.current?g&&g7.debug("Debug state handled, polling remains stopped."):g7.debug("Starting polling after initial non-debug response.")}catch(d){g7.error("Error calling chat completions API:",d),b=!1;let c="An error occurred while sending the message.";if(d instanceof em)c=`API Error: ${d.message} (Status: ${d.status})`,d.code&&(c+=` (Code: ${d.code})`),d.type&&(c+=` [Type: ${d.type}]`),g7.verbose("APIError details",JSON.stringify(d));else if(d instanceof el){c=`OpenAI Error: ${d.message}`;let a=d.error;a&&"object"==typeof a&&(a.code&&(c+=` (Code: ${a.code})`),a.type&&(c+=` [Type: ${a.type}]`)),g7.verbose("OpenAIError details",JSON.stringify(d))}else d instanceof g2?(c=`Error: ${d.body?.error||d.message}`,d.status&&(c+=` (Status: ${d.status})`),g7.verbose("ChatApiError details",JSON.stringify(d.body))):d instanceof Error&&(c=d.message);u(c),av(),p(!1),_(null),s(a.id,!1),ao()}finally{}return b},ax=async(a,b,c)=>{if(!g)return;g7.debug("Editing message",{messageId:a,contentLength:b.length,processNodeId:c});let d=g.messages.findIndex(b=>b.id===a);if(-1===d)return;let e={...g.messages[d],content:b,timestamp:Date.now(),processNodeId:c||void 0},f=[...g.messages.slice(0,d),e],h={...g,messages:f};if(an(h),h.flowId){let a={flujo:"true",requireApproval:x?"true":void 0,flujodebug:z?"true":void 0,conversationId:h.id,processNodeId:c||void 0};if(!aa.current)return;u(null),p(!0),_(h.id),s(h.id,!0),X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await aq(h.id);try{let b=await cA.g.getFlow(h.flowId);if(!b)throw Error(`Flow with ID ${h.flowId} not found`);let c=h.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=g8(a),c={id:a.id,timestamp:a.timestamp,processNodeId:a.processNodeId};return"user"===a.role?{role:"user",content:b,...c}:"assistant"===a.role?{role:"assistant",content:b,tool_calls:a.tool_calls,...c}:"system"===a.role?{role:"system",content:b,...c}:"tool"===a.role?a.tool_call_id?{role:"tool",content:b,tool_call_id:a.tool_call_id,...c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...c}:{role:"user",content:b,...c}}),d=await aa.current.chat.completions.create({model:`flow-${b.name}`,messages:c,stream:!1,metadata:(()=>{let b={};return a.flujo&&(b.flujo=a.flujo),a.requireApproval&&(b.requireApproval=a.requireApproval),a.flujodebug&&(b.flujodebug=a.flujodebug),a.conversationId&&(b.conversationId=a.conversationId),a.processNodeId&&(b.processNodeId=a.processNodeId),b})()}),e={...d,status:d.status||"completed",conversation_id:h.id,messages:d.messages||h.messages,pendingToolCalls:d.pendingToolCalls,debugState:d.debugState,error:d.error,updatedAt:d.updatedAt||Date.now()};au(e,h.id)}catch(a){g7.error("Error sending edited message:",a),u(a instanceof Error?a.message:"Failed to send edited message"),p(!1),_(null),s(h.id,!1),ao()}}},ay=async(a,b)=>{if(m){g7.info(`Handling tool response: ${a}`,{conversationId:m,toolCallId:b}),C(null),p(!0),_(m),s(m,!0),u(null),await aq(m);try{let c=await g6.respondToToolCall(m,a,b);g7.debug("Tool response successful",{conversationId:m,action:a,toolCallId:b}),au(c,m)}catch(d){g7.error(`Error sending tool response (${a})`,{conversationId:m,toolCallId:b,err:d});let c=`Failed to ${a} tool call.`;d instanceof g2?c+=` Error: ${d.body?.error||d.message}`:d instanceof Error&&(c+=` Error: ${d.message}`),u(c),p(!1),s(m,!1)}}},az=async()=>{if(m&&H){g7.info("Handling debug step request",{conversationId:m}),p(!0),_(m),s(m,!0),u(null),await aq(m);try{let a=await g6.debugStep(m);au(a,m)}catch(a){g7.error("Error during debug step API call",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to execute debug step."),p(!1),s(m,!1),I(!1),K(null)}finally{}}},aA=async()=>{if(m&&H){g7.info("Handling debug continue request",{conversationId:m}),p(!0),_(m),s(m,!0),u(null),I(!1),await aq(m);try{let a=await g6.debugContinue(m);au(a,m)}catch(a){g7.error("Error during debug continue API call",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to continue execution."),p(!1),s(m,!1)}finally{}}};(0,aN.useEffect)(()=>{J&&Z(J.breakpoints??[])},[J]);let aB=(0,aN.useCallback)(async a=>{if(!m)return;let b=Y.includes(a)?Y.filter(b=>b!==a):[...Y,a];Z(b);try{await g6.setBreakpoints(m,b)}catch(a){g7.error("Failed to update breakpoints",{conversationId:m,err:a}),Z(Y)}},[Y,m]),aC=async()=>{if(!m||!H)return;let a=J?.currentNodeId;p(!0),_(m),s(m,!0),u(null),await aq(m);try{for(let b=0;b<50;b++){let b=await g6.debugStep(m),c=b?.status??b?.debugState?.status,d=b?.debugState?.currentNodeId;if("paused_debug"!==c||d&&d!==a)return void au(b,m)}g7.warn("Step Over hit iteration cap",{conversationId:m}),p(!1),s(m,!1)}catch(a){g7.error("Error during step over",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to step over."),p(!1),s(m,!1)}},aD=async()=>{if(m){g7.info("Cancelling request",{conversationId:m}),av(),p(!1),_(null),s(m,!1),M(!1),ao(),C(null);try{await g6.cancel(m),g7.debug("Cancel request sent successfully",{conversationId:m}),await ah(m)}catch(a){g7.error("Error sending cancel request",{conversationId:m,err:a}),u("Failed to send cancel request to the server.")}}},aE=async()=>{g7.info("Closing debugger panel",{conversationId:m}),I(!1),K(null),M(!1),await aD()};g7.debug("Rendering Chat component",{currentConversationId:m,isHandleEditMessageDefined:!0});let aF=(L||H)&&!!J&&!!m;return(0,aM.jsxs)(aQ.default,{sx:{display:"flex",height:"calc(100vh - 64px)"},children:[S&&(0,aM.jsx)(aQ.default,{sx:{width:40,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",justifyContent:"center",pt:1},children:(0,aM.jsx)(aR.A,{title:"Show conversation sidebar",children:(0,aM.jsx)(aS.A,{size:"small",onClick:U,"aria-label":"Show conversation sidebar",children:(0,aM.jsx)(a3,{fontSize:"small"})})})}),!S&&(0,aM.jsx)(aQ.default,{sx:{width:Q,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column"},children:c?(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:2},children:(0,aM.jsx)(cS.default,{size:"medium",color:"primary"})}):e?(0,aM.jsx)(aT.A,{severity:"error",sx:{m:2},children:e}):(0,aM.jsx)(bd,{conversations:a,currentConversationId:m,onSelectConversation:n,onDeleteConversation:ar,onNewConversation:am,onCollapse:U})}),!S&&(0,aM.jsx)(aQ.default,{onPointerDown:V,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize conversation sidebar"}),(0,aM.jsxs)(aQ.default,{sx:{flex:1,height:"100%",display:"flex",minWidth:0,minHeight:0},children:[(0,aM.jsxs)(aQ.default,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",height:"100%"},children:[m&&(0,aM.jsxs)(aQ.default,{sx:{p:2,borderBottom:1,borderColor:"divider",display:"flex",alignItems:"center",gap:2},children:[(0,aM.jsx)(aQ.default,{sx:{flex:1,minWidth:0},children:(0,aM.jsx)(cB,{selectedFlowId:aj?.flowId||g?.flowId||null,onSelectFlow:a=>{if(!m){g7.warn("Cannot update flow: No conversation selected."),u("Please select a conversation first.");return}let b=g?.flowId??aj?.flowId??null;if((g?.messages?.length??0)>0&&b&&a!==b){g7.debug("Flow switch on executed conversation — asking for confirmation",{flowId:a,currentFlowId:b}),E(a);return}as(a)},disabled:H})}),(0,aM.jsx)(cy,{usage:g?.usage,contextInfo:g?.contextInfo,availableNodes:ak})]}),(0,aM.jsx)(aQ.default,{sx:{flex:1,overflow:"auto",p:2},children:i?(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aM.jsx)(cS.default,{size:"medium",color:"primary"})}):k?(0,aM.jsx)(aT.A,{severity:"error",sx:{m:2},children:k}):g?(0,aM.jsxs)(aM.Fragment,{children:[(0,aM.jsx)(bK,{messages:g.messages,pendingToolCalls:B,availableNodes:ak,conversationId:g.id,onToggleDisabled:a=>{if(!g)return;g7.debug("Toggling message disabled state",{messageId:a});let b=g.messages.map(b=>b.id===a?{...b,disabled:!b.disabled}:b);an({...g,messages:b})},onSplitConversation:a=>{if(!g)return;g7.debug("Splitting conversation at message",{messageId:a});let c=g.messages.findIndex(b=>b.id===a);if(-1===c)return;let d=g.messages.slice(0,c+1),e=(0,bV.A)(),f={id:e,title:`Split from ${g.title}`,messages:d,flowId:g.flowId,createdAt:Date.now(),updatedAt:Date.now()},i={id:e,title:f.title,flowId:f.flowId,createdAt:f.createdAt,updatedAt:f.updatedAt};b(a=>[i,...a].sort((a,b)=>b.updatedAt-a.updatedAt)),n(e),h(f),j(!1),l(null)},onEditMessage:ax,onApproveToolCall:a=>{ay("approve",a)},onRejectToolCall:a=>{ay("reject",a)}}),!o&&!H&&g.messages.length>0&&aj?.status==="completed"&&(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aM.jsx)(aT.A,{icon:(0,aM.jsx)(a0.A,{fontSize:"inherit"}),severity:"success",variant:"filled",sx:{borderRadius:2,py:.5},children:"Conversation completed"})}),!o&&!H&&!t&&aj?.status==="error"&&(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aM.jsx)(aT.A,{icon:(0,aM.jsx)(a1.A,{fontSize:"inherit"}),severity:"error",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center"},action:(0,aM.jsx)(aU.A,{color:"inherit",size:"small",startIcon:(0,aM.jsx)(a_.A,{}),onClick:()=>{aw(g)},children:"Retry"}),children:"Conversation ended with an error"})}),o&&$===m&&(0,aM.jsx)(bY,{liveStats:W,onStop:aD,stopDisabled:!m}),t&&(0,aM.jsx)(aT.A,{severity:"error",sx:{mt:2},action:(0,aM.jsx)(aU.A,{color:"inherit",size:"small",startIcon:(0,aM.jsx)(a_.A,{}),onClick:()=>{g&&aw(g)},children:"Retry"}),children:t})]}):(0,aM.jsx)(aV.default,{variant:"body1",color:"textSecondary",align:"center",sx:{mt:4},children:a.length>0?"Select a conversation or create a new one.":"Create a new conversation to start chatting."})}),(0,aM.jsx)(aQ.default,{sx:{p:2,borderTop:1,borderColor:"divider"},children:(0,aM.jsx)(bX,{onSendMessage:at,disabled:i||!!m&&q.has(m)||!(g?.flowId||aj?.flowId)||!!B||H,requireApproval:x,onRequireApprovalChange:ai,executeInDebugger:z,onExecuteInDebuggerChange:A,availableNodes:ak,currentNodeId:al,nodeOverrideActive:!!F,onSelectNode:G})})]})," ",aF&&(0,aM.jsxs)(aM.Fragment,{children:[(0,aM.jsx)(aQ.default,{onPointerDown:P,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize debugger panel"}),(0,aM.jsx)(aQ.default,{sx:{width:N?`${N}px`:"50%",minWidth:360,maxWidth:"85vw",flexShrink:0,display:"flex",flexDirection:"column",height:"100%"},children:(0,aM.jsx)(cR,{debugState:J,conversationId:m,onStep:az,onStepOver:aC,onContinue:aA,onCancel:aD,isLoading:o,breakpoints:Y,onToggleBreakpoint:aB,onClose:aE})})]})]})," ",(0,aM.jsxs)(aW.A,{open:!!D,onClose:()=>E(null),children:[(0,aM.jsx)(aX.A,{children:"Switch flow?"}),(0,aM.jsx)(aY.A,{children:(0,aM.jsxs)(aZ.A,{children:["This conversation has already been processed with its current flow."," ","If you switch to"," ",(0,aM.jsx)("strong",{children:v.find(a=>a.id===D)?.name||"the selected flow"}),","," ","the conversation will continue processing from that flow's Start node again."]})}),(0,aM.jsxs)(a$.A,{children:[(0,aM.jsx)(aU.A,{onClick:()=>E(null),children:"Cancel"}),(0,aM.jsx)(aU.A,{variant:"contained",onClick:()=>{E(null),D&&as(D)},children:"Switch Flow"})]})]})]})},ha=(0,bF.h)("frontend/components/ClientOnly");function hb({children:a}){let[b,c]=(0,aN.useState)(!1);return b?(ha.debug("ClientOnly component rendering children"),(0,aM.jsx)(aM.Fragment,{children:a})):(ha.debug("ClientOnly component rendering null (not yet mounted)"),null)}let hc=(0,bF.h)("app/chat/page");function hd(){return hc.debug("Rendering ChatPage"),(0,aM.jsx)(aP.A,{maxWidth:!1,disableGutters:!0,children:(0,aM.jsx)(hb,{children:(0,aM.jsx)(g9,{})})})}},96536:(a,b,c)=>{"use strict";let d=c(67376),e=c(66164),f=c(46627),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},97568:(a,b,c)=>{"use strict";c.d(b,{f:()=>e});var d=c(35120);let e=a=>a instanceof d.Z}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,8298,3984,8445,6760,6390,1746,1050,7485,2253,5558,7531,6283,2776,9938,9188],()=>b(b.s=9828));module.exports=c})();
10
+ ${gn(a)}`);return{...h,id:g,type:f,function:{...k,name:j,arguments:i}}})}}:{...f,message:{...j,content:g,role:k,refusal:b.refusal??null},finish_reason:c,index:d,logprobs:e}}),created:f,model:g,object:"chat.completion",...h?{system_fingerprint:h}:{}},b&&gc(b)?gb(c,b):{...c,choices:c.choices.map(a=>({...a,message:{...a.message,parsed:null,...a.message.tool_calls?{tool_calls:a.message.tool_calls}:void 0}}))}}(a,gl(this,Z,"f"))},ag=function(){let a=gl(this,Z,"f")?.response_format;return f9(a)?a:null},ah=function(a){var b,c,d,e;let f=gl(this,_,"f"),{choices:g,...h}=a;for(let{delta:g,finish_reason:i,index:j,logprobs:k=null,...l}of(f?Object.assign(f,h):f=gk(this,_,{...h,choices:[]},"f"),a.choices)){let a=f.choices[j];if(a||(a=f.choices[j]={finish_reason:i,index:j,message:{},logprobs:k,...l}),k)if(a.logprobs){let{content:d,refusal:e,...f}=k;Object.assign(a.logprobs,f),d&&((b=a.logprobs).content??(b.content=[]),a.logprobs.content.push(...d)),e&&((c=a.logprobs).refusal??(c.refusal=[]),a.logprobs.refusal.push(...e))}else a.logprobs=Object.assign({},k);if(i&&(a.finish_reason=i,gl(this,Z,"f")&&gc(gl(this,Z,"f")))){if("length"===i)throw new ey;if("content_filter"===i)throw new ez}if(Object.assign(a,l),!g)continue;let{content:h,refusal:m,function_call:n,role:o,tool_calls:p,...q}=g;if(Object.assign(a.message,q),m&&(a.message.refusal=(a.message.refusal||"")+m),o&&(a.message.role=o),n&&(a.message.function_call?(n.name&&(a.message.function_call.name=n.name),n.arguments&&((d=a.message.function_call).arguments??(d.arguments=""),a.message.function_call.arguments+=n.arguments)):a.message.function_call=n),h&&(a.message.content=(a.message.content||"")+h,!a.message.refusal&&gl(this,Y,"m",ag).call(this)&&(a.message.parsed=gj(a.message.content))),p)for(let{index:b,id:c,type:d,function:f,...g}of(a.message.tool_calls||(a.message.tool_calls=[]),p)){let h=(e=a.message.tool_calls)[b]??(e[b]={});Object.assign(h,g),c&&(h.id=c),d&&(h.type=d),f&&(h.function??(h.function={name:f.name??"",arguments:""})),f?.name&&(h.function.name=f.name),f?.arguments&&(h.function.arguments+=f.arguments,function(a,b){if(!a)return!1;let c=a.tools?.find(a=>a.function?.name===b.function.name);return ga(c)||c?.function.strict||!1}(gl(this,Z,"f"),h)&&(h.function.parsed_arguments=gj(h.function.arguments)))}}return f},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("chunk",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eE(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function gn(a){return JSON.stringify(a)}class go extends gm{static fromReadableStream(a){let b=new go(null);return b._run(()=>b._fromReadableStream(a)),b}static runFunctions(a,b,c){let d=new go(null),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return d._run(()=>d._runFunctions(a,b,e)),d}static runTools(a,b,c){let d=new go(b),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,e)),d}}class gp extends fm{parse(a,b){for(let b of a.tools??[]){if("function"!==b.type)throw new el(`Currently only \`function\` tool types support auto-parsing; Received \`${b.type}\``);if(!0!==b.function.strict)throw new el(`The \`${b.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}return this._client.chat.completions.create(a,{...b,headers:{...b?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(b=>gb(b,a))}runFunctions(a,b){return a.stream?go.runFunctions(this._client,a,b):gf.runFunctions(this._client,a,b)}runTools(a,b){return a.stream?go.runTools(this._client,a,b):gf.runTools(this._client,a,b)}stream(a,b){return gm.createChatCompletion(this._client,a,b)}}class gq extends fm{constructor(){super(...arguments),this.completions=new gp(this._client)}}(gq||(gq={})).Completions=gp;class gr extends fm{create(a,b){return this._client.post("/realtime/sessions",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}}class gs extends fm{create(a,b){return this._client.post("/realtime/transcription_sessions",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}}class gt extends fm{constructor(){super(...arguments),this.sessions=new gr(this._client),this.transcriptionSessions=new gs(this._client)}}gt.Sessions=gr,gt.TranscriptionSessions=gs;var gu=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},gv=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class gw extends f8{constructor(){super(...arguments),ai.add(this),aj.set(this,[]),ak.set(this,{}),al.set(this,{}),am.set(this,void 0),an.set(this,void 0),ao.set(this,void 0),ap.set(this,void 0),aq.set(this,void 0),ar.set(this,void 0),as.set(this,void 0),at.set(this,void 0),au.set(this,void 0)}[(aj=new WeakMap,ak=new WeakMap,al=new WeakMap,am=new WeakMap,an=new WeakMap,ao=new WeakMap,ap=new WeakMap,aq=new WeakMap,ar=new WeakMap,as=new WeakMap,at=new WeakMap,au=new WeakMap,ai=new WeakSet,Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(a){let b=new gw;return b._run(()=>b._fromReadableStream(a)),b}async _fromReadableStream(a,b){let c=b?.signal;c&&(c.aborted&&this.controller.abort(),c.addEventListener("abort",()=>this.controller.abort())),this._connected();let d=eE.fromReadableStream(a,this.controller);for await(let a of d)gu(this,ai,"m",av).call(this,a);if(d.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}toReadableStream(){return new eE(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(a,b,c,d,e){let f=new gw;return f._run(()=>f._runToolAssistantStream(a,b,c,d,{...e,headers:{...e?.headers,"X-Stainless-Helper-Method":"stream"}})),f}async _createToolAssistantStream(a,b,c,d,e){let f=e?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort()));let g={...d,stream:!0},h=await a.submitToolOutputs(b,c,g,{...e,signal:this.controller.signal});for await(let a of(this._connected(),h))gu(this,ai,"m",av).call(this,a);if(h.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}static createThreadAssistantStream(a,b,c){let d=new gw;return d._run(()=>d._threadAssistantStream(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}static createAssistantStream(a,b,c,d){let e=new gw;return e._run(()=>e._runAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}currentEvent(){return gu(this,as,"f")}currentRun(){return gu(this,at,"f")}currentMessageSnapshot(){return gu(this,am,"f")}currentRunStepSnapshot(){return gu(this,au,"f")}async finalRunSteps(){return await this.done(),Object.values(gu(this,ak,"f"))}async finalMessages(){return await this.done(),Object.values(gu(this,al,"f"))}async finalRun(){if(await this.done(),!gu(this,an,"f"))throw Error("Final run was not received.");return gu(this,an,"f")}async _createThreadAssistantStream(a,b,c){let d=c?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let e={...b,stream:!0},f=await a.createAndRun(e,{...c,signal:this.controller.signal});for await(let a of(this._connected(),f))gu(this,ai,"m",av).call(this,a);if(f.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}async _createAssistantStream(a,b,c,d){let e=d?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort()));let f={...c,stream:!0},g=await a.create(b,f,{...d,signal:this.controller.signal});for await(let a of(this._connected(),g))gu(this,ai,"m",av).call(this,a);if(g.controller.signal?.aborted)throw new en;return this._addRun(gu(this,ai,"m",aw).call(this))}static accumulateDelta(a,b){for(let[c,d]of Object.entries(b)){if(!a.hasOwnProperty(c)){a[c]=d;continue}let b=a[c];if(null==b||"index"===c||"type"===c){a[c]=d;continue}if("string"==typeof b&&"string"==typeof d)b+=d;else if("number"==typeof b&&"number"==typeof d)b+=d;else if(fl(b)&&fl(d))b=this.accumulateDelta(b,d);else if(Array.isArray(b)&&Array.isArray(d)){if(b.every(a=>"string"==typeof a||"number"==typeof a)){b.push(...d);continue}for(let a of d){if(!fl(a))throw Error(`Expected array delta entry to be an object but got: ${a}`);let c=a.index;if(null==c)throw console.error(a),Error("Expected array delta entry to have an `index` property");if("number"!=typeof c)throw Error(`Expected array delta entry \`index\` property to be a number but got ${c}`);let d=b[c];null==d?b.push(a):b[c]=this.accumulateDelta(d,a)}continue}else throw Error(`Unhandled record type: ${c}, deltaValue: ${d}, accValue: ${b}`);a[c]=b}return a}_addRun(a){return a}async _threadAssistantStream(a,b,c){return await this._createThreadAssistantStream(b,a,c)}async _runAssistantStream(a,b,c,d){return await this._createAssistantStream(b,a,c,d)}async _runToolAssistantStream(a,b,c,d,e){return await this._createToolAssistantStream(c,a,b,d,e)}}av=function(a){if(!this.ended)switch(gv(this,as,a,"f"),gu(this,ai,"m",az).call(this,a),a.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":gu(this,ai,"m",aD).call(this,a);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":gu(this,ai,"m",ay).call(this,a);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":gu(this,ai,"m",ax).call(this,a);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},aw=function(){if(this.ended)throw new el("stream has ended, this shouldn't happen");if(!gu(this,an,"f"))throw Error("Final run has not been received");return gu(this,an,"f")},ax=function(a){let[b,c]=gu(this,ai,"m",aB).call(this,a,gu(this,am,"f"));for(let a of(gv(this,am,b,"f"),gu(this,al,"f")[b.id]=b,c)){let c=b.content[a.index];c?.type=="text"&&this._emit("textCreated",c.text)}switch(a.event){case"thread.message.created":this._emit("messageCreated",a.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",a.data.delta,b),a.data.delta.content)for(let c of a.data.delta.content){if("text"==c.type&&c.text){let a=c.text,d=b.content[c.index];if(d&&"text"==d.type)this._emit("textDelta",a,d.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(c.index!=gu(this,ao,"f")){if(gu(this,ap,"f"))switch(gu(this,ap,"f").type){case"text":this._emit("textDone",gu(this,ap,"f").text,gu(this,am,"f"));break;case"image_file":this._emit("imageFileDone",gu(this,ap,"f").image_file,gu(this,am,"f"))}gv(this,ao,c.index,"f")}gv(this,ap,b.content[c.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==gu(this,ao,"f")){let b=a.data.content[gu(this,ao,"f")];if(b)switch(b.type){case"image_file":this._emit("imageFileDone",b.image_file,gu(this,am,"f"));break;case"text":this._emit("textDone",b.text,gu(this,am,"f"))}}gu(this,am,"f")&&this._emit("messageDone",a.data),gv(this,am,void 0,"f")}},ay=function(a){let b=gu(this,ai,"m",aA).call(this,a);switch(gv(this,au,b,"f"),a.event){case"thread.run.step.created":this._emit("runStepCreated",a.data);break;case"thread.run.step.delta":let c=a.data.delta;if(c.step_details&&"tool_calls"==c.step_details.type&&c.step_details.tool_calls&&"tool_calls"==b.step_details.type)for(let a of c.step_details.tool_calls)a.index==gu(this,aq,"f")?this._emit("toolCallDelta",a,b.step_details.tool_calls[a.index]):(gu(this,ar,"f")&&this._emit("toolCallDone",gu(this,ar,"f")),gv(this,aq,a.index,"f"),gv(this,ar,b.step_details.tool_calls[a.index],"f"),gu(this,ar,"f")&&this._emit("toolCallCreated",gu(this,ar,"f")));this._emit("runStepDelta",a.data.delta,b);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":gv(this,au,void 0,"f"),"tool_calls"==a.data.step_details.type&&gu(this,ar,"f")&&(this._emit("toolCallDone",gu(this,ar,"f")),gv(this,ar,void 0,"f")),this._emit("runStepDone",a.data,b)}},az=function(a){gu(this,aj,"f").push(a),this._emit("event",a)},aA=function(a){switch(a.event){case"thread.run.step.created":return gu(this,ak,"f")[a.data.id]=a.data,a.data;case"thread.run.step.delta":let b=gu(this,ak,"f")[a.data.id];if(!b)throw Error("Received a RunStepDelta before creation of a snapshot");let c=a.data;if(c.delta){let d=gw.accumulateDelta(b,c.delta);gu(this,ak,"f")[a.data.id]=d}return gu(this,ak,"f")[a.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":gu(this,ak,"f")[a.data.id]=a.data}if(gu(this,ak,"f")[a.data.id])return gu(this,ak,"f")[a.data.id];throw Error("No snapshot available")},aB=function(a,b){let c=[];switch(a.event){case"thread.message.created":return[a.data,c];case"thread.message.delta":if(!b)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let d=a.data;if(d.delta.content)for(let a of d.delta.content)if(a.index in b.content){let c=b.content[a.index];b.content[a.index]=gu(this,ai,"m",aC).call(this,a,c)}else b.content[a.index]=a,c.push(a);return[b,c];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(b)return[b,c];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},aC=function(a,b){return gw.accumulateDelta(b,a)},aD=function(a){switch(gv(this,at,a.data,"f"),a.event){case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":gv(this,an,a.data,"f"),gu(this,ar,"f")&&(this._emit("toolCallDone",gu(this,ar,"f")),gv(this,ar,void 0,"f"))}};class gx extends fm{create(a,b,c){return this._client.post(`/threads/${a}/messages`,{body:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}retrieve(a,b,c){return this._client.get(`/threads/${a}/messages/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}update(a,b,c,d){return this._client.post(`/threads/${a}/messages/${b}`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/threads/${a}/messages`,gy,{query:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}del(a,b,c){return this._client.delete(`/threads/${a}/messages/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}}class gy extends fq{}gx.MessagesPage=gy;class gz extends fm{retrieve(a,b,c,d={},e){return e3(d)?this.retrieve(a,b,c,{},d):this._client.get(`/threads/${a}/runs/${b}/steps/${c}`,{query:d,...e,headers:{"OpenAI-Beta":"assistants=v2",...e?.headers}})}list(a,b,c={},d){return e3(c)?this.list(a,b,{},c):this._client.getAPIList(`/threads/${a}/runs/${b}/steps`,gA,{query:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}}class gA extends fq{}gz.RunStepsPage=gA;class gB extends fm{constructor(){super(...arguments),this.steps=new gz(this._client)}create(a,b,c){let{include:d,...e}=b;return this._client.post(`/threads/${a}/runs`,{query:{include:d},body:e,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers},stream:b.stream??!1})}retrieve(a,b,c){return this._client.get(`/threads/${a}/runs/${b}`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}update(a,b,c,d){return this._client.post(`/threads/${a}/runs/${b}`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/threads/${a}/runs`,gC,{query:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}cancel(a,b,c){return this._client.post(`/threads/${a}/runs/${b}/cancel`,{...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(a,d.id,c)}createAndStream(a,b,c){return gw.createAssistantStream(a,this._client.beta.threads.runs,b,c)}async poll(a,b,c){let d={...c?.headers,"X-Stainless-Poll-Helper":"true"};for(c?.pollIntervalMs&&(d["X-Stainless-Custom-Poll-Interval"]=c.pollIntervalMs.toString());;){let{data:e,response:f}=await this.retrieve(a,b,{...c,headers:{...c?.headers,...d}}).withResponse();switch(e.status){case"queued":case"in_progress":case"cancelling":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=f.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await fa(g);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return e}}}stream(a,b,c){return gw.createAssistantStream(a,this._client.beta.threads.runs,b,c)}submitToolOutputs(a,b,c,d){return this._client.post(`/threads/${a}/runs/${b}/submit_tool_outputs`,{body:c,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers},stream:c.stream??!1})}async submitToolOutputsAndPoll(a,b,c,d){let e=await this.submitToolOutputs(a,b,c,d);return await this.poll(a,e.id,d)}submitToolOutputsStream(a,b,c,d){return gw.createToolAssistantStream(a,b,this._client.beta.threads.runs,c,d)}}class gC extends fq{}gB.RunsPage=gC,gB.Steps=gz,gB.RunStepsPage=gA;class gD extends fm{constructor(){super(...arguments),this.runs=new gB(this._client),this.messages=new gx(this._client)}create(a={},b){return e3(a)?this.create({},a):this._client.post("/threads",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}retrieve(a,b){return this._client.get(`/threads/${a}`,{...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}update(a,b,c){return this._client.post(`/threads/${a}`,{body:b,...c,headers:{"OpenAI-Beta":"assistants=v2",...c?.headers}})}del(a,b){return this._client.delete(`/threads/${a}`,{...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers}})}createAndRun(a,b){return this._client.post("/threads/runs",{body:a,...b,headers:{"OpenAI-Beta":"assistants=v2",...b?.headers},stream:a.stream??!1})}async createAndRunPoll(a,b){let c=await this.createAndRun(a,b);return await this.runs.poll(c.thread_id,c.id,b)}createAndRunStream(a,b){return gw.createThreadAssistantStream(a,this._client.beta.threads,b)}}gD.Runs=gB,gD.RunsPage=gC,gD.Messages=gx,gD.MessagesPage=gy;class gE extends fm{constructor(){super(...arguments),this.realtime=new gt(this._client),this.chat=new gq(this._client),this.assistants=new f0(this._client),this.threads=new gD(this._client)}}gE.Realtime=gt,gE.Assistants=f0,gE.AssistantsPage=f1,gE.Threads=gD;class gF extends fm{create(a,b){return this._client.post("/batches",{body:a,...b})}retrieve(a,b){return this._client.get(`/batches/${a}`,b)}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/batches",gG,{query:a,...b})}cancel(a,b){return this._client.post(`/batches/${a}/cancel`,b)}}class gG extends fq{}gF.BatchesPage=gG;class gH extends fm{create(a,b,c){return this._client.post(`/uploads/${a}/parts`,eR({body:b,...c}))}}class gI extends fm{constructor(){super(...arguments),this.parts=new gH(this._client)}create(a,b){return this._client.post("/uploads",{body:a,...b})}cancel(a,b){return this._client.post(`/uploads/${a}/cancel`,b)}complete(a,b,c){return this._client.post(`/uploads/${a}/complete`,{body:b,...c})}}function gJ(a,b){let c=a.output.map(a=>{if("function_call"===a.type)return{...a,parsed_arguments:function(a,b){var c,d;let e=(c=a.tools??[],d=b.name,c.find(a=>"function"===a.type&&a.name===d));return{...b,...b,parsed_arguments:e?.$brand==="auto-parseable-tool"?e.$parseRaw(b.arguments):e?.strict?JSON.parse(b.arguments):null}}(b,a)};if("message"===a.type){let c=a.content.map(a=>{var c,d;return"output_text"===a.type?{...a,parsed:(c=b,d=a.text,c.text?.format?.type!=="json_schema"?null:"$parseRaw"in c.text?.format?(c.text?.format).$parseRaw(d):JSON.parse(d))}:a});return{...a,content:c}}return a}),d=Object.assign({},a,{output:c});return Object.getOwnPropertyDescriptor(a,"output_text")||gK(d),Object.defineProperty(d,"output_parsed",{enumerable:!0,get(){for(let a of d.output)if("message"===a.type){for(let b of a.content)if("output_text"===b.type&&null!==b.parsed)return b.parsed}return null}}),d}function gK(a){let b=[];for(let c of a.output)if("message"===c.type)for(let a of c.content)"output_text"===a.type&&b.push(a.text);a.output_text=b.join("")}gI.Parts=gH;class gL extends fm{list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/responses/${a}/input_items`,gQ,{query:b,...c})}}var gM=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c},gN=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)};class gO extends f8{constructor(a){super(),aE.add(this),aF.set(this,void 0),aG.set(this,void 0),aH.set(this,void 0),gM(this,aF,a,"f")}static createResponse(a,b,c){let d=new gO(b);return d._run(()=>d._createOrRetrieveResponse(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}async _createOrRetrieveResponse(a,b,c){let d,e=c?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort())),gN(this,aE,"m",aI).call(this);let f=null;for await(let e of("response_id"in b?(d=await a.responses.retrieve(b.response_id,{stream:!0},{...c,signal:this.controller.signal,stream:!0}),f=b.starting_after??null):d=await a.responses.create({...b,stream:!0},{...c,signal:this.controller.signal}),this._connected(),d))gN(this,aE,"m",aJ).call(this,e,f);if(d.controller.signal?.aborted)throw new en;return gN(this,aE,"m",aK).call(this)}[(aF=new WeakMap,aG=new WeakMap,aH=new WeakMap,aE=new WeakSet,aI=function(){this.ended||gM(this,aG,void 0,"f")},aJ=function(a,b){if(this.ended)return;let c=(a,c)=>{(null==b||c.sequence_number>b)&&this._emit(a,c)},d=gN(this,aE,"m",aL).call(this,a);switch(c("event",a),a.type){case"response.output_text.delta":{let b=d.output[a.output_index];if(!b)throw new el(`missing output at index ${a.output_index}`);if("message"===b.type){let d=b.content[a.content_index];if(!d)throw new el(`missing content at index ${a.content_index}`);if("output_text"!==d.type)throw new el(`expected content to be 'output_text', got ${d.type}`);c("response.output_text.delta",{...a,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let b=d.output[a.output_index];if(!b)throw new el(`missing output at index ${a.output_index}`);"function_call"===b.type&&c("response.function_call_arguments.delta",{...a,snapshot:b.arguments});break}default:c(a.type,a)}},aK=function(){if(this.ended)throw new el("stream has ended, this shouldn't happen");let a=gN(this,aG,"f");if(!a)throw new el("request ended without sending any events");gM(this,aG,void 0,"f");let b=function(a,b){var c;return b&&(c=b,f9(c.text?.format))?gJ(a,b):{...a,output_parsed:null,output:a.output.map(a=>"function_call"===a.type?{...a,parsed_arguments:null}:"message"===a.type?{...a,content:a.content.map(a=>({...a,parsed:null}))}:a)}}(a,gN(this,aF,"f"));return gM(this,aH,b,"f"),b},aL=function(a){let b=gN(this,aG,"f");if(!b){if("response.created"!==a.type)throw new el(`When snapshot hasn't been set yet, expected 'response.created' event, got ${a.type}`);return gM(this,aG,a.response,"f")}switch(a.type){case"response.output_item.added":b.output.push(a.item);break;case"response.content_part.added":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);"message"===c.type&&c.content.push(a.part);break}case"response.output_text.delta":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);if("message"===c.type){let b=c.content[a.content_index];if(!b)throw new el(`missing content at index ${a.content_index}`);if("output_text"!==b.type)throw new el(`expected content to be 'output_text', got ${b.type}`);b.text+=a.delta}break}case"response.function_call_arguments.delta":{let c=b.output[a.output_index];if(!c)throw new el(`missing output at index ${a.output_index}`);"function_call"===c.type&&(c.arguments+=a.delta);break}case"response.completed":gM(this,aG,a.response,"f")}return b},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let a=gN(this,aH,"f");if(!a)throw new el("stream ended without producing a ChatCompletion");return a}}class gP extends fm{constructor(){super(...arguments),this.inputItems=new gL(this._client)}create(a,b){return this._client.post("/responses",{body:a,...b,stream:a.stream??!1})._thenUnwrap(a=>("object"in a&&"response"===a.object&&gK(a),a))}retrieve(a,b={},c){return this._client.get(`/responses/${a}`,{query:b,...c,stream:b?.stream??!1})}del(a,b){return this._client.delete(`/responses/${a}`,{...b,headers:{Accept:"*/*",...b?.headers}})}parse(a,b){return this._client.responses.create(a,b)._thenUnwrap(b=>gJ(b,a))}stream(a,b){return gO.createResponse(this._client,a,b)}cancel(a,b){return this._client.post(`/responses/${a}/cancel`,{...b,headers:{Accept:"*/*",...b?.headers}})}}class gQ extends fq{}gP.InputItems=gL;class gR extends fm{retrieve(a,b,c,d){return this._client.get(`/evals/${a}/runs/${b}/output_items/${c}`,d)}list(a,b,c={},d){return e3(c)?this.list(a,b,{},c):this._client.getAPIList(`/evals/${a}/runs/${b}/output_items`,gS,{query:c,...d})}}class gS extends fq{}gR.OutputItemListResponsesPage=gS;class gT extends fm{constructor(){super(...arguments),this.outputItems=new gR(this._client)}create(a,b,c){return this._client.post(`/evals/${a}/runs`,{body:b,...c})}retrieve(a,b,c){return this._client.get(`/evals/${a}/runs/${b}`,c)}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/evals/${a}/runs`,gU,{query:b,...c})}del(a,b,c){return this._client.delete(`/evals/${a}/runs/${b}`,c)}cancel(a,b,c){return this._client.post(`/evals/${a}/runs/${b}`,c)}}class gU extends fq{}gT.RunListResponsesPage=gU,gT.OutputItems=gR,gT.OutputItemListResponsesPage=gS;class gV extends fm{constructor(){super(...arguments),this.runs=new gT(this._client)}create(a,b){return this._client.post("/evals",{body:a,...b})}retrieve(a,b){return this._client.get(`/evals/${a}`,b)}update(a,b,c){return this._client.post(`/evals/${a}`,{body:b,...c})}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/evals",gW,{query:a,...b})}del(a,b){return this._client.delete(`/evals/${a}`,b)}}class gW extends fq{}gV.EvalListResponsesPage=gW,gV.Runs=gT,gV.RunListResponsesPage=gU;class gX extends fm{retrieve(a,b,c){return this._client.get(`/containers/${a}/files/${b}/content`,{...c,headers:{Accept:"application/binary",...c?.headers},__binaryResponse:!0})}}class gY extends fm{constructor(){super(...arguments),this.content=new gX(this._client)}create(a,b,c){return this._client.post(`/containers/${a}/files`,eR({body:b,...c}))}retrieve(a,b,c){return this._client.get(`/containers/${a}/files/${b}`,c)}list(a,b={},c){return e3(b)?this.list(a,{},b):this._client.getAPIList(`/containers/${a}/files`,gZ,{query:b,...c})}del(a,b,c){return this._client.delete(`/containers/${a}/files/${b}`,{...c,headers:{Accept:"*/*",...c?.headers}})}}class gZ extends fq{}gY.FileListResponsesPage=gZ,gY.Content=gX;class g$ extends fm{constructor(){super(...arguments),this.files=new gY(this._client)}create(a,b){return this._client.post("/containers",{body:a,...b})}retrieve(a,b){return this._client.get(`/containers/${a}`,b)}list(a={},b){return e3(a)?this.list({},a):this._client.getAPIList("/containers",g_,{query:a,...b})}del(a,b){return this._client.delete(`/containers/${a}`,{...b,headers:{Accept:"*/*",...b?.headers}})}}class g_ extends fq{}g$.ContainerListResponsesPage=g_,g$.Files=gY,g$.FileListResponsesPage=gZ;class g0 extends e${constructor({baseURL:a=fd("OPENAI_BASE_URL"),apiKey:b=fd("OPENAI_API_KEY"),organization:c=fd("OPENAI_ORG_ID")??null,project:d=fd("OPENAI_PROJECT_ID")??null,...e}={}){if(void 0===b)throw new el("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let f={apiKey:b,organization:c,project:d,...e,baseURL:a||"https://api.openai.com/v1"};if(!f.dangerouslyAllowBrowser&&"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator)throw new el("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");super({baseURL:f.baseURL,timeout:f.timeout??6e5,httpAgent:f.httpAgent,maxRetries:f.maxRetries,fetch:f.fetch}),this.completions=new fn(this),this.chat=new fu(this),this.embeddings=new fv(this),this.files=new fw(this),this.images=new fy(this),this.audio=new fC(this),this.moderations=new fD(this),this.models=new fE(this),this.fineTuning=new fR(this),this.graders=new fT(this),this.vectorStores=new fZ(this),this.beta=new gE(this),this.batches=new gF(this),this.uploads=new gI(this),this.responses=new gP(this),this.evals=new gV(this),this.containers=new g$(this),this._options=f,this.apiKey=b,this.organization=c,this.project=d}defaultQuery(){return this._options.defaultQuery}defaultHeaders(a){return{...super.defaultHeaders(a),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(a){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=c2){let b;if(void 0!==a.allowEmptyArrays&&"boolean"!=typeof a.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==a.encodeDotInKeys&&"boolean"!=typeof a.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw TypeError("Encoder has to be a function.");let c=a.charset||c2.charset;if(void 0!==a.charset&&"utf-8"!==a.charset&&"iso-8859-1"!==a.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let d=cT;if(void 0!==a.format){if(!cY.call(cU,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=cU[d],f=c2.filter;if(("function"==typeof a.filter||c$(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in cZ?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":c2.arrayFormat,"commaRoundTrip"in a&&"boolean"!=typeof a.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let g=void 0===a.allowDots?!0==!!a.encodeDotInKeys||c2.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:c2.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:c2.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:c2.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?c2.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:c2.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:c2.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:c2.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:c2.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:c2.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:c2.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:c2.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):c$(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=cZ[e.arrayFormat],h="comma"===g&&e.commaRoundTrip;c||(c=Object.keys(d)),e.sort&&c.sort(e.sort);let i=new WeakMap;for(let a=0;a<c.length;++a){let b=c[a];e.skipNulls&&null===d[b]||c0(f,function a(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var t,u;let v,w=b,x=s,y=0,z=!1;for(;void 0!==(x=x.get(c3))&&!z;){let a=x.get(b);if(y+=1,void 0!==a)if(a===y)throw RangeError("Cyclic object value");else z=!0;void 0===x.get(c3)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&c$(w)&&(w=cX(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,c2.encoder,r,"key",o):c;w=""}if("string"==typeof(t=w)||"number"==typeof t||"boolean"==typeof t||"symbol"==typeof t||"bigint"==typeof t||(u=w)&&"object"==typeof u&&u.constructor&&u.constructor.isBuffer&&u.constructor.isBuffer(u)){if(j){let a=q?c:j(c,c2.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,c2.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let A=[];if(void 0===w)return A;if("comma"===d&&c$(w))q&&j&&(w=cX(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(c$(k))v=k;else{let a=Object.keys(w);v=l?a.sort(l):a}let B=i?String(c).replace(/\./g,"%2E"):String(c),C=e&&c$(w)&&1===w.length?B+"[]":B;if(f&&c$(w)&&0===w.length)return C+"[]";for(let c=0;c<v.length;++c){let t=v[c],u="object"==typeof t&&void 0!==t.value?t.value:w[t];if(h&&null===u)continue;let x=m&&i?t.replace(/\./g,"%2E"):t,z=c$(w)?"function"==typeof d?d(C,x):C:C+(m?"."+x:"["+x+"]");s.set(b,y);let B=new WeakMap;B.set(c3,s),c0(A,a(u,z,d,e,f,g,h,i,"comma"===d&&q&&c$(w)?null:j,k,l,m,n,o,p,q,r,B))}return A}(d[b],b,g,h,e.allowEmptyArrays,e.strictNullHandling,e.skipNulls,e.encodeDotInKeys,e.encode?e.encoder:null,e.filter,e.sort,e.allowDots,e.serializeDate,e.format,e.formatter,e.encodeValuesOnly,e.charset,i))}let j=f.join(e.delimiter),k=!0===e.addQueryPrefix?"?":"";return e.charsetSentinel&&("iso-8859-1"===e.charset?k+="utf8=%26%2310003%3B&":k+="utf8=%E2%9C%93&"),j.length>0?k+j:""}(a,{arrayFormat:"brackets"})}}g0.OpenAI=g0,g0.DEFAULT_TIMEOUT=6e5,g0.OpenAIError=el,g0.APIError=em,g0.APIConnectionError=eo,g0.APIConnectionTimeoutError=ep,g0.APIUserAbortError=en,g0.NotFoundError=et,g0.ConflictError=eu,g0.RateLimitError=ew,g0.BadRequestError=eq,g0.AuthenticationError=er,g0.InternalServerError=ex,g0.PermissionDeniedError=es,g0.UnprocessableEntityError=ev,g0.toFile=eM,g0.fileFromPath=m,g0.Completions=fn,g0.Chat=fu,g0.ChatCompletionsPage=fs,g0.Embeddings=fv,g0.Files=fw,g0.FileObjectsPage=fx,g0.Images=fy,g0.Audio=fC,g0.Moderations=fD,g0.Models=fE,g0.ModelsPage=fF,g0.FineTuning=fR,g0.Graders=fT,g0.VectorStores=fZ,g0.VectorStoresPage=f$,g0.VectorStoreSearchResponsesPage=f_,g0.Beta=gE,g0.Batches=gF,g0.BatchesPage=gG,g0.Uploads=gI,g0.Responses=gP,g0.Evals=gV,g0.EvalListResponsesPage=gW,g0.Containers=g$,g0.ContainerListResponsesPage=g_;let g1=(0,bF.h)("frontend/services/chat/index");class g2 extends Error{constructor(a,b,c){super(a),this.name="ChatApiError",this.status=b,this.body=c}}let g3="/v1/chat/conversations";async function g4(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 g2(b&&"object"==typeof b&&(b.error||b.message)||`Request failed with status ${a.status}`,a.status,b);return b}class g5{async listConversations(){return g1.debug("listConversations: Entering method"),g4(await fetch(g3))}async getConversation(a){return g1.debug("getConversation: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`))}async createConversation(a){return g1.debug("createConversation: Entering method",{conversationId:a.id}),g4(await fetch(g3,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}))}async updateConversationFlow(a,b){return g1.debug("updateConversationFlow: Entering method",{conversationId:a,flowId:b}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({flowId:b})}))}async updateConversationApproval(a,b){return g1.debug("updateConversationApproval: Entering method",{conversationId:a,requireApproval:b}),g4(await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApproval:b})}))}async deleteConversation(a){g1.debug("deleteConversation: Entering method",{conversationId:a});let b=await fetch(`${g3}/${encodeURIComponent(a)}`,{method:"DELETE"});await g4(b)}async respondToToolCall(a,b,c){return g1.debug("respondToToolCall: Entering method",{conversationId:a,action:b,toolCallId:c}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,toolCallId:c})}))}async debugStep(a){return g1.debug("debugStep: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/debug/step`,{method:"POST"}))}async debugContinue(a){return g1.debug("debugContinue: Entering method",{conversationId:a}),g4(await fetch(`${g3}/${encodeURIComponent(a)}/debug/continue`,{method:"POST"}))}async setBreakpoints(a,b){g1.debug("setBreakpoints: Entering method",{conversationId:a,count:b.length});let c=await fetch(`${g3}/${encodeURIComponent(a)}/breakpoints`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({breakpoints:b})});await g4(c)}async cancel(a){g1.debug("cancel: Entering method",{conversationId:a});let b=await fetch(`${g3}/${encodeURIComponent(a)}/cancel`,{method:"POST"});await g4(b)}subscribeToEvents(a,b,c){let d=new EventSource(void 0!==c?`${g3}/${encodeURIComponent(a)}/events?fromSeq=${c}`:`${g3}/${encodeURIComponent(a)}/events`);return d.onopen=()=>{g1.debug("Execution event stream open",{conversationId:a}),b.onOpen?.()},d.onmessage=a=>{try{b.onEvent(JSON.parse(a.data))}catch(a){g1.warn("Failed to parse SSE event",{err:a})}},d.onerror=a=>{g1.debug("SSE stream error (browser will retry if still open)"),b.onError?.(a)},d}}let g6=new g5,g7=(0,bF.h)("frontend/components/Chat/index");function g8(a){if(Array.isArray(a.content))return a.content;let b="string"==typeof a.content?a.content:"",c=a.attachments??[],d=c.filter(a=>"image"!==a.type),e=c.filter(a=>"image"===a.type);if(d.length>0&&(b+="\n\n"+d.map(a=>`[${a.type.toUpperCase()}]: ${a.content}`).join("\n\n")),0===e.length)return b;let f=[];for(let a of(b.trim()&&f.push({type:"text",text:b}),e))f.push({type:"image_url",image_url:{url:a.content}});return f}let g9=()=>{let[a,b]=(0,aN.useState)([]),[c,d]=(0,aN.useState)(!0),[e,f]=(0,aN.useState)(null),[g,h]=(0,aN.useState)(null),[i,j]=(0,aN.useState)(!1),[k,l]=(0,aN.useState)(null),[m,n]=(0,a4.Mj)(a4.Zg.CURRENT_CONVERSATION_ID,null),[o,p]=(0,aN.useState)(!1),[q,r]=(0,aN.useState)(new Set),s=(0,aN.useCallback)((a,b)=>{a&&r(c=>{if(b===c.has(a))return c;let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]),[t,u]=(0,aN.useState)(null),[v,w]=(0,aN.useState)([]),[x,y]=(0,aN.useState)(!1),[z,A]=(0,aN.useState)(!1),[B,C]=(0,aN.useState)(null),[D,E]=(0,aN.useState)(null),[F,G]=(0,aN.useState)(null),[H,I]=(0,aN.useState)(!1),[J,K]=(0,aN.useState)(null),[L,M]=(0,aN.useState)(!1),[N,O]=(0,aN.useState)(()=>0),P=(0,aN.useCallback)(a=>{a.preventDefault();let b=document.body.style.userSelect,c=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let d=a=>{O(Math.min(Math.max(window.innerWidth-a.clientX,360),Math.round(.85*window.innerWidth)))},e=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",e),document.body.style.userSelect=b,document.body.style.cursor=c,O(a=>(a>0&&window.localStorage.setItem("flujo-debugger-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[Q,R]=(0,aN.useState)(()=>300),[S,T]=(0,aN.useState)(()=>!1),U=(0,aN.useCallback)(()=>{T(a=>!a)},[]),V=(0,aN.useCallback)(a=>{a.preventDefault();let b=document.body.style.userSelect,c=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let d=a=>{R(Math.min(Math.max(a.clientX,220),560))},e=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",e),document.body.style.userSelect=b,document.body.style.cursor=c,R(a=>(a>0&&window.localStorage.setItem("flujo-chat-sidebar-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[W,X]=(0,aN.useState)(null),[Y,Z]=(0,aN.useState)([]),[$,_]=(0,aN.useState)(null),aa=(0,aN.useRef)(null),ab=(0,aN.useRef)(null),ac=(0,aN.useRef)(null),ad=(0,aN.useRef)(-1),ae=(0,aN.useRef)(m);(0,aN.useEffect)(()=>{ae.current=m},[m]);let af=(0,aN.useRef)(null);(0,aN.useEffect)(()=>{af.current=$},[$]),(0,aN.useEffect)(()=>{aa.current=new g0({baseURL:window.location.origin+"/v1",apiKey:"FLUJO",dangerouslyAllowBrowser:!0,maxRetries:0,timeout:18e6})},[]),(0,aN.useEffect)(()=>{(async()=>{g7.debug("Loading flows");try{let a=await cA.g.loadFlows();w(a)}catch(a){g7.error("Error loading flows:",a)}})()},[]);let ag=(0,aN.useCallback)(async(a,c)=>{let e=c?.silent??!1;g7.debug("Fetching conversation list from backend",{silent:e}),e||(d(!0),f(null));let g=[],h=!1;try{g=(await g6.listConversations()).sort((a,b)=>b.updatedAt-a.updatedAt),b(g),g7.info(`Fetched ${g.length} conversations for the list`)}catch(a){h=!0,g7.error("Error fetching conversation list:",a),e||(f("Failed to load conversation history."),b([]))}finally{if(e||d(!1),e||h)return;let b=void 0!==a?a:ae.current,c=ae.current;if(b&&g.some(a=>a.id===b))b!==c&&(g7.debug(`Setting currentConversationId to ${b} after fetch/operation.`),n(b));else if(g.length>0){let a=g[0].id;a!==c&&(g7.debug(`Selecting most recent conversation ${a} after fetch/operation.`),n(a))}else null!==c&&(g7.debug("No conversations available after fetch/operation, clearing selection."),n(null))}},[n]);(0,aN.useEffect)(()=>{ag()},[]);let ah=(0,aN.useCallback)(async a=>{g7.debug("Fetching detailed conversation",{conversationId:a}),j(!0),l(null),h(null);try{let c=await g6.getConversation(a);if(ae.current!==a)return void g7.debug("Discarding stale detailed conversation response",{fetchedId:a,currentId:ae.current});h(c),b(b=>b.map(b=>b.id===a?{...b,title:c.title,flowId:c.flowId,updatedAt:c.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),g7.info("Fetched detailed conversation successfully",{conversationId:a})}catch(b){if(g7.error("Error fetching detailed conversation:",{conversationId:a,err:b}),ae.current!==a)return;b instanceof g2&&404===b.status?(l(`Conversation ${a} not found.`),n(null),ag()):l(`Failed to load details for conversation ${a}.`),h(null)}finally{ae.current===a&&j(!1)}},[ag,n]);(0,aN.useEffect)(()=>{C(null),G(null),m?ah(m):(h(null),j(!1),l(null))},[m,ah]),(0,aN.useEffect)(()=>{g&&y(g.requireApproval??!1)},[g?.id]);let ai=(0,aN.useCallback)(async a=>{if(y(a),m)try{await g6.updateConversationApproval(m,a)}catch(a){g7.warn("Failed to persist requireApproval setting",{conversationId:m,err:a})}},[m]),aj=a.find(a=>a.id===m)||null,ak=(0,aN.useMemo)(()=>v.find(a=>a.id===g?.flowId)?.nodes?.map(a=>({id:a.id,label:a.data.label||a.id}))||[],[v,g?.flowId]),al=(0,aN.useMemo)(()=>{let a=a=>!!a&&ak.some(b=>b.id===a);if(a(F))return F;if(a(g?.currentNodeId))return g.currentNodeId;let b=g?.messages??[];for(let c=b.length-1;c>=0;c--){let d=b[c];if("assistant"===d.role&&a(d.processNodeId))return d.processNodeId}return ak[0]?.id??null},[F,g,ak]),am=async()=>{g7.debug("Attempting to create new conversation"),u(null);let a=v[0]?.id||null;if(!a){g7.error("Cannot create conversation: No flows available or first flow has no ID."),u("Cannot create a new conversation: No flows available.");return}let c=(0,bV.A)(),d=Date.now(),e={id:c,title:"New Conversation",flowId:a,createdAt:d,updatedAt:d};try{g7.info("Sending request to create conversation on backend",{payload:JSON.stringify(e)});let a=await g6.createConversation(e);g7.info("Successfully created conversation on backend",{conversationId:a.id}),b(b=>[a,...b].sort((a,b)=>b.updatedAt-a.updatedAt)),n(a.id),h({id:a.id,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,messages:[]}),j(!1),l(null)}catch(b){g7.error("Error creating conversation on backend:",b);let a="Failed to create conversation on the server.";b instanceof g2?a+=` Error: ${b.body?.error||b.message}`:b instanceof Error&&(a+=` Error: ${b.message}`),u(a)}},an=(0,aN.useCallback)(a=>{g7.debug("Updating detailed conversation state locally",{conversationId:a.id});let c={...a,updatedAt:Date.now()};h(c),b(a=>a.map(a=>a.id===c.id?{...a,title:c.title,updatedAt:c.updatedAt}:a).sort((a,b)=>b.updatedAt-a.updatedAt))},[]),ao=(0,aN.useCallback)(()=>{ac.current&&(g7.debug("Closing execution event stream"),ac.current.close(),ac.current=null)},[]),ap=(0,aN.useCallback)(a=>{if("number"==typeof a.seq){if(a.seq<=ad.current)return;ad.current=a.seq}let b=a=>X(b=>({totalTokens:a.totalTokens??b?.totalTokens??0,activeNode:void 0!==a.activeNode?a.activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));switch(a.type){case"run:start":X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()});break;case"message":{let c=a.message;b({}),h(b=>{let d;if(!b||b.id!==a.conversationId)return b;let e=b.messages.findIndex(a=>a.id===c.id);return e>=0?(d=[...b.messages])[e]={...d[e],...c}:d=[...b.messages,c],{...b,messages:d}});break}case"usage":X(b=>({totalTokens:(b?.totalTokens??0)+(a.totalTokens||0),activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));break;case"node:enter":b({activeNode:a.node?.nodeName||a.node?.nodeId||null});break;case"tool:call":b({activeNode:a.name});break;case"tool:progress":b({activeNode:a.message?`${a.name} — ${a.message}`:a.name});break;case"subflow:start":b({activeNode:`↳ ${a.subflowName||a.subflowId}`});break;case"handoff":b({activeNode:`→ ${a.toNodeId}`});break;case"run:awaiting_approval":a.conversationId&&a.conversationId===ae.current&&C(a.pendingToolCalls||[]);break;case"breakpoint:hit":case"run:paused":p(!1),a.conversationId&&s(a.conversationId,!1),I(!0);break;case"run:done":X(null),p(!1),_(null),a.conversationId&&s(a.conversationId,!1),ao(),a.conversationId&&a.conversationId===ae.current?ah(a.conversationId):ag(void 0,{silent:!0});break;case"error":u(a.message||"Execution error");break;default:b({})}},[ao,ah,ag,s]),aq=(0,aN.useCallback)((a,b)=>(ao(),ad.current=void 0!==b?b-1:-1,new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};try{ac.current=g6.subscribeToEvents(a,{onEvent:ap,onOpen:e},b),setTimeout(e,1500)}catch(b){g7.error("Failed to open execution event stream",{conversationId:a,err:b}),e()}})),[ap,ao]);(0,aN.useEffect)(()=>{m&&aj?.status==="running"&&af.current!==m&&(g7.info("Re-attaching to in-progress run",{conversationId:m}),af.current=m,p(!0),_(m),s(m,!0),X(a=>a??{totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),aq(m,0))},[m,aj?.status,aq]);let ar=async c=>{g7.debug("Attempting to delete conversation",{conversationId:c}),u(null);let d=a.filter(a=>a.id!==c);b(d);let e=m;m===c&&(d.length>0?(e=d[0].id,g7.debug("Deleted current conversation, selecting next most recent",{nextSelectionId:e})):(e=null,g7.debug("Deleted last conversation, clearing selection")),n(e));try{await g6.deleteConversation(c),g7.info("Successfully deleted conversation on backend",{conversationId:c})}catch(d){g7.error("Error deleting conversation:",{conversationId:c,err:d}),u(`Failed to delete conversation ${c}. Please try again.`),b(a),n(m)}},as=async c=>{if(g7.debug("Flow selected, attempting to update",{flowId:c,currentConversationId:m}),u(null),!m){g7.warn("Cannot update flow: No conversation selected."),u("Please select a conversation first.");return}g&&g.id===m&&h({...g,flowId:c,updatedAt:Date.now()}),b(a=>a.map(a=>a.id===m?{...a,flowId:c,updatedAt:Date.now()}:a).sort((a,b)=>b.updatedAt-a.updatedAt));try{let a=await g6.updateConversationFlow(m,c);g7.info("Successfully updated flowId on backend",{conversationId:m,flowId:c}),h(b=>b&&b.id===m?(g7.debug("Confirming detailedConversation update from server response",{conversationId:m,flowId:a.flowId}),{...b,flowId:a.flowId,updatedAt:a.updatedAt}):(g7.debug("Skipping detailedConversation update, ID mismatch or null state",{currentDetailedId:b?.id,targetId:m}),b)),b(b=>b.map(b=>b.id===m?a:b).sort((a,b)=>b.updatedAt-a.updatedAt))}catch(e){g7.error("Error updating flowId on backend:",{conversationId:m,flowId:c,err:e});let d="Failed to update the selected flow.";e instanceof g2?d+=` Error: ${e.body?.error||e.message}`:e instanceof Error&&(d+=` Error: ${e.message}`),u(d),h(g),b(a)}},at=async(a,b=[])=>{let c;if(!a.trim()&&0===b.length)return;if(!g){g7.error("Cannot send message, detailed conversation not loaded."),u("Cannot send message: conversation details not loaded.");return}g7.debug("Sending message",{conversationId:g.id,contentLength:a.length,attachmentsCount:b.length});let d=g.messages,e=!d.some(a=>"user"===a.role),f=g.flowId;if(F)c=F,G(null),g7.debug(`Assigning manually picked node ID to user message: ${c}`);else if(e){let a=v.find(a=>a.id===f),b=a?.nodes?.[0];b?(c=b.id,g7.debug(`Assigning start node ID to first user message: ${c}`)):g7.warn(`Could not find start node for flow ${f}. User message will not have a processNodeId.`)}else{for(let a=d.length-1;a>=0;a--){let b=d[a];if("assistant"===b.role&&b.processNodeId){c=b.processNodeId,g7.debug(`Assigning last assistant node ID to user message: ${c}`);break}}if(!c){let a=v.find(a=>a.id===f),b=a?.nodes?.[0];b?(c=b.id,g7.debug(`No prior assistant node ID found, falling back to start node ID: ${c}`)):g7.warn(`Could not find start node for fallback in flow ${f}. User message will not have a processNodeId.`)}}let i={id:(0,bV.A)(),role:"user",content:a,timestamp:Date.now(),attachments:b.length>0?b:void 0,processNodeId:c},j={...g,messages:[...g.messages,i]};an(j),j.flowId?await aw(j):(u("Please select a flow for this conversation before sending messages"),h(g))},au=(0,aN.useCallback)((a,c)=>{if(g7.verbose("Handling API response data",JSON.stringify(a)),s(c,"running"===a.status),"paused_debug"===a.status&&a.debugState)return g7.info("API Response: Paused for debugging",{conversationId:c}),K(a.debugState),I(!0),M(!0),p(!1),_(null),ao(),av(),h(b=>b?.id===c&&a.debugState.messages&&JSON.stringify(b.messages)!==JSON.stringify(a.debugState.messages)?(g7.debug("Updating detailed conversation messages from debug state"),{...b,messages:a.debugState.messages,updatedAt:a.debugState.updatedAt}):b),b(b=>b.map(b=>b.id===c?{...b,title:a.debugState.title??b.title,flowId:a.debugState.flowId??b.flowId,status:"paused_debug",updatedAt:a.debugState.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),!0;if("completed"===a.status||"error"===a.status?(g7.info(`API Response: Execution completed or errored (Status: ${a.status}). Hiding debugger panel.`,{conversationId:c}),I(!1),K(null),M(!1)):g7.debug(`API Response: Status is '${a.status}'. Debugger panel visibility unchanged (currently ${H?"visible":"hidden"}).`,{conversationId:c}),a.messages&&a.conversation_id===c){let b=a.messages.map((a,b)=>"number"!=typeof a.timestamp||isNaN(a.timestamp)?(g7.warn(`Invalid timestamp found in message index ${b} from API response. Defaulting to Date.now().`,{conversationId:c,messageId:a.id,invalidTimestamp:a.timestamp}),{...a,timestamp:Date.now()}):a);h(d=>{let e=d;return d?.id===c&&JSON.stringify(d.messages)!==JSON.stringify(b)&&(g7.info("API Response/Polling: Updating detailed conversation messages",{conversationId:c,newMessageCount:b.length}),e={...d,messages:b,updatedAt:a.updatedAt||d.updatedAt}),g7.debug("Polling: setDetailedConversation callback executed.",{conversationId:c,messagesChanged:e!==d,newMessageCount:e?.messages?.length??"N/A"}),e})}return"awaiting_tool_approval"===a.status?(g7.info("API Response/Polling: Pausing for tool approval",{conversationId:c}),C(a.pendingToolCalls||[]),p(!1),_(null),ao(),av()):"completed"===a.status||"error"===a.status?(g7.info("API Response/Polling: Stopping due to final status",{conversationId:c,status:a.status}),av(),p(!1),_(null),ao(),"error"===a.status&&(u(a.error?.message||a.lastResponse?.error||"Unknown error during execution"),g7.error("API Response/Polling: Execution resulted in error",{conversationId:c,error:a.error||a.lastResponse})),ah(c)):"running"!==a.status||H?C(null):(C(null),ab.current||p(!0)),a.conversation_id===c&&b(b=>b.map(b=>b.id===c?{...b,title:a.title??b.title,flowId:a.flowId??b.flowId,status:a.status??b.status,updatedAt:a.updatedAt||b.updatedAt}:b).sort((a,b)=>b.updatedAt-a.updatedAt)),!1},[h,C,p,u,I,K,b,ah,ao,s]),av=()=>{ab.current&&(g7.debug("Stopping polling interval"),clearInterval(ab.current),ab.current=null)};(0,aN.useEffect)(()=>()=>{ao()},[ao]);let aw=async a=>{if(!a?.id||!a.flowId||!aa.current)return g7.error("Cannot send to completions: Missing conversation ID or flow ID.",{id:a?.id,flowId:a?.flowId}),u("Cannot send message: Missing conversation ID or flow ID."),!1;C(null),u(null),p(!0),_(a.id),s(a.id,!0),X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await aq(a.id);let b=!1;try{let c=await cA.g.getFlow(a.flowId);if(!c)throw Error(`Flow with ID ${a.flowId} not found`);g7.debug("Sending to chat completions",{flowId:a.flowId,flowName:c.name,conversationId:a.id});let d=a.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=g8(a),c=a.processNodeId,d={id:a.id,timestamp:a.timestamp};return"user"===a.role?{role:"user",content:b,...d,processNodeId:c}:"assistant"===a.role?{role:"assistant",content:b,tool_calls:a.tool_calls,...d,processNodeId:c}:"system"===a.role?{role:"system",content:b,...d,processNodeId:c}:"tool"===a.role?a.tool_call_id?{role:"tool",content:b,tool_call_id:a.tool_call_id,...d,processNodeId:c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...d,processNodeId:c}:{role:"user",content:b,...d,processNodeId:c}}),e=await aa.current.chat.completions.create({model:`flow-${c.name}`,messages:d,stream:!1,metadata:(()=>{let b={flujo:"true",requireApproval:x?"true":void 0,flujodebug:z?"true":void 0,conversationId:a.id},c={};return b.flujo&&(c.flujo=b.flujo),b.requireApproval&&(c.requireApproval=b.requireApproval),b.flujodebug&&(c.flujodebug=b.flujodebug),b.conversationId&&(c.conversationId=b.conversationId),c})()});g7.debug("Chat completion initial response received",{completionId:e.id}),b=!0;let f={...e,status:e.status||"completed",conversation_id:a.id,messages:e.messages||a.messages,pendingToolCalls:e.pendingToolCalls,debugState:e.debugState,error:e.error,lastResponse:e.lastResponse,updatedAt:e.updatedAt||Date.now()},g=au(f,a.id);g||ab.current?g&&g7.debug("Debug state handled, polling remains stopped."):g7.debug("Starting polling after initial non-debug response.")}catch(d){g7.error("Error calling chat completions API:",d),b=!1;let c="An error occurred while sending the message.";if(d instanceof em)c=`API Error: ${d.message} (Status: ${d.status})`,d.code&&(c+=` (Code: ${d.code})`),d.type&&(c+=` [Type: ${d.type}]`),g7.verbose("APIError details",JSON.stringify(d));else if(d instanceof el){c=`OpenAI Error: ${d.message}`;let a=d.error;a&&"object"==typeof a&&(a.code&&(c+=` (Code: ${a.code})`),a.type&&(c+=` [Type: ${a.type}]`)),g7.verbose("OpenAIError details",JSON.stringify(d))}else d instanceof g2?(c=`Error: ${d.body?.error||d.message}`,d.status&&(c+=` (Status: ${d.status})`),g7.verbose("ChatApiError details",JSON.stringify(d.body))):d instanceof Error&&(c=d.message);u(c),av(),p(!1),_(null),s(a.id,!1),ao()}finally{}return b},ax=async(a,b,c)=>{if(!g)return;g7.debug("Editing message",{messageId:a,contentLength:b.length,processNodeId:c});let d=g.messages.findIndex(b=>b.id===a);if(-1===d)return;let e={...g.messages[d],content:b,timestamp:Date.now(),processNodeId:c||void 0},f=[...g.messages.slice(0,d),e],h={...g,messages:f};if(an(h),h.flowId){let a={flujo:"true",requireApproval:x?"true":void 0,flujodebug:z?"true":void 0,conversationId:h.id,processNodeId:c||void 0};if(!aa.current)return;u(null),p(!0),_(h.id),s(h.id,!0),X({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await aq(h.id);try{let b=await cA.g.getFlow(h.flowId);if(!b)throw Error(`Flow with ID ${h.flowId} not found`);let c=h.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=g8(a),c={id:a.id,timestamp:a.timestamp,processNodeId:a.processNodeId};return"user"===a.role?{role:"user",content:b,...c}:"assistant"===a.role?{role:"assistant",content:b,tool_calls:a.tool_calls,...c}:"system"===a.role?{role:"system",content:b,...c}:"tool"===a.role?a.tool_call_id?{role:"tool",content:b,tool_call_id:a.tool_call_id,...c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...c}:{role:"user",content:b,...c}}),d=await aa.current.chat.completions.create({model:`flow-${b.name}`,messages:c,stream:!1,metadata:(()=>{let b={};return a.flujo&&(b.flujo=a.flujo),a.requireApproval&&(b.requireApproval=a.requireApproval),a.flujodebug&&(b.flujodebug=a.flujodebug),a.conversationId&&(b.conversationId=a.conversationId),a.processNodeId&&(b.processNodeId=a.processNodeId),b})()}),e={...d,status:d.status||"completed",conversation_id:h.id,messages:d.messages||h.messages,pendingToolCalls:d.pendingToolCalls,debugState:d.debugState,error:d.error,updatedAt:d.updatedAt||Date.now()};au(e,h.id)}catch(a){g7.error("Error sending edited message:",a),u(a instanceof Error?a.message:"Failed to send edited message"),p(!1),_(null),s(h.id,!1),ao()}}},ay=async(a,b)=>{if(m){g7.info(`Handling tool response: ${a}`,{conversationId:m,toolCallId:b}),C(null),p(!0),_(m),s(m,!0),u(null),await aq(m);try{let c=await g6.respondToToolCall(m,a,b);g7.debug("Tool response successful",{conversationId:m,action:a,toolCallId:b}),au(c,m)}catch(d){g7.error(`Error sending tool response (${a})`,{conversationId:m,toolCallId:b,err:d});let c=`Failed to ${a} tool call.`;d instanceof g2?c+=` Error: ${d.body?.error||d.message}`:d instanceof Error&&(c+=` Error: ${d.message}`),u(c),p(!1),s(m,!1)}}},az=async()=>{if(m&&H){g7.info("Handling debug step request",{conversationId:m}),p(!0),_(m),s(m,!0),u(null),await aq(m);try{let a=await g6.debugStep(m);au(a,m)}catch(a){g7.error("Error during debug step API call",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to execute debug step."),p(!1),s(m,!1),I(!1),K(null)}finally{}}},aA=async()=>{if(m&&H){g7.info("Handling debug continue request",{conversationId:m}),p(!0),_(m),s(m,!0),u(null),I(!1),await aq(m);try{let a=await g6.debugContinue(m);au(a,m)}catch(a){g7.error("Error during debug continue API call",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to continue execution."),p(!1),s(m,!1)}finally{}}};(0,aN.useEffect)(()=>{J&&Z(J.breakpoints??[])},[J]);let aB=(0,aN.useCallback)(async a=>{if(!m)return;let b=Y.includes(a)?Y.filter(b=>b!==a):[...Y,a];Z(b);try{await g6.setBreakpoints(m,b)}catch(a){g7.error("Failed to update breakpoints",{conversationId:m,err:a}),Z(Y)}},[Y,m]),aC=async()=>{if(!m||!H)return;let a=J?.currentNodeId;p(!0),_(m),s(m,!0),u(null),await aq(m);try{for(let b=0;b<50;b++){let b=await g6.debugStep(m),c=b?.status??b?.debugState?.status,d=b?.debugState?.currentNodeId;if("paused_debug"!==c||d&&d!==a)return void au(b,m)}g7.warn("Step Over hit iteration cap",{conversationId:m}),p(!1),s(m,!1)}catch(a){g7.error("Error during step over",{conversationId:m,err:a}),u(a instanceof Error?a.message:"Failed to step over."),p(!1),s(m,!1)}},aD=async()=>{if(m){g7.info("Cancelling request",{conversationId:m}),av(),p(!1),_(null),s(m,!1),M(!1),ao(),C(null);try{await g6.cancel(m),g7.debug("Cancel request sent successfully",{conversationId:m}),await ah(m)}catch(a){g7.error("Error sending cancel request",{conversationId:m,err:a}),u("Failed to send cancel request to the server.")}}},aE=async()=>{g7.info("Closing debugger panel",{conversationId:m}),I(!1),K(null),M(!1),await aD()};g7.debug("Rendering Chat component",{currentConversationId:m,isHandleEditMessageDefined:!0});let aF=(L||H)&&!!J&&!!m;return(0,aM.jsxs)(aQ.default,{sx:{display:"flex",height:"calc(100vh - 64px)"},children:[S&&(0,aM.jsx)(aQ.default,{sx:{width:40,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",justifyContent:"center",pt:1},children:(0,aM.jsx)(aR.A,{title:"Show conversation sidebar",children:(0,aM.jsx)(aS.A,{size:"small",onClick:U,"aria-label":"Show conversation sidebar",children:(0,aM.jsx)(a3,{fontSize:"small"})})})}),!S&&(0,aM.jsx)(aQ.default,{sx:{width:Q,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column"},children:c?(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:2},children:(0,aM.jsx)(cS.default,{size:"medium",color:"primary"})}):e?(0,aM.jsx)(aT.A,{severity:"error",sx:{m:2},children:e}):(0,aM.jsx)(bd,{conversations:a,currentConversationId:m,onSelectConversation:n,onDeleteConversation:ar,onNewConversation:am,onCollapse:U})}),!S&&(0,aM.jsx)(aQ.default,{onPointerDown:V,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize conversation sidebar"}),(0,aM.jsxs)(aQ.default,{sx:{flex:1,height:"100%",display:"flex",minWidth:0,minHeight:0},children:[(0,aM.jsxs)(aQ.default,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",height:"100%"},children:[m&&(0,aM.jsxs)(aQ.default,{sx:{p:2,borderBottom:1,borderColor:"divider",display:"flex",alignItems:"center",gap:2},children:[(0,aM.jsx)(aQ.default,{sx:{flex:1,minWidth:0},children:(0,aM.jsx)(cB,{selectedFlowId:aj?.flowId||g?.flowId||null,onSelectFlow:a=>{if(!m){g7.warn("Cannot update flow: No conversation selected."),u("Please select a conversation first.");return}let b=g?.flowId??aj?.flowId??null;if((g?.messages?.length??0)>0&&b&&a!==b){g7.debug("Flow switch on executed conversation — asking for confirmation",{flowId:a,currentFlowId:b}),E(a);return}as(a)},disabled:H})}),(0,aM.jsx)(cy,{usage:g?.usage,contextInfo:g?.contextInfo,availableNodes:ak})]}),(0,aM.jsx)(aQ.default,{sx:{flex:1,overflow:"auto",p:2},children:i?(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aM.jsx)(cS.default,{size:"medium",color:"primary"})}):k?(0,aM.jsx)(aT.A,{severity:"error",sx:{m:2},children:k}):g?(0,aM.jsxs)(aM.Fragment,{children:[(0,aM.jsx)(bK,{messages:g.messages,pendingToolCalls:B,availableNodes:ak,conversationId:g.id,onToggleDisabled:a=>{if(!g)return;g7.debug("Toggling message disabled state",{messageId:a});let b=g.messages.map(b=>b.id===a?{...b,disabled:!b.disabled}:b);an({...g,messages:b})},onSplitConversation:a=>{if(!g)return;g7.debug("Splitting conversation at message",{messageId:a});let c=g.messages.findIndex(b=>b.id===a);if(-1===c)return;let d=g.messages.slice(0,c+1),e=(0,bV.A)(),f={id:e,title:`Split from ${g.title}`,messages:d,flowId:g.flowId,createdAt:Date.now(),updatedAt:Date.now()},i={id:e,title:f.title,flowId:f.flowId,createdAt:f.createdAt,updatedAt:f.updatedAt};b(a=>[i,...a].sort((a,b)=>b.updatedAt-a.updatedAt)),n(e),h(f),j(!1),l(null)},onEditMessage:ax,onApproveToolCall:a=>{ay("approve",a)},onRejectToolCall:a=>{ay("reject",a)}}),!o&&!H&&g.messages.length>0&&aj?.status==="completed"&&(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aM.jsx)(aT.A,{icon:(0,aM.jsx)(a0.A,{fontSize:"inherit"}),severity:"success",variant:"filled",sx:{borderRadius:2,py:.5},children:"Conversation completed"})}),!o&&!H&&!t&&aj?.status==="error"&&(0,aM.jsx)(aQ.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aM.jsx)(aT.A,{icon:(0,aM.jsx)(a1.A,{fontSize:"inherit"}),severity:"error",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center"},action:(0,aM.jsx)(aU.A,{color:"inherit",size:"small",startIcon:(0,aM.jsx)(a_.A,{}),onClick:()=>{aw(g)},children:"Retry"}),children:"Conversation ended with an error"})}),o&&$===m&&(0,aM.jsx)(bY,{liveStats:W,onStop:aD,stopDisabled:!m}),t&&(0,aM.jsx)(aT.A,{severity:"error",sx:{mt:2},action:(0,aM.jsx)(aU.A,{color:"inherit",size:"small",startIcon:(0,aM.jsx)(a_.A,{}),onClick:()=>{g&&aw(g)},children:"Retry"}),children:t})]}):(0,aM.jsx)(aV.default,{variant:"body1",color:"textSecondary",align:"center",sx:{mt:4},children:a.length>0?"Select a conversation or create a new one.":"Create a new conversation to start chatting."})}),(0,aM.jsx)(aQ.default,{sx:{p:2,borderTop:1,borderColor:"divider"},children:(0,aM.jsx)(bX,{onSendMessage:at,disabled:i||!!m&&q.has(m)||!(g?.flowId||aj?.flowId)||!!B||H,requireApproval:x,onRequireApprovalChange:ai,executeInDebugger:z,onExecuteInDebuggerChange:A,availableNodes:ak,currentNodeId:al,nodeOverrideActive:!!F,onSelectNode:G})})]})," ",aF&&(0,aM.jsxs)(aM.Fragment,{children:[(0,aM.jsx)(aQ.default,{onPointerDown:P,sx:{width:"6px",flexShrink:0,cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":"Resize debugger panel"}),(0,aM.jsx)(aQ.default,{sx:{width:N?`${N}px`:"50%",minWidth:360,maxWidth:"85vw",flexShrink:0,display:"flex",flexDirection:"column",height:"100%"},children:(0,aM.jsx)(cR,{debugState:J,conversationId:m,onStep:az,onStepOver:aC,onContinue:aA,onCancel:aD,isLoading:o,breakpoints:Y,onToggleBreakpoint:aB,onClose:aE})})]})]})," ",(0,aM.jsxs)(aW.A,{open:!!D,onClose:()=>E(null),children:[(0,aM.jsx)(aX.A,{children:"Switch flow?"}),(0,aM.jsx)(aY.A,{children:(0,aM.jsxs)(aZ.A,{children:["This conversation has already been processed with its current flow."," ","If you switch to"," ",(0,aM.jsx)("strong",{children:v.find(a=>a.id===D)?.name||"the selected flow"}),","," ","the conversation will continue processing from that flow's Start node again."]})}),(0,aM.jsxs)(a$.A,{children:[(0,aM.jsx)(aU.A,{onClick:()=>E(null),children:"Cancel"}),(0,aM.jsx)(aU.A,{variant:"contained",onClick:()=>{E(null),D&&as(D)},children:"Switch Flow"})]})]})]})},ha=(0,bF.h)("frontend/components/ClientOnly");function hb({children:a}){let[b,c]=(0,aN.useState)(!1);return b?(ha.debug("ClientOnly component rendering children"),(0,aM.jsx)(aM.Fragment,{children:a})):(ha.debug("ClientOnly component rendering null (not yet mounted)"),null)}let hc=(0,bF.h)("app/chat/page");function hd(){return hc.debug("Rendering ChatPage"),(0,aM.jsx)(aP.A,{maxWidth:!1,disableGutters:!0,children:(0,aM.jsx)(hb,{children:(0,aM.jsx)(g9,{})})})}},96536:(a,b,c)=>{"use strict";let d=c(67376),e=c(66164),f=c(46627),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}},96955:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},97568:(a,b,c)=>{"use strict";c.d(b,{f:()=>e});var d=c(35120);let e=a=>a instanceof d.Z}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,8298,3984,8445,6760,6390,1746,1050,1690,8572,5558,7531,6283,2776,9938,9188],()=>b(b.s=9828));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1050.js","../../chunks/1331.js","../../chunks/1746.js","../../chunks/2253.js","../../chunks/2776.js","../../chunks/3984.js","../../chunks/5558.js","../../chunks/6283.js","../../chunks/6390.js","../../chunks/6760.js","../../chunks/7485.js","../../chunks/7531.js","../../chunks/8298.js","../../chunks/8445.js","../../chunks/9042.js","../../chunks/9188.js","../../chunks/9938.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1050.js","../../chunks/1690.js","../../chunks/1746.js","../../chunks/2776.js","../../chunks/3984.js","../../chunks/5558.js","../../chunks/5873.js","../../chunks/6283.js","../../chunks/6390.js","../../chunks/6760.js","../../chunks/7531.js","../../chunks/8298.js","../../chunks/8445.js","../../chunks/8572.js","../../chunks/9042.js","../../chunks/9188.js","../../chunks/9938.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/chat/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"4474":{"*":{"id":"8521","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"34644","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"24207","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"79515","name":"*","chunks":[],"async":false}},"27127":{"*":{"id":"85906","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"92093","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"77048","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"52402","name":"*","chunks":[],"async":false}},"37051":{"*":{"id":"42863","name":"*","chunks":[],"async":false}},"45993":{"*":{"id":"78509","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"56146","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"96126","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"49428","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"71779","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"81637","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"61615","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"19830","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":59742,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3946,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\globals.css":{"id":13673,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx":{"id":72403,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx":{"id":67421,"name":"*","chunks":["3862","static/chunks/1a258343-bcffff1604e3797c.js","2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","9562","static/chunks/9562-93cc45aef3630781.js","2003","static/chunks/2003-7710c23acaef11c9.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","6582","static/chunks/6582-6735fdd6b42b5c35.js","256","static/chunks/256-7f4847b6726c866c.js","7329","static/chunks/7329-78f54f68ea2d37e2.js","1979","static/chunks/1979-e2d922370ecef69f.js","2005","static/chunks/2005-f9d38c39f10c321f.js","7126","static/chunks/7126-2bafddf1b09cacac.js","5961","static/chunks/5961-828f4f7efc3e1381.js","5781","static/chunks/5781-4328d17aad13f908.js","9164","static/chunks/9164-36fedeb944fa71e9.js","8862","static/chunks/8862-8f17ef601bb1fbd0.js","8457","static/chunks/app/chat/page-5c838e3ce9d7a27d.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\executions\\page.tsx":{"id":95271,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\docs\\page.tsx":{"id":27127,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx":{"id":45993,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx":{"id":31742,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page.tsx":{"id":89547,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","2003","static/chunks/2003-7710c23acaef11c9.js","3077","static/chunks/3077-565833c67440a7fa.js","2619","static/chunks/2619-04bc32f026a0d946.js","2720","static/chunks/2720-2a926505ec98a6de.js","9164","static/chunks/9164-36fedeb944fa71e9.js","8974","static/chunks/app/page-6e18a8cd78b2050e.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\settings\\page.tsx":{"id":46487,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx":{"id":27879,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js":{"id":94049,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js":{"id":4474,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js":{"id":25635,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx":{"id":37051,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx":{"id":94929,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout":[{"inlined":false,"path":"static/css/d1484588c616b291.css"}],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page":[]},"rscModuleMapping":{"4474":{"*":{"id":"65251","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"13673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"69389","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"16825","name":"*","chunks":[],"async":false}},"27127":{"*":{"id":"65793","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"14867","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"51016","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"63112","name":"*","chunks":[],"async":false}},"37051":{"*":{"id":"2671","name":"*","chunks":[],"async":false}},"45993":{"*":{"id":"10057","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"85431","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"22516","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"41306","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"73737","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"37997","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"42389","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/chat/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"4474":{"*":{"id":"8521","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"18244":{"*":{"id":"13790","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"24207","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"79515","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"92093","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"77048","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"52402","name":"*","chunks":[],"async":false}},"37051":{"*":{"id":"42863","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"56146","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"96126","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"63904","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"49428","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"71779","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"81637","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"61615","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"19830","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":59742,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3946,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\globals.css":{"id":13673,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx":{"id":72403,"name":"*","chunks":["7177","static/chunks/app/layout-2878f13d7e253503.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx":{"id":67421,"name":"*","chunks":["3862","static/chunks/1a258343-bcffff1604e3797c.js","2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","9562","static/chunks/9562-93cc45aef3630781.js","2003","static/chunks/2003-7710c23acaef11c9.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","6582","static/chunks/6582-6735fdd6b42b5c35.js","2403","static/chunks/2403-5c26e0abd76095b1.js","9554","static/chunks/9554-cb5bd72cb40e8dbe.js","1979","static/chunks/1979-e2d922370ecef69f.js","2005","static/chunks/2005-f9d38c39f10c321f.js","7126","static/chunks/7126-2bafddf1b09cacac.js","5961","static/chunks/5961-828f4f7efc3e1381.js","5781","static/chunks/5781-4328d17aad13f908.js","9164","static/chunks/9164-36fedeb944fa71e9.js","8862","static/chunks/8862-1170dad1d6f3cd39.js","8457","static/chunks/app/chat/page-c759cf382bcabd77.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\docs\\page.tsx":{"id":71113,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\executions\\page.tsx":{"id":95271,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx":{"id":18244,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx":{"id":31742,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page.tsx":{"id":89547,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","690","static/chunks/690-391bc0f482a9f67c.js","2003","static/chunks/2003-7710c23acaef11c9.js","3077","static/chunks/3077-565833c67440a7fa.js","2619","static/chunks/2619-04bc32f026a0d946.js","2720","static/chunks/2720-2a926505ec98a6de.js","9164","static/chunks/9164-36fedeb944fa71e9.js","8974","static/chunks/app/page-6e18a8cd78b2050e.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\settings\\page.tsx":{"id":46487,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx":{"id":27879,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js":{"id":94049,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js":{"id":4474,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js":{"id":25635,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx":{"id":37051,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx":{"id":94929,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout":[{"inlined":false,"path":"static/css/d1484588c616b291.css"}],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page":[]},"rscModuleMapping":{"4474":{"*":{"id":"65251","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"13673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"18244":{"*":{"id":"10057","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"69389","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"16825","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"14867","name":"*","chunks":[],"async":false}},"31742":{"*":{"id":"51016","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"63112","name":"*","chunks":[],"async":false}},"37051":{"*":{"id":"2671","name":"*","chunks":[],"async":false}},"46487":{"*":{"id":"85431","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"67421":{"*":{"id":"22516","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"65793","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"41306","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"73737","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"37997","name":"*","chunks":[],"async":false}},"95271":{"*":{"id":"42389","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- <!DOCTYPE html><!--07vmuF5x2Bs8Xj1OeV0QV--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/d1484588c616b291.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4015bd6f241940a1.js"/><script src="/_next/static/chunks/4bd1b696-182b6b13bdad92e3.js" async=""></script><script src="/_next/static/chunks/1255-13d973e0759ea6d6.js" async=""></script><script src="/_next/static/chunks/main-app-faff38c77cb00119.js" async=""></script><script src="/_next/static/chunks/app/layout-2878f13d7e253503.js" async=""></script><script src="/_next/static/chunks/1a258343-bcffff1604e3797c.js" async=""></script><script src="/_next/static/chunks/2678-c88052addfb0478a.js" async=""></script><script src="/_next/static/chunks/4754-5c62bb61142f82d1.js" async=""></script><script src="/_next/static/chunks/9244-3281f7fd02003a2c.js" async=""></script><script src="/_next/static/chunks/8548-8e4a95334064e8b2.js" async=""></script><script src="/_next/static/chunks/690-391bc0f482a9f67c.js" async=""></script><script src="/_next/static/chunks/9562-93cc45aef3630781.js" async=""></script><script src="/_next/static/chunks/2003-7710c23acaef11c9.js" async=""></script><script src="/_next/static/chunks/488-623d07c3fbc21e28.js" async=""></script><script src="/_next/static/chunks/3272-fd8d59523f61da96.js" async=""></script><script src="/_next/static/chunks/6582-6735fdd6b42b5c35.js" async=""></script><script src="/_next/static/chunks/256-7f4847b6726c866c.js" async=""></script><script src="/_next/static/chunks/7329-78f54f68ea2d37e2.js" async=""></script><script src="/_next/static/chunks/1979-e2d922370ecef69f.js" async=""></script><script src="/_next/static/chunks/2005-f9d38c39f10c321f.js" async=""></script><script src="/_next/static/chunks/7126-2bafddf1b09cacac.js" async=""></script><script src="/_next/static/chunks/5961-828f4f7efc3e1381.js" async=""></script><script src="/_next/static/chunks/5781-4328d17aad13f908.js" async=""></script><script src="/_next/static/chunks/9164-36fedeb944fa71e9.js" async=""></script><script src="/_next/static/chunks/8862-8f17ef601bb1fbd0.js" async=""></script><script src="/_next/static/chunks/app/chat/page-5c838e3ce9d7a27d.js" async=""></script><title>FLUJO</title><meta name="description" content="A browser-based application for managing models, MCP servers, flows and chat interactions"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_246ccd __variable_c29908 antialiased"><div hidden=""><!--$--><!--/$--></div><!--$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div>Loading theme...</div><!--/$--><!--/$--><script src="/_next/static/chunks/webpack-4015bd6f241940a1.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[72403,[\"7177\",\"static/chunks/app/layout-2878f13d7e253503.js\"],\"default\"]\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\n5:I[81959,[],\"ClientPageRoot\"]\n"])</script><script>self.__next_f.push([1,"6:I[67421,[\"3862\",\"static/chunks/1a258343-bcffff1604e3797c.js\",\"2678\",\"static/chunks/2678-c88052addfb0478a.js\",\"4754\",\"static/chunks/4754-5c62bb61142f82d1.js\",\"9244\",\"static/chunks/9244-3281f7fd02003a2c.js\",\"8548\",\"static/chunks/8548-8e4a95334064e8b2.js\",\"690\",\"static/chunks/690-391bc0f482a9f67c.js\",\"9562\",\"static/chunks/9562-93cc45aef3630781.js\",\"2003\",\"static/chunks/2003-7710c23acaef11c9.js\",\"488\",\"static/chunks/488-623d07c3fbc21e28.js\",\"3272\",\"static/chunks/3272-fd8d59523f61da96.js\",\"6582\",\"static/chunks/6582-6735fdd6b42b5c35.js\",\"256\",\"static/chunks/256-7f4847b6726c866c.js\",\"7329\",\"static/chunks/7329-78f54f68ea2d37e2.js\",\"1979\",\"static/chunks/1979-e2d922370ecef69f.js\",\"2005\",\"static/chunks/2005-f9d38c39f10c321f.js\",\"7126\",\"static/chunks/7126-2bafddf1b09cacac.js\",\"5961\",\"static/chunks/5961-828f4f7efc3e1381.js\",\"5781\",\"static/chunks/5781-4328d17aad13f908.js\",\"9164\",\"static/chunks/9164-36fedeb944fa71e9.js\",\"8862\",\"static/chunks/8862-8f17ef601bb1fbd0.js\",\"8457\",\"static/chunks/app/chat/page-5c838e3ce9d7a27d.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"9:I[24431,[],\"OutletBoundary\"]\nb:I[15278,[],\"AsyncMetadataOutlet\"]\nd:I[24431,[],\"ViewportBoundary\"]\nf:I[24431,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[57150,[],\"\"]\n:HL[\"/_next/static/css/d1484588c616b291.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"07vmuF5x2Bs8Xj1OeV0QV\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d1484588c616b291.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"chat\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"FLUJO\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A browser-based application for managing models, MCP servers, flows and chat interactions\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--z7fsG7kblb_yxkUhOxn_G--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/d1484588c616b291.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4015bd6f241940a1.js"/><script src="/_next/static/chunks/4bd1b696-182b6b13bdad92e3.js" async=""></script><script src="/_next/static/chunks/1255-13d973e0759ea6d6.js" async=""></script><script src="/_next/static/chunks/main-app-faff38c77cb00119.js" async=""></script><script src="/_next/static/chunks/app/layout-2878f13d7e253503.js" async=""></script><script src="/_next/static/chunks/1a258343-bcffff1604e3797c.js" async=""></script><script src="/_next/static/chunks/2678-c88052addfb0478a.js" async=""></script><script src="/_next/static/chunks/4754-5c62bb61142f82d1.js" async=""></script><script src="/_next/static/chunks/9244-3281f7fd02003a2c.js" async=""></script><script src="/_next/static/chunks/8548-8e4a95334064e8b2.js" async=""></script><script src="/_next/static/chunks/690-391bc0f482a9f67c.js" async=""></script><script src="/_next/static/chunks/9562-93cc45aef3630781.js" async=""></script><script src="/_next/static/chunks/2003-7710c23acaef11c9.js" async=""></script><script src="/_next/static/chunks/488-623d07c3fbc21e28.js" async=""></script><script src="/_next/static/chunks/3272-fd8d59523f61da96.js" async=""></script><script src="/_next/static/chunks/6582-6735fdd6b42b5c35.js" async=""></script><script src="/_next/static/chunks/2403-5c26e0abd76095b1.js" async=""></script><script src="/_next/static/chunks/9554-cb5bd72cb40e8dbe.js" async=""></script><script src="/_next/static/chunks/1979-e2d922370ecef69f.js" async=""></script><script src="/_next/static/chunks/2005-f9d38c39f10c321f.js" async=""></script><script src="/_next/static/chunks/7126-2bafddf1b09cacac.js" async=""></script><script src="/_next/static/chunks/5961-828f4f7efc3e1381.js" async=""></script><script src="/_next/static/chunks/5781-4328d17aad13f908.js" async=""></script><script src="/_next/static/chunks/9164-36fedeb944fa71e9.js" async=""></script><script src="/_next/static/chunks/8862-1170dad1d6f3cd39.js" async=""></script><script src="/_next/static/chunks/app/chat/page-c759cf382bcabd77.js" async=""></script><title>FLUJO</title><meta name="description" content="A browser-based application for managing models, MCP servers, flows and chat interactions"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_246ccd __variable_c29908 antialiased"><div hidden=""><!--$--><!--/$--></div><!--$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div>Loading theme...</div><!--/$--><!--/$--><script src="/_next/static/chunks/webpack-4015bd6f241940a1.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[72403,[\"7177\",\"static/chunks/app/layout-2878f13d7e253503.js\"],\"default\"]\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\n5:I[81959,[],\"ClientPageRoot\"]\n"])</script><script>self.__next_f.push([1,"6:I[67421,[\"3862\",\"static/chunks/1a258343-bcffff1604e3797c.js\",\"2678\",\"static/chunks/2678-c88052addfb0478a.js\",\"4754\",\"static/chunks/4754-5c62bb61142f82d1.js\",\"9244\",\"static/chunks/9244-3281f7fd02003a2c.js\",\"8548\",\"static/chunks/8548-8e4a95334064e8b2.js\",\"690\",\"static/chunks/690-391bc0f482a9f67c.js\",\"9562\",\"static/chunks/9562-93cc45aef3630781.js\",\"2003\",\"static/chunks/2003-7710c23acaef11c9.js\",\"488\",\"static/chunks/488-623d07c3fbc21e28.js\",\"3272\",\"static/chunks/3272-fd8d59523f61da96.js\",\"6582\",\"static/chunks/6582-6735fdd6b42b5c35.js\",\"2403\",\"static/chunks/2403-5c26e0abd76095b1.js\",\"9554\",\"static/chunks/9554-cb5bd72cb40e8dbe.js\",\"1979\",\"static/chunks/1979-e2d922370ecef69f.js\",\"2005\",\"static/chunks/2005-f9d38c39f10c321f.js\",\"7126\",\"static/chunks/7126-2bafddf1b09cacac.js\",\"5961\",\"static/chunks/5961-828f4f7efc3e1381.js\",\"5781\",\"static/chunks/5781-4328d17aad13f908.js\",\"9164\",\"static/chunks/9164-36fedeb944fa71e9.js\",\"8862\",\"static/chunks/8862-1170dad1d6f3cd39.js\",\"8457\",\"static/chunks/app/chat/page-c759cf382bcabd77.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"9:I[24431,[],\"OutletBoundary\"]\nb:I[15278,[],\"AsyncMetadataOutlet\"]\nd:I[24431,[],\"ViewportBoundary\"]\nf:I[24431,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[57150,[],\"\"]\n:HL[\"/_next/static/css/d1484588c616b291.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"z7fsG7kblb_yxkUhOxn-G\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d1484588c616b291.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"chat\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"FLUJO\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A browser-based application for managing models, MCP servers, flows and chat interactions\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>